// JavaScript Document

function Slideshow()
{
	this.targetDiv = null;
	this.foto = new Array();
	this.alpha = 0;
	this.index = 0;
	this.istanza = null;
	this.x;
	this.fi;
	this.fo;

	if (Slideshow.arguments.length <= 1)
	{
		alert("E' necessario specificare almeno 2 foto");
		return;
	}
	
	for (var i = 0; i < Slideshow.arguments.length; i++)
		this.foto.push(Slideshow.arguments[i]);
	
	this.startSlide = function(ms, istanza)
	{
		this.istanza = istanza;
		
		try
		{
			document.getElementById(this.targetDiv).innerHTML = '<img id="foto_' + this.index + '" src="' + this.foto[this.index] + '" />';
			this.x = setInterval(this.istanza + ".showPhoto();", parseInt(ms));
		}
		catch (e)
		{
			alert("E' necessario specificare un div target");
		}
	}
	
	this.setTarget = function(target)
	{
		this.targetDiv = target;
	}
	
	this.showPhoto = function()
	{
		if (this.alpha <= 0)
			this.fi = setInterval(this.istanza + ".fadeIn();", 50);
		else if (this.alpha >= 100)
			this.fo = setInterval(this.istanza + ".fadeOut();", 50);
	}
	
	this.fadeOut = function()
	{
		if (this.alpha <= 0)
		{
			clearInterval(this.fo);
			
			if (this.index == this.foto.length - 1) 
				this.index = 0;
			else this.index++;
			
			document.getElementById(this.targetDiv).innerHTML = '<img id="foto_' + this.index + '" src="' + this.foto[this.index] + '" />';
			return;
		}
		
		this.alpha -= 5;
		this.setOpacity(this.targetDiv, this.alpha);
	}
	
	this.fadeIn = function()
	{
		if (this.alpha >= 100)
		{
			clearInterval(this.fi);
			return;
		}
		
		this.alpha += 5;
		this.setOpacity(this.targetDiv, this.alpha);
	}
	
	this.setOpacity = function(div, alpha)
	{
		var myDiv = document.getElementById(div);
		
		if (document.all)
			myDiv.style.filter = "alpha(opacity=" + alpha + ")";
		else
			myDiv.style.opacity = alpha / 100;
	}
}