
var PauseDuration = 5000;
var Pause = false;
var Timeout;

function InitTabs(container, contentItems, navItems, autoPlay) {

    var index = 0;

    SetItem(contentItems, navItems, index);

    jQuery(navItems).click(function () {

        SetItem(contentItems, navItems, jQuery(navItems).index(jQuery(this)));
        Pause = true;
        window.clearTimeout(Timeout);
        SetButtons(container, false);

        return false;
    });

    jQuery(container + " .play").click(function () {

        if (Pause) {

            var currentIndex = jQuery(contentItems).filter(":visible").index(contentItems);

            currentIndex = NextItem(contentItems, navItems, currentIndex);
            Pause = false;
            Timeout = window.setTimeout(function () { NextItem(contentItems, navItems, currentIndex); }, PauseDuration);
            SetButtons(container, true);
        }

        return false;
    });

    jQuery(container + " .pause").click(function () {

        Pause = true;
        window.clearTimeout(Timeout);
        SetButtons(container, false);

        return false;
    });

    if (autoPlay) {

        Timeout = window.setTimeout(function () { NextItem(contentItems, navItems, index); }, PauseDuration);
        SetButtons(container, true);
    }
}

function SetButtons(container, play) {

    if (play) {
        jQuery(container).find(".play").addClass("play-on");
        jQuery(container).find(".play-on").removeClass("play");
        jQuery(container).find(".pause-on").addClass("pause");
        jQuery(container).find(".pause").removeClass("pause-on");
    }
    else {
        jQuery(container).find(".pause").addClass("pause-on");
        jQuery(container).find(".pause-on").removeClass("pause");
        jQuery(container).find(".play-on").addClass("play");
        jQuery(container).find(".play").removeClass("play-on");
    }
}

function NextItem(contentItems, navItems, index) {

    index = GetNextIndex(contentItems, index);
    
    SetItem(contentItems, navItems, index);

    if (!Pause) {
        Timeout = window.setTimeout(function () { NextItem(contentItems, navItems, index); }, PauseDuration);
    }

    return index;
}

function SetItem(contentItems, navItems, index) {

    jQuery(navItems).removeClass("on");
    jQuery(contentItems).hide();

    var activeBox = jQuery(contentItems).get(index)
    jQuery(activeBox).fadeIn();

    var activeNavItem = jQuery(navItems).get(index)
    jQuery(activeNavItem).addClass("on");

    return false;
}

function GetNextIndex(contentItems, index) {

    if (jQuery(contentItems).size() > index + 1)
        return index + 1;
    else
        return 0;
}
