//<SCRIPT>
var sHideFieldArr;

MNU_SCRIPT = 1;
MNU_REPLACE = 2;
MNU_SEP = 3;

ITEM_TYPE = 0;
ITEM_TEXT = 1;
ITEM_HANDLER = 2;
ITEM_IS_CURRENT = 3;
ITEM_IS_INVISIBLE = 4;

offset = 0;
defaultWidth = 150;
defaultStyleId = 1;

var gMenu_Personal = [[MNU_SCRIPT, "Personal", "doSubmit(AC_PERSONAL)"],
				[MNU_SCRIPT, "Spouse", "doSubmit(AC_SPOUSE)"],
				[MNU_SCRIPT, "Dependents", "doSubmit(AC_DEPENDENT)"],
				[MNU_SCRIPT, "Financial", "doSubmit(AC_FINANCIAL)"]];
				
var gMenu_Process = [[MNU_SCRIPT, "Grid View", "doSubmit(AC_PROCESS)"],
				[MNU_SCRIPT, "Preview", "doSubmit(AC_PREVIEW)"],
				[MNU_SCRIPT, "Print", "doSubmit(AC_PRINT)"]];

var gMenu_Personal_PagePr = [[MNU_SCRIPT, "Spouse", "doSubmit(AC_SPOUSE)"],
				[MNU_SCRIPT, "Dependents", "doSubmit(AC_DEPENDENT)"],
				[MNU_SCRIPT, "Financial", "doSubmit(AC_FINANCIAL)"]];
				
var gMenu_Personal_PageSp = [[MNU_SCRIPT, "Personal", "doSubmit(AC_PERSONAL)"],
				[MNU_SCRIPT, "Dependents", "doSubmit(AC_DEPENDENT)"],
				[MNU_SCRIPT, "Financial", "doSubmit(AC_FINANCIAL)"]];

var gMenu_Personal_PageDep = [[MNU_SCRIPT, "Personal", "doSubmit(AC_PERSONAL)"],
				[MNU_SCRIPT, "Spouse", "doSubmit(AC_SPOUSE)"],
				[MNU_SCRIPT, "Financial", "doSubmit(AC_FINANCIAL)"]];

var gMenu_EmpPersonal_PagePr = [[MNU_SCRIPT, "Spouse", "doSubmit(AC_EMPLOYEESPOUSE)"],
				[MNU_SCRIPT, "Dependents", "doSubmit(AC_EMPLOYEEDEPENDENT)"]];
				
var gMenu_EmpPersonal_PageSp = [[MNU_SCRIPT, "Personal", "doSubmit(AC_EMPLOYEEPERSONAL)"],
				[MNU_SCRIPT, "Dependents", "doSubmit(AC_EMPLOYEEDEPENDENT)"]];

var gMenu_EmpPersonal_PageDep = [[MNU_SCRIPT, "Personal", "doSubmit(AC_EMPLOYEEPERSONAL)"],
				[MNU_SCRIPT, "Spouse", "doSubmit(AC_EMPLOYEESPOUSE)"]];
				
var gMenu_Personal_PageFI = [[MNU_SCRIPT, "Personal", "doSubmit(AC_PERSONAL)"],
				[MNU_SCRIPT, "Spouse", "doSubmit(AC_SPOUSE)"],
				[MNU_SCRIPT, "Dependents", "doSubmit(AC_DEPENDENT)"]];
								
var gMenu_AU_SD = [[MNU_SCRIPT, "Benefits", "doSubmit(AC_AU_BENEFIT_SD)"],
				[MNU_SCRIPT, "Rollout", "doSubmit(AC_AU_ROLLOUT)"],
				[MNU_SCRIPT, "Term Data", "doSubmit(AC_AU_TERMDATA)"],
				[MNU_SCRIPT, "Case Data", "doSubmit(AC_AU_CASEDATA)"]];

var gMenu_AU_EB = [[MNU_SCRIPT, "Benefits", "doSubmit(AC_AU_BENEFIT_SD)"],
				[MNU_SCRIPT, "Term Data", "doSubmit(AC_AU_TERMDATA)"],
				[MNU_SCRIPT, "Case Data", "doSubmit(AC_AU_CASEDATA)"]];

