var Slideshow = function()
{
	this.index = null;
	this.init=function(container, effect)
	{
		this.container = document.getElementById(container);
		this.images = this.container.getElementsByTagName("img");
		switch(effect)
		{
			case "slide":
				break;
			case "fade":
				setTimeout(function(){slideshow.fade(); }, 1000);
				break;
			default:
				setTimeout(function(){slideshow.swap(); }, 1000);
				break;
		}
	};
	this.swap=function()
	{
		if(this.index==null) this.index=1;
		for(var i=0; i<this.images.length; i++)
			this.images[i].style.zIndex = 0;
			
		this.images[this.index].style.zIndex = "1";
		
		this.next();
		setTimeout(function(){ slideshow.swap(); }, 1000);
	};
	this.fade=function()
	{
		if(this.index==null) this.index=0;
		this.images[this.index].style.zIndex = 2;
		this.images[this.next()].style.zIndex = 1;
		this.setOpacity(this.images[this.next()], 1);
		setTimeout(function() { slideshow.fadeout(slideshow.images[slideshow.index]); }, 100);		
		
	};
	this.fadeout=function(img)
	{
		if(this.opacity==null) this.opacity=1;
		this.opacity -= 0.1;
		this.setOpacity(img, this.opacity);
		
		if(this.opacity > 0) setTimeout(function() { slideshow.fadeout(slideshow.images[slideshow.index]); }, 100);
		else {
			this.opacity=1;
			this.index = this.next();
			this.fade();
		}		
	};
	this.resetforfade=function()
	{
		for(var i=0; i<this.images.length; i++)
		{
			this.setOpacity(this.images[i], 1);	
		}
	};
	this.next = function()
	{
		if(this.index<(this.images.length-1)) return (this.index+1);
		else return 0;
	};
	this.setOpacity=function(element, value) {
		value = Math.round(value*100)/100;
		element.style.opacity = value;
		element.style.filter = "alpha(opacity=" + value*100 + ")";
	};
};
var slideshow = new Slideshow();


