/*****

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(), txts = new Array(), hdrs = new Array(), zInterval = null, current=0, pause=false, pinkfade = new Array("#f74d84", "#DD4677", "#C8406C", "#B0375E", "#992F52", "#792540", "#792C45", "#6A2E42", "#552D3A", "#333333"), linkfade = new Array("#f74d84", "#F75E8F", "#F7709C", "#F781A7", "#F994B5", "#F9A7C2", "#FABBD0", "#FCD2DF", "#FEEAF1", "#ffffff");

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

	css = d.createElement("link");
	css.setAttribute("href","http://www.oipolloi.com/oipolloi/common/xfade2.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);

	imgs = d.getElementById("imageContainer").getElementsByTagName("img");
	for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
	imgs[0].style.display = "block";
	imgs[0].style.top = "32px";
	imgs[0].xOpacity = .99;
	
	txts = d.getElementById("imageContainer").getElementsByTagName("p");
	for(i=1;i<txts.length;i++) txts[i].xOpacity = 0;
	txts[0].style.display = "block";
	txts[0].xOpacity = 1;
	
	hdrs = d.getElementById("imageContainer").getElementsByTagName("h2");
	for(i=1;i<hdrs.length;i++) hdrs[i].xOpacity = 0;
	hdrs[0].style.display = "block";
	hdrs[0].xOpacity = 1;
	
	setTimeout(so_xfade,5000);
}

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[nIndex].style.top = "32px";
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);
	
	ctOpacity = txts[current].xOpacity;
	ntOpacity = txts[nIndex].xOpacity;
	
	ctOpacity=(cOpacity-0.5)*2;
	ntOpacity=(nOpacity-0.5)*2;
	
	if(ctOpacity>=0.95) {
		ctOpacity=1;
	}
	if(ntOpacity>=0.95) {
		ntOpacity=1;
	}
	
	if(ctOpacity<=0) {
		ctOpacity=0;
		txts[current].style.display = "none";
		hdrs[current].style.display = "none";
		txts[nIndex].style.display = "block";
		hdrs[nIndex].style.display = "block";
	}
	if(ntOpacity<=0) {
		ntOpacity=0;
		txts[nIndex].style.display = "none";
		hdrs[nIndex].style.display = "none";
	}
		
	txts[current].xOpacity = ctOpacity;
	txts[nIndex].xOpacity = ntOpacity;
	
	setTxtOpacity(txts[current]); 
	setTxtOpacity(txts[nIndex]);
	
	hdrs[current].xOpacity = ctOpacity;
	hdrs[nIndex].xOpacity = ntOpacity;
	
	setTxtOpacity(hdrs[current]); 
	setTxtOpacity(hdrs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
		current = nIndex;
		setTimeout(so_xfade,7000);
	} else {
		setTimeout(so_xfade,50);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>=1) {
			obj.xOpacity = 0.99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
	
	function setTxtOpacity(obj) {
		if(obj.xOpacity>1) {
			obj.xOpacity = 1;
			return;
		}
		if (obj.xOpacity ) {
			pinkValue = Math.round(obj.xOpacity*10);
			obj.style.color = pinkfade[pinkValue];
			var links = obj.getElementsByTagName("a");
			for(i=0;i<links.length;i++) links[i].style.color = linkfade[pinkValue];
		}
	}
	
}