/*
With permission, this code draws heavily on Steven Chipman's Image Cross Fade Redux
which is available in its unadulterated form here: 
http://www.slayeroffice.com/code/imageCrossFade/xfade2.html
*/

window.addEventListener?window.addEventListener("load",function() { chronicle_slideshow.init(); },false):window.attachEvent("onload",function() { chronicle_slideshow.init(); });

var chronicle_slideshow =
{
  imgs:     new Array(),
  captions: new Array(),
  current:  0,
  pause:    5, // change this value (in seconds) to increase/decrease the delay between image transitions 

  init: function () {
  	if (!document.getElementById || !document.createElement) return;

  	chronicle_slideshow.imgs     = document.getElementById("chronicle_slideshow").getElementsByTagName("img");
  	chronicle_slideshow.captions = document.getElementById("chronicle_slideshow").getElementsByTagName("div");
  	for (i = 1; i < chronicle_slideshow.imgs.length; i++) chronicle_slideshow.imgs[i].xOpacity = 0;
  	chronicle_slideshow.imgs[0].style.display = "block";
  	chronicle_slideshow.imgs[0].xOpacity      = .99;
  	
  	setTimeout(chronicle_slideshow.fade, chronicle_slideshow.pause * 1000);
  },
  
  fade: function () {
  	cOpacity = chronicle_slideshow.imgs[chronicle_slideshow.current].xOpacity;
  	nIndex   = chronicle_slideshow.imgs[chronicle_slideshow.current+1]?chronicle_slideshow.current+1:0;
  	nOpacity = chronicle_slideshow.imgs[nIndex].xOpacity;
  	
  	cOpacity-=.05; 
  	nOpacity+=.05;
  	
  	chronicle_slideshow.imgs[nIndex].style.display              = "block";
  	chronicle_slideshow.imgs[chronicle_slideshow.current].xOpacity     = cOpacity;
  	chronicle_slideshow.imgs[nIndex].xOpacity                   = nOpacity;
  	
  	setOpacity(chronicle_slideshow.imgs[chronicle_slideshow.current]); 
  	setOpacity(chronicle_slideshow.imgs[nIndex]);
  	
  	if (cOpacity <= 0) {
  		chronicle_slideshow.imgs[chronicle_slideshow.current].style.display = "none";		
  		chronicle_slideshow.current = nIndex;
  		setTimeout(chronicle_slideshow.fade, chronicle_slideshow.pause * 1000);
  	} else {
  		setTimeout(chronicle_slideshow.fade, 50);
  	}
  	
  	if (cOpacity < .4) {
  		chronicle_slideshow.captions[chronicle_slideshow.current].style.display = "none";
  		chronicle_slideshow.captions[nIndex].style.display = "block";
  	}
  	
  	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) + ")";
  	}
  	
  }
}

