
var FeaturedPauseAmount = 8000;
var FeaturedPlay = true;

var FeaturedHolder = "#slideshow";
var FeaturedContentSelector = " .featured";

var FeaturedTopZIndex = 9500;

var FeaturedTimeout;

jQuery(function () {

    InitFeaturedFader();

    return false;
});

function InitFeaturedFader() {

    jQuery(FeaturedHolder + FeaturedContentSelector).filter(':first').css({ 'z-index': FeaturedTopZIndex });
    jQuery(FeaturedHolder + FeaturedContentSelector).hide();
    jQuery(FeaturedHolder + FeaturedContentSelector).filter(':first').show();

    jQuery(jQuery('#slideNav li').get(0)).addClass('on');

    jQuery('#slideNav li').click(function () {

        if (jQuery(this).index() != jQuery(GetCurrentItem()).index()) {
            var index = jQuery(this).index();
            FadeToItem(index);

            clearTimeout(FeaturedTimeout);
            FeaturedPlay = false;
        }

        return false;
    });

    if (FeaturedPlay && jQuery(FeaturedHolder + FeaturedContentSelector).length > 1) {
        FeaturedTimeout = window.setTimeout(ArtificialClick, FeaturedPauseAmount);
    }
    else {
        jQuery('#slideNav').hide();
    }
}

function GetCurrentItem() {

    return jQuery(FeaturedHolder + FeaturedContentSelector).filter(":visible")[0];   
}

function FadeToItem(index) {

    jQuery('#slideNav li').removeClass('on');
    jQuery(jQuery('#slideNav li').get(index)).addClass('on');

    var PreviousItem = GetCurrentItem();
    var NextItem = jQuery(FeaturedHolder + FeaturedContentSelector).get(index);
    
    FeaturedTopZIndex -= 1;
    jQuery(NextItem).css({ 'z-index': FeaturedTopZIndex });
    jQuery(NextItem).show();

    jQuery(PreviousItem).fadeOut(1000);
}

function GetNextFeaturedIndex(index) {

    if (jQuery(FeaturedHolder + FeaturedContentSelector).size() > index + 1)
        return index + 1;
    else
        return 0;
}

function ArtificialClick() {

    if (FeaturedPlay) {

        var index = jQuery(GetCurrentItem()).index();
        var nextIndex = GetNextFeaturedIndex(index);

        FadeToItem(nextIndex);
        FeaturedTimeout = window.setTimeout(ArtificialClick, FeaturedPauseAmount);
    }
}
