function lexMenuCloseAllNodes()
{
  var uls  = window.document.getElementsByTagName("UL");
  for (var i=0; i<uls.length; i++)
  {
    if (uls[i].id.indexOf("_ul") != -1)
    {
      lexMenuHideNode(uls[i]);
    }
  }
}

function lexMenuShowNode(eId)
{
  if (    (eId.id.indexOf("_ul") != -1)
       && (eId.style.display == "none")
     )
  {
    eId.style.display = "";
  }
}

function lexMenuHideNode(eId)
{
  if (    (eId.id.indexOf("_ul") != -1)
       && (eId.style.display != "none")
     )
  {
    eId.style.display = "none";
  }
}

function lexMenuNodeToggle(eId)
{
  var el   = window.document.getElementById(eId + "_ul");
  // Toggle the node
  if (el.style.display != "none")
  {
    lexMenuHideNode(el);
  }
  else
  {
    // Close all nodes
    lexMenuCloseAllNodes()
    // Open the current node
    lexMenuShowNode(el);
    // Open also the parent nodes
    el = ( el.parentElement ? el.parentElement : el.parentNode);
    while (el && el.id)
    {
      lexMenuShowNode(el);
      el = ( el.parentElement ? el.parentElement : el.parentNode);
    }
  }
}