/*
	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
*/
var CrossFade = {
	imgs: [],
	zInterval: null,
	current: 0,
	pause: false,
	stopped: false
};

window.addEventListener ? window.addEventListener('load', CrossFade_init, false) : window.attachEvent('onload', CrossFade_init);

function CrossFade_init() {
	if(!document.getElementById || !document.createElement || !document.getElementById('slideshow')) return false;
	var css = document.createElement('link');
	css.setAttribute('href', '/css/xfade2.css');
	css.setAttribute('rel', 'stylesheet');
	css.setAttribute('type', 'text/css');
	document.getElementsByTagName('head')[0].appendChild(css);
	
	CrossFade.imgs = document.getElementById('slideshow').getElementsByTagName('img');
	for(var i = 1; i < CrossFade.imgs.length; i++) {
		CrossFade.imgs[i].xOpacity = 0;
	}
	CrossFade.imgs[0].style.display = 'block';
	CrossFade.imgs[0].xOpacity = .99;
	
	setTimeout(CrossFade_fade, 3000);
}

function CrossFade_fade() {
    if(!CrossFade.imgs[CrossFade.current]) return false;
	var cOpacity = CrossFade.imgs[CrossFade.current].xOpacity;
	var nIndex = CrossFade.imgs[CrossFade.current + 1] ? CrossFade.current + 1 : 0;
	var nOpacity = CrossFade.imgs[nIndex].xOpacity;
	
	cOpacity -= .05;
	nOpacity += .05;
	
	CrossFade.imgs[nIndex].style.display = 'block';
	CrossFade.imgs[CrossFade.current].xOpacity = cOpacity;
	CrossFade.imgs[nIndex].xOpacity = nOpacity;
	
	CrossFade_setOpacity(CrossFade.imgs[CrossFade.current]);
	CrossFade_setOpacity(CrossFade.imgs[nIndex]);
	
	if(cOpacity <= 0) {
		CrossFade.imgs[CrossFade.current].style.display = 'none';
		CrossFade.current = nIndex;
		if (!CrossFade.stopped)	setTimeout(CrossFade_fade, 3000);
	} else {
		if (!CrossFade.stopped)	setTimeout(CrossFade_fade, 50);
	}
}

function CrossFade_setOpacity(obj) {
	if(obj.xOpacity > .99) {
		obj.xOpacity = .99;
		return false;
	}
	
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.filter = 'alpha(opacity=' + (obj.xOpacity * 100) + ')';
}
