// JavaScript Document
// Duration slide is shown
var duration = 5000;
var timeout = 5000;

// Width of slide images
var slideWidth = 553;
var slideHeight = 300;

// Internal variables
var currentSlide = 0;
var nextSlide = 0;
var previousSlide = 0;
var working = false;
var paused = false;

// Tranition to the next slide
function goForward() {
	// Make sure previous transition is complete before proceeding
	if (!working) {
		working = true;
		
		var slides = $$('div.slideContainer');
	
		// Slideshow has just started
		if (currentSlide < 1) currentSlide = 1;
	
		// Set next slide, start over if we are at the end
		if (currentSlide < slides.length) nextSlide = currentSlide+1;
		else nextSlide = 1;

		// Transition to next slide
		
		// Fade transition		
		$('slide'+currentSlide).setStyle({left:'0px',
									 top:'0px',
									 display:'inline',
									 zIndex:'2'});
	
		$('slide'+nextSlide).setStyle({left:'0px',
									  top:'0px',
									  display:'inline',
									  zIndex:'1'});
	
		new Effect.Appear('slide'+nextSlide);
	
		new Effect.Fade('slide'+currentSlide, {
						afterFinish: function(){
							working = false;} });
		

		currentSlide = nextSlide;
		clearTimeout(duration);
		duration = setTimeout('goForward()',timeout);
		$('playButton').hide();
		$('pauseButton').show();
	}
}

// Transition to the previous slide
function goBack() {
	// Make sure previous transition is complete before proceeding
	if (!working) {
		working = true;	
		
		var slides = $$('div.slideContainer');
	
		// Slideshow has just started
		if (currentSlide < 1) currentSlide = 1;
	
		if (currentSlide == 1) {
			previousSlide = slides.length;
		} else previousSlide = currentSlide-1;

		
			// Fade transition		
			$('slide'+currentSlide).setStyle({left:'0px',
											 top:'0px',
											 zIndex:'2'});
		
			$('slide'+previousSlide).setStyle({left:'0px',
											  top:'0px',
											  zIndex:'1'});
		
			new Effect.Fade('slide'+currentSlide);
			
			new Effect.Appear('slide'+previousSlide, {
							  afterFinish: function(){
								  working = false;} });
		
		
	
		currentSlide = previousSlide;
		clearTimeout(duration);
		duration = setTimeout('goForward()',timeout);
		$('playButton').hide();
		$('pauseButton').show();
	}
}

// Pause slideshow
function pause() {
	clearTimeout(duration);
	paused = true;
	$('pauseButton').hide();
	$('playButton').show();
}

// Start/Resume slideshow
function play() {
	if (!$('slide1').visible() && !paused) Effect.Appear('slide1');
	duration = setTimeout('goForward()',timeout);
	$('playButton').hide();
	$('pauseButton').show();
}