var slideTimer;
jQuery(document).ready(function() {		
	
	//Execute the slideShow
	slideShow();
	jQuery('#gallery a:first').addClass('show');
	play();
	jQuery('#lnkNext').click(function(){
		gallery(1);
		pause();
		play();
	});
	jQuery('#lnkPrev').click(function(){
		gallery(0);
		pause();
		play();
	});
	jQuery('#lnkPlay').click(function(){
		play();
	});
	
	jQuery('#lnkPause').click(function(){
		pause();
	});

});

function slideShow() {

	//Set the opacity of all images to 0
	jQuery('#gallery a').css({opacity: 0.0});
	
	//Get the first image and display it (set it to full opacity)
	jQuery('#gallery a:first').css({opacity: 1.0});
	
	//Set the caption background to semi-transparent
	jQuery('#gallery .caption').css({opacity: 1.0});

	//Resize the width of the caption according to the image width
	jQuery('#gallery .caption').css({width: jQuery('#gallery a').find('img').css('width')});
	
	//Get the caption of the first image from REL attribute and display it
	jQuery('#gallery .content').html(jQuery('#gallery a:first').find('img').attr('rel')).animate({opacity: 0.7}, 400);
	
	//Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
	
	
}

function play()
{
	slideTimer= setInterval('gallery()',5000);
}

function pause()
{
	clearInterval(slideTimer);
}


function gallery(dir) {
	
	//if no IMGs have the show class, grab the first image
	var current = (jQuery('#gallery a.show')?  jQuery('#gallery a.show:first') : jQuery('#gallery a:first'));
	console.log('current');
	console.log(current);
	var next;
	//Get next image, if it reached the end of the slideshow, rotate it back to the first image
	if((dir==undefined)||(dir==1))
	{
		next = ((current.next().length) ? ((current.next().hasClass('caption'))? jQuery('#gallery a:first') :current.next()) : jQuery('#gallery a:first'));	
	}
	else
	{
		next = ((current.prev().length) ? ((current.prev().hasClass('caption'))? jQuery('#gallery a:first') :current.prev()) : jQuery('#gallery>a:last'));	
	}
	console.log('next');
	console.log(next);	
	//Get next image caption
	var caption = next.find('img').attr('rel');	
	
	//Set the fade in effect for the next image, show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
	
	//Set the opacity to 0 and height to 1px
	//jQuery('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });	
	jQuery('#gallery .caption').fadeOut(300);	
	
	
	//Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
	//$('#gallery .caption').animate({opacity: 1.0},100 ).animate({height: '70px'},500 );
	jQuery('#gallery .caption').fadeIn(300);	
	
	//Display the content
	jQuery('#gallery .content').html(caption);
	
	
}
