/*****

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


*****/

var xfadeMs = 5000;

window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs = new Array(), zInterval = null, currentIndex=0, pause=false;

function so_init() 
{
	if(!d.getElementById)
		return;
		
	var imageContainer = d.getElementById("imageContainer");
	
	if (!imageContainer)
		return;
	
	imgs = imageContainer.getElementsByTagName("img");
	
	for(i=1;i<imgs.length;i++) 
		imgs[i].xOpacity = 0;
		
	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;
	
	if (imgs.length > 1)
		setTimeout(so_xfade,xfadeMs);
}

function so_xfade() 
{
	var nextIndex = imgs[currentIndex+1]?currentIndex+1:0;
	
	var currentOpacity = imgs[currentIndex].xOpacity;
	var nextOpacity = imgs[nextIndex].xOpacity;
	
	currentOpacity-=.05; 
	nextOpacity+=.05;
	
	imgs[currentIndex].xOpacity = currentOpacity;
	imgs[nextIndex].xOpacity = nextOpacity;
	
	setOpacity(imgs[currentIndex]); 
	setOpacity(imgs[nextIndex]);
	
	if(currentOpacity <= 0) 
	{
		imgs[currentIndex].style.display = "none";
		currentIndex = nextIndex;
		setTimeout(so_xfade,xfadeMs);
	} 
	else 
		setTimeout(so_xfade,50);
}

function setOpacity(obj) 
{
	if(obj.xOpacity>.99) 
	{
		obj.xOpacity = .99;
		return;
	}
	obj.style.display = "block";
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}

