var slideshowId = 'slideshow';
var slideshow;
var slideshowImages;
var currentImage;
var previousImage;
var preInitTimer;
preInit();



function preInit() {
   if ((document.getElementById)&&(slideshow=document.getElementById(slideshowId))) {
       slideshow.style.visibility = "hidden";
       if (typeof preInitTimer != 'undefined') clearTimeout(preInitTimer);
   } else {
       preInitTimer = setTimeout("preInit()",2);
   }
}

function fader(imageNumber,opacity) {

   var obj=slideshowImages[imageNumber];
   if (obj.style) {
       if (obj.style.MozOpacity!=null) {             obj.style.MozOpacity = (opacity/100) - .001;
       } else if (obj.style.opacity!=null) {
           obj.style.opacity = (opacity/100) - .001;
       } else if (obj.style.filter!=null) {
           obj.style.filter = "alpha(opacity="+opacity+")";
       }
   }
}

function fadeInit() {
   if (document.getElementById) {
       preInit();
       slideshowImages = new Array;
       var node = slideshow.firstChild;
       while (node) {
           if (node.nodeType==1) {
               slideshowImages.push(node);
           }
           node = node.nextSibling;
       }
       for(i=0;i<slideshowImages.length;i++) {

           slideshowImages[i].style.position='absolute';
           slideshowImages[i].style.top=0;
           slideshowImages[i].style.zIndex=0;

           fader(i,0);
       }
       slideshow.style.visibility = 'visible';
       currentImage=0;
       slideshowImages[currentImage].style.zIndex = 100;
       previousImage=slideshowImages.length-1;
       opacity=100;
       fader(currentImage,100);
       window.setTimeout("crossfade(100)", 6000);
   }
}

function crossfade(opacity) {
       if (opacity < 100) {
           fader(previousImage,100-opacity);
           fader(currentImage,opacity);
           opacity += 5;
           window.setTimeout("crossfade("+opacity+")", 30);
       } else {
           slideshowImages[previousImage].style.zIndex = 0;
           slideshowImages[currentImage].style.zIndex = 100;
           fader(previousImage,0);
           previousImage=currentImage;
           currentImage+=1;
           if (currentImage>=slideshowImages.length) {
               currentImage=0;
           }
           opacity=0;
           window.setTimeout("crossfade("+opacity+")", 6000);
       }
       }

addEvent(window,'load',fadeInit)



function addEvent(elm, evType, fn, useCapture)
{
if (elm.addEventListener){
  elm.addEventListener(evType, fn, useCapture);
  return true;
} else if (elm.attachEvent){
  var r = elm.attachEvent("on"+evType, fn);
  return r;
}
}
