/**
 * ImageSwitch
 *
 * - Jari Lehtinen, 2008 (jari[at]mediaani.fi)
 * - Requires jQuery (http://www.jquery.com)
 */
$(document).ready(function() {
	initializeImageSwitch();
});

/* Configuration ---------------------------------------------------------------------------------------------------- */
var isEffect = 'fade'; // Possible values: fade, fade-zoom slide-up, slide-down, slide-left, slide-right, none or random
var isEffectSpeed = 1400; // If using other than 'none' effect
var isSeconds = 3; // Seconds between image switch

// Image URLs
var isImages = new Array();
isImages[0] = 'img/vaihtuvat_kuvat/kuva1.jpg';
isImages[1] = 'img/vaihtuvat_kuvat/kuva2.jpg';
isImages[2] = 'img/vaihtuvat_kuvat/kuva3.jpg';

// Image link URLs
var isImageLinks = new Array();
isImageLinks[0] = 'http://www.putiikkirannalla.com/img/vaihtuvat_kuvat/kuva1.jpg';
isImageLinks[1] = 'http://www.putiikkirannalla.com/img/vaihtuvat_kuvat/kuva2.jpg';
isImageLinks[2] = 'http://www.putiikkirannalla.com/img/vaihtuvat_kuvat/kuva3.jpg';


// Image size
var isImageWidth = 557;
var isImageHeight = 346;

/* Configuration end ---------------------------------------------------------------------------------------------------- */

// Preload images
var isAllImages = new Array();

for(i = 0; i < isImages.length; i++) {
	isAllImages[i] = new Image();
	isAllImages[i].src = isImages[i];
}

var isCurrentImageId = 0;
var isZindex = 500;
var isEffects = new Array('fade','fade-zoom','slide-up','slide-down','slide-left','slide-right');

/**
 * Initialize image switch
 */
function initializeImageSwitch() {
	isInterval = setInterval("imageSwitch()",isSeconds*1000);
}

/**
 * Image switch launcher
 */
function imageSwitch() {
	isZindex--;

	if($("#imageSwitch")) {
		thisImageId = isCurrentImageId + 1;
		if(thisImageId > (isImages.length - 1)) thisImageId = 0;

		// Add new image below old one
		html = '<div style="z-index:'+isZindex+'" id="imageSwitch_'+thisImageId+'">';
		if(isImageLinks[thisImageId]) html = html + '<a href="'+isImageLinks[thisImageId]+'">';
		html = html + '<img src="'+isImages[thisImageId]+'" width="'+isImageWidth+'" height="'+isImageHeight+'" alt="" id="imageSwitchImg_'+thisImageId+'" />';
		if(isImageLinks[thisImageId]) html = html + '</a>';
		html = html + '</div>';
		$("#imageSwitch").append(html);

		// Random effect
		if(isEffect == 'random') {
			rand = Math.ceil(Math.random()*isEffects.length) - 1;
			thisEffect = isEffects[rand];
		} else {
			thisEffect = isEffect;
		}

		// Fade
		if(thisEffect == 'fade') {
			$("#imageSwitch_"+isCurrentImageId).fadeOut(isEffectSpeed,function() {
				$("#imageSwitch_"+(isCurrentImageId)).remove();
				isCurrentImageId = thisImageId;
			});
		}
		// Fade zoom
		else if(thisEffect == 'fade-zoom') {
			$("#imageSwitchImg_"+isCurrentImageId).animate({
					width: (isImageWidth*3) + 'px',
					height: (isImageHeight*3) + 'px',
					marginLeft: '-'+(isImageWidth)+'px',
					marginTop: '-'+(isImageHeight)+'px',
					opacity: 0
				},isEffectSpeed,false,function() {
				$("#imageSwitch_"+(isCurrentImageId)).remove();
				isCurrentImageId = thisImageId;
			});
		}
		// Slideup
		else if(thisEffect == 'slide-up') {
			$("#imageSwitch_"+isCurrentImageId).animate({
					marginTop: '-'+isImageHeight+'px'
				},isEffectSpeed,false,function() {
				$("#imageSwitch_"+(isCurrentImageId)).remove();
				isCurrentImageId = thisImageId;
			});
		}
		// Slidedown
		else if(thisEffect == 'slide-down') {
			$("#imageSwitch_"+isCurrentImageId).animate({
					marginTop: isImageHeight+'px'
				},isEffectSpeed,false,function() {
				$("#imageSwitch_"+(isCurrentImageId)).remove();
				isCurrentImageId = thisImageId;
			});
		}
		// Slideleft
		else if(thisEffect == 'slide-left') {
			$("#imageSwitch_"+isCurrentImageId).animate({
					left: '-'+isImageWidth+'px'
				},isEffectSpeed,false,function() {
				$("#imageSwitch_"+(isCurrentImageId)).remove();
				isCurrentImageId = thisImageId;
			});
		}
		// Slideright
		else if(thisEffect == 'slide-right') {
			$("#imageSwitch_"+isCurrentImageId).animate({
					left: isImageWidth+'px'
				},isEffectSpeed,false,function() {
				$("#imageSwitch_"+(isCurrentImageId)).remove();
				isCurrentImageId = thisImageId;
			});
		}
		// No effect
		else {
			$("#imageSwitch_"+isCurrentImageId).remove();
			isCurrentImageId = thisImageId;
		}
		
		if(isZindex == 0) clearInterval(isInterval);
	}
}