//menuInsideAPI -- for inside pages

var linkRoot = "../";
var img_folder = "../images/";
var activeMenu = null;
var currentMenu = null;
var timeOutVal = null;
var timeOutVal2 = null;
var imagesLoaded = false;
var currHigh = '';
var delayTime = 500;
var onMain = false;
var imgIn = "";
var imgSrc = "";

if (is_nav4 && isDHTML)
{ onResize = reloadPage(true);
  document.captureEvents(Event.MOUSEOVER, Event.MOUSEOUT);
}

function initMouse()
{ for (thisLayer in myLayers)
    if (thisLayer.indexOf("Menu") != -1)
    { myLayers[thisLayer].currLayer.onmouseout = checkActive;
      myLayers[thisLayer].currLayer.onmouseover = setActive;
    }
  menusLoaded = true;
}

function loadImage(fileName)
{ newImage = new Image();
  newImage.src = fileName;
  return newImage;
}

function preloadImages()
{ if(document.images)
	{
    compOff = loadImage(img_folder + "buttons/butn_company2l.gif");
    compOn = loadImage(img_folder + "buttons/butn_company2l_hl.gif");
    compProOff = loadImage(img_folder + "buttons/nav_cmpy_profile.gif");
    compProOn = loadImage(img_folder + "buttons/nav_cmpy_profile_hl.gif");
    compCliOff = loadImage(img_folder + "buttons/nav_cmpy_clients.gif");
    compCliOn = loadImage(img_folder + "buttons/nav_cmpy_clients_hl.gif");
    compMgtOff = loadImage(img_folder + "buttons/nav_cmpy_management.gif");
    compMgtOn = loadImage(img_folder + "buttons/nav_cmpy_management_hl.gif");
    compConOff = loadImage(img_folder + "buttons/nav_cmpy_contact.gif");
    compConOn = loadImage(img_folder + "buttons/nav_cmpy_contact_hl.gif");

    servOff = loadImage(img_folder + "buttons/butn_services2l.gif");
    servOn = loadImage(img_folder + "buttons/butn_services2l_hl.gif");
    serOvrOff = loadImage(img_folder + "buttons/nav_srvc_overview.gif");
    serOvrOn = loadImage(img_folder + "buttons/nav_srvc_overview_hl.gif");
    serArcOff = loadImage(img_folder + "buttons/nav_srvc_architecture.gif");
    serArcOn = loadImage(img_folder + "buttons/nav_srvc_architecture_hl.gif");
    serBusOff = loadImage(img_folder + "buttons/nav_srvc_business.gif");
    serBusOn = loadImage(img_folder + "buttons/nav_srvc_business_hl.gif");
    serWebOff = loadImage(img_folder + "buttons/nav_srvc_web.gif");
    serWebOn = loadImage(img_folder + "buttons/nav_srvc_web_hl.gif");

    resOff = loadImage(img_folder + "buttons/butn_resources2l.gif");
    resOn = loadImage(img_folder + "buttons/butn_resources2l_hl.gif");
    resPorOff = loadImage(img_folder + "buttons/nav_res_portal.gif");
    resPorOn = loadImage(img_folder + "buttons/nav_res_portal_hl.gif");

    homeOff = loadImage(img_folder + "buttons/butn_home.gif");
    homeOn = loadImage(img_folder + "buttons/butn_home_hl.gif");
		
    imagesLoaded = true;
	}
}

function navLock()
{ 
   if (topNavLock.indexOf('comp') == 0) {var dontChangeTop = "comp"}
   if (topNavLock.indexOf('serv') == 0) {var dontChangeTop = "serv"}
   if (topNavLock.indexOf('res') == 0) {var dontChangeTop = "res"}

   dontChange["top"]=dontChangeTop;
   dontChange["top2"]=dontChangeTop + "Image";
   dontChange["left"]=leftNavLock;
   dontChange["left2"]=leftNavLock + "Image";
		
  currImageTop = eval("document." + dontChange["top2"]);
	if (is_nav4) {
	    currImageTop.src = eval(dontChange["top"] + "On.src");
	  } else {
	    currImageTop = eval("document." + dontChange["top2"]);
	    currImageTop.setAttribute("src", eval(dontChange["top"] + "On.src"));
	  }
	  
 if (dontChange["left"] != null && dontChange["left"] != "") {
  currImageLeft = eval("document." + dontChange["left2"]);
	if (is_nav4) {
	    currImageLeft.src = eval(dontChange["left"] + "On.src");
	  } else {
	    currImageLeft = eval("document." + dontChange["left2"]);
	    currImageLeft.setAttribute("src", eval(dontChange["left"] + "On.src"));
	  }
 }
}

