jQuery(document).ready(function($) {
	//Set Default State of each portfolio piece
	$(".key-navi").show();
	$(".key-navi a:first").addClass("active");
	$(".key-navi a:first").append("<span></span>")
		
	//Get size of images, how many there are, then determin the size of the image reel.
	var imageHeight = $(".key-slide ul li").height();
	var imageSum = $(".key-slide ul img").size();
	var imageReelHeight = imageHeight * imageSum;
	
	//Adjust the image reel to its new size
	$(".key-slide ul").css({'height' : imageReelHeight});
	
	//Paging + Slider Function
	rotate = function(){	
		var triggerID = $active.attr("rel") - 1; //Get number of times to slide
		var image_reelPosition = triggerID * imageHeight; //Determines the distance the image reel needs to slide

		$(".key-navi a").removeClass('active'); //Remove all active class
		$(".key-navi a span").remove(); //Remove all active class
		$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		$active.addClass('active').append("<span></span>")
		
		//Slider Animation
		$(".key-slide ul").animate({ 
			top: -image_reelPosition
		}, 800 );
		
	}; 
	
	//Rotation + Timing Event
	rotateSwitch = function(){		
		play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
			$active = $('.key-navi a.active').parent().next().find("a");
			if ( $active.length === 0) { //If paging reaches the end...
				$active = $('.key-navi a:first'); //go back to first
			}
			rotate(); //Trigger the paging and slider function
		}, 7000); //Timer speed in milliseconds (3 seconds)
	};
	
	rotateSwitch(); //Run function on launch
	
	//On Hover
	$(".key-slide a").hover(function() {
		clearInterval(play); //Stop the rotation
	}, function() {
		rotateSwitch(); //Resume rotation
	});	
	
	//On Click
	$(".key-navi a").click(function() {	
		$active = $(this); //Activate the clicked paging
		//Reset Timer
		clearInterval(play); //Stop the rotation
		rotate(); //Trigger rotation immediately
		rotateSwitch(); // Resume rotation
		return false; //Prevent browser jump to link anchor
	});	
	
});

