/*****



Image Cross Fade Redux

Version 1.0

Last revision: 02.15.2006

steve@slayeroffice.com



Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html





*****/





window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);



var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;



function so_init() {

	if(!d.getElementById || !d.createElement)return;

	

	css = d.createElement("link");

	css.setAttribute("href","xfade.css");

	css.setAttribute("rel","stylesheet");

	css.setAttribute("type","text/css");

	d.getElementsByTagName("head")[0].appendChild(css);

	

	imgs = d.getElementById("imageContainer").getElementsByTagName("img");

	for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;

	imgs[0].style.display = "block";

	imgs[0].xOpacity = .99;

	

	setTimeout(so_xfade,1000);	// time to first cycle

}



function so_xfade() {

	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;

		setTimeout(so_xfade,3000);	// time between fades

	} else {

		setTimeout(so_xfade,100);	// speed of fade

	}

	

	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 MM_preloadImages() { //v3.0

  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

}



function MM_swapImgRestore() { //v3.0

  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;

}



function MM_findObj(n, d) { //v4.01

  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);

  if(!x && d.getElementById) x=d.getElementById(n); return x;

}



function MM_swapImage() { //v3.0

  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)

   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

}
