var mmOpenContainer = null;
var mmOpenMenus = null;
var mmHideMenuTimer = null;

function MM_menuStartTimeout(hideTimeout) {
	mmHideMenuTimer = setTimeout("MM_menuHideMenus()", hideTimeout);	
}

function MM_menuHideMenus() {
	MM_menuResetTimeout();
	if(mmOpenContainer) {
		var c = document.getElementById(mmOpenContainer);
		c.style.visibility = "inherit";
		mmOpenContainer = null;
	}
	if( mmOpenMenus ) {
		for(var i = 0; i < mmOpenMenus.length ; i++) {
			var m = document.getElementById(mmOpenMenus[i]);
			m.style.visibility = "hidden";			
		}
		mmOpenMenus = null;
	}
}

function MM_menuHideSubmenus(menuName) {
	if( mmOpenMenus ) {
		var h = false;
		var c = 0;
		for(var i = 0; i < mmOpenMenus.length ; i++) {
			if( h ) {
				var m = document.getElementById(mmOpenMenus[i]);
				m.style.visibility = "hidden";
			} else if( mmOpenMenus[i] == menuName ) {
				h = true;
			} else {
				c++;
			}
		}
		mmOpenMenus.length = c+1;
	}
}

function MM_menuOverMenuItem(menuName, subMenuSuffix) {
	MM_menuResetTimeout();
	MM_menuHideSubmenus(menuName);
	if( subMenuSuffix ) {
		var subMenuName = "" + menuName + "_" + subMenuSuffix;
		MM_menuShowSubMenu(subMenuName);
	}
}

function MM_menuShowSubMenu(subMenuName) {
	MM_menuResetTimeout();
	var e = document.getElementById(subMenuName);
	e.style.visibility = "inherit";
	if( !mmOpenMenus ) {
		mmOpenMenus = new Array;
	}
	mmOpenMenus[mmOpenMenus.length] = "" + subMenuName;
}

function MM_menuResetTimeout() {
	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
	mmHideMenuTimer = null;
}

function MM_menuShowMenu(containName, menuName, xOffset, yOffset, triggerName) {
	MM_menuHideMenus();
	MM_menuResetTimeout();
	MM_menuShowMenuContainer(containName, xOffset, yOffset, triggerName);
	MM_menuShowSubMenu(menuName);
}

function MM_menuShowMenuContainer(containName, x, y, triggerName) {	
	var c = document.getElementById(containName);
	var s = c.style;
	s.visibility = "inherit";
	
	mmOpenContainer = "" + containName;
}

function swapImage (box,onFlag,arrowFlag){
	switch (arrowFlag){
	case 1:
		if (onFlag == 1)
			var img = 'header_arrow_c1_f2.jpg';
		else
			var img = 'header_arrow_c1.jpg';
		break;
	case 0:
		if (onFlag == 1)
			var img = 'header_blank_c1_f2.jpg';
		else
			var img = 'header_blank_c1.jpg';
		break;
	case 3:
		if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
		if (onFlag == 1)
			var img = 'blank.jpg';
		else
			var img = '';
		break;
	}
	if (img != ''){
		var newImage = "url(https://lucidtmedia.com/whmcs/images/" + img + ")";
		box.style.backgroundImage = newImage;
	} else {
		box.style.backgroundImage = 'none';
		closeMenu();
	}
}

function loadMenu (box,menuObjects){
	hideMenu();
	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
	mmHideMenuTimer = null;
	var menu = document.getElementById('subMenu');
	while (menu.childNodes.length > 0)
		menu.removeChild (menu.childNodes[0]);
	menu.style.top = findPosY(box) + 'px';
	menu.style.left = findPosX(box) + 240 + 'px';
	
	for (title in menuObjects) {
		var subMenu = document.createElement ("div");
		subMenu.setAttribute ('class','subRow');
		subMenu.onmouseover = function() {swapImage (this,1,3)};
		subMenu.onmouseout = function() {swapImage(this,0,3)};
		subMenu.innerHTML = "<a href=\"" + menuObjects[title] + "\" class=\"subMenu\">" + title + "</a>";
		menu.appendChild (subMenu);
	}
	menu.style.display = 'block';
}

function hideMenu (){
	document.getElementById('subMenu').style.display = 'none';
}

function closeMenu(){
	mmHideMenuTimer = setTimeout("hideMenu()", 500);
}
function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
        	
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
 //   if (get_window_width() > 965){  /*this is to compensate for the centering of the main outer div*/
   // 	curleft -= ((get_window_width() / 2) - (965 / 2));
    //}
    return curleft;
  }

function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          if (obj.id)
          	if (obj.id == 'sub_div')
          		break;
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

