function Slideshow(slideshowElem)
{
	this.slideshowInterval = 'interval_' + slideshowElem;
	this.slideshowElem = slideshowElem;
	this.slideInterval = 3000;
	this.slideshowImages = new Array();
	this.useTransitions = true;
}

Slideshow.prototype.addImage = function (img)
{
	this.slideshowImages.push(img);	
}

Slideshow.prototype.create = function ()
{
	var imageElem = document.getElementById(this.slideshowElem);
	var imageArray = this.slideshowImages;
	var currentSlideIndex;
	var useTrans = this.useTransitions;
	
	if (imageElem.src == '')
	{
		imageElem.src = imageArray[0];
	}
	
	if (imageElem.src.indexOf(imageArray[0]) > 0)
	{
		currentSlideIndex = 1;
	}
	else
	{
		currentSlideIndex = 0;			
	}

	if (this.useTransitions)
	{
		imageElem.style.filter = 'progid:DXImageTransform.Microsoft.Fade(duration=1.00, Overlap=1.00)';
		if (this.slideInterval < 3000)
		{
			this.slideInterval = 3000;	
		}
	}

	this.slideshowInterval = window.setInterval(changeSlide, this.slideInterval);	

	function changeSlide()
	{
		if (currentSlideIndex < imageArray.length)
		{
			if (useTrans)
			{
				try
				{
					imageElem.filters[0].apply();
					imageElem.src = imageArray[currentSlideIndex];
					imageElem.filters[0].play();
				}
				catch(e)
				{
					imageElem.src = imageArray[currentSlideIndex];						
				}
			}
			else
			{
				imageElem.src = imageArray[currentSlideIndex];
			}
			currentSlideIndex++;
		}
		else
		{
			currentSlideIndex = 0;
			if (useTrans)
			{
				try
				{
					imageElem.filters[0].apply();
					imageElem.src = imageArray[currentSlideIndex];
					imageElem.filters[0].play();
				}
				catch(e)
				{
					imageElem.src = imageArray[currentSlideIndex];						
				}
			}
			else
			{
				imageElem.src = imageArray[currentSlideIndex];
			}			
			currentSlideIndex++;
		}
	}
}
