var nextPicture, pictureArray, SS_DURATION=1000, SS_DELAY=4500, nextPicture, nextPictureID, thisPicture, thisPictureID, fadeInterval, fadeTime;
function slideShow(items) {	
	nextPicture = -1;
	pictureArray = items;
	
	for (var i=0;i<pictureArray.length;i++)
	{
		document.getElementById(pictureArray[i]).style.opacity = 0;
		document.getElementById(pictureArray[i]).style.position = "absolute";
		document.getElementById(pictureArray[i]).style.filter = "alpha(opacity=0)";
		document.getElementById(pictureArray[i]).style.visibility = "hidden";
	}		
	nextFade();
}


function nextFade() {
	if (nextPictureID) {
		clearInterval(nextPictureID);
	}
	thisPicture = nextPicture;
	nextPicture++;
	if (!pictureArray[nextPicture]) {
		nextPicture = 0;
	}	
	if (nextPicture == thisPicture) {
		return false;
	}	
	document.getElementById(pictureArray[nextPicture]).style.visibility = "visible";
	fadeInterval = 50;
	fadeTime = 0;
	thisPictureID = setInterval(function() { startFade() }, fadeInterval);
}


function startFade() {
	fadeTime += fadeInterval;
	var ie_fade_amout = Math.round((1/2 * (1 - Math.cos(Math.PI*fadeTime/SS_DURATION))) * 100 );
	var fade_amout = ie_fade_amout / 100;
	document.getElementById(pictureArray[nextPicture]).style.opacity = fade_amout;
	document.getElementById(pictureArray[nextPicture]).style.filter = "alpha(opacity="+ie_fade_amout+")";
	
	if (thisPicture > -1) {
		document.getElementById( pictureArray[thisPicture] ).style.opacity = 1 - fade_amout;
		document.getElementById( pictureArray[thisPicture] ).style.filter = "alpha(opacity="+(100 - ie_fade_amout)+")";
	}
	
	if (fadeTime == SS_DURATION){
		clearInterval( thisPictureID );
		if (thisPicture > -1) {
			document.getElementById( pictureArray[thisPicture] ).style.visibility = "hidden";	
		}
		nextPictureID = setInterval(function() {nextFade()}, SS_DELAY);
	}
}