// JavaScript Document
// <![CDATA[

var fadeId = 'banners'; // change this to the ID of the fade list
//var fadeId = 'fade1'; // change this to the ID of the fade list
var	fade; // this will be the object reference to the list later on
var fadeImages; // array that will hold all child elements of the list
var currentImage; // keeps track of which image should currently be showing
var previousImage;
var preInitTimer;
preInit();


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

function fader(imageNumber,opacity) {
	var obj=fadeImages[imageNumber];
	if (obj.style) {
		if (obj.style.MozOpacity!=null) {
			// Mozilla's pre-CSS3 proprietary rule
			obj.style.MozOpacity = (opacity/100) - .001;
		} else if (obj.style.opacity!=null) {
			// CSS3 compatible
			obj.style.opacity = (opacity/100) - .001;
		} else if (obj.style.filter!=null) {
			// IE's proprietary filter
			obj.style.filter = "alpha(opacity="+opacity+")";
		}
	}
}

function fadeInit() {
	if (document.getElementById) {
		preInit();
		fadeImages = new Array;
		var node = fade.firstChild;
		while (node) {
			if (node.nodeType==1) {
				fadeImages.push(node);
			}
			node = node.nextSibling;
		}

		// loop through all these child nodes and set up their styles:
		for(i=0;i<fadeImages.length;i++) {

			fadeImages[i].style.position='absolute';
			fadeImages[i].style.top=0;
			fadeImages[i].style.right=0;
			fadeImages[i].style.zIndex=0;
			// set their opacity to transparent:
			fader(i,0);
		}
		// make the list visible again:
		fade.style.visibility = 'visible';

		currentImage=0;
		previousImage=fadeImages.length-1;
		opacity=100;
		fader(currentImage,100);

		// start the whole crossfade process after a second's pause:
		window.setTimeout("crossfade(100)", 10);
	}
}

function crossfade(opacity) {
	if (opacity < 100) {
		fader(currentImage,opacity);
		opacity += 10;
		window.setTimeout("crossfade("+opacity+")", 30);
	} else {
		fader(previousImage,0);
		previousImage=currentImage;
		currentImage+=1;
		if (currentImage>=fadeImages.length) {
			currentImage=0;
		}
		fadeImages[previousImage].style.zIndex = -1000;
		fadeImages[currentImage].style.zIndex = -100;
		opacity=0;
		window.setTimeout("crossfade("+opacity+")", 2500);
	}
}

// initialise fader by hiding image object first:
addEvent(window,'load',fadeInit)


// addEvent handler for IE and other browsers:
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;
	}
}
// ]]>