/* -------------------------------------------------- */
/* SOURCE CODE                                        */
/* -------------------------------------------------- */

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"><p></p></div></li>');

	//Set the opacity of all images to 0
	$('ul.slideshow li').css({opacity: 0.0});

	//Get the first image and display it (set it to full opacity)
	$('ul.slideshow li:first').css({opacity: 1.0});

	//Get the caption of the first image from REL attribute and display it
	$('#slideshow-caption p').html($('ul.slideshow a:first').find('img').attr('alt'));

	//Display the caption
	$('#slideshow-caption').css({opacity: 0.7, bottom:0});

	//Call the gallery function to run the slideshow
	var timer = setInterval('gallery(0)',speed);

	//pause the slideshow on mouse over
	$('ul.slideshow,#btn-prev,#btn-next').hover(
		function () {
			clearInterval(timer);
		}, 
		function () {
			timer = setInterval('gallery(0)',speed);
		}
	);
}

function gallery(prev) {
	//if no IMGs have the show class, grab the first image
	var current = $('ul.slideshow li.show').length ? $('ul.slideshow li.show') : $('ul.slideshow li:first');

	//Get next image, if it reached the end of the slideshow, rotate it back to the first image
	if (prev)
	{
		var next = ((current.prev().length) ? ((current.prev().attr('id') == 'slideshow-caption') ? $('ul.slideshow li:last') : current.prev()) : $('ul.slideshow li.back'));
	}
	else
	{
		var next = ((current.next().length) ? ((current.next().attr('id') == 'slideshow-caption') ? $('ul.slideshow li:first') : current.next()) : $('ul.slideshow li:first'));
	}

	//Get next image caption
	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}, 1000);

	$('#slideshow-caption p').html(desc);

/*
	//Hide the caption first, and then set and display the caption
	$('#slideshow-caption').animate({bottom:-70}, 300, function () {
		//Display the content
		$('#slideshow-caption p').html(desc);
		$('#slideshow-caption').animate({bottom:0}, 500);
	});
*/

	//Hide the current image
	current.animate({opacity: 0.0}, 1000).removeClass('show');
}
