// Object Auto-Fader
// Add JavaScript tag to any web page.
// Create a definition list (<DL>) with the items to be faded in
// separate data (<DD>) tags.  Be sure to use closing tags.  The
// table MUST have an ID = "fadeRoot" for this to work.
// This should work with anything in the list -- text, images, HTML
// -- but it's only been tested with styled text so far.
// Only one fader per page will work.

 var thisIdx,nextIdx,itemCount,fadeParent, itemDn,itemUp;
 var faderStep = 5;      // must evenly divide into 100 -- 2,4,5,10,20,25
 var repCnt = 10;
 
//change the opacity for different browsers
 function setOpacity(opacity, id) {
  //var object = document.getElementById(id).style;
  var object = id.style;
  object.opacity = (opacity / 100);
  object.MozOpacity = (opacity / 100);
  object.KhtmlOpacity = (opacity / 100);
  object.filter = "alpha(opacity=" + opacity + ")";
  object.visibility = (opacity!=0?'visible':'hidden');
 }

 function runFader() {
  setOpacity(itemDn[1], document.getElementById('fade_'+(itemDn[0]+1)));
  setOpacity(itemUp[1], document.getElementById('fade_'+(itemUp[0]+1)));
  if (itemDn[1] <= 0) {
    thisIdx++;
    if (thisIdx==itemCount)  thisIdx = 0;
    itemDn[0] = thisIdx;
    itemDn[1] = 101;
    nextIdx++;
    if (nextIdx==itemCount)   nextIdx = 0;
    itemUp[0] = nextIdx;
    itemUp[1] = 0;
    setTimeout("runFader()", 5000);
    return;
  } else {
    itemDn[1] -= faderStep;
    itemUp[1] += faderStep;
  }
  setTimeout("runFader()", 100);
 }

 function startFader() {
  if ((100%faderStep)>0) {
   alert("Fader step value is invalid\nMust be 2,4,5,10,20, or 25\n\nFader is disabled");
   return;
  }
  itemCount = 0;
  while (document.getElementById('fade_'+(itemCount+1)))  itemCount++
  if (itemCount<2)  return;       // must be 2 or more items to work

  thisIdx = 0;
  itemDn = new Array(thisIdx, 101);
  nextIdx = 1;
  itemUp = new Array(nextIdx, 0);
  o = 100;
  for (i=0; i<itemCount; i++) {
    id = 'fade_'+(i+1);
    setOpacity(o, document.getElementById(id));
    o = 0;
  }
  setTimeout("runFader()", 500);
 }
 
 var faderOldOnLoad = window.onload;
 window.onload = function() {
  startFader();
  if (faderOldOnLoad)   faderOldOnLoad();
 }
