/*****

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, greenImgs = new Array(), startsImgs = new Array(), hereImgs = new Array(), zInterval = null, pause=false;
var greenCurrent=0, startsCurrent=0, hereCurrent=0;
function so_init() {
	if(!d.getElementById || !d.createElement)return;
	
	css = d.createElement("link");
	css.setAttribute("href","http://www.alberici.com/hoffmandemo/xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);
	
	greenImgs = d.getElementById("greenContainer").getElementsByTagName("img");
	for(i=1;i<greenImgs.length;i++) greenImgs[i].xOpacity = 0;
	greenImgs[0].style.display = "block"; greenImgs[0].xOpacity = .99;
	
	startsImgs = d.getElementById("startsContainer").getElementsByTagName("img");
	for(i=1;i<startsImgs.length;i++) startsImgs[i].xOpacity = 0;
	startsImgs[0].style.display = "block"; startsImgs[0].xOpacity = .99;
	
	hereImgs = d.getElementById("hereContainer").getElementsByTagName("img");
	for(i=1;i<hereImgs.length;i++) hereImgs[i].xOpacity = 0;
	hereImgs[0].style.display = "block"; hereImgs[0].xOpacity = .99;
	
	setTimeout(so_xfadeGreen,3000);
	setTimeout(so_xfadeStarts,4500);
	setTimeout(so_xfadeHere,6000);
}

function so_xfadeGreen() {
	var imgs = greenImgs;
	cOpacity = imgs[greenCurrent].xOpacity; nIndex = imgs[greenCurrent+1]?greenCurrent+1:0; nOpacity = imgs[nIndex].xOpacity;
	cOpacity-=.05; nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[greenCurrent].xOpacity = cOpacity; imgs[nIndex].xOpacity = nOpacity;
	setOpacity(imgs[greenCurrent]); setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[greenCurrent].style.display = "none";
		greenCurrent = nIndex;
		setTimeout(so_xfadeGreen,3000);
	} else { setTimeout(so_xfadeGreen,50); }
}

function so_xfadeStarts() {
	var imgs = startsImgs;
	cOpacity = imgs[startsCurrent].xOpacity; nIndex = imgs[startsCurrent+1]?startsCurrent+1:0; nOpacity = imgs[nIndex].xOpacity;
	cOpacity-=.05; nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[startsCurrent].xOpacity = cOpacity; imgs[nIndex].xOpacity = nOpacity;
	setOpacity(imgs[startsCurrent]); setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[startsCurrent].style.display = "none";
		startsCurrent = nIndex;
		setTimeout(so_xfadeStarts,3000);
	} else { setTimeout(so_xfadeStarts,50); }
}

function so_xfadeHere() {
	var imgs = hereImgs;
	cOpacity = imgs[hereCurrent].xOpacity; nIndex = imgs[hereCurrent+1]?hereCurrent+1:0; nOpacity = imgs[nIndex].xOpacity;
	cOpacity-=.05; nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[hereCurrent].xOpacity = cOpacity; imgs[nIndex].xOpacity = nOpacity;
	setOpacity(imgs[hereCurrent]); setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[hereCurrent].style.display = "none";
		hereCurrent = nIndex;
		setTimeout(so_xfadeHere,3000);
	} else { setTimeout(so_xfadeHere,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) + ")";
}
