function _menu_init(){
	var rootContainerID = 'NavContainer';
	var menuClass = 'NavRoot';
	var menus = getRootMenus( rootContainerID, menuClass );
	var ul_count = 0;
	var menu_ul_prefix = 'menu_ul_';
	var menu_a_prefix = 'menu_a_';
	var selectedMenuId = null;
	var selectedSubMenuId = null;
	var selectedMenuKey = queryString('m');

	if ( selectedMenuKey != 'false'){
		var selectedM = selectedMenuKey.split("!");
		selectedMenuId = selectedM[0];
		selectedSubMenuId = selectedM[1];
	}
	var selectedMenu = menu_ul_prefix + selectedMenuId;
	var selectedMenuLink = menu_a_prefix + selectedMenuId;
	for( var i=0;i<menus.length;i++){
		var menu = menus[i];
		for( var x=0;x<menu.childNodes.length;x++){
			
			if ( menu.childNodes[x].style ){
			//menu.childNodes[x].style.border = "1px solid red;";
//alert( menu.childNodes[x].childNodes.length  );
			//menu.childNodes[x].style.border = "0px solid red;";
			}
		  if ( menu.childNodes[x].childNodes.length > 1 ){
			for( var y=0;y<menu.childNodes[x].childNodes.length;y++){
				
				ul_id = menu_ul_prefix + ul_count;
				a_id = menu_a_prefix + ul_count;
				active_e = menu.childNodes[x].childNodes[y];
	
				if(active_e.tagName == 'A'){
					active_e.setAttribute('menu', ul_id );//Store the related sub-menu id
					active_e.id = a_id;
					active_e.className = "__menu_link";
					active_e.onclick = function(){
									hideOthers('UL','__menu');
									showMenu( this.getAttribute('menu') );
									setSelected(this, rootContainerID, null);
									}
				}
				if(active_e.tagName == 'UL'){
					active_e.id = ul_id;
					active_e.className = "__menu";
					processLinks( active_e, selectedMenuKey, ul_count );
					ul_count++;
				}
			  }
			  }else{
				  if( menu.childNodes[x].tagName == 'LI' ){
					//menu.childNodes[x].style.border = "1px solid red;";

				  if ( menu.childNodes[x].childNodes[0].getAttribute("href") ){
					 if ( ( queryString( 'c',menu.childNodes[x].childNodes[0].getAttribute("href") ) != 'false' ) &&  
						 ( queryString( 'c',menu.childNodes[x].childNodes[0].getAttribute("href") ) == queryString( 'c' ) )){
							menu.childNodes[x].className = "Selected";
					  }
				  }
				  }
			}
		}
	}
	if( selectedMenuId ){
		showMenu( selectedMenu );
		//setSelected(active_e, rootContainerID, null);
		//document.getElementById(queryString('m')).parentNode.style.border="1px solid red;";
		setSelected(document.getElementById(selectedMenuLink), rootContainerID, null);
	}
}

function getRootMenus( rootContainerID, menuClass ){
	var menus = Array();
	var root = document.getElementById(rootContainerID);
	for( var i=0;i<root.childNodes.length;i++){
		if ( root.childNodes[i].className != null ){
		if ( root.childNodes[i].className.indexOf( menuClass ) >= 0 ){ 
			menus[menus.length] = root.childNodes[i];
		}
		}
	}
	return menus;
}

function setSelected( element, rootContainerID, cls ){
	if ( cls == null ) cls = "Selected";
	var reg = eval("/\s*"+cls+"/");
	root = ( rootContainerID == null ) ? document : document.getElementById(rootContainerID);
	elems = root.getElementsByTagName( element.tagName );
	for ( var i=0;i<elems.length;i++){
		if ( elems[i].className.indexOf(element.className) >= 0 ){
			if ( elems[i].className.match( reg ) ){
				elems[i].className = elems[i].className.replace( reg, "");
			}
		}
	}
	element.className = element.className + " " + cls;
}

function hideOthers( tag, cls ){
	e=document.getElementsByTagName(tag);
	for(var i=0;i<e.length;i++){
		if ( e[i].className.toLowerCase() == cls.toLowerCase() ){
			e[i].style.display = 'none';
		}
	}
}

function showMenu( menuID ){
	s=document.getElementById(menuID).style;
	s.display=s.display=='block'?'none':'block';
}

function activeMenu(){
	this.selectedMenu = 0;
	this.selectedSubMenu = 0;
	
		
	return this;
}

function processLinks( active_e, selectedMenuKey,  ul_count ){
	var links = active_e.getElementsByTagName( 'A' );
	for ( var i=0;i<links.length;i++){
		if ( links[i].getAttribute('href') ) {
			var currentMenuKey = ul_count + "!" + i
			links[i].setAttribute('href', links[i].getAttribute('href') + "&m=" + currentMenuKey );
			var nav_id = queryString('c',links[i].getAttribute('href'));
			links[i].className = "__menu_submenu_link";
			if ( selectedMenuKey == currentMenuKey ){
				links[i].className = links[i].className + " " + "Selected";
			}
		}
	}
}