

var tabIds = new Array();
var divFirstMenu, divSecondMenu, divThirdMenu;


function MenuInit(breadcrumbIds)
{
  tabIds = breadcrumbIds.split(",");

  divHeader = $get("divHeader");

  divFirstMenu = $get("divFirstMenu");
  divSecondMenu = $get("divSecondMenu");
  divThirdMenu = $get("divThirdMenu");

  RemoveMenuLastSeparator("divFirstMenu");
}


// ### Methods #####################################################################

function GetPosition(objectElement)
{
  var posX = objectElement.offsetLeft;
  var posY = objectElement.offsetTop;

  while (objectElement.offsetParent)
  {
    posX += objectElement.offsetParent.offsetLeft;
    posY += objectElement.offsetParent.offsetTop;

    if (objectElement == document.getElementsByTagName("body")[0])
    {
      break;
    }
    else
    {
      objectElement = objectElement.offsetParent;
    }
  }

  return ([posX, posY]);
}

function RemoveMenuLastSeparator(menuId)
{
  if ($get(menuId))
  {
    var separators = $get(menuId).getElementsByTagName("div");

    var separatorObjects = new Array;
    var lastIndex = 0;

    for (var i = 0; i < separators.length; i++)
    {
      if (separators[i].className == "separator")
      {
        separatorObjects[lastIndex] = separators[i];
        lastIndex += 1;
      }
    }

    separatorObjects[lastIndex - 1].style.display = "none";
  }
}


// ### Menu Methods ################################################################

var tAllMenu;
var tFirstMenuContainer, tSecondMenuContainer;
var tSecondMenu;


function ResetAllMenu()
{
  ResetFirstMenu();
  ResetSecondMenuContainer();
  ResetSecondMenu();
  ResetThirdMenuContainer();
}

function CancelResetAllMenu()
{
  if (tAllMenu)
  {
    clearTimeout(tAllMenu);
  }
}

function FirstMenuContainerOut()
{
  tAllMenu = setTimeout("ResetAllMenu()", 500);
}

function CancelFirstMenuContainerOut()
{
  if (tFirstMenuContainer)
  {
    clearTimeout(tFirstMenuContainer);
  }
}

function FirstMenuOver(menuItem, menuId)
{
  CancelResetAllMenu()

  CancelFirstMenuContainerOut();
  CancelResetSecondMenuContainer();
  ResetFirstMenu();

  if (menuId != tabIds[0])
  {
    menuItem.className = "selectedmenuitem";
  }

  ResetSecondMenuContainer();
  ResetSecondMenu();

  ResetThirdMenuContainer();

  if ($get("secondmenu_" + menuId.toString()))
  {
    divSecondMenu.style.display = "block";
    $get("secondmenu_" + menuId.toString()).style.display = "block";

    $get("secondmenu_" + menuId).style.left = GetPosition(menuItem)[0].toString() + "px";
    $get("secondmenu_" + menuId).style.top = (GetPosition(menuItem)[1] + menuItem.offsetHeight + 2).toString() + "px";
  }
}

function ResetFirstMenu()
{
  if (divFirstMenu)
  {
    var firstMenuItems = divFirstMenu.getElementsByTagName("div");

    for (var i = 0; i < firstMenuItems.length; i++)
    {
      if ((firstMenuItems[i].className == "selectedmenuitem") && (firstMenuItems[i].id.indexOf("_" + tabIds[0]) == -1))
      {
        firstMenuItems[i].className = "menuitem";
      }
    }
  }
}

function SecondMenuContainerOver()
{
  CancelFirstMenuContainerOut();
  CancelResetSecondMenuContainer();
  CancelResetAllMenu();
}

function SecondMenuContainerOut()
{
  tAllMenu = setTimeout("ResetAllMenu()", 500);
}

function ResetSecondMenuContainer()
{
  if (divSecondMenu)
  {
    var secondMenuContainerItems = divSecondMenu.getElementsByTagName("table");

    for (var i = 0; i < secondMenuContainerItems.length; i++)
    {
      if (secondMenuContainerItems[i].className == "secondmenucontainer")
      {
        secondMenuContainerItems[i].style.display = "none";
      }
    }

    divSecondMenu.style.display = "none";
  }
}

function CancelResetSecondMenuContainer()
{
  if (tSecondMenuContainer)
  {
    clearTimeout(tSecondMenuContainer);
  }
}

function SecondMenuOver(menuItem, menuId)
{
  CancelResetAllMenu();

  CancelResetSecondMenuContainer();
  ResetSecondMenu();

  menuItem.className = "selectedmenuitem";

  ResetThirdMenuContainer();

  if ($get("thirdmenu_" + menuId))
  {
    $get("thirdmenu_" + menuId).style.left = (GetPosition(menuItem)[0] + menuItem.offsetWidth).toString() + "px";
    $get("thirdmenu_" + menuId).style.top = GetPosition(menuItem)[1].toString() + "px";

    divThirdMenu.style.display = "block";
    $get("thirdmenu_" + menuId).style.display = "block";
  }
}

function ResetSecondMenu()
{
  if (divSecondMenu)
  {
    var secondMenuItems = divSecondMenu.getElementsByTagName("div");

    for (var i = 0; i < secondMenuItems.length; i++)
    {
      if ((secondMenuItems[i].className == "selectedmenuitem") || (secondMenuItems[i].className == "menuitem"))
      {
        secondMenuItems[i].className = "menuitem";
      }
    }
  }
}

function ThirdMenuContainerOver()
{
  CancelResetAllMenu();
}

function ThirdMenuContainerOut()
{
  tAllMenu = setTimeout("ResetAllMenu()", 500);
}

function ResetThirdMenuContainer()
{
  if (divThirdMenu)
  {
    var thirdMenuContainerItems = divThirdMenu.getElementsByTagName("table");

    for (var i = 0; i < thirdMenuContainerItems.length; i++)
    {
      thirdMenuContainerItems[i].style.display = "none";
    }

    divThirdMenu.style.display = "none";
  }
}



