interval = 5000;

$(document).ready(function() {		
	
	//Execute the slideShow
	slideShow();

});

function slideShow() {

	//Set the opacity of all images to 0
	$('#slider a').css({opacity: 0.0});
	
	//Get the first image and display it (set it to full opacity)
	$('#slider a:first').css({opacity: 1.0});
	
	//Set the caption background to semi-transparent
	$('#slider .caption').css({opacity: 0.7});

	//Resize the width of the caption according to the image width
	$('#slider .caption').css({width: $('#slider a').find('img').css('width')});
	
	//Get the caption of the first image from REL attribute and display it
	$('#slider .content').html($('#slider a: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
	theInterval = setInterval('gallery()',interval);
	
}

function hardnext() {
	clearInterval(theInterval);
	gallery();
	document.getElementById('pauseplay').innerHTML = '<a href="#" onclick="hardplay();">Play</a>';
}

function hardprev() {
	clearInterval(theInterval);
	gallery('prev');
	document.getElementById('pauseplay').innerHTML = '<a href="#" onclick="hardplay();">Play</a>';
}

function hardpause() {
	clearInterval(theInterval);
	document.getElementById('pauseplay').innerHTML = '<a href="#" onclick="hardplay();">Play</a>';
}

function hardplay() {
	gallery();
	theInterval = setInterval('gallery()',interval);
	document.getElementById('pauseplay').innerHTML = '<a href="#" onclick="hardpause();">Pause</a>';
}

function gallery(direction) {
	
	if(direction == null) direction = 'next';
	
	//if no IMGs have the show class, grab the first image
	var current = ($('#slider a.show')?  $('#slider a.show') : $('#slider a:first'));

	//Get next image, if it reached the end of the slideshow, rotate it back to the first image
	if(direction == 'next'){
		var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $('#slider a:first') :current.next()) : $('#slider a:first'));	
	}else{
		var next = ((current.prev().length) ? ((current.prev().hasClass('caption'))? $('#slider a:last') :current.prev()) : $('#slider a:last'));	
	}
	
	//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}, 500);

	//Hide the current image
	current.animate({opacity: 0.0}, 500)
	.removeClass('show');
	/* hid by josh to remove the crawl up effect on captions
	//Set the opacity to 0 and height to 1px
	$('#slider .caption').animate({opacity: 0.0}, { queue:false, duration:50 }).animate({height: '1px'}, { queue:true, duration:300 });	
	
	//Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
	$('#slider .caption').animate({opacity: 0.7},0 ).animate({height: '100px'},0 );
	*/
	//Display the content
	$('#slider .content').html(caption);
	
	
}