/*****

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 imgs = new Array();
var zInterval = null;
var current=0
var pause=false;
var holdFor = 8000;
function so_init() {
	if (!document.getElementById || !document.createElement)
		return;
	
	imgs = document.getElementById("imageContainer").getElementsByTagName("img");
	for(var i=0; i < imgs.length; i++)
		imgs[i].xOpacity = 0;

	current =  Math.floor(Math.random()*imgs.length);
	imgs[current].style.display = "block";
	imgs[current].xOpacity = .99;
	
	setTimeout(so_xfade,holdFor);
}

function so_xfade() {
	cOpacity = imgs[current].xOpacity;
	nIndex = (current+1) % imgs.length;
	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,holdFor);
	} 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) + ")";
	}
	
}
