$(document).ready(function() {		
	//Execute the slideShow
	slideShow(7000);
});

function slideShow(speed) {
	//append a LI item to the UL list for displaying caption
	$('ul.slideshow').append('<li id="slideshow-caption" class="caption"><div class="slideshow-caption-container"><h1></h1><p></p></div></li>');

	//Set the opacity of all images to 0
	$('ul.slideshow li.coper').css({opacity: 0.0});
	
	//Get the first image and display it (set it to full opacity)
	$('ul.slideshow li.coper:first').css({opacity: 1.0});
	
	//Get the caption of the first image from REL attribute and display it
	$('#slideshow-caption h1').html($('ul.slideshow a:first').find('img').attr('title'));
	$('#slideshow-caption p').html($('ul.slideshow a:first').find('img').attr('alt'));
		
	//Display the caption
	$('#slideshow-caption').css({opacity: 0.8});
	
	//Call the gallery function to run the slideshow	
	var timer = setInterval('gallery("n")', speed);
	
	//pause the slideshow on mouse over
	$('ul.slideshow').hover(
		function () {
			clearInterval(timer);
		}, 	
		function () {
			timer = setInterval('gallery("n")',speed);
		}
	);
	$('#next').hover(
		function () {
			clearInterval(timer);
		}, 
		function () {
			timer = setInterval('gallery("n")',speed);
		}
	);
	$('#prev').hover(
		function () {
			clearInterval(timer);
		}, 
		function () {
			timer = setInterval('gallery("n")',speed);
		}
	);
	
	$('#next').click(function () { 
		clearInterval(timer);
		timer = setInterval('gallery("n")',speed);
		gallery("n");
    });
	$('#prev').click(function () { 
		clearInterval(timer);
		timer = setInterval('gallery("n")',speed);
		gallery("p");
    });
}

function gallery(verso) {
	
	if( verso=="n" ) {
	//if no IMGs have the show class, grab the first image
	var current = ($('ul.slideshow li.coper.show')?  $('ul.slideshow li.coper.show') : $('#ul.slideshow li.coper:first'));
	//Get next image, if it reached the end of the slideshow, rotate it back to the first image	
    var next = ((current.next().length) ? ((current.next().attr('id') == 'slideshow-caption')? $('ul.slideshow li.coper:first') :current.next()) : $('ul.slideshow li.coper:first'));
	} else if( verso=="p" ) {
	var current = ($('ul.slideshow li.coper.show')?  $('ul.slideshow li.coper.show') : $('#ul.slideshow li.coper:last'));
    var next = ((current.prev().length) ? ((current.prev().attr('id') == 'slideshow-caption')? $('ul.slideshow li.coper:last') :current.prev()) : $('ul.slideshow li.coper:last'));
	} else {
	var current = ($('ul.slideshow li.coper.show')?  $('ul.slideshow li.coper.show') : $('#ul.slideshow li.coper:first'));
    var next = ((current.next().length) ? ((current.next().attr('id') == 'slideshow-caption')? $('ul.slideshow li.coper:first') :current.next()) : $('ul.slideshow li.coper:first'));
	}

	//Get next image caption
	var title = next.find('img').attr('title');	
	var desc = next.find('img').attr('alt');	

	//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}, 800);
	//Hide the caption first, and then set and display the caption
  $('#slideshow-caption').animate({
    opacity: 0,
	}, 200, function() {
    $('#slideshow-caption h1').html(title);
	$('#slideshow-caption p').html(desc);
  });
	$('#slideshow-caption').animate({opacity: 0.8}, 200)
	//Hide the current image
	current.animate({opacity: 0.0}, 800).removeClass('show');
}
