/*****

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(), imgsbot = new Array(), imgsleft = new Array(), imgsright = new Array(),inter = new Array(),interbot = new Array(),interleft = new Array(),interright = new Array(), zInterval = null, current=0, currentb=0, currentl=0, currentr=0,i_con='go',j_con='go',k_con='go',l_con='go', pause=true;

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","xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);

	if(d.getElementById("imageContainer"))
	{
		imgs = d.getElementById("imageContainer").getElementsByTagName("img");
		inter = d.getElementById("imageContainer").getElementsByTagName("span");

		for(i=1;i<imgs.length;i++) 
			imgs[i].xOpacity = 0;

		imgs[0].style.display = "block";
		imgs[0].xOpacity = .99;

		//setTimeout(so_xfade,1000);
		so_xfade();
	}

	if(d.getElementById("imageContainerbottom"))
	{
		imgsbot = d.getElementById("imageContainerbottom").getElementsByTagName("img");
		interbot = d.getElementById("imageContainerbottom").getElementsByTagName("span");

		for(i=1;i<imgsbot.length;i++) 
			imgsbot[i].xOpacity = 0;

		imgsbot[0].style.display = "block";
		imgsbot[0].xOpacity = .99;

		so_xfade_bot();
	}

	if(d.getElementById("imageContainerleft"))
	{
		imgsleft = d.getElementById("imageContainerleft").getElementsByTagName("img");
		interleft = d.getElementById("imageContainerleft").getElementsByTagName("span");

		for(i=1;i<imgsleft.length;i++) 
			imgsleft[i].xOpacity = 0;

		imgsleft[0].style.display = "block";
		imgsleft[0].xOpacity = .99;
		
		so_xfade_left();
	}

	if(d.getElementById("imageContainerright"))
	{
		imgsright = d.getElementById("imageContainerright").getElementsByTagName("img");
		interright = d.getElementById("imageContainerright").getElementsByTagName("span");

		for(i=1;i<imgsright.length;i++) 
			imgsright[i].xOpacity = 0;

		imgsright[0].style.display = "block";
		imgsright[0].xOpacity = .99;

		so_xfade_right();
	}
}

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]);

	if(i_con == 'go')
	{
		Interval = inter[current].innerHTML;
		setTimeout(so_xfade,Interval);
		i_con = 'second';
		return;
	}

	setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) 
	{
		imgs[current].style.display = "none";
		current = nIndex;
		Interval = inter[current].innerHTML;
		setTimeout(so_xfade,Interval);
	}
	else 
	{
		setTimeout(so_xfade,100);
	}
}

function so_xfade_bot() 
{
	cOpacityb = imgsbot[currentb].xOpacity;
	nIndexb = imgsbot[currentb+1]?currentb+1:0;

	nOpacityb = imgsbot[nIndexb].xOpacity;
	
	cOpacityb-=.05; 
	nOpacityb+=.05;
	
	imgsbot[nIndexb].style.display = "block";
	imgsbot[currentb].xOpacity = cOpacityb;
	imgsbot[nIndexb].xOpacity = nOpacityb;

	setOpacity(imgsbot[currentb]);

	if(j_con == 'go')
	{
		Intervalbot = interbot[currentb].innerHTML;
		setTimeout(so_xfade_bot,Intervalbot);
		j_con = 'second';
		return;
	}

	setOpacity(imgsbot[nIndexb]);
	
	if(cOpacityb<=0) 
	{
		imgsbot[currentb].style.display = "none";
		currentb = nIndexb;
		Intervalbot = interbot[currentb].innerHTML;
		setTimeout(so_xfade_bot,Intervalbot);
	}
	else 
	{
		setTimeout(so_xfade_bot,100);
	}
}

function so_xfade_left() 
{
	cOpacityl = imgsleft[currentl].xOpacity;
	nIndexl = imgsleft[currentl+1]?currentl+1:0;

	nOpacityl = imgsleft[nIndexl].xOpacity;
	
	cOpacityl-=.05; 
	nOpacityl+=.05;
	
	imgsleft[nIndexl].style.display = "block";
	imgsleft[currentl].xOpacity = cOpacityl;
	imgsleft[nIndexl].xOpacity = nOpacityl;

	setOpacity(imgsleft[currentl]);

	if(k_con == 'go')
	{
		Intervalleft = interleft[currentl].innerHTML;
		setTimeout(so_xfade_left,Intervalleft);
		k_con = 'second';
		return;
	}

	setOpacity(imgsleft[nIndexl]);
	
	if(cOpacityl<=0) 
	{
		imgsleft[currentl].style.display = "none";
		currentl = nIndexl;
		Intervalleft = interleft[currentl].innerHTML;
		setTimeout(so_xfade_left,Intervalleft);
	}
	else 
	{
		setTimeout(so_xfade_left,100);
	}
}

function so_xfade_right() 
{
	cOpacityr = imgsright[currentr].xOpacity;
	nIndexr = imgsright[currentr+1]?currentr+1:0;

	nOpacityr = imgsright[nIndexr].xOpacity;
	
	cOpacityr-=.05; 
	nOpacityr+=.05;
	
	imgsright[nIndexr].style.display = "block";
	imgsright[currentr].xOpacity = cOpacityr;
	imgsright[nIndexr].xOpacity = nOpacityr;

	setOpacity(imgsright[currentr]); 

	if(l_con == 'go')
	{
		Intervalright = interright[currentr].innerHTML;
		setTimeout(so_xfade_right,Intervalright);
		l_con = 'second';
		return;
	}

	setOpacity(imgsright[nIndexr]);
	
	if(cOpacityr<=0) 
	{
		imgsright[currentr].style.display = "none";
		currentr = nIndexr;
		Intervalright = interright[currentr].innerHTML;
		setTimeout(so_xfade_right,Intervalright);
	}
	else 
	{
		setTimeout(so_xfade_right,100);
	}
}

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) + ")";
}