// JavaScript Document
/*
Background Image Slideshow- © Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and TOS,
visit http://www.dynamicdrive.com

-----------------------------------------------------
Personalizzazione a cura di Lorenzo Magon 2009-11-25
-----------------------------------------------------

slideshow di immagini applicate allo sfondo di un tag di tipo div
per un corretto funzionamento creare 2 div nidificati (slide_frame e slide_show)

slide_frame conterrą l'immagine l'immagine precedente
slide_show conterrą l'immagine nuova che appare gradualmente

al load della pagina viene caricata la prima immagine dell'array delle immagini

-----------------------------------------------------
*/

(function () {         
    var swapper = function (a,L,e) 
	{                                                     
		var r = Math.floor(Math.random()*L);                               
		var x = a[e];                                                       
		a[e] = a[r];                                                       
		a[r] = x;                                                           
	};                                                                     
	Array.prototype.shuffle = function () 
	{                                                           
		var i,L;                                                           
		i = L = this.length;                                               
		while (i--) swapper(this,L,i);                                     
	};                                                                     
})();

//Specify background images to slide
var bgslides=new Array();
bgslides[0]="/festival2010/images/slide_home/slide_01.jpg";
bgslides[1]="/festival2010/images/slide_home/slide_02.jpg";
bgslides[2]="/festival2010/images/slide_home/slide_03.jpg";
bgslides[3]="/festival2010/images/slide_home/slide_04.jpg";
bgslides[4]="/festival2010/images/slide_home/slide_05.jpg";
bgslides[5]="/festival2010/images/slide_home/slide_06.jpg";

bgslides.shuffle();

//Specify interval between slide (in miliseconds)
var speed=5000;

//preload images
var processed=new Array();
for (i=0;i<bgslides.length;i++)
{
	processed[i]=new Image();
	processed[i].src=bgslides[i];
}

var img_current = 0;
var img_prev = -1;




function slideback()
{
	img_current++;
	if (img_current > bgslides.length-1) img_current = 0;
	
	img_prev++;
	if(img_prev > bgslides.length-1) img_prev = 0;
	
	$('slide_frame').setStyle({backgroundImage:'url('+processed[img_prev].src+')'});
	$('slide_show').hide();
	$('slide_show').setStyle({backgroundImage:'url('+processed[img_current].src+')'});
	Effect.Appear($('slide_show'), {from: 0, to:1});
}


Event.observe(window, 'load', function() { $('slide_frame').setStyle({backgroundImage:'url('+processed[0].src+')'}) });
Event.observe(window, 'load', function() { setInterval("slideback()",speed) });