if (!INSITU) var INSITU = {};

INSITU.SlideShow	= function() {
	
	// Config
	var interval 		= 7000; 						// speed in milliseconds 
	var thumbClassName	= 'insitu-slideshow-thumb';		// class name of thumbnail images
	var slideshowImgId	= 'insitu-slideshow-featured';	// ID of slideshow big image
	
	var featured;
	var imgs	= [];
	var timer;
	
	var pub	= {
		
		init: function() {
			featured		= document.getElementById(slideshowImgId);
			var thumbImgs	= YAHOO.util.Dom.getElementsByClassName(thumbClassName, 'img');
			if (!thumbImgs) return;
			
			var i, l;
			
			for (i=0, l=thumbImgs.length; i<l; i++) {
				imgs.push(
					{
						src: thumbImgs[i].getAttribute('src').replace('thumb', 'image'),
						selected: false
					}
				);
			}
			setInterval('INSITU.SlideShow.next()', interval);
		},
		
		next: function() {
			showNextImage();
		}
	}
	
	var showNextImage	 = function() {
		var i, l, nextImg;

		
		for (i=0, l=imgs.length; i<l; i++) {
			
			if (imgs[i].selected == true) {
				imgs[i].selected = false;
				
				if (imgs[i+1]) {
					nextImg	= i+1;
				}else{
					nextImg	= 0;
				}
				
				var fadeOut = new YAHOO.util.Anim(featured, { opacity: { from: 1, to: 0 } }, 1, YAHOO.util.Easing.easeOut);
				fadeOut.onComplete.subscribe(function() {
		
						var fadeIn = new YAHOO.util.Anim(featured, { opacity: { from: 0, to: 1 } }, 1, YAHOO.util.Easing.easeIn);
						imgs[nextImg].selected	= true;
						featured.setAttribute('src', imgs[nextImg].src);
						YAHOO.util.Event.addListener(featured, 'load', function() {fadeIn.animate() });
					}
				);
				
				fadeOut.animate(); 
							
				return;
			}
			
		}
		
		imgs[i-1].selected = true;
		showNextImage();
	}
	
	return pub;
}();

YAHOO.util.Event.addListener(window, 'load', INSITU.SlideShow.init);