/**
 * @author Dale Morrell <dalemorrell@irisassociates.com>
 * @copyright 2008 Iris Associates
 * @package Image Rotator
 * @version 1.0
 */
 
 var rotr = {
	currentImage: 1,
	imageCount: 1,
	slideshowTimer: 10000,
	slideshow: null,

    // Initialize rotr
    init: function(arrImages, arrTopLabels, arrBtmLabels)
	{	
		// Set New Image Count
		imageCount = arrImages.length;
		
		rNum = Math.floor(Math.random()*imageCount)
		
		// Init First Image
		var featureImage = $('featureImage');
		featureImage.src = arrImages[0];
		
		// Init First Top Label
		featureLabelTop = $('topLabel');
		featureLabelTop.innerHTML = arrTopLabels[0];
		
		// Init First Bottom Label
		featureLabelBtm = $('btmLabel');
		featureLabelBtm.innerHTML = arrBtmLabels[0];
		
		// Set Current Image
		currentImage = 1;
		
		// Set Main Feature Background	
		$('mainFeature').setStyle({
			backgroundImage: 'url(' + arrImages[0] + ')'
		});
		
		// Init the Slideshow
		this.slideshow = setInterval("rotr.nextImage()", this.slideshowTimer);
		
		// Preload the Images
		var preloaded = new Array();
		function preload_images() {
    		for (var i = 0; i < imageCount.length; i++){
        		preloaded[i] = document.createElement('img');
        		preloaded[i].setAttribute('src',arrImages[i]);
    		};
		};
		preload_images;
	},
	
	nextImage: function()
	{
		var featureImage = $('featureImage');
		
		if (currentImage < imageCount) {
			$('mainFeature').setStyle({
				backgroundImage: 'url(' + arrImages[currentImage] + ')'
			});

			// Set New Current Image
			currentImage++;
			
			// Fade out the current image
			Element.fade(featureImage, {
				delay: 0,
				duration: 1,
				from: 1,
				to: 0		 
			});
			
			// Set the new values
			window.setTimeout(function()
			{
            	featureImage.src = arrImages[currentImage - 1];
				featureLabelTop.innerHTML = arrTopLabels[currentImage - 1];
				featureLabelBtm.innerHTML = arrBtmLabels[currentImage - 1];
            	window.clearTimeout();
        	}, 1000);			
			
			// Fade in the new image
			Element.appear(featureImage, {
				delay: 1,
				duration: 1,
				from: 0,
				to: 1
			});
		} else {
			// Set New Current Image
			currentImage = 1;
			
			// Fade out the current image
			Element.fade(featureImage, {
				duration: 0.5,
				from: 1,
				to: 0
			});
			
			// Set the new values
			window.setTimeout(function()
			{
            	featureImage.src = arrImages[currentImage - 1];
				featureLabelTop.innerHTML = arrTopLabels[currentImage - 1];
				featureLabelBtm.innerHTML = arrBtmLabels[currentImage - 1];
            	window.clearTimeout();
        	}, 1000);			
			
			// Fade in the new image
			Element.appear(featureImage, {
				delay: 1,
				duration: 0.5,
				from: 0,
				to: 1
			});			
		}
	}
	
 };