﻿
var $j = jQuery.noConflict();
$j(function() {

    $j("#AdminMenu").superfish({
        autoArrows: false
    });

   initSideMenu();
});


var submenuTimeoutID;
var $submenuItem;

function initSideMenu() {
    var $menu = $j("#SideMenu");
    if ($menu.length > 0) {

        var $menu = $j("#SideMenu");
        
        // init hovers
        $j("li", $menu).hover(onSideMenuItemRollOver, onSideMenuItemRollOut);
        
        // do not bind submenu items
        $j("li li", $menu).unbind('mouseenter mouseleave'); 

        // set default state
        $j("li ul", $menu).slideUp(0);

        // find selected subitem, expand containing submenu
        $j("li.selected", $menu).parent().slideDown(0);
        // find selected item, expand inner submenu
        $j("li.selected ul", $menu).slideDown(0);
        
    }

    try {
        if (highlightSelectorList.length > 0) {
            for (var i = 0; i < highlightSelectorList.length; i++) {
                $j(highlightSelectorList[i]).addClass("highlighted");
            }
        }
    } catch (e) { }
}

function onSideMenuItemRollOver(e) {
    clearTimeout(submenuTimeoutID);
    
    var $ul = $j("ul", $j(this));
    
    // toggle only the hidden (prevents double slideDown)
    if (!$ul.css("display") || $ul.css("display") == "none") { 
        $submenuItem = $j(this);
        submenuTimeoutID = setTimeout(sideMenuItemRollOver, 300);
    }
}

function sideMenuItemRollOver() {
    clearTimeout(submenuTimeoutID);

    if ($j("ul", $submenuItem).length > 0) { // only apply to items with submenu
    
        // do animation
        $j("#SideMenu li ul").slideUp(300);
        $j("ul", $submenuItem).slideDown(300);
    }
}

function onSideMenuItemRollOut(e) {
    clearTimeout(submenuTimeoutID);
}
