var maxSteps=30; // number of steps to take to change from start color to endColor
var stepDelay=60; // time in miliseconds of a single step
var fadeLinks=1;  //should links inside scroller content also fade like text? 0 for no, 1 for yes.

function LinkColorChange(step, efade, startColor, endColor){
  var obj=document.getElementById(efade).getElementsByTagName("A");
  if (obj.length>0){
    for (i=0;i<obj.length;i++)
      obj[i].style.color=GetStepColor(step, startColor, endColor);
  }
}

var fadeCounter;
function ColorFade(step, efade, startColor, endColor) {
  if(step<=maxSteps) {	
    document.getElementById(efade).style.color=GetStepColor(step, startColor, endColor);
    if (fadeLinks)
      LinkColorChange(step, efade, startColor, endColor);
    step++;
    fadeCounter=setTimeout("ColorFade("+step+", '"+efade+"', Array("+startColor+"), Array("+endColor+"))",stepDelay);
  }else{
    clearTimeout(fadeCounter);
    document.getElementById(efade).style.color="rgb("+endColor[0]+", "+endColor[1]+", "+endColor[2]+")";
  }   
}

function GetStepColor(step, startColor, endColor) {
  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] + ")");
}

var ie4=document.all
var dom=document.getElementById

if (ie4||dom)
window.onload=StartIt
else
StartIt
