/*************************************************************************
*
*
* JavaScript ImageFader
* by Anthony Drendel
* http://goneeast.com
*
* Inspired by Carl Camera's CSS Photo Shuffler by Carl Camera (http://iamacamera.org)
* SetOpacity Function from Photo Fade by Richard Rutter (http://clagnut.com)
* 
* License: Creative Commons Attribution 2.5 License
* http://creativecommons.org/licenses/by/2.5/
*
*
**************************************************************************/

var imageId = "slideshow";
var imageArray = new Array(
	"files/morakort.png",
    "files/sunday.png",
    "files/marina.png",
    "files/inbal.png"
    );

var secondsToWait = 8;
var secondsToFade = 1;
var imageArraySize = imageArray.length;
var opacity = 100;
var randomnumber = Math.floor(Math.random()* imageArraySize);
var nextImage = randomnumber;

window.onload = imageFaderStart;

function imageFaderStart() {
	var firstImage = Math.floor(Math.random() * imageArraySize);
	var originalImage = document.getElementById(imageId);
	originalImage.style.backgroundImage = "url("+ imageArray[firstImage] + ")";
	preloadImages();
	setTimeout("fadeOut()",secondsToWait*1000);
}

function preloadImages() {
	slideshowImage1 = new Image(246,353);
	slideshowImage1.src="files/morakort.png";
	slideshowImage2 = new Image(240,336);
	slideshowImage2.src="files/sunday.png";
	slideshowImage3 = new Image(246,325);
	slideshowImage3.src="files/marina.png";
	slideshowImage4 = new Image(240,349);
	slideshowImage4.src="files/inbal.png";
}

function fadeOut() {
	var fadingOutImageId = document.getElementById(imageId);
	var fadeDelta = 100 / (30 * secondsToFade);	
	if (opacity < 2*fadeDelta) {
		opacity = 0;
		setOpacity(fadingOutImageId,opacity);
		if (nextImage >= imageArraySize) {
			nextImage = 0;
		}
		fadingOutImageId.style.backgroundImage = "url("+ imageArray[nextImage] + ")";
		setOpacity(fadingOutImageId,opacity);
		nextImage++;
		fadeIn();
	}
	else {
		opacity = opacity - fadeDelta;
		setOpacity(fadingOutImageId,opacity);
		setTimeout("fadeOut()",30);
	}
}

function fadeIn() {
	var fadingInImageId = document.getElementById(imageId);
	var fadeDelta = 100 / (30 * secondsToFade);
	if (opacity > (100 - (2*fadeDelta))) {
		opacity = 100;
		setOpacity(fadingInImageId,opacity);
		setTimeout("fadeOut()",secondsToWait*1000);
	}
	else {
		opacity = opacity + fadeDelta;
		setOpacity(fadingInImageId,opacity);
		setTimeout("fadeIn()",30);
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	
	/* Internet Explorer */
	obj.style.filter = "alpha(opacity:"+opacity+")";
	
	/* Safari, Konqueror */
	obj.style.KHTMLOpacity = opacity/100;
	
	/* Old Mozilla and Firefox */
	obj.style.MozOpacity = opacity/100;
	
	/* new Safari, Firefox, Mozilla, CSS3 */
	obj.style.opacity = opacity/100;
}









