// JavaScript Document
<!--
// slideshow di immagini il cui nome finisce con un numero 0...x
// Nuovo oggetto che implementa l'animazione
// name il nome dell'immagine (attributo name) e nome del file senza numero
// num il numero di foto da visualizzare
// to timeout di visione della singola foto
// fade tempo di passaggio da una immagine all'altra
// dir direttorio dove sono conservate le foto

function animate(name,num,to,fade,dir) {
  this.num = num;
  this.frame = 0;                // contatore per animazione
  this.name = name;              // nome dell'immagine da animare
  this.dir = dir;                // directory delle foto
  this.opacity = 100;
  this.speed = 100/(fade/100); 
  this.isGo = new Boolean(true); // gestione interruzione animazione
  this.to = to;                  // timeout di animazione
  this.go = fadeOut;
  // inizia l'animazione
  if (document.images[this.name]) {
    document.images[this.name].src = dir + "/" + this.name + this.frame + ".jpg";
	  this.next = document.images[this.name].parentNode;
    this.frame = (this.frame + 1)%this.num;
    this.url = this.dir + "/" + this.name + this.frame + ".jpg";
    this.next.style.backgroundImage = "url(" + this.url + ")";
    this.next.style.backgroundRepeat = "no-repeat";
    setTimeout(this.name+".go();", this.to); // Display next frame later.
  }
}

function fadeOut() {
    if (this.isGo == true) {
		   obj = document.images[this.name];
		   if (this.opacity >= 0) {
		   	 setOpacity(obj, this.opacity);
		   	 this.opacity -= this.speed;
		   	 window.setTimeout(this.name+".go()", 100);
		   } else {
         document.images[this.name].src = this.url;
         this.frame = (this.frame + 1)%this.num;
         this.url = this.dir + "/" + this.name + this.frame + ".jpg";
         this.next.style.backgroundImage = "url(" + this.url + ")";
         this.opacity = 100;
		   	 setOpacity(obj, this.opacity);
         window.setTimeout(this.name+".go();", this.to); // Display next frame later.
       }
	  } else {
      window.setTimeout(this.name+".go();", this.to); // Display next frame later.
	  }
}

function stopAnimation(name) {
   eval(name+".isGo = false;");
}

function restartAnimation(name) {
   eval(name+".isGo = true;");
}

-->
