
var crossfaderId = 'crossfader';
var	crossfader;
var crossfaderImages;
var currentImage;
var previousImage;
var preInitTimer;
preInit();

function preInit() {
	if ((document.getElementById)&&(crossfader=document.getElementById(crossfaderId))) {
		crossfader.style.visibility = "hidden";
		if (typeof preInitTimer != 'undefined') clearTimeout(preInitTimer);
	}
	else {
		preInitTimer = setTimeout("preInit()",2);
	}
}

function fader(imageNumber,opacity) {
	var obj=crossfaderImages[imageNumber];
	if (obj.style) {
		if (obj.style.MozOpacity!=null) {  
			obj.style.MozOpacity = (opacity/100) - .001;
		} else if (obj.style.opacity!=null) {
			obj.style.opacity = (opacity/100) - .001;
		} else if (obj.style.filter!=null) {
			obj.style.filter = "alpha(opacity="+opacity+")";
		}
	}
}

function fadeInit() {
	if (document.getElementById) {
		preInit();
		crossfaderImages = new Array;
		var node = crossfader.firstChild;
		while (node) {
			if (node.nodeType==1) {
				crossfaderImages.push(node);
			}
			node = node.nextSibling;
		}
		for(i=0;i<crossfaderImages.length;i++) {
			crossfaderImages[i].style.position='absolute';
			crossfaderImages[i].style.top=0;
			crossfaderImages[i].style.zIndex=0;
			fader(i,0);
		}
		crossfader.style.visibility = 'visible';
		currentImage=0;
		crossfaderImages[currentImage].style.zIndex = 100;
		previousImage=crossfaderImages.length-1;
		opacity=100;
		fader(currentImage,100);
		window.setTimeout("crossfade(100)", 1000);
	}
}

function crossfade(opacity) {
	if (opacity < 100) {
		fader(currentImage,opacity);
		opacity += 10;
		window.setTimeout("crossfade("+opacity+")", 30);
		crossfaderImages[previousImage].style.zIndex = 0;
		crossfaderImages[currentImage].style.zIndex = 100;
	} else {
		fader(previousImage,0);
		previousImage=currentImage;
		currentImage+=1;
		if (currentImage>=crossfaderImages.length) {
			/* start over from first image if we cycled through all images in the list */
			currentImage=0;
		}
		crossfaderImages[previousImage].style.zIndex = 100;
		opacity=0;
		window.setTimeout("crossfade("+opacity+")", 5000);
	}	
}

addEvent(window,'load',fadeInit)

function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener){
		elm.addEventListener(evType, fn, useCapture);
	return true;
	} else if (elm.attachEvent){
	var r = elm.attachEvent("on"+evType, fn);
	return r;
	}
}