function Slideshow(id, width, height, imglist)
{
	this.id = id;
	this.imgframe = document.getElementById(id); 
	this.image = new Image(width,height);
	this.image.id = id+"img";
	this.image.style.display="block";
	this.image.style.margin="0px";
	this.image.style.padding="0px";
	
	this.place = null;
	this.done = false;
	
	this.imgframe.appendChild(this.image);
	
	this.width = width;
	this.height = height;
	
	this.images = new Array();
	
	for(i in imglist)
	{
		this.images[i] = new Image(width, height);
		this.images[i].src = imglist[i];
	}
	
	this.slidems = 5000;
	this.fadems = 1000;
	
	this.slidetimer = null;
	this.fadegranularity = 5;
	
	this.slideHandler = function (callback)
		{
			this.nextSlide();
		
			if(this.place!=null)
			{	
				document.getElementById(this.image.id).src=this.images[this.place].src;
				this.FadeIn(callback,1);
				
				this.slidetimer=setTimeout(callback+".slideHandler('"+callback+"')", this.slidems);
			}
			else
			{
				this.setOpacity(document.getElementById(this.image.id),1);
				this.slidetimer=setTimeout(callback+".slideHandler('"+callback+"')", 1000);
			}
		};

	this.FadeIn = function (callback ,op)
		{
			if(op<99)
			{
				this.setOpacity(document.getElementById(this.image.id), op);
				op+=this.fadegranularity;
				slideshow.slidetimer=setTimeout(callback+".FadeIn('"+callback+"',"+op+")", this.fadems*(this.fadegranularity/100));
			}
			else
			{
				document.getElementById(this.id).style.backgroundImage="url("+this.images[this.place].src+")";
				document.getElementById(this.id).style.backgroundPosition="left top";
				document.getElementById(this.id).style.backgroundRepeat="no-repeat";
				this.setOpacity(document.getElementById(this.image.id),1);
			}
		};

	this.nextSlide = function ()
		{
			if(this.place==null)
				newplace=0;
			else
				newplace = (this.place+1)%this.images.length;
			
			if(this.images[newplace].complete)
				this.place=newplace;
		};
		
	this.setOpacity = function (obj, opacity)
		{
			opacity = (opacity >= 100)?99.999:opacity;
			// IE/Win
			obj.style.filter = "alpha(opacity:"+opacity+")";
			// Safari<1.2, Konqueror
			obj.style.KHTMLOpacity = opacity/100;
			// Older Mozilla and Firefox
			obj.style.MozOpacity = opacity/100;
			// Safari 1.2, newer Firefox and Mozilla, CSS3
			obj.style.opacity = opacity/100;

			this.opacity = opacity;
		};
	
	this.opacity = 1;
	this.setOpacity(this.image,this.opacity);
	
	return this;
}