﻿// DETECTS IF NAMESPACE OF THE APP EXISTS, CREATES THE NAMESPACE OF THE APP.
if (!SB) var SB = {};
else if (SB && typeof (SB) != "object")
    throw new Error("SB is not an Object type");

/* SB.HEADER
* All user inteface under this class name
*/
SB.HEADER = {};

/* SB.HEADER.intiOverMenu
* method that inits on menu events mouseover and mouseout
*/
SB.HEADER.initOverMenu = function () {

    $('.dropDownSubmenu li a:last').addClass('borderBottom');

    $('.submenu').each(function (index) {
        index = index + 1;
        $('.wrapperSubmenu #submenu_' + index + ' li.selected a:first').removeClass('paddingLeftZero');
    });

    $('#submenuTop').addClass('submenuNotSelected');
    $('.wrapperSubmenu ul').addClass('submenuNotSelected');

    $('.wrapperSubmenu li:last-child').css('background', 'none')
    if ($('.submenuModule ul ').length) $('.subNavigationSection li:last').find('cite').hide();

    SB.HEADER.initOverMenuWhenSelected();
    SB.HEADER.initOverMenuNotSelected();
}

/* SB.HEADER.initOverMenuWhenSelected
* init mouseover mouseout event handlers for the menu when it is selected
*
* Params: [DOM Element] ulClass - string of the parent ul class
* Params: [DOM Element] liClass - string of the li of the ul class
*/
SB.HEADER.initOverMenuWhenSelected = function (ulClass, liClass) {

    if ($('.menuSite li').hasClass('selected')) {
        idSelected = $('.menuSite li.selected a').attr('id');

        idSelectedSplit = idSelected.split('_');

        $('#submenuTop').removeClass('submenuNotSelected');
        $('#submenuTop').addClass('submenuSelected');

        $("#submenu_" + idSelectedSplit[1]).removeClass('submenuNotSelected');
        $("#submenu_" + idSelectedSplit[1]).addClass('submenuSelected');

        $('.wrapperSubmenu ul').mouseenter(function () {

            idSubHover = $(this).attr('id');

            idSubHoverSplit = idSubHover.split('_');
            $('.menuSite li').removeClass('selected')

            $('#menu_' + idSubHoverSplit[1]).parent().addClass('selected')
            $('#menu_' + idSubHoverSplit[1] + 'a').addClass('selected')
            $('#menu_' + idSubHoverSplit[1] + 'cite').show();

        });

        $('.menuSite li').mouseenter(function () {

            idHover = $(this).find('a').attr('id');
            idHoverSplit = idHover.split('_');

            $("#submenu_" + idHoverSplit[1]).removeClass('submenuNotSelected').addClass('submenuSelected');

            if ($("#submenu_" + idHoverSplit[1]).hasClass('submenuSelected')) {
                $("#menu_" + idHoverSplit[1]).parent().addClass('selected')
            }
        })

        $('#' + idSelected).mouseenter(function () {
            $('.menuSite li:hover cite').show();
        })

        $('#submenuTop').mouseleave(function () {
            SB.HEADER.mouseLeaveMenu();
        });

        $('.header ').mouseleave(function () {
            SB.HEADER.mouseLeaveMenu();
        });

    }
}

/* SB.HEADER.initOverMenuNotSelected
* init mouseover mouseout event handlers for the menu when it is not selected
*
* Params: [DOM Element] ulClass - string of the parent ul class
* Params: [DOM Element] liClass - string of the li of the ul class
*/
SB.HEADER.initOverMenuNotSelected = function () {

    $(".menuTop li").mouseenter(function () {
        idMenu = $(this).find('a').attr('id');

        $('.wrapperSubmenu ul').addClass('submenuNotSelected')

        if ($('.menuSite li').hasClass('selected')) {
            elSelected = $('.menuSite li.selected a').attr('id');
            $('.menuSite li').removeClass('selected');
        }

        idMenuSplit = idMenu.split('_');

        elNumberLinksSubmenu = $("#submenu_" + idMenuSplit[1]).find('li').length;

        if (elNumberLinksSubmenu != 0) {

            $('#submenuTop').removeClass('submenuNotSelected');
            $('#submenuTop').addClass('submenuSelected');

            $("#submenu_" + idMenuSplit[1]).removeClass('submenuNotSelected');
            $("#submenu_" + idMenuSplit[1]).addClass('submenuSelected'); //Show the subnav
        } else {
            $('#submenuTop').addClass('submenuNotSelected');
        }
    });

    //    if ($('.menuSite').hasClass('homepage')) {
    //        $('#submenuTop').mouseleave(function () {
    //            $('#submenuTop').removeClass('submenuSelected');
    //            $('#submenuTop').addClass('submenuNotSelected');
    //            $('.menuSite li').removeClass('selected');
    //        })
    //    }

}

/* SB.HEADER.mouseLeaveMenu
* init mouseout event handlers for the menu
*
*/
SB.HEADER.mouseLeaveMenu = function () {
    $('.menuSite li').removeClass('selected');
    $('.contentHighlight').hide();
    $('#' + idSelected).parent('li').addClass('selected');

    $('.submenu').each(function (index) {
        index = index + 1;
        $('.wrapperSubmenu #submenu_' + index).removeClass('submenuSelected');
        $('.wrapperSubmenu #submenu_' + index).addClass('submenuNotSelected');
    });

    $("#submenu_" + idSelectedSplit[1]).removeClass('submenuNotSelected');
    $("#submenu_" + idSelectedSplit[1]).addClass('submenuSelected');


}

/* SB.HEADER.showHighlightSubmenu 
* highlight submenu
*
* Params: [DOM Element] idLink - string of hightlight submenu
*/
SB.HEADER.showHighlightSubmenu = function (idLink) {
    
    $("ol.contentHighlight").slideToggle(function () {

        if ($(this).css('display') == 'none') {
            $('#' + idLink).parent().removeClass('selected');
            $('.wrapperSubmenu ').css('overflow', 'hidden')

        } else {
            $('#' + idLink).parent().addClass('selected');
            $('.wrapperSubmenu ').css('overflow', 'visible')
        }
    });

    $('.dropDownSubmenu').removeClass('submenuNotSelected');
}

