rgb_beg=[80,00,200]
rgb_end=[255,153,51]
over_spd=10
out_spd=20

document.onmouseover = domouseover;
document.onmouseout  = domouseout;
document.onclick     = doclick;

dualhex = new Array()
hex = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]
for(i = 0; i < 256; i++) dualhex[i] = hex[parseInt(i / 16)] + hex[i % 16]

function domouseover() {
  if (document.all && window.event.srcElement.tagName == "A")
    fade(window.event.srcElement.sourceIndex, 1)
}

function domouseout() {
  if (document.all && window.event.srcElement.tagName == "A")
    setTimeout("fade('" + window.event.srcElement.sourceIndex + "', 0)", over_spd * over_spd * 2)
}

function doclick() {
  if (document.all && window.event.srcElement.tagName == "A")
    window.event.srcElement.blur();
}

function fade(element, over) {
  if(over) {
    beg = rgb_beg;
    end = rgb_end;
    spd = over_spd;
  }
  else {
    beg = rgb_end;
    end = rgb_beg;
    spd = out_spd;
  }
  for(i = 0; i <= spd; i++)
    setTimeout("document.all[" + element + "].style.color = '#"
     + dualhex[Math.floor(beg[0] * ((spd - i) / spd) + end[0] * (i / spd))]
     + dualhex[Math.floor(beg[1] * ((spd - i) / spd) + end[1] * (i / spd))]
     + dualhex[Math.floor(beg[2] * ((spd - i) / spd) + end[2] * (i / spd))] + "';",  i * spd);
}