jQuery(document).ready(function() {

    //Set Default State of each portfolio piece
    jQuery(".paging").show();
    jQuery(".paging a:first").addClass("active");
        
    //Get size of images, how many there are, then determin the size of the image reel.
    var imageWidth = jQuery(".window").width();
    var imageSum = jQuery(".image_reel img").size();
    var imageReelWidth = imageWidth * imageSum;
    
    //Adjust the image reel to its new size
    jQuery(".image_reel").css({'width' : imageReelWidth});
    
    //Paging + Slider Function
    rotate = function(){    
        var triggerID = jQueryactive.attr("rel") - 1; //Get number of times to slide
        var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide

        jQuery(".paging a").removeClass('active'); //Remove all active class
        jQueryactive.addClass('active'); //Add active class (the jQueryactive is declared in the rotateSwitch function)
        
        //Slider Animation
        jQuery(".image_reel").animate({ 
            left: -image_reelPosition
        }, 500 );
        
    }; 
    
    //Rotation + Timing Event
    rotateSwitch = function(){      
        play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
            jQueryactive = jQuery('.paging a.active').next();
            if ( jQueryactive.length === 0) { //If paging reaches the end...
                jQueryactive = jQuery('.paging 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
    jQuery(".image_reel a").hover(function() {
        clearInterval(play); //Stop the rotation
    }, function() {
        rotateSwitch(); //Resume rotation
    }); 
    
    //On Click
    jQuery(".paging a").click(function() {   
        jQueryactive = jQuery(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
    }); 
    
});