function changeImage(imageIn, imageSrc)
{ if (!imagesLoaded || !document.images)
    return;
		
    if (dontChange["top2"] != imageIn && dontChange["left2"] != imageIn) {	
	  currImage = eval("document." + imageIn);
	  if (!currImage)
	    if (is_nav4)
	    { var foundImage = false;
	      for (i = 0; i < document.layers.length; i++)
	      { currImage = eval("document.layers[" + i + "].document." + imageIn);
	        if (currImage)
	        { foundImage = true;
	          break
	        }
	      }
	      if (!foundImage) return;
	    }
	    else return;
	  if (is_nav4)
	    currImage.src = eval(imageSrc + ".src");
	  else
	    currImage.setAttribute("src", eval(imageSrc + ".src"));
    }
}

function initMenu(id)
{ this.id = id;
  this.prev = null;
  this.next = null;
}	

function CTO(timeIn)
{ clearTimeout(timeIn);
  return null;
}

function showMenu(whichLayer)
{ if (activeMenu != null)
    if (isInActiveList(whichLayer))
    { timeOutVal2 = CTO(timeOutVal2);
      clearCurrent();
      clearSubs(whichLayer);
      currentMenu = activeMenu;
      activeMenu = activeMenu.prev;
      currentMenu.prev = null;
      if (activeMenu != null)
        activeMenu.next = null;
    }
    else
    {
      timeOutVal2 = CTO(timeOutVal2);
      clearCurrent();
      if (menusList[whichLayer].menuLevel == 0)
        clearSubs();

      createCurrent(whichLayer);
    }
  else
  { if (currentMenu != null)
      if (currentMenu.id.name == whichLayer) {
        timeOutVal = CTO(timeOutVal);
      } else {
        clearCurrent();
		}
    createCurrent(whichLayer);
  }
}

function createCurrent(whichLayer)
{
  currentMenu = new initMenu(myLayers[whichLayer]);

  if (is_nav4)
    if (menusList[whichLayer].left != currentMenu.id.objGetLeft() || menusList[whichLayer].top != currentMenu.id.objGetTop())
      currentMenu.id.objMoveAbsolute(menusList[whichLayer].left, menusList[whichLayer].top);
  currentMenu.id.objShow();
}

function initCheckMenu(a, b)
{ 
	if (a != null) {imgIn=a;imgSrc=b;}
	timeOutVal = setTimeout("clearCurrent()", delayTime);
}

function clearCurrent()
{ timeOutVal = CTO(timeOutVal);
  if (currentMenu != null)
  { currentMenu.id.objHide();
    currentMenu = null;	
    changeImage(imgIn, imgSrc);
  }
  if (activeMenu == null && !onMain)
   clearHighlight();
  
}

function clearCurrent2(whichLayer)
  { if (currentMenu == null)
      return;
	
//	if (whichLayer != topNavLock) {
      if (currentMenu.id.name == whichLayer)
        timeOutVal = CTO(timeOutVal);
      else
        clearCurrent();
//    }
  }
  
function checkActive()
{ if (!onMain)
    timeOutVal2 = setTimeout("hideMenu()", 20);
}

function setActive()
{
 if (timeOutVal2 != null)
    timeOutVal2 = CTO(timeOutVal2);

  if (activeMenu != null && this.id == activeMenu.id.name)
    return;

  if (isInActiveList(this.id))
  { if (currentMenu != null)
      clearCurrent();
    clearSubs(this.id);
  }
  else
  { if (currentMenu != null)
      if (currentMenu.id.name == this.id)
      { timeOutVal = CTO(timeOutVal);
        if (activeMenu != null)
        { activeMenu.next = currentMenu;
          currentMenu.prev = activeMenu;
          activeMenu = currentMenu;
          currentMenu = null;
        }
        else
        { activeMenu = currentMenu;
          currentMenu = null;
        }
      }
  }
}

function isInActiveList(checkThis)
{ var isInList = false;

  tempList = activeMenu;
  if (tempList == null)
    return isInList;

  while(tempList.next != null)
    tempList = tempList.next;

  while(tempList != null)
  { if (tempList.id.name == checkThis)
    { isInList = true;
      break;
    }
    tempList = tempList.prev;
  }
  return isInList;
}

function hideMenu(keepShowing)
{ timeOutVal2 = CTO(timeOutVal2);

  if (currentMenu != null)
    clearCurrent();

  if (activeMenu != null)
    clearSubs(keepShowing);
  
  if (activeMenu == null)
    clearHighlight();
}

function clearHighlight(keepHigh)
{ if (currHigh != "" && currHigh != null && currHigh != keepHigh)
    changeImage(currHigh, currHigh + "_off");
  currHigh = keepHigh;
}


function reloadPage(init)
{  //reloads the window if Nav4 resized
  if (init == true)
  { document.pageW = innerWidth;
    document.pageH = innerHeight;
    onresize = reloadPage;
  }
  else if (innerWidth != document.pageW || innerHeight != document.pageH)
    location.reload();
}

function OutsideWindow(site)
{
	window.open(site, 'OutsideWindow', 'width=600,height=400,location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes');
}
