﻿window.onload = InitMenus;
var displayedMenu = '';

function InitMenus()
{
	UIMenu_Horizontal_customInitMenu();
	UIMenu_Vertical_customInitMenu();
	document.onmouseover = hideAllMenus;
}

function hideAllMenus()
{
	if(displayedMenu != ''){
		hideAllHorizontalMenus();
		hideAllVerticalMenus();
		displayedMenu = '';
	}
}

/**************************************************************************************************************************
*
*	on onpageload add a call to initMenu function, pass it array that contains all menus and currently selected menu
*
***************************************************************************************************************************/
var pageLoaded = false;
var menuJS_allMenus;
var menuJS_currentMenuItem;

function initHorizontalMenu(menuArray, currentItem){
	menuJS_allMenus = menuArray;
	menuJS_currentMenuItem = currentItem;
	hideAllMenus();
}

function menuItemHorizontalOn(objectID){
	var object = document.getElementById(objectID);
	if(pageLoaded && object){	object.className = object.getAttribute('hoverCSSClass');	}
}
function menuItemHorizontalOff(objectID){
	var object = document.getElementById(objectID);
	if(pageLoaded && object){	object.className = object.getAttribute('CSSClass');		}
}
function hideAllHorizontalMenus(){
	if(pageLoaded && menuJS_allMenus) {
		for(var i=0;i<menuJS_allMenus.length;i++) hideHorizontalMenu(menuJS_allMenus[i]);
		if(menuJS_currentMenuItem){
			menuItemHorizontalOn(menuJS_currentMenuItem);
		}
	}
}
function hideHorizontalMenu(menuID){
	if(pageLoaded) {
		var objMenu = document.getElementById(menuID);
		if(objMenu){
			objMenu.style.visibility="hidden";
			var menuCaptionID = objMenu.getAttribute("menuCaptionID");
			menuItemHorizontalOff(menuCaptionID);
		}
	}
}

function showHorizontalMenu(menuID){
	if(pageLoaded){
		hideAllMenus();
		if(menuJS_currentMenuItem){
			menuItemHorizontalOff(menuJS_currentMenuItem);
		}
		if(menuID != ''){
			var obj=document.getElementById(menuID);
			if(obj){
				if(objCaption){
					var objPos = elementPosition(objCaption);
					if(objPos){
						setElementX(obj, objPos.x);
						setElementY(obj, objPos.y + objPos.height);		
						obj.style.visibility="visible";
					}
				}
			}
		}
		displayedMenu = menuID;
	}
	return true;
}

function showHorizontalMenu(menuID, menuCaptionID){
	if(pageLoaded){
		hideAllMenus();
		if(menuJS_currentMenuItem){
			menuItemHorizontalOff(menuJS_currentMenuItem);
		}
		var objCaption = document.getElementById(menuCaptionID);
		if(objCaption){
			menuItemHorizontalOn(menuCaptionID);
		}
		if(menuID != ''){
			var obj=document.getElementById(menuID);
			if(obj){
				if(objCaption){
					var objPos = elementPosition(objCaption);
					if(objPos){
						setElementX(obj, objPos.x);
						setElementY(obj, objPos.y + objPos.height);		
						obj.style.visibility="visible";
					}
				}
			}
		}
		displayedMenu = menuID;
	}
	return true;
}


/*****************************
*
*	VERTICAL MENU
*
******************************/

var menuJS_Vertical_allMenus;
var menuJS_Vertical_currentMenuItem;

function initVerticalMenu(menuArray, currentItem){
	menuJS_Vertical_allMenus = menuArray;
	menuJS_Vertical_currentMenuItem = currentItem;
	hideAllMenus();
}
function menuItemVerticalOn(objectID){
	var object = document.getElementById(objectID);
	if(pageLoaded && object){	object.className = object.getAttribute('hoverVerticalCSSClass');	}
}
function menuItemVerticalOff(objectID){
	var object = document.getElementById(objectID);
	if(pageLoaded && object){	object.className = object.getAttribute('verticalCSSClass');		}
}
function hideAllVerticalMenus(){
	if(pageLoaded && menuJS_Vertical_allMenus) {
		for(var i=0;i<menuJS_Vertical_allMenus.length;i++) hideVerticalMenu(menuJS_Vertical_allMenus[i]);
		if(menuJS_Vertical_currentMenuItem){
			menuItemVerticalOn(menuJS_Vertical_currentMenuItem);
		}
	}
}
function hideVerticalMenu(menuID){
	if(pageLoaded) {
		var objMenu = document.getElementById(menuID);
		if(objMenu){
			objMenu.style.visibility="hidden";
		}
	}
}
function showVerticalMenu(menuID, menuCaptionID){
	if(pageLoaded && menuID != '' && menuID != displayedMenu){
		//alert("showVerticalMenu - " + menuID + "  ::  " + displayedMenu);
		hideAllMenus();
		if(menuJS_Vertical_currentMenuItem){
			menuItemVerticalOff(menuJS_Vertical_currentMenuItem);
		}
		var objCaption = document.getElementById(menuCaptionID);
		if(objCaption){
			menuItemVerticalOn(menuCaptionID);
		}
		if(menuID != ''){
			var obj=document.getElementById(menuID);
			if(obj){
				if(objCaption){
					var objPos = elementPosition(objCaption);
					if(objPos){
						setElementX(obj, objPos.x + 120);
						setElementY(obj, objPos.y + 15);		
						obj.style.visibility="visible";
					}
				}
			}
		}
		displayedMenu = menuID;
	}
	return true;
}
