$(document).ready(function() {
    //#region# initialize menus
    var openedMenu = null;
    var menuRows = $("[id$='QuickLaunchMenu'] > tbody > tr");
    var menuHd = menuRows.filter("[id!='']:has(+tr[id=''])");
    //#endregion#
    
    
    //#region# hide submenus
    menuRows.filter("[id='']").hide();
	//#endregion#
    
    
    //#region# unhide if header is selected
    var menuSelectedHeader = menuRows.filter(":has(table[class*='ms-selectednavheader'])");
    $(menuSelectedHeader).next("tr[id='']").show();
    if (menuSelectedHeader.length > 0)
        openedMenu = menuSelectedHeader;
	//#endregion#

    
    //#region# unhide if subitens are selected
    var menuSelectedSubMenu = menuRows.filter(":has(table[class*='ms-selectednav'])");
    menuSelectedSubMenu.show();
    if (menuSelectedSubMenu.length > 0)
        openedMenu = menuSelectedSubMenu.prev("tr");
	//#endregion#
	
	
	//#region# collapses 2-nd or 3-rd level menus, and shows them accordding to the selected-item level.
	$("table[class*='ms-navSubMenu3']").hide();

	//this part of this region is commented out because the 3rd level menu is now floating
	/*if(menuSelectedSubMenu.find("table[class*='ms-selectednav ']").length > 0){
		menuSelectedSubMenu.find("table[class*='ms-selectednav ']").
			parent().parent().
			next("tr[id='']").
			find("table[class*='ms-navSubMenu3']").
			show();
	}*/

	/*if(menuSelectedSubMenu.find("table[class*='ms-selectednav3 ']").length>0)
		menuSelectedSubMenu.find("table[class*='ms-selectednav3 ']").
			parent().parent().parent().parent().
			show();
	*/
	//#endregion#
	
    
    //#region# shows the menu
    $(".pro-leftNavContainer").each(function(i) {
        $(this).css("display", "block");
    });
	menuSelectedSubMenu.next().css('display', 'block');
	//#endregion#
	
	
	//#region# removes the link from the selected menu item
	$("a[class*=' ms-selectednav3 '],a[class*=' ms-selectednav '],a[class*=' ms-selectednavheader ']").
		removeAttr("href").
		css("textDecoration","none").
		parent().
		css("cursor","default");
	//#endregion#

	
	//#region# decorates all the 3-rd level items with a starting arrow
	$("table[class*='ms-navitem2 '],table[class*='ms-selectednav3 ']").find("a").each(function(){
		$(this).attr("innerHTML", $(this).attr("innerHTML").replace("<SPAN class=arrow-marker>&gt;</SPAN>", ""));
		$(this).attr("innerHTML", "<span class=arrow-marker>&gt;</span>" + $(this).attr("innerHTML"));
	});
	//#endregion#
		

	//#region# floating menu for 2-nd level items
	var last = null;
	var hideSubMenu = function(evt){
		if(last) 
			last.css({ display:"none" });
	}
	
	$("table[class*='ms-navheader ']").hover(hideSubMenu);
	$(".pro-masterMainContent").hover(hideSubMenu);
	$("img.pro-floatingsphere").hover(hideSubMenu);
	$("table[class*='ms-navitem ']").hover(function(evt){
		hideSubMenu(evt);
				
		var menuTABLE = (last = $(this).parent().parent().next("tr[id!='zz1_QuickLaunchMenu']").find("table[class*='ms-navSubMenu3 ']"));
		menuTABLE.find("table[class*='ms-navitem2']").css({opacity:0.85});
		
		menuTABLE .css({
			position: "absolute",
			display: "block",
			zIndex: 1000,
			marginLeft: 120,
			marginTop: -23
		});
	});
	//#endregion#
});


function HandleFileButtonClick(controlID) { $("[id$='" + controlID + "']").click(); }
