
var delay = 5000; //set delay between message change (in miliseconds)
var maxsteps = 30; // number of steps to take to change from start color to endcolor
var stepdelay = 40; // time in miliseconds of a single step
//**Note: maxsteps*stepdelay will be total time in miliseconds of fading effect
var startcolor = new Array(2,56,98); // start color (red, green, blue)
var endcolor = new Array(255,255,255); // end color (red, green, blue)
var fadelinks = 1;  //should links inside scroller content also fade like text? 0 for no, 1 for yes.

var fcontent = new Array();
var begintag = '<table width="100%" height="100%" cellspacing="0" cellpadding="0"><tr><td align="center" valign="center" id="textscroller_child">'; //<div style="font: normal 14px Arial; padding: 5px;">'; //set opening tag, such as font declarations
var closetag = '</td></tr></table>'; //</div>';

var ie4 = document.all && !document.getElementById;
var DOM2 = document.getElementById;
var faderdelay = 0;
var index = 1;

function delay_changecontent()
{
  setTimeout("changecontent()", delay);
}

function changecontent()
{
  if (fcontent.length == 0) return;
  if (index >= fcontent.length) index = 0;
  if (DOM2)
  {
    var objText = document.getElementById("textscroller");

    if (objText)
    {
      objText.innerHTML= begintag + fcontent[index] + closetag;

      objText = document.getElementById("textscroller_child");
      if (objText) objText.style.color = "rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")";
    }

    if (fadelinks) linkcolorchange(1);
    colorfade(1);
  }
  else if (ie4)
    document.all.textscroller.innerHTML = begintag + fcontent[index] + closetag;

  index++;
}

function linkcolorchange(step)
{
  var objLinks = document.getElementById("textscroller").getElementsByTagName("A");
  if (objLinks.length > 0)
  {
    for (var i = 0; i < objLinks.length; i++)
      objLinks[i].style.color = getstepcolor(step);
  }
}

var fadecounter;
function colorfade(step)
{
  if(step <= maxsteps)
  {	
    document.getElementById("textscroller_child").style.color = getstepcolor(step);
    if (fadelinks) linkcolorchange(step);
    step++;
    fadecounter = setTimeout("colorfade(" + step + ")", stepdelay);
  }
  else
  {
    clearTimeout(fadecounter);
    document.getElementById("textscroller_child").style.color = "rgb(" + endcolor[0] + ", " + endcolor[1] + ", " + endcolor[2] + ")";
    setTimeout("changecontent()", delay);
  }   
}

function getstepcolor(step)
{
  var diff;
  var newcolor = new Array(3);

  for(var i = 0; i<3; i++)
  {
    diff = (startcolor[i] - endcolor[i]);
    if(diff > 0)
      newcolor[i] = startcolor[i] - (Math.round((diff / maxsteps)) * step);
    else
      newcolor[i] = startcolor[i] + (Math.round((Math.abs(diff) / maxsteps)) * step);
  }
  return "rgb(" + newcolor[0] + ", " + newcolor[1] + ", " + newcolor[2] + ")";
}

if (window.addEventListener)
  window.addEventListener("load", delay_changecontent, false);
else if (window.attachEvent)
  window.attachEvent("onload", delay_changecontent);
else if (document.getElementById)
  window.onload = delay_changecontent;