var gMenu_AU_DC = [[MNU_SCRIPT, "Benefits", "doSubmit(AC_AU_BENEFIT_DC)"],
				[MNU_SCRIPT, "Case Data", "doSubmit(AC_AU_CASEDATA)"]];

var oMenu;

function showPopup (holder, arrContent, width, left, top, styleId, sHideFields, needExtra) { 
//   if (document.all) { 
      if (arrContent.pageJumpMenu) {
         //show active page in bold for FA tracks
         arrContent = preprocessContent(arrContent);
      }
      oMenu = FindObj(holder);
      var i;
      var maxIndex = 0;

   if (document.all) { 
      var len = document.all.length;
      for (i = 0; i < len; ++i) {
         if (document.all[i].style.zIndex) {
            if (maxIndex < document.all[i].style.zIndex)
               maxIndex = document.all[i].style.zIndex;
         }
      }
      oMenu.style.zIndex = maxIndex + 1;
   } else {
		oMenu.style.zIndex = 50
	}
      if (styleId) {
      } else {
         styleId = defaultStyleId;
      }

      loadMenu(oMenu, arrContent, styleId);
      
      if (width) {
      } else {
         width = defaultWidth;
      }
      if (left) {
      } else {
         if (event.clientX + width + offset < document.body.clientWidth) {
            left = event.clientX + offset; 
         } else {
            left = event.clientX - width - offset; 
         }
      }
      if (top) {
      } else {
         top = event.clientY + offset; 
         if (event.clientY + oMenu.clientHeight + offset > document.body.clientHeight) {
            if ((oMenu.clientHeight + offset) < event.clientY) {
               top = event.clientY - oMenu.clientHeight - offset; 
            }
         }
      }
      oMenu.style.width = width;
      oMenu.style.left = left;
      oMenu.style.top = top;
      oMenu.style.visibility = 'visible'; 
      document.body.onmouseup = closePopup;

      if(sHideFields) {
         sHideFieldArr = sHideFields.split(';');
         for (i = 0; i < sHideFieldArr.length; i++) {
		 	if(FindObj(sHideFieldArr[i])) {
				if(GetRightPos(FindObj(sHideFieldArr[i])) >= left) {
		            FindObj(sHideFieldArr[i]).style.visibility = 'hidden';
					FindObj(sHideFieldArr[i]).HideByMenu = true;
				}
			}
         }
      }
	  
	  try
	  {
	  	if (needExtra)
		{
		  if(sExHideFields) {
			 sHideFieldArr = sExHideFields.split(';');
			 for (i = 0; i < sHideFieldArr.length; i++) {
			 	if(FindObj(sHideFieldArr[i])) {
					FindObj(sHideFieldArr[i]).style.visibility = 'hidden';
				}
			 }
		  }
		}
	  }
	  catch (e)
	  {
	  }		
	  
     return false; 
//   } 
   return true; 
} 

function closePopup() {
   if (oMenu && oMenu.style.visibility == 'visible') {
      oMenu.style.visibility = 'hidden'; 
      if(sHideFieldArr) {
         for (i = 0; i < sHideFieldArr.length; i++) 
		 	if(FindObj(sHideFieldArr[i])) {
				if(FindObj(sHideFieldArr[i]).HideByMenu == true) {
		            FindObj(sHideFieldArr[i]).style.visibility = 'visible';
					FindObj(sHideFieldArr[i]).HideByMenu = false;
				}
			}
      }
      document.body.onmouseup = null;
   }	
   return false; 
} 

