var aSlideDuration = 1500;
var aTimeBetweenAutoSlides = 8000; // <- Can be set to false or number of seconds
var aSlideWidth = 920;
var aSlideRight = true;
var aSlideLeft = false;
var aPeriodicalFunctionVar;

window.addEvent('domready', function() 
{
	// Loop through each slide setting up the correct starting position
	aSlideCount = 0;
	aSetOffSet = 0;
	$$('#slideshow div.slide').each(function(aSlide){
		if(aSlideRight == true) aSlide.setStyle('right', aSetOffSet);
		if(aSlideLeft == true) aSlide.setStyle('left', aSetOffSet);
		
		aSlideCount++;
		aSetOffSet = aSlideWidth;
		aSetOffSet = aSetOffSet * aSlideCount;
	});
	
	// Set up periodical to automatically slide
	if(aTimeBetweenAutoSlides != false) aPeriodicalFunctionVar = doSlide.periodical(aTimeBetweenAutoSlides);
	
	// Set up on click event 
	$$('#slideshow div.slide').addEvent('click', doSlide);
	
	// Stops the slide if user clicks on link within the slider
	$$('#slideshow div.slide a').addEvent('click', function(e){
		e.stop();
		window.location = this.get('href');
	});
});

function doSlide()
{
	// Reset the periodical
	if(aTimeBetweenAutoSlides != false)
	{
		clearInterval(aPeriodicalFunctionVar);
		aPeriodicalFunctionVar = doSlide.periodical(aTimeBetweenAutoSlides);
	}
	
	aSlideDivs = $$('#slideshow div.slide');
	
	aTotalWidth = (aSlideDivs.length - 1) * aSlideWidth;
	
	// Removes the onClick event when sliding
	aSlideDivs.each(function(div, index){
		div.removeEvent('click', doSlide);
	});
	
	// Animate each slide
	aSlideDivs.each(function(aDiv, aIndex){
		var aMorphSlide = new Fx.Morph(aDiv,{
	        duration: aSlideDuration,
	        onComplete: function(){
	        	if(aIndex == 0)
	        	{
	            	aSlideContent = aDiv.get('html');
	            	aDiv.destroy();
	            	
	            	var aMoveSlide = new Element('.slide');
	            	aMoveSlide.set('html', aSlideContent);
	            	if(aSlideRight == true) aMoveSlide.setStyle('right', aTotalWidth + 'px');
	            	if(aSlideLeft == true) aMoveSlide.setStyle('left', aTotalWidth + 'px');
	            	aMoveSlide.inject('slideshow', 'bottom');
	            	
	            	$$('#slideshow div.slide').addEvent('click', doSlide);
	            }
	        }
	    });
		if(aSlideRight == true) aMorphSlide.start({'right': [aDiv.getStyle('right').replace('px', '') - aSlideWidth]});
		if(aSlideLeft == true) aMorphSlide.start({'left': [aDiv.getStyle('left').replace('px', '') - aSlideWidth]});
	});
}
