$(document).ready(function(){
		
	/* PARAMETERS */
	var slideDuration = 6000;
	var transitionTime = 500;

	var $slide = $('.slide');
	var totalSlides  = $slide.length;

	function goFwd() {
		var currSlide = $slide.index($('.slide:visible'));
		$('.slide:visible').fadeOut(transitionTime, function() {
			if (currSlide == totalSlides - 1) {
				var $nextSlide = $('.slide:eq(0)');
			}
			else {
				var $nextSlide = $slide.eq(currSlide+1);
			}
			$nextSlide.fadeIn(transitionTime, function(){
				$nextSlide.find('p').slideDown(500);
			}).find('p').hide();
			var newHeight = $nextSlide.height();
			var newWidth = $nextSlide.find('img').width();
			$('#slideshow').animate({height: newHeight+'px', width: newWidth+'px'}, transitionTime);
		});
	};
	
	function goBack() {
		clearInterval(rotateInterval);
		var currSlide = $slide.index($('.slide:visible'));
		$('.slide:visible').fadeOut(transitionTime, function() {
			if (currSlide == 0) {
				var $prevSlide = $slide.eq(totalSlides - 1);
			}
			else {
				var $prevSlide = $slide.eq(currSlide - 1);
			}
			$prevSlide.fadeIn(transitionTime, function(){
				$prevSlide.find('p').slideDown(500);
			}).find('p').hide();
			var newHeight = $prevSlide.height();
			var newWidth = $prevSlide.find('img').width();
			$('#slideshow').animate({height: newHeight+'px', width: newWidth+'px'}, transitionTime);
		});
		rotateInterval = setInterval(goFwd, slideDuration)
	}
							
	function jumpBack() {
		if ( !$slide.is(':animated') ) {
			goBack();
		}
	};
	
	function jumpNext() {
		if ( !$slide.is(':animated') ) {
			clearInterval(rotateInterval);
			goFwd();
			rotateInterval = setInterval(goFwd, slideDuration)
		}	
	};

	$('a#goback').click(function(){
		if ( !$(this).hasClass('deactivated') ) {
			goBack();
		}
		return false;
	});
	
	$('a#gonext').click(function(){
		if ( !$(this).hasClass('deactivated') ) {
			jumpNext();
		}
		return false;
	});
	
	$('a#pause').toggle(function(){
		clearInterval(rotateInterval);
		$(this).css({'font-size':'1.8em'}).text('>').attr('title','Play');
		$('#gonext, #goback').addClass('deactivated');
		return false;
	}, function(){
		rotateInterval = setInterval(goFwd, slideDuration);
		$(this).css({'font-size':''}).text('| |').attr('title', 'Pause');
		$('#gonext, #goback').removeClass('deactivated');
		return false;
	});
	
	/* INITIAL STATES */
	
	// sets slideshow into motion initially
	rotateInterval = setInterval(goFwd, slideDuration);
	
	// sets initial slideshow height - DOESNT WORK IN CHROME/SAFARI - set manually with CSS
	/*
	var startingHeight = $slide.eq(0).find('img').height();
	var startingWidth = $slide.eq(0).find('img').width();
	$('#slideshow').css({height: startingHeight+'px', width: startingWidth+'px'});
	*/
});
