﻿function InitializeMenuExtender(strMenuContainetId)
{
    var menuContainerElement = document.getElementById(strMenuContainetId);
	//Collapse All MenuItems
	var menuItemContainerRowsArray = menuContainerElement.getElementsByTagName("tr");
	for(index = 0; index < menuItemContainerRowsArray.length; index++)
	{
		menuItemContainerRowsArray[index].style.display = "none";
	}
	SyncToContent(menuContainerElement);
}
function SyncToContent(_menuContainerElement)
{
	//Find the selected item
    var currentServerRelativeUrl = window.location.href;
    var menuLinksArray = _menuContainerElement.getElementsByTagName("a");
    var selectedMenuItemFounded = false;
    for(linkIndex = 0; linkIndex < menuLinksArray.length; linkIndex++)
    {
    	var linkUrl = menuLinksArray[linkIndex].getAttribute("href").toLowerCase();
//    	if(linkUrl.substring(0,7).toLowerCase != "http://")
//    	{
//    		linkUrl = "http://" + window.location.hostname + linkUrl;
//    	}
		
		//alert(linkUrl.substring(0,linkUrl.toLowerCase().lastIndexOf('/')) + " - " + currentServerRelativeUrl.toLowerCase().substring(0,currentServerRelativeUrl.toLowerCase().lastIndexOf('/')));
			
    	switch(linkUrl)
    	{
    		case "":
    			for(parentLinkIndex = 1; parentLinkIndex < menuLinksArray.length; parentLinkIndex++)
			    {
			    	var ParentlinkUrl = menuLinksArray[parentLinkIndex].getAttribute("href").toLowerCase();
			    	//selected element founded				
					var menuItemContainerRow = GetMenuItemContainerRow(menuLinksArray[parentLinkIndex]);
					ExpandLevelMenu(_menuContainerElement.getAttribute("id"), menuItemContainerRow);
					ExpandCollapseSubMenu(menuLinksArray[parentLinkIndex]);
					selectedMenuItemFounded = true;
					//Set the Page Title
		        	document.getElementById("PageTitleContainer").innerHTML = menuLinksArray[parentLinkIndex].innerHTML;
				}
    			/*alert("Geldi 1");
    			menuLinksArray[linkIndex].onclick = new Function("ExpandCollapseSubMenu(this);");
				menuLinksArray[linkIndex].style.cursor = "pointer";*/
    		break;
    		case currentServerRelativeUrl.toLowerCase():
	        	//selected element founded				
				var menuItemContainerRow = GetMenuItemContainerRow(menuLinksArray[linkIndex]);
				ExpandLevelMenu(_menuContainerElement.getAttribute("id"), menuItemContainerRow);
				ExpandCollapseSubMenu(menuLinksArray[linkIndex]);
				selectedMenuItemFounded = true;
				//Set the Page Title
	        	document.getElementById("PageTitleContainer").innerHTML = menuLinksArray[linkIndex].innerHTML;
    		break;
    	}
    }
    if(!selectedMenuItemFounded)
    {
    	ExpandLevelMenu(_menuContainerElement.getAttribute("id"), _menuContainerElement.getElementsByTagName("table")[0].firstChild.firstChild);
    }
}
function GetMenuItemContainerRow(sender)
{
	var objParentNode = sender;//a
	objParentNode = objParentNode.parentNode;//td
	objParentNode = objParentNode.parentNode;//tr
	objParentNode = objParentNode.parentNode;//tbody
	objParentNode = objParentNode.parentNode;//table
	objParentNode = objParentNode.parentNode;//td
	objParentNode = objParentNode.parentNode;//tr --> related menu item container row
	return objParentNode;
}
function ExpandLevelMenu(_menuContainerElementId, _menuItemContainerRow)
{
	_menuItemContainerRow.style.display = "block";
	var levelMenuContainerTbody = _menuItemContainerRow.parentNode;
	for(index = 0; index < levelMenuContainerTbody.childNodes.length; index++)
	{
		if(levelMenuContainerTbody.childNodes[index].getElementsByTagName("table").length == 1)
		{
			//this leaf is subMenu
			levelMenuContainerTbody.childNodes[index].style.display = "block";
			//TODO:Firefox
			levelMenuContainerTbody.childNodes[index].firstChild.firstChild.firstChild.firstChild.style.display = "block";
		}
	}
	//goto parent
	if(levelMenuContainerTbody.parentNode.parentNode.getAttribute("id").toLowerCase() != _menuContainerElementId.toLowerCase())
	{
		ExpandLevelMenu(_menuContainerElementId, levelMenuContainerTbody.parentNode.parentNode.parentNode);
	}
}
function ExpandCollapseSubMenu(sender)
{
	_menuItemContainerRow = GetMenuItemContainerRow(sender);
	if(_menuItemContainerRow.nextSibling != null)
	{
		var levelMenuContainerTbody = _menuItemContainerRow.nextSibling.firstChild.firstChild.firstChild;
		for(index = 0; index < levelMenuContainerTbody.childNodes.length; index++)
		{
			if(levelMenuContainerTbody.childNodes[index].getElementsByTagName("table").length == 1)
			{
				//this leaf is subMenu
				var nextVisibleStatus = (levelMenuContainerTbody.childNodes[index].style.display.toLowerCase() == "none")?"block":"none";
				_menuItemContainerRow.nextSibling.style.display = nextVisibleStatus;
				levelMenuContainerTbody.childNodes[index].style.display = nextVisibleStatus;
				levelMenuContainerTbody.childNodes[index].firstChild.firstChild.firstChild.firstChild.style.display = nextVisibleStatus;
			}
		}
	}
}
//Simternet