var PI = PI ? PI : {}; // Let's be namespace friendly

PI.SLIDES = function () {
	/********** Private Variables **************************************************/
	var containerId;
	var slideImages;
	var interval;
	var currentSlide;
	var pauseSlide;
	/********** Private Functions **************************************************/
	var playSlide = function (){
		gotoSlide(currentSlide);
		intervalId = setInterval( 
			function(){
				if (!pauseSlide){	
					var index = 0;
					if (currentSlide < slideImages.length - 1)
						index = parseInt(currentSlide) + 1;
					gotoSlide(index);
				}
			}
		, interval);
	};

	var gotoSlide = function(index){
		// swap image
		$("#"+containerId+" .slide-background")
			.html("<img src='"+slideImages[index]+"' />");
		$("#"+containerId+" .slide-foreground")
			.show()
			.html("<img src='"+slideImages[currentSlide]+"' />")
			.fadeOut("normal");
		
		// highlight buttons
		$("#"+containerId+"-controls .slide-control").removeClass("slide-control-on");
		$("#"+containerId+"-controls .slide-control:eq("+index+")").addClass("slide-control-on");

		currentSlide = index;
	};

	
	/********** Public Variables **************************************************/




	/********** Public Functions **************************************************/
	return {
		gotoSlide:function(index){
			gotoSlide(index);
			pauseSlide = true;
		},
		init: function(myContainerId,mySlideImages, myInterval, autoScroll){
			containerId = myContainerId;
			slideImages = mySlideImages;
			interval = myInterval;
			currentSlide = 0;
			if(autoScroll)
				pauseSlide = false;
			else
				pauseSlide = true;
			// force IE to cache loaded iamges
			$.each(slideImages, function(i){
				$("#"+containerId+" .slide-cache").append("<img src='"+slideImages[i]+"' />");
			});
			playSlide();
		}
	}
};

