﻿/// <reference path="jquery-1.5.min.js" />
var showCaption = true;
$(document).ready(function () {
    //Set Default State of each portfolio piece
    $(".paging").show();
    $(".paging a:first").addClass("active");

    //Get size of images, how many there are, then determine the size of the image reel.
    var imageWidth = $('div[class^="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 });
    $(".desc").eq(0).slideDown("fast");

    if ($('.paging a').length == 1) {
        $('.paging').hide();
    }

    var dontHide = false;

    if ($(".desc").eq($('.paging a.active').attr('rel') - 1).text() == 'x') {
        $(".desc").eq($('.paging a.active').attr('rel') - 1).hide();
        dontHide = true;
    }

    $(".hide").click(function () {
        showCaption = false;
        $(".desc").stop(true, true).slideUp('fast');
        $(".descHidden").eq($('.paging a.active').attr("rel") - 1).slideDown("fast");
    });

    $(".show").click(function () {
        showCaption = true;
        $(".descHidden").stop(true, true).slideUp('fast');
        $(".desc").eq($('.paging a.active').attr("rel") - 1).slideDown("fast");
    });

    //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

        $(".desc").stop(true, true).slideUp('fast');
        $(".descHidden").stop(true, true).slideUp('fast');

        $active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)

        //Slider Animation
        $(".image_reel").animate({
            left: -image_reelPosition
        }, 500);

        if (showCaption) {
            $(".desc").eq($('.paging a.active').attr("rel") - 1).slideDown("fast");
        }
        else {
            $(".descHidden").eq($('.paging a.active').attr("rel") - 1).slideDown("fast");
        }

        if ($(".desc").eq($('.paging a.active').attr('rel') - 1).text() == 'x') {
            $(".desc").eq($('.paging a.active').attr('rel') - 1).hide();
            $(".descHidden").hide();
        }


    };

    //Rotation + Timing Event
    rotateSwitch = function () {
        play = setInterval(function () { //Set timer - this will repeat itself every 7 seconds
            $active = $('.paging a.active').next();
            if ($active.length === 0) { //If paging reaches the end...
                $active = $('.paging a:first'); //go back to first
            }
            if (typeof autoRotate === 'undefined') {
            }
            else if (autoRotate == true) {
                rotate(); //Trigger the paging and slider function
            }
        }, 7000); //Timer speed in milliseconds (7 seconds)
    };

    rotateSwitch(); //Run function on launch

    if (typeof overrideShowCaption === 'undefined'  && !dontHide) {
        $(".hide").click();
    }

    //On Hover
    $(".image_reel a").hover(function () {
        clearInterval(play); //Stop the rotation
    }, function () {
        rotateSwitch(); //Resume rotation
    });

    //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
    });
});
