var SlideShow = {
	_images: null,
	_container: null,
	_width : 0, 
	_height : 0,
	_delay : 0,
	_fadeDelay : 0,
	_imageObj : null,
	_currIndex : 0,
	_fadeOut : null,
	_fadeIn : null,
	_opacity : 0,
	
	initialize : function(id, width, height, delay, fadeDelay) {
		SlideShow._images = new Array();
		SlideShow._container = document.getElementById(id);
		SlideShow._width = width;
		SlideShow._height = height;
		SlideShow._delay = delay;
		SlideShow._fadeDelay = fadeDelay;
		
		if ((SlideShow._container != undefined) && (SlideShow._container != null))
		{
			SlideShow._imageObj = document.createElement("img");
			SlideShow._imageObj.width = SlideShow._width;
			SlideShow._imageObj.height = SlideShow._height;
			SlideShow._imageObj.border = 0;
			SlideShow._imageObj.style.visibility = "hidden";
			SlideShow._container.appendChild(SlideShow._imageObj);
		}
	},
	
	addImage : function(imageUrl) {
		SlideShow._images[SlideShow._images.length] = imageUrl;
	},
	
	start : function() {
		SlideShow._currIndex = 0;
		SlideShow._imageObj.src = SlideShow._images[SlideShow._currIndex];
		SlideShow._imageObj.style.visibility = "visible";
		setTimeout("SlideShow.rotateImage();", SlideShow._delay);
	},
	
	rotateImage : function() {
		SlideShow._opacity = 100;
		SlideShow._fadeOut = setInterval("SlideShow.fadeOut();", SlideShow._fadeDelay);
	},
	
	fadeOut : function() {
		if (SlideShow._opacity > 0)
		{
			SlideShow._opacity -= 10;
			SlideShow.changeOpacity(SlideShow._opacity);
		}
		else
		{
			clearInterval(SlideShow._fadeOut);
			if (++SlideShow._currIndex > (SlideShow._images.length - 1))
				SlideShow._currIndex = 0;
			SlideShow._imageObj.src = SlideShow._images[SlideShow._currIndex];
			SlideShow._fadeIn = setInterval("SlideShow.fadeIn();", SlideShow._fadeDelay)
		}
	},
	
	fadeIn : function() {
		if (SlideShow._opacity < 100)
		{
			SlideShow._opacity += 10;
			SlideShow.changeOpacity(SlideShow._opacity);
		}
		else
		{
			clearInterval(SlideShow._fadeIn);
			setTimeout("SlideShow.rotateImage();", SlideShow._delay);
		}
	},
	
	changeOpacity : function(opacity) { 
		SlideShow._imageObj.style.opacity = (opacity / 100); 
		SlideShow._imageObj.style.MozOpacity = (opacity / 100); 
		SlideShow._imageObj.style.KhtmlOpacity = (opacity / 100); 
		SlideShow._imageObj.style.filter = "alpha(opacity=" + opacity.toString() + ")"; 
	}	
};

