// 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;

	}

}
