var nextSlideIndex = null;
var isIE = false;

var preloadSlide = new Array();
for (p=0;p<slide.length;p++) {
	preloadSlide[p] = new Image();
}
preloadSlide[0].src = slide[0];
preloadSlide[1].src = slide[1];
preloadSlide[2].src = slide[2];

var slideOpacity = 0;
var fadeSlideTimer = null;
var fadeSlideVelocity = 50;
var slidePause = 10000;

function firstSlide() {
	clearTimeout(fadeSlideTimer);
	if (document.getElementById) {
		// fade in 1st layer if not 100% opaque
		if (slideOpacity<100) {
			slideOpacity+=10;
			var slideA = document.getElementById('banner1');
			setSlideOpacity(slideA);
			fadeSlideTimer = setTimeout("firstSlide()", fadeSlideVelocity);
		}
		else {
			//var slideC = document.getElementById('banner3');
			//if (slideC) {
			//	slideC.style.display = 'none';
			//}
			// set 2nd layer's background after 1st layer 100% faded in
			slideOpacity = 0;
			var slideB = document.getElementById('banner2');
			fadeSlideTimer = setTimeout("fadeSlideIn()", slidePause);
		}
	}
}

function setSlideIndex() {
	nextSlideIndex = (nextSlideIndex<slide.length-1)? nextSlideIndex+1 : 0;
	preloadSlide[nextSlideIndex].src = slide[nextSlideIndex];
	createCookie('slide',nextSlideIndex,1);
}

function setSlideOpacity(el) {
	if (isIE) {
		el.style.filter='alpha(opacity='+parseInt(slideOpacity)+')';
	}
	el.style.opacity=slideOpacity/101;
}

function fadeSlideIn() {
	clearTimeout(fadeSlideTimer);
	// fade in 2nd layer if not 100% opaque
	if (slideOpacity<100) {
		slideOpacity+=10;
		if (document.getElementById) {
			var slideB = document.getElementById('banner2');
			setSlideOpacity(slideB);
		}	
		fadeSlideTimer = setTimeout("fadeSlideIn()", fadeSlideVelocity);
	}
	else {
		// set 1st layer's background after 2nd layer 100% faded in
		setSlideIndex();
		slideOpacity = 100;
		if (document.getElementById) {
			var slideA = document.getElementById('banner1');
			slideA.style.backgroundImage = 'url(' + slide[nextSlideIndex] + ')';
		}	
		fadeSlideTimer = setTimeout("fadeSlideOut()", slidePause);
	}
}

function fadeSlideOut() {
	clearTimeout(fadeSlideTimer);
	// fade out 2nd layer if not 100% transparent
	if (slideOpacity>0) {
		slideOpacity-=10;
		if (document.getElementById) {
			var slideB = document.getElementById('banner2');
			setSlideOpacity(slideB);
		}	
		fadeSlideTimer = setTimeout("fadeSlideOut()", fadeSlideVelocity);
	}
	else {
		// set 2nd layer's background only after it is 100% transparent
		setSlideIndex();
		slideOpacity = 0;
		if (document.getElementById) {
			var slideB = document.getElementById('banner2');
			slideB.style.backgroundImage = 'url(' + slide[nextSlideIndex] + ')';
		}	
		fadeSlideTimer = setTimeout("fadeSlideIn()", slidePause);
	}
}

function restartSlides() {
	stopSlides();
	startSlides();
}

function stopSlides() {
	pauseSlides();
	nextSlideIndex = 0;
}

function pauseSlides() {
	clearTimeout(fadeSlideTimer);
	fadeSlideTimer = null;
	//slidePause = 15000;
}

function resumeSlides() {
	if (slideOpacity == 0) {
		fadeSlideTimer = setTimeout("fadeSlideIn()", slidePause);
	}
	else if (slideOpacity == 100) {
		fadeSlideTimer = setTimeout("fadeSlideOut()", slidePause);
	}
	else {
		fadeSlideTimer = setTimeout("fadeSlideIn()", fadeSlideVelocity);
	}
}

function initSlides() {
	clearTimeout(fadeSlideTimer);
	var lastSlide = readCookie('slide');
	if (lastSlide) {
		var nextSlideIndex = parseFloat(lastSlide);
	}
	else {
		var nextSlideIndex = 1;
	}
	eraseCookie('slide');
	if (navigator.userAgent.indexOf("MSIE")>-1) {
		isIE = true;
	}
	if (document.getElementById) {
		var firstSlideIndex = nextSlideIndex;
		var secondSlideIndex = (firstSlideIndex<slide.length-1)? firstSlideIndex+1 : 0;
		nextSlideIndex = secondSlideIndex;
		var slideA = document.getElementById('banner1');
		if (slideA) {
			slideA.style.backgroundImage = 'url(' + slide[firstSlideIndex] + ')';
			if (isIE) {
				slideA.style.filter='alpha(opacity=0)'; // IE
			}
			slideA.style.opacity='0.0'; // FF
		}
		var slideB = document.getElementById('banner2');
		if (slideB) {
			slideB.style.backgroundImage = 'url(' + slide[secondSlideIndex] + ')';
			if (isIE) {
				slideB.style.filter='alpha(opacity=0)'; // IE
			}
			slideB.style.opacity='0.0'; // FF
		}
		firstSlide();
	}
}

addLoadEvent(initSlides);

