/*****

Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com

Please leave this notice intact.

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= new Array(), pause=false;

function so_init() {
	if(!d.getElementById || !d.createElement)return;

	// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
	// http://slayeroffice.com/code/imageCrossFade/xfade2.css
	css = d.createElement("link");
	css.setAttribute("href","/dat/xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);

	if (typeof(xfadeImgSets) == 'undefined') {
		xfadeImgSets = new Array('imageContainer');
	}
	for(j=0;j<xfadeImgSets.length;j++) {
		imgs[j] = d.getElementById(xfadeImgSets[j]).getElementsByTagName("img");
		for(i=1;i<imgs[j].length;i++) imgs[j][i].xOpacity = 0;
		imgs[j][0].style.display = "block";
		imgs[j][0].xOpacity = .99;
		current[j] = 0;
	}

	setTimeout(so_xfade,5000);
}

function so_xfade() {
	for(j=0;j<imgs.length;j++) {
		cOpacity = imgs[j][current[j]].xOpacity;
		nIndex = imgs[j][current[j]+1]?current[j]+1:0;

		nOpacity = imgs[j][nIndex].xOpacity;

		cOpacity-=.05;
		nOpacity+=.05;

		imgs[j][nIndex].style.display = "block";
		imgs[j][current[j]].xOpacity = cOpacity;
		imgs[j][nIndex].xOpacity = nOpacity;

		setOpacity(imgs[j][current[j]]);
		setOpacity(imgs[j][nIndex]);
	
		if(cOpacity<=0) {
			imgs[j][current[j]].style.display = "none";
			current[j] = nIndex;
		}
	}
		if(cOpacity<=0) {
			setTimeout(so_xfade,5000);
		} else {
			setTimeout(so_xfade,50);
		}
		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) + ")";
		}
}
