/*
var slideShowImages = [
	'images/slideshow1.gif',
	'images/slideshow2.gif',
	'images/slideshow3.gif',
];
*/

// timeout between changing images
var holdDuration = 3; // sec
// image switch duration
var transformDuration = 2; // sec

// MOZ
// opacity decreasing value per step
var opacityStep = 0.05; // 0..1
// opacity minimum level (reaching it = change image and start fading in)
var opacityMinLevel = 0.3; // 0..1




var currentImage = 0;
var ssImg = null;

function slideShowInit(image)
{
	if(ssImg != null) return;
	ssImg = image;

	// images preload
	for(var i=0; i<slideShowImages.length; i++) {
		var foo = new Image();
		foo.src = slideShowImages[i];
	}
	ssImg.src = slideShowImages[currentImage];

	// MOZ
	if(typeof(ssImg.style.MozOpacity) != 'undefined') {
		return slideShowMoz();
	}
	// IE
	else if(typeof(ssImg.style.filter) != 'undefined') {
		ssImg.style.filter = 'progid:DXImageTransform.Microsoft.Fade(Overlap=1.00, Duration='+transformDuration+');';
		slideShowIE();
	}
	// Other
	else {
		slideShow();
	}
}

function slideShowIE()
{
	ssImg.filters[0].apply();
	// next image
	currentImage++;
	if(currentImage+1 >= slideShowImages.length) currentImage = 0;
	ssImg.src = slideShowImages[currentImage];
	ssImg.filters[0].play();

	setTimeout('slideShowIE()', (transformDuration + holdDuration)*1000);
}

var currentOpacity = 1;
var opacityTimeout = transformDuration * opacityStep * 500 / (1 - opacityMinLevel); // msec
var fase = 'fall';
function slideShowMoz()
{
	switch(fase) {
		case 'rise':
			currentOpacity += opacityStep;
			if(currentOpacity > 1) {
				currentOpacity = 1;
				fase = 'fall';
				setTimeout('slideShowMoz()', holdDuration*1000);
				return;
			}
			break;

		case 'fall':
			currentOpacity -= opacityStep;
			if(currentOpacity < opacityMinLevel) {
				fase = 'rise';
				// next image
				currentImage++;
				if(currentImage >= slideShowImages.length) currentImage = 0;
				ssImg.src = slideShowImages[currentImage];
			}
			break;
	}
	ssImg.style.MozOpacity = currentOpacity.toString();
	setTimeout('slideShowMoz()', opacityTimeout);
}

function slideShow()
{
	// next image
	currentImage++;
	if(currentImage >= slideShowImages.length) currentImage = 0;
	ssImg.src = slideShowImages[currentImage];
	setTimeout('slideShow()', (holdDuration + transformDuration)*1000);
}
