﻿function menu_activate(menuid){
	var menu_item = null;
	var menu = getElement("menu");
	var submenu = getElement("submenu");
	var menus = document.getElementsByTagName("LI");
	for(var i=0;i<menus.length;i++){
		if(menus[i].getAttribute("data-menuid") == menuid){
			menu_item = menus[i];
			break;
		}
	}
	if(menu_item && menu && submenu){
		if(isChildOf(menu, menu_item, false)){
			/* topmenu */
			select_menu(menu_item);
		}else{
			/* submenu */
			var ul = menu_item.parentNode;
			var parentMenuId = ul.getAttribute("data-parentid");
			menu_activate(parentMenuId);
			select_menu(menu_item);
		}
		
	}
}
function menu_clicked(ul, e){
    select_menu(getElementFromEvent(getEvent(e)));
}
function select_menu_byId(menuid){
    var menu_item = null;
    var menus = document.getElementsByTagName("LI");
    for(var i = 0; i < menus.length; i++){
        if (menus[i].getAttribute("data-menuid") == menuid){
            menu_item = menus[i];
            break;
        }
    }
    if(menu_item){
        select_menu(menu_item);
    }    
}
function select_menu(menu_item){
	if(menu_item){
		reset_menus(menu_item.parentNode);
		menu_item.className = "selected";
		load_content(menu_item);

		if(menu_item.getAttribute("data-autoactivate") > 0){
		    select_menu_byId(menu_item.getAttribute("data-autoactivate"));
		}
	}
}
function reset_menus(ul){
	var sib = ul.childNodes;
	for(var i=0; i<sib.length; i++){
		if(sib[i].tagName && sib[i].tagName == "LI" && sib[i].className == "selected"){
			sib[i].className = "";
		}
	}
}
function load_content(menu_item){
	var menu = getElement("menu");
	var submenu = getElement("submenu");
	if(menu && submenu){
		if(isChildOf(menu, menu_item, false)){
			/* topmenu */
			load_submenu(menu_item);	
		}
		if(menu_item.getAttribute("data-contenttypeid") != null){
		    /* Set page to display */
		    if (menu_item.getAttribute("data-contenttypeid") == 2) { /* Type 2 is link */		        
		        getElement("contentframe").src = menu_item.getAttribute("data-contenttypedata");
		    }else if(menu_item.getAttribute("data-contenttypeid") == 3){ /* Type 3 is forum */
		        getElement("contentframe").src = "Forum/messages.aspx?fid=" + EncodeQS(menu_item.getAttribute("data-contenttypedata"));
		    }else{
		        getElement("contentframe").src = "menucontent.aspx?ctid=" + menu_item.getAttribute("data-contenttypeid") + "&mid=" + menu_item.getAttribute("data-menuid"); ;
		    }
		    
		    /* Save last clicked menu */
	        if(getElement("TextMenuID")){ getElement("TextMenuID").value = menu_item.getAttribute("data-menuid"); }
		}
	}
}
function load_submenu(menu_item){
	var menuid = menu_item.getAttribute("data-menuid");
	if(menuid && !isNaN(parseInt(menuid, 10))){
		var submenu = getElement("submenu");
		var supress = null; 
		var show = null;
		var sib = submenu.childNodes;
		for(var i=0; i<sib.length; i++){
			if(sib[i].tagName && sib[i].tagName == "UL" && sib[i].className == "active"){
				supress = sib[i];
			}
			if(sib[i].tagName && sib[i].tagName == "UL" && sib[i].getAttribute("data-parentid") == menuid){
				show = sib[i];
				reset_menus(sib[i]);
			}
		}
		
		if(show && !supress){
			show.className = "active";
			submenu.style.height = "24px";
		}else if(!show && supress){
			supress.className = "inactive";
			submenu.style.height = "2px";
		}else if(show && supress){
			supress.className = "inactive";
			show.className = "active";
		}
	}
}
