function SlideShow(container, delay, frameDelay, step, repeatFirstImage)
{
	this.container = container;
	this.current = 0;
	this.pause = false;
	this.imgs = new Array();
	this.delay = delay;
	this.repeatFirstImage = repeatFirstImage;
	this.frameDelay = frameDelay;
	this.step = step/100;
	this.init();
}

SlideShow.prototype =
{
	init: function ()
	{
		if(!document.getElementById || !document.createElement)return;
		this.imgs = document.getElementById(this.container).getElementsByTagName("img");
		for(i=1;i<this.imgs.length;i++) this.imgs[i].xOpacity = 0;
		this.imgs[0].style.display = "block";
		this.imgs[0].xOpacity = .99;
		var self = this;
		setTimeout(function(){self.xfade()},this.delay);
	},

	xfade: function ()
	{
		cOpacity = this.imgs[this.current].xOpacity;
		nIndex = this.imgs[this.current+1]?this.current+1:0;
		if (!this.repeatFirstImage && nIndex == 0) { nIndex=1;	}
		nOpacity = this.imgs[nIndex].xOpacity;
		
		cOpacity-=this.step; 
		nOpacity+=this.step;
		
		this.imgs[nIndex].style.display = "block";
		this.imgs[this.current].xOpacity = cOpacity;
		this.imgs[nIndex].xOpacity = nOpacity;
		
		this.setOpacity(this.imgs[this.current]); 
		this.setOpacity(this.imgs[nIndex]);
		var self = this;
		if(cOpacity<=0) {
			this.imgs[this.current].style.display = "none";
			this.current = nIndex;
			
			setTimeout(function(){self.xfade()},this.delay);
		} else {
			
			setTimeout(function(){self.xfade()},this.frameDelay);
		}
	},

	setOpacity: function (obj)
	{
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
}