// JavaScript Document
$(document).ready(
				  
function() {

        var SLIDE_TRANSITION_INTERVAL_IN_MS = 4000; // the timing before switches
        var FIRST_SLIDE_TRANSITION_INTERVAL_IN_MS = 2500; // the timing before switches

	//Set Default State of each portfolio piece
	$(".paging").show();
	$(".paging a:first").addClass("active");

	//Get size of images, how many there are, then determin the size of the image reel.
	var imageWidth = $(".window").width();
	var imageSum = $(".image_reel img").size();
	var imageReelWidth = imageWidth * imageSum;
	
	//Adjust the image reel to its new size
	$(".image_reel").css({'width' : imageReelWidth});

	//Paging + Slider Function
	rotate = function(){	
	    var triggerID = $active.attr("rel") - 1; //Get number of times to slide
	    var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide
	
	    $(".paging a").removeClass('active'); //Remove all active class
	    $active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
	    
		$(".desc").stop(true,true).slideUp('slow');
		
		$(".desc").eq( $('.paging a.active').attr("rel") - 1 ).slideDown("slow"); 
		
	    //Slider Animation
	    $(".image_reel").animate({ 
	        left: -image_reelPosition
	    }, 500 ); 
	
		
	}; 


	//Rotation + Timing Event
	rotateSwitch = function(){	
	$(".desc").eq( $('.paging a.active').attr("rel") - 1 ).slideDown("slow");	
	    play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
	        $active = $('.paging a.active').next();
	        if ( $active.length === 0) { //If paging reaches the end...
	            $active = $('.paging a:first'); //go back to first
	        }
	        rotate(); //Trigger the paging and slider function
	    }, SLIDE_TRANSITION_INTERVAL_IN_MS); //Timer speed in milliseconds (3 seconds)	
	
	};

        //just the first time, then launch the rest within the function
        firstRotateSwitchShorter = function(){
	   $(".desc").eq( $('.paging a.active').attr("rel") - 1 ).slideDown("slow");	
           first = setTimeout(function(){ //Set timer - this will run the function once the time is triggered
           $active = $('.paging a.active').next();
            if ( $active.length === 0) { //If paging reaches the end...
              $active = $('.paging a:first'); //go back to first
            }
            rotate(); //Trigger the paging and slider function
	    rotateSwitch(); //work on the rest of the slides
            }, FIRST_SLIDE_TRANSITION_INTERVAL_IN_MS); //Timer speed in milliseconds (3 seconds)	
        };	
        //first slide quicker, then do the rest like normal
	firstRotateSwitchShorter(); //Run function on launch

 //On Click
    $(".paging 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
    });    

});

