/* Original Version from Image Cross Fade Redux, V1.0, 02.15.2006, steve@slayeroffice.com. */

window.addEventListener?window.addEventListener("load",initSlideShow,false):window.attachEvent("onload",initSlideShow);

var d=document, imgs = new Array(), current=0, SlideShowPaused=1, Timer=0;
var Debug=0;

function log(message) {
    if (!Debug) {
        return;
    }
    
    if (!log.window_ || log.window_.closed) {
        var win = window.open("", null, "width=400,height=200," +
                              "scrollbars=yes,resizable=yes,status=no," +
                              "location=no,menubar=no,toolbar=no");
        if (!win) return;
        var doc = win.document;
        doc.write("<html><head><title>Debug Log</title></head>" +
                  "<body></body></html>");
        doc.close();
        log.window_ = win;
    }
    var logLine = log.window_.document.createElement("div");
    logLine.appendChild(log.window_.document.createTextNode(message));
    log.window_.document.body.appendChild(logLine);
}


function initSlideShow() {

	if(!d.getElementById || !d.createElement || !d.images) {
	   return;
	   }
	
	css = d.createElement("link");
	css.setAttribute("href","CrossFadeSlideShow.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);
	
	var SlideDiv = d.getElementById("SlidesContainer");
	
	imgs = SlideDiv.getElementsByTagName("img");
	
	for(Index=0; Index < imgs.length; Index++) {
	    imgs[Index].style.display = "none";
	    imgs[Index].xOpacity = 0;
	    imgs[Index].src = imgSrc[Index];
	    imgs[Index].alt = imgAlt[Index];
	}
	    
    // show the first image and its containing div
	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;
	SlideDiv.style.display="block";
	
	// hide the pre load Image
	SlideDiv = d.getElementById("PreSlide");
	SlideDiv.style.display='none';
	
	// show the pause button
	SlideDiv = d.getElementById("SlidePauseButton");
	SlideDiv.style.display='block';
	
    // start the slide show
    Timer = setTimeout(ResumePauseSlideShow,4500);
}

function setOpacity(obj) {
	if(obj.xOpacity>.99) {
	   obj.xOpacity = .99;
       return;
	}
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}


function fadeSlideShow() {
    if (SlideShowPaused) {
        return;
    }

	cOpacity = imgs[current].xOpacity;
	nIndex = imgs[current+1]?current+1:0;
	nOpacity = imgs[nIndex].xOpacity;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
		current = nIndex;
		Timer = setTimeout(fadeSlideShow,2000);
	} else {
	    if (nOpacity > 0.50 && nOpacity <= 0.55) {
                var CaptionDiv = document.getElementById("SlidesCaption");
                CaptionDiv.innerHTML=imgAlt[nIndex];
	    }
	    
	    Timer = setTimeout(fadeSlideShow,50);
	}
	
}

function ResumePauseSlideShow() {
    if (SlideShowPaused) {
        SlideShowPaused = 0;
        
        // swap in resume button image
     	var ButtonImg = document.images["PauseResume"];
	    ButtonImg.src = "../image/buttonPause.gif";
	    ButtonImg.alt = "Pause slide show";
	    ButtonImg.title = "Pause slide show";
        
        Timer = setTimeout(fadeSlideShow,500);
        
    } else {
        clearTimeout(Timer);    
        SlideShowPaused = 1;

        // swap in resume button image
     	var ButtonImg = document.images["PauseResume"];
	    ButtonImg.src = "../image/buttonResume.gif";
	    ButtonImg.alt = "Resume slide show";
	    ButtonImg.title = "Resume slide show";
    }
}


function changeImage(imageId, width) {
  var object=document.getElementById(imageId);

  if( object )
  {
     object.width=width;
  }
} 