// Globals
var imageIdx = 2; // current fading image #
var imageMax = 14; // maximum fading images
var fadeSpeed = 500; // fade speed in milliseconds
var fadePause = 2500; // pause between fades in milliseconds

function fade() {
	// start the fading process after fadePause seconds
	setTimeout("opacity('FadeFront', 100, 0, fadeSpeed)", fadePause);
} // end fade()

function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) { 
		// fade down
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
		// update image source for front image 1/4 of fadePause after final fade down
		setTimeout("updateImg(1)",(fadePause/4));
		// call to fade up after fadePause seconds
		setTimeout("opacity('FadeFront', 0, 100, fadeSpeed)", fadePause);
	} else if(opacStart < opacEnd) {
		// fade up
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
		// update image source for back image 1/4 of fadePause after final fade up
		setTimeout("updateImg(0)",(fadePause/4));
		// call to fade out after fadePause seconds
		setTimeout("opacity('FadeFront', 100, 0, fadeSpeed)", fadePause);
	}
}

function updateImg(imgLayer) {
	imageIdx++;
	if (imageIdx > imageMax) { imageIdx = 1; }

	// leading zeros?
	var currIdx = imageIdx+"";
	if (currIdx.length == 1) { currIdx = "0" + currIdx; }

	// if 0, updating back layer. if 1, updating front layer
	if (imgLayer) {
		// front layer
		newImage = "images/slides/slide" + currIdx + ".jpg";
		if (document.getElementById) {
			document.getElementById('FadeFront').src = newImage;
		} else if (document.all) {
			document.all('FadeFront').src = newImage;
		} else if (document.layers) {
			document.layers('FadeFront').src = newImage;
		}
	} else {
		// back layer
		newImage = "url(images/slides/slide" + currIdx + ".jpg)";
		if (document.getElementById) {
			document.getElementById('FadeBack').style.backgroundImage = newImage;
		} else if (document.all) {
			document.all('FadeBack').style.backgroundImage = newImage;
		} else if (document.layers) {
			document.layers('FadeBack').style.backgroundImage = newImage;
		}
	}
} // end updateImg()

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}


