
var PauseAmount = 8000;
var Play = true;
var FeaturedTimeout;

var Holder = "#featured";

var ContentSelector = " .f-holder";
var PagingSelector = " .featured-pagination li";

var TopZIndex = 9500;

jQuery(function () {

    InitFeature(Holder + ContentSelector, Holder + PagingSelector);
    return false;
});

function InitFeature(contentSelector, pagingSelector) {

    InitFeaturedFader(contentSelector, pagingSelector);
    SetActiveNavItem(pagingSelector, 0);

    jQuery(pagingSelector).click(function () {

        index = jQuery(this).index();
        var item = jQuery(jQuery(contentSelector).get(index));

        if (index != jQuery(GetCurrentItem(contentSelector)).index()) {

            FadeToItem(contentSelector, pagingSelector, index);
            SetActiveNavItem(pagingSelector, index);
        }

        window.clearTimeout(FeaturedTimeout);
        return false;
    });
}

function InitFeaturedFader(contentSelector, pagingSelector) {

    jQuery(contentSelector).filter(':first').css({ 'z-index': TopZIndex });
    jQuery(contentSelector).hide();
    jQuery(contentSelector).filter(':first').show();

    if (Play) {
        FeaturedTimeout = window.setTimeout(function () { ArtificialClick(contentSelector, pagingSelector); }, PauseAmount);
    }
}

function GetCurrentItem(contentSelector) {

    return jQuery(contentSelector).filter(":visible")[0];
}

function FadeToItem(contentSelector, pagingSelector, index) {

    SetActiveNavItem(pagingSelector, index);

    var PreviousItem = GetCurrentItem(contentSelector);
    var NextItem = jQuery(contentSelector).get(index);

    if (PreviousItem != NextItem) {

        TopZIndex -= 1;
        jQuery(NextItem).css({ 'z-index': TopZIndex });
        jQuery(NextItem).show();

        jQuery(PreviousItem).fadeOut();
    }
}

function GetNextIndex(contentSelector, index) {

    if (jQuery(Holder + ContentSelector).size() > index + 1)
        return index + 1;
    else
        return 0;
}

function SetActiveNavItem(pagingSelector, index) {

    jQuery(pagingSelector).removeClass("on");
    var currentNavItem = jQuery(pagingSelector).get(index);
    jQuery(currentNavItem).addClass("on");
}

function ArtificialClick(contentSelector, pagingSelector) {

    if (Play) {

        var index = jQuery(GetCurrentItem(contentSelector)).index();
        var nextIndex = GetNextIndex(contentSelector, index);

        FadeToItem(contentSelector, pagingSelector, nextIndex);
        FeaturedTimeout = window.setTimeout(function () { ArtificialClick(contentSelector, pagingSelector); }, PauseAmount);
    }
}
