﻿$jq(document).ready(function () {
    var jqTabContainerSeleceted = $jq(".TabContainerSelected");
    var jqTabContainers = $jq(".TabContainer");
    var jqMenuHeads = $jq(".jqMenuHead");
    var jqMenuHeadTexts = $jq(".jqMenuHead .x-btn-text");
    var jqArrows = $jq(".jqTabNavArrow");
    var jqArrowSrc = "/Global/Images/arrow-gray" + ($jq(".jqTabNavArrow:first").hasClass('jqTabNavArrowGames') ? '-games' : '') + ".png";
    var jqLoginHeads = $jq(".jqLoginHead");
    var menus = $jq("#MainNavContent .jqMenuList");
    var loginMenus = $jq("#BannerAcctButtonContent .jqMenuList");
    var showingLogin = false;
    var arrowEnabled = true;
    var dropdownsEnabled = false;
    var stickyPillEnabled = false;

    // Controls dropdown behavior for MainNav group
    function show_or_hide(e) {
        e.stopPropagation(); //prevent close()
        // If dropdown group is showing, close all dropdowns and show current pill and arrow
        // If dropdown group is not showing, open selected dropdown
        if (dropdownsEnabled) {
            reset();
            $jq(this).parents('.TabContainerMenu').find('.pill-background').css('display', 'block');
            $jq(this).parents('.TabContainerMenu').find('.jqTabNavArrow').css('visibility', 'visible');
            arrow_over($jq(this));
        } else {
            dropdownsEnabled = true;
            arrowEnabled = false;
            stickyPillEnabled = true;
            showingLogin = false;
            dropdown_open($jq(this).parents('.TabContainer'));
        }
    }

    // Controls dropdown menu behavior for separate login group
    function show_or_hide_login(e) {
        e.stopPropagation();
        if (showingLogin) {
            reset();
        } else {
            reset();
            $jq(this).next().css("display", "block");
            showingLogin = true;
        }
    }

    // Opens hovered dropdown and closes other dropdowns
    function dropdown_open_evt() {
        dropdown_open($jq(this));
    }

    function dropdown_open(elm) {
        if (dropdownsEnabled) {
            hide_menus();
            jqArrows.attr('src', jqArrowSrc);
            if (elm.next().css("display") != "block" && elm.attr('rel') != 'home') {
                elm.next().css("display", "block");
                elm.find('.jqTabNavArrow').attr('src', '/Global/Images/arrow-white.png');
                arrowEnabled = false;
            }
        }
    }

    // Closes all open dropdowns
    function reset() {
        hide_menus();
        arrowEnabled = true;
        arrow_out(jqArrows);
        pill_close(jqTabContainers, true);
        downdownsEnabled = false;
        showingLogin = false;
        stickyPillEnabled = false;
        dropdownsEnabled = false;
    }

    function hide_menus() {
        menus.css("display", "none");
        loginMenus.css("display", "none");
    }

    function pill_close_evt() {
        pill_close($jq(this), false);
    }

    function pill_close(containers, override) {
        if (!stickyPillEnabled || override) {
            $jq(containers).each(function (index) {
                if (!$jq(this).hasClass('TabContainerSelected')) {
                    $jq(this).children('.pill-background').css('display', 'none');
                }
                $jq(this).children('.TabContainerUnselected .jqTabNavArrow').css('visibility', 'hidden');
            });
        }
    }

    function pill_open_evt() {
        pill_open($jq(this));
    }

    function pill_open(elm) {
        pill_close(jqTabContainers, true);
        elm.children('.pill-background').css('display', 'block');
        elm.children('.TabContainerUnselected .jqTabNavArrow').css('visibility', 'visible');
    }

    function arrow_out_evt() {
        arrow_out($jq(this));
    }

    function arrow_out(elm) {
        if (arrowEnabled) {
            $jq(elm).attr('src', jqArrowSrc);
        }
    }

    function arrow_over_evt() {
        arrow_over($jq(this));
    }

    function arrow_over(elm) {
        if (arrowEnabled) {
            $jq(elm).attr('src', '/Global/Images/arrow-white.png');
        }
    }

    jqArrows.bind('click', show_or_hide);
    jqArrows.bind('mouseover', arrow_over_evt);
    jqArrows.bind('mouseout', arrow_out_evt);
    jqLoginHeads.bind("click", show_or_hide_login);
    jqTabContainers.bind('mouseenter', pill_open_evt);
    jqTabContainers.bind('mouseleave', pill_close_evt);
    jqTabContainers.bind("mouseenter", dropdown_open_evt);
    jqMenuHeadTexts.bind('click', function () { window.location = $jq(this).attr('rel'); });
    $jq('html').bind("click", reset);
    jqTabContainers.bind("click", function (e) { e.preventDefault(); e.stopPropagation(); });
    Spoon_DisableSelection(jqTabContainers);


});
