function shuffle(ary) {
var s = []; while (ary.length) s.push(ary.splice(Math.random() * ary.length, 1)); while (s.length) ary.push(s.pop()); return ary;
} 

$(document).ready(function() {

// randomize front page images
var randset = new Array(0,1,2,3);
randset = shuffle(randset);
var imgsrc = new Array();
var img = $(".image_reel img").get();
for (var i = 0; i < randset.length; i++) {
	imgsrc[i] = $(img[i]).attr("src");
}	
for (var i = 0; i < randset.length; i++) {
	$(img[i]).attr( "src", imgsrc[ randset[i] ] );	
}
//enable display - to avoid flashing of the fixed 1st img after randomization
$(".image_window").show();

//Show the paging and activate its first link
$(".image_paging").show();
$(".image_paging a:first").addClass("active");

//Get size of the image, how many images there are, then determin the size of the image reel.
var imageWidth = $(".image_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  and 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

    //Slider Animation
    $(".image_reel").animate({
        left: -image_reelPosition
    }, 500 );

    $(".image_paging a").removeClass('active'); //Remove all active class
    $active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
}; 

//Rotation  and Timing Event
rotateSwitch = function(){
    play = setInterval(function(){ //Set timer - this will repeat itself every 7 seconds
        $active = $('.image_paging a.active').next(); //Move to the next paging
        if ( $active.length === 0) { //If paging reaches the end...
            $active = $('.image_paging a:first'); //go back to first
        }
        rotate(); //Trigger the paging and slider function
    }, 7000); //Timer speed in milliseconds (7 seconds)
};

rotateSwitch(); //Run function on launch

//On Hover
$(".image_reel a").hover(function() {
    clearInterval(play); //Stop the rotation
}, function() {
    rotateSwitch(); //Resume rotation timer
});	

//On Click
$(".image_paging a").click(function() {
    $active = $(this); //Activate the clicked paging
    //Reset Timer
    clearInterval(play); //Stop the rotation
    rotate(); //Trigger rotation immediately
    rotateSwitch(); // Resume rotation timer
    return false; //Prevent browser jump to link anchor
});
});

