var isIE = null;

if (isIE)
	document.write("<link rel='stylesheet' href='CSS/FadeShowIE.css' type='text/css' />");

var intervalStep = 20;
var intervalID = null;
var timeOutID = null;
var fadeImageDiv = null;
var fadeImage = null;
var theImage = 1;
var theImages = 3;
var allPreloaded = false;

function addListeners() {
	if (!document.getElementsByTagName) return;

	preloadImage('FileLibrary/RW-Insurance-Main-Home-Page-Image-1.jpg', 900, 414);
	preloadImage('FileLibrary/RW-Insurance-Main-Home-Page-Image-2.jpg', 900, 414);

	runFadeShow();
}

function runFadeShow() {
	fadeImageDiv = getEl('fadeImageDiv');
	fadeImageDiv.style.left = (winWidth() / 2) - 203 + 'px'; // account for 3px border
	fadeImageDiv.style.borderColor = (isIE) ? '#c9c9cf' : '#6b6e79';
	fadeImageDiv.style.visibility = 'visible';
	fadeImage = getEl('fadeImage');
	addEvent(window, 'unload', stopIntervals, false);
	timeOutID = setTimeout(getNextImage, 2800);
}

function getNextImage() {
	clearInterval(intervalID);
	if (theImage == theImages)
		theImage = 1;
	else
		theImage = theImage + 1;

	if (theImage == theImages)
		allPreloaded = true;

	fadeImage.index = 0;
	fadeImage.opacStep = 5;
	if (fadeImage.filters)
		fadeImage.style.filter = 'alpha(opacity=15)';
	else
		fadeImage.style.opacity = 0.0;
	fadeImage.src = 'FileLibrary/RW-Insurance-Main-Home-Page-Image-' + theImage + '.jpg';
	intervalID = setInterval(fadeShow, intervalStep);
}

function fadeShow() {
	if (fadeImage.index >= 100) {
		clearInterval(intervalID);
		clearInterval(timeOutID);
		fadeImageDiv.style.backgroundImage = 'url(FileLibrary/RW-Insurance-Main-Home-Page-Image-' + theImage + '.jpg)';
		if (!allPreloaded)
			preloadImage('FileLibrary/RW-Insurance-Main-Home-Page-Image-' + (theImage + 1) + '.jpg', 900, 414);
			timeOutID = setTimeout(getNextImage, 2800);
	} else {
		fadeImage.opacStep = fadeImage.opacStep * 1.200;
		fadeImage.index += fadeImage.opacStep;
	}
	if (fadeImage.filters)
		fadeImage.style.filter = 'alpha(opacity=15)';
	else
		fadeImage.style.opacity = fadeImage.index/101;
}

function stopIntervals() {
	clearInterval(intervalID);
	clearInterval(timeOutID);
}

addEvent(window, 'load', addListeners, false);
