$(document).ready(function() {		
	//Execute the slideShow
	slideShow();
});

function slideShow() {
	//Set the opacity of all images to 0
	$('#gallery ul li').css({opacity: 0.0});
	//Get the first image and display it (set it to full opacity)
	$('#gallery ul li:first').css({opacity: 1.0});
	//Set the caption background to semi-transparent
	$('#gallery .caption').css({opacity: 0.4})
	//Resize the width of the caption according to the image width
	$('#gallery .caption').css({width: $('#gallery ul li').find('img').css('width')});
	//Get the caption of the first image from REL attribute and display it
	$('#gallery .content').html($('#gallery ul li:first').find('img').attr('rel'))
	.animate({opacity: 1.0}, 1000);
	//Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('gallery()',6000);
}

function gallery() {
	//if no IMGs have the show class, grab the first image
	var current = ($('#gallery ul li.show')?  $('#gallery ul li.show') : $('#gallery ul li: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().hasClass('caption'))? $('#gallery ul li:first') :current.next()) : $('#gallery ul li:first'));
	//Get next image caption
	var caption = next.find('img').attr('rel');	

	//Set the opacity to 0
	$('#gallery .caption').animate({opacity: 0.2}, { queue:true, duration:700 });
	$('#gallery .content').animate({opacity: 0.0}, { queue:true, duration:700 });
    current.animate({opacity: 0.0}, 2000).removeClass('show');

    var wait = setInterval(function()
	{
		if(!$('#gallery .caption').is(":animated") )
		{
			clearInterval(wait);
            $('#gallery .content').html(caption);
	        $('#gallery .caption').animate({opacity: 0.4}, { queue:false, duration:1000 });	
	        $('#gallery .content').animate({opacity: 1.0}, { queue:false, duration:1000 });
		}
	}, 200);
	//Set the fade in effect for the next image, show class has higher z-index
	
	next.addClass('show').animate({opacity: 1.0}, 2000);	


}


