﻿
var MenuL2Panel = new Array();
var MenuL3Panel = new Array();
var isMouseOnMenuL1 = false;
var isMouseOnMenuL2 = false;
var isMouseOnMenu2Panel = false;
var isMouseOnMenuL3Panel = false;

var menuL1CurrentId = null;
var menuL1CurrentClass;
var menuL1HoverClass;

/** Menu Hover **/
function ResetMenuL1Class() 
{
  if (menuL1CurrentId != null) 
  {
    var menuL1Current = document.getElementById(menuL1CurrentId);
    menuL1Current.className = menuL1CurrentClass;
    menuL1CurrentId = null;
  }
}
function SetMenuL1HoverClass(menuL1Id, menuL1ClassName, menuL1HoverClassName) 
{
  ResetMenuL1Class();
  
  menuL1CurrentId = menuL1Id;
  menuL1CurrentClass = menuL1ClassName;
  menuL1HoverClass = menuL1HoverClassName;

  var menuL1Current = document.getElementById(menuL1Id);
  menuL1Current.className = menuL1HoverClass;
}


function AddMenuL2Panel(menuL2PanelId)
{
  MenuL2Panel[MenuL2Panel.length] = menuL2PanelId;
}
function AddMenuL3Panel(menuL3PanelId)
{
  MenuL3Panel[MenuL3Panel.length] = menuL3PanelId;
}

/** Event:OnMouseOver **/
function MenuL1_OnMouseOver(menuL1Id,menuL2PanelId)
{
  isMouseOnMenuL1 = true;
  HideMenuL2Panel();
  HideMenuL3Panel();
  ShowMenuL2Panel(menuL1Id, menuL2PanelId);
}
function MenuL2_OnMouseOver(menuL2Id, menuL3PanelId) 
{
  isMouseOnMenuL2 = true;
  HideMenuL3Panel();
  if (typeof (menuL3PanelId) != "undefined")
    ShowMenuL3Panel(menuL2Id, menuL3PanelId);
}
function MenuL2Panel_OnMouseOver(menuL1Id, menuL1Class, menuL1HoverClass) 
{
  isMouseOnMenu2Panel = true;
  
  SetMenuL1HoverClass(menuL1Id, menuL1Class, menuL1HoverClass);
}
function MenuL3Panel_OnMouseOver(/*menuL1Id, menuL1Class, menuL1HoverClass*/)
{
  isMouseOnMenuL3Panel = true;

  //SetMenuL1Hover(menuL1Id, menuL1Class, menuL1HoverClass); // No need to set MenuL3Panel due to it has been covered by MenuL2Panel
}

/** Event:OnMouseOut **/
function MenuL1_OnMouseOut()
{
  isMouseOnMenuL1 = false;
  window.setTimeout("HideMenuWithTimeout()", 1000);
}
function MenuL2_OnMouseOut()
{
  isMouseOnMenuL2 = false;
  window.setTimeout("HideMenuWithTimeout()", 1000);
}
function MenuL2Panel_OnMouseOut() 
{
  isMouseOnMenu2Panel = false;
  window.setTimeout("HideMenuWithTimeout()", 1000);

  ResetMenuL1Class();
}
function MenuL3Panel_OnMouseOut()
{
  isMouseOnMenuL3Panel = false;
  window.setTimeout("HideMenuWithTimeout()", 1000);

  //ResetMenuL1Class(); // No need to reset MenuL3Panel due to it has been covered by MenuL2Panel
}

/** Internal Functions **/
function ShowMenuL2Panel(menuL1Id, menuL2PanelId) 
{
  var menuL2Panel = document.getElementById(menuL2PanelId);
  menuL2Panel.style.display = "block";

  //var menuL1 = document.getElementById(menuL1Id);
  //menuL2Panel.style.width = (menuL1.offsetWidth - 2) + "px";
}

function ShowMenuL3Panel(menuL2Id, menuL3PanelId) 
{
  var menuL3Panel = document.getElementById(menuL3PanelId);
  menuL3Panel.style.display = "block";

  var menuL2 = document.getElementById(menuL2Id);
  menuL3Panel.style.left = (menuL2.clientLeft + menuL2.offsetWidth - 5) + "px";
}

function HideMenuWithTimeout() 
{
  if (isMouseOnMenuL3Panel == false && isMouseOnMenuL2 == false) 
  {
    HideMenuL3Panel();
    if (isMouseOnMenu2Panel == false && isMouseOnMenuL1 == false) 
    {
      HideMenuL2Panel();
    }
  }
}

function HideMenuL2Panel()
{
  for(var i=0; i<MenuL2Panel.length; i++)
  {
    var menuL2Panel = document.getElementById(MenuL2Panel[i]);
    if(menuL2Panel.style.display=="block")
    {
      menuL2Panel.style.display = "none";
    }
  }
}

function HideMenuL3Panel()
{
  for(var i=0; i<MenuL3Panel.length; i++)
  {
    var menuL3Panel = document.getElementById(MenuL3Panel[i]);
    if(menuL3Panel.style.display=="block")
    {
      menuL3Panel.style.display = "none";
    }
  }
}

/*function IsIE()
{
    var browser=navigator.appName;
    var b_version=navigator.appVersion;

    if ((browser=="Microsoft Internet Explorer"))
    {  
       return 1;
    }
    else
    {
       return 0;
    }
}

function IsSafari()
{
    return (navigator.userAgent.toLowerCase().indexOf('safari') != -1);
}

function IsFirefox()
{
    return (navigator.userAgent.toLowerCase().indexOf('firefox') != -1);
}*/
