
function forall(elem, func) {
  if (elem.childNodes) {
    var cs = elem.childNodes;
    for (var i = 0; i < cs.length; i++) {
      forall(cs[i], func);
    }
  }
  func(elem);
}

forall(document, function(elem) {
  if ((elem.tagName) && (elem.tagName == 'A')) {
    var colortimer = -1;
    var oldcolor = elem.style.color;
    function fade() {
      elem.style.color = 'rgb('+elem.fadecolor+', '+elem.fadecolor+', 255)';
      elem.fadecolor += 25;
      colortimer = setTimeout(fade, 100);
    }
    elem.onmouseover = function() {
      clearTimeout(colortimer);
      elem.fadecolor = 0;
      fade();
    };
    elem.onmouseout = function() {
      clearTimeout(colortimer);
      elem.style.color = oldcolor;
    };
  }
});

