function Slideshow(varName, durationMs, fadeDurationMs, imageElementId)
{
	this.isIE = (window.navigator.appName.toLowerCase().indexOf("netscape") < 0);
	this.varName = varName;
	this.Duration = durationMs;
	this.FadeDuration = fadeDurationMs;
	this.imageElementId = imageElementId;
	this.slides = new Array();
	
	for(var i = 4; i != arguments.length; ++i)
	{
		this.slides[i - 4] = new Image();
		this.slides[i - 4].src = arguments[i];
	}
	
	this.curSlide = 0;
	this.running = false;
}

Slideshow.prototype.Play = function()
{
	this.running = true;
	clearTimeout(this.timeout);
	this.timeout = setTimeout(this.varName + ".Fade(1)", this.Duration);
}

Slideshow.prototype.Stop = function()
{
	this.running = false;
	clearTimeout(this.timeout);
}

Slideshow.prototype.IncrementSlide = function(inc)
{
	this.curSlide += inc;
	
	if(this.curSlide >= this.slides.length)
		this.curSlide = 0;
	else if(this.curSlide < 0)
		this.curSlide = this.slides.length - 1;
}

Slideshow.prototype.Fade = function(inc)
{
	var Img = document.getElementById(this.imageElementId);
	
	this.IncrementSlide(inc);
	
	if(this.isIE)
	{
		Img.style.filter = "blendTrans(duration=" + (this.FadeDuration * 0.001) + ")";
		Img.filters.blendTrans.apply();
		Img.setAttribute("src", this.slides[this.curSlide].src);
		Img.filters.blendTrans.play();
	}
	else
		Img.setAttribute("src", this.slides[this.curSlide].src);
	
	if(this.running)
	{
		clearTimeout(this.timeout);
		this.timeout = setTimeout(this.varName + ".Fade(1)", this.Duration + this.FadeDuration);
	}
}