// JavaScript Document
/*var immagini=Array();
var tt=3000; //Tempo permanenza immmagini
var ttrans=1000; //Tempo transizione
var imm='img1';*/

Function.prototype.setScope = function(scope, a) {
  var f = this;
 
  return function() {
    f.apply(scope, a);
  }
} 

var SlideShowF13 = Class.create({
  initialize: function(ul, banner, tt, ttrans) {
    this.tt = tt;
	this.ttrans = ttrans;
	this.imm='img1';
	this.immagini = Array();
	this.ul = ul;
	this.banner = banner;
	this.stepmax = 2*tt/40;
	this.anim = true;
	this.altezzabanner = 0;
	this.larghezzabanner = 0;
  },
  startSlideShowF13: function() {
    // Rendo invisibile la lista di immagini.
	
	
	// carico le immagini sul vettore globale
	immul = $(this.ul).select('img');
	lunghezza = immul.size();
	for(i=0; i<lunghezza;  i++){
		this.immagini.push({'img':immul[i], 'larghezza': immul[i].getWidth(), 'altezza':immul[i].getHeight()});
	}
	$(this.ul).setStyle({
				   display: 'none'
				   });
	var altezzabanner = $(this.banner).getHeight();
	var larghezzabanner = $(this.banner).getWidth();
	this.altezzabanner = altezzabanner;
	this.larghezzabanner = larghezzabanner;
	
	
	var divimg1 = document.createElement("div");
		divimg1.setAttribute("id", "divimg1");
		$(divimg1).setStyle({
						 	height: altezzabanner+'px',
							width: larghezzabanner+'px',
							zindex: 100,
							overflow: 'hidden',
							position: 'absolute'
						 });
	var divimg2 = document.createElement("div");
		$(divimg2).setAttribute("id", "divimg2");
				$(divimg2).setStyle({
						 	height: altezzabanner+'px',
							width: larghezzabanner+'px',
							zindex: 200,
							position: 'absolute',
							overflow: 'hidden',
							display: 'none'
						});
	var immagine1 = document.createElement("img");
		immagine1.setAttribute("id", "img1");
	var immagine2 = document.createElement("img");
		immagine2.setAttribute("id", "img2");
	//Banner
	divimg1.appendChild(immagine1);
	divimg2.appendChild(immagine2);
	$(this.banner).appendChild(divimg1);
	$(this.banner).appendChild(divimg2);
	this.cambia_src('img1', 0);
	this.scorrislide(1);
  },
  scorrislide: function(step) {
	param1=new Array('img2', step);
	this.cambia_src.setScope(this, param1).delay(this.tt/2000);
	//setTimeout('new Effect.Opacity(\'divimg2\', { from: 0, to: 1, duration: '+this.ttrans/1000+' })', this.tt);
	setTimeout('Effect.Appear(\'divimg2\', { duration: '+this.ttrans/1000+' })', this.tt);
	this.imm=(this.imm=='img1') ? 'img2' : 'img1';
	step=(step==this.immagini.length-1) ? 0 : step+1;
	param2 = new Array('img1', step);
	this.cambia_src.setScope(this, param2).delay(this.tt/1000+this.tt/2000);
	setTimeout('Effect.Fade(\'divimg2\', { duration: '+this.ttrans/1000+' })', 2*this.tt);
	//setTimeout('new Effect.Opacity(\'divimg2\', { from: 1, to: 0, duration: '+this.ttrans/1000+' })', 2*this.tt);
	step=(step==this.immagini.length-1) ? 0 : step+1;
	var param3 = [step];
	this.scorrislide.setScope(this, param3).delay(2*this.tt/1000);
  },
  cambia_src: function(imgdest, step){
	  $(imgdest).src = this.immagini[step]['img'].src;
	  if(this.anim==true){
		altezzaimg = $(this.immagini[step]['altezza']);  
		larghezzaimg = $(this.immagini[step]['larghezza']);
		(altezzaimg-$(this.banner).getHeight())/this.stepmax
		xstart = -(larghezzaimg-this.larghezzabanner)/2; //Math.floor(Math.random()*0*((Math.random()>0.5) ? 1 : -1));
		ystart = -(altezzaimg-this.altezzabanner)/2; //Math.floor(Math.random()*0*((Math.random()>0.5) ? 1 : -1));
	  	xinc = Math.round(Math.random()*(larghezzaimg-this.larghezzabanner)/(2*this.stepmax)*((Math.random()>0.5) ? 1 : -1));
	  	yinc = Math.round(Math.random()*(altezzaimg-this.altezzabanner)/(2*this.stepmax)*((Math.random()>0.5) ? 1 : -1));
		//xstart = Math.floor(Math.random()*10*((Math.random()>0.5) ? 1 : -1));
		//ystart = Math.floor(Math.random()*10*((Math.random()>0.5) ? 1 : -1));
	  	//muovi(imgdest, xstart, ystart, xinc, yinc, 0, this.stepmax);
	  }
  }
});

 function muovi(img, xstart, ystart, xinc, yinc, step, stepmax){
		$(img).setStyle({
					marginLeft: xstart+xinc+'px',
					marginTop: ystart+yinc+'px'
						});
		step++;
		//param = [img, xstart+xinc, ystart+yinc, xinc, yinc, step, stepmax];
		//if(step<stepmax) //this.muovi.setScope(this, param).delay(0.04);
		//muovi.delay(0.04, img, xstart+xinc, ystart+yinc, xinc, yinc, step, stepmax);
	}  
