﻿// ******************************************************************************
// Module: RunningLights.cs
// Original script: Neon Lights Text II by G.P.F. (gpf@beta-cc.de)
// visit http://www.beta-cc.de
// Visit http://www.dynamicdrive.com for this script 
// Modified by Alexander Bell (Infosoft International Inc) on 02/14/09
// ******************************************************************************

// default values
var txtMsg = "WEBINFOCENTRAL.COM"      // default message: add spaces (grp+grp2)
//var color_text = "#000090";        // base text color
var color_alt1 = "maroon";      // running color 1
var color_alt2 = "yellow";      // running color 2
var step_delay = 30;			// step delay, msec 
var grp = 2;	                // num of letters in color_alt1 (could be 0)
var grp2 = 2;	                // num of letters in color_alt2 (could be 0)
//var flash_delay = 5;		    // the pause between flash-cycles in sec
var max_cycles = 100;            // number of flashing cycles

// vars
var setFlashing;
var setPause;
var idx=0;
var run_count=0;

// check browser
var IsIE4PLUS = (document.getElementById && document.all);
var IsIE4MINUS = (!document.getElementById && document.all);
var IsOpera = (window.opera && window.print);
var IsFF = (document.getElementById && !document.all);

// write text w/init color
if (IsIE4PLUS || IsIE4MINUS|| IsFF || IsOpera)
{
    document.write('<font color="'+color_text+'">');
    for (m=0;m<txtMsg.length;m++)
    {document.write('<span id="letter'+m+'">'+txtMsg.charAt(m)+'</span>')};
    for (m=0;m<grp+grp2;m++)
    {document.write('<span id="letter'+(m+txtMsg.length)+'"></span>')};
    document.write('</font>');
}




// wrap function
function RunLogoFlash()
{
    try
    {
        clearTimeout(setPause);
        if (run_count>max_cycles-1) {clearInterval(setFlashing);}
        else
        {
            if (IsIE4PLUS || IsIE4MINUS|| IsFF || IsOpera)
            { setFlashing=setInterval("oneStep()",step_delay); }
        }
    }
    catch(ex){}
}

// get letter from array
function GetLetter(number)
{
   return (IsIE4PLUS || IsIE4MINUS)? 
        eval("document.all.letter"+number) : 
        document.getElementById("letter"+number);
}

// on each flash step loop through all letters and set colors
function oneStep()
{
    // change all letters to base text color
    if (idx==0)
    {
        for (m=0;m<txtMsg.length; m++)
        {GetLetter(m).style.color=color_text;}
    }

    // change individual letters to color1
    GetLetter(idx).style.color=color_alt1;

    // change individual letters to color2
    if (idx>grp-1) 
    {GetLetter(idx-grp).style.color=color_alt2;}
    
    // set the rest of line to base text color
    if (idx>(grp+grp2)-1) 
    {GetLetter(idx-grp-grp2).style.color=color_text;}

    
    if (idx<txtMsg.length+grp+grp2-1)idx++; // run
    else // reset letters index, add count
    {
        run_count++; idx=0;
        clearInterval(setFlashing);
        setPause = setTimeout("RunLogoFlash()",flash_delay*1000);
    }return;
}


// loader
if (window.addEventListener)        // DOM 
window.addEventListener("load", RunLogoFlash, false);
else if (window.attachEvent)        // IE exclusive
window.attachEvent("onload", RunLogoFlash);
else if (document.getElementById)   // generic 
window.onload=RunLogoFlash();




