function showElement(e) {
   setOpacity(e, 0);
   e.style.visibility = "visible";
   fadeStepIn(e.id,0);
}

function hideElement(e) {
   setOpacity(e, 100);
   e.style.visibility = "visible";
   fadeStepOut(e.id,100);
}

function fadeStepIn(eID,opacity) {
    var e = document.getElementById(eID);
    if (opacity <= 100) {
        setOpacity(e, opacity);
        opacity += 10;
 	 	window.setTimeout("fadeStepIn('"+e.id+"',"+opacity+")", 100);
    }
}

function fadeStepOut(eID,opacity) {
    var e = document.getElementById(eID);
    if (opacity >= 0) {
        setOpacity(e, opacity);
        opacity -= 10;
	 	window.setTimeout("fadeStepOut('"+e.id+"',"+opacity+")", 100);
    } else {
        e.style.visibility = "hidden";
    }
}

function setOpacity(e, opacity) {
   opacity = (opacity == 100) ? 99.999 : opacity;
   // IE6/7
   e.style.filter = "alpha(opacity:"+opacity+")";
   // Safari<1.2, Konqueror
   e.style.KHTMLOpacity = opacity/100;
   // Older Mozilla and Firefox
   e.style.MozOpacity = opacity/100;
   // Safari 1.2+, newer Firefox and Mozilla, CSS3
   e.style.opacity = opacity/100;
}

function cycleDisplay(listName, itemToFade, interval) {

   var displayList = document.getElementsByName(listName);
   var nextItem = Math.round((displayList.length-1)*Math.random());
   var msDelay = interval*1000;

   while (nextItem==itemToFade) {
       nextItem = Math.round((displayList.length-1)*Math.random());
   }

   showElement(document.getElementById(displayList[nextItem].id));
   hideElement(document.getElementById(displayList[itemToFade].id));

   window.setTimeout("cycleDisplay('" + listName + "'," + nextItem + "," + interval + ")",msDelay);

}