function loadMenu (oMenu, arrContent, styleId) { 

//	oMenu.onmouseout = "javascript:oMenu = this; this.tid = window.setTimeout('oMenu.style.visibility = \'hidden\'', 1000);"; 
//	oMenu.onmouseover = "javascript:window.clearTimeout(this.tid);";

	var sHtml = "";
	var classMenu = "Menu" + styleId;
	var classMenuOn = "MenuOn" + styleId;
	var sepMenu = "MenuSep" + styleId;
	
	for (i=0; i<arrContent.length; i++) {
		if(!arrContent[i][ITEM_IS_INVISIBLE]) {
			switch (arrContent[i][ITEM_TYPE]) {
				case MNU_REPLACE:
					sHtml = sHtml + '<DIV CLASS="' + classMenu + '" ONMOUSEOVER="this.className = \'' + classMenuOn + 
							'\'" ONMOUSEOUT="this.className = \'' + classMenu
					if (arrContent[i][ITEM_HANDLER].indexOf("javascript") >= 0) {
						sHtml = sHtml + '\'" onclick="' +  arrContent[i][ITEM_HANDLER] + '">';
					} else {
						sHtml = sHtml + '\'" onclick="javascript:replacepage(\'' +  arrContent[i][ITEM_HANDLER] + '\')">';
					}
					if (arrContent[i][ITEM_IS_CURRENT]) sHtml = sHtml + "<B>";
					sHtml = sHtml + arrContent[i][ITEM_TEXT];
					if (arrContent[i][ITEM_IS_CURRENT]) sHtml = sHtml + "</B>";
					sHtml = sHtml + "</DIV>";
					break;
				case MNU_SCRIPT:
					sHtml = sHtml + '<DIV CLASS="' + classMenu + '" ONMOUSEOVER="this.className = \'' + classMenuOn + 
							'\'" ONMOUSEOUT="this.className = \'' + classMenu + 
							'\'" onclick="javascript:' + arrContent[i][ITEM_HANDLER] + '">';
					if (arrContent[i][ITEM_IS_CURRENT]) sHtml = sHtml + "<B>";
					sHtml = sHtml + arrContent[i][ITEM_TEXT];
					if (arrContent[i][ITEM_IS_CURRENT]) sHtml = sHtml + "</B>";
					sHtml = sHtml + "</DIV>";
					break;
				case MNU_SEP:
					sHtml = sHtml + '<DIV CLASS="' + sepMenu + '"></DIV>';
					break;
			}
		}
	}
	oMenu.innerHTML = sHtml;
}

function colorMe(thisRow){
if (document.all) {
	var newColor = document.styleSheets[0].rules[2].style.backgroundColor;
	var newTextColor = document.styleSheets[0].rules[2].style.color;
} else {
	var newColor = document.styleSheets[0].cssRules[2].style.backgroundColor;
	var newTextColor = document.styleSheets[0].cssRules[2].style.color;
}
	thisRow.style.backgroundColor = newColor;
	thisRow.cells[0].style.color = newTextColor;
	thisRow.cells[1].style.color = newTextColor;
	thisRow.cells[0].borderColor = newColor;
	thisRow.cells[1].borderColor = newColor;
  
}
function unColorMe(thisRow){
if (document.all) {
	var newColor = document.styleSheets[0].rules[1].style.backgroundColor;
	var newTextColor = document.styleSheets[0].rules[1].style.color;
} else {
	var newColor = document.styleSheets[0].cssRules[1].style.backgroundColor;
	var newTextColor = document.styleSheets[0].cssRules[1].style.color;
}
	thisRow.style.backgroundColor = newColor;
	thisRow.cells[0].style.color = newTextColor;
	thisRow.cells[1].style.color = newTextColor;
	thisRow.cells[0].borderColor = newColor;
	thisRow.cells[1].borderColor = newColor;
}  

function preprocessContent(arrContent) {
	var oPageNum = FindObj("PageNumber");
	if (oPageNum) {
		var pageId = parseInt(oPageNum.value);
		for (i=0; i < arrContent.length; i++) {
			//Get pageId parameter from js call to ChangePage(pageId)
			var curId = arrContent[i][2].substring(11);
			if (isNaN(curId.charAt(0))) curId = curId.substring(1); //if parameter in quotes - remove them
			var curId = parseInt(curId);
			if (curId == pageId) {
				arrContent[i][ITEM_IS_CURRENT] = 1;
			}
		}
	}
	return arrContent;
}

function GetRightPos(obj) { 
	var lPos = obj.offsetLeft + obj.offsetWidth; 
	var oParent = obj.offsetParent; 

	while (oParent!= null) { 
		if (document.all && oParent.tagName == "TD") { 
			lPos += oParent.clientLeft; 
		} 
		lPos += oParent.offsetLeft; 
		oParent = oParent.offsetParent; 
	} 
	
	return lPos;
} 
