var navigation_cookie_key = "navigation_state=";
var navigation_master_div_element_id = "navigation_master_div";
function NavigationCloseAllChildren(parentNode)
{
  var elements = parentNode.getElementsByTagName("span");
  for (var i = 0; i < elements.length; i++)
  {
    elements[i].style.display = "none";
  }
}
function NavigationAction(elementId)
{
  var element = document.getElementById(elementId);
  var styleDisplay = element.style.display;
  NavigationCloseAllChildren(element.parentNode);
  if (styleDisplay != "block")
  {
    element.style.display = "block";
    NavigationSaveState(elementId);
  }
  else
  {
    if (element.parentNode.id != navigation_master_div_element_id)
    {
      NavigationSaveState(element.parentNode.id);
    }
    else
    {
      NavigationSaveState("");
    }
    element.style.display = "none";
  }
}
function NavigationSaveState(elementId)
{
  document.cookie=navigation_cookie_key + "" + escape(elementId);
}
function NavigationOnLoad()
{
  NavigationCloseAllChildren(document.getElementById(navigation_master_div_element_id));
  if (document.cookie.length > 0)
  {
    var offset = document.cookie.indexOf(navigation_cookie_key);
    if (offset != -1)
    {
      offset += navigation_cookie_key.length;
      var end = document.cookie.indexOf(";", offset);
      if (end == -1)
      {
        end = document.cookie.length;
      }
      var elementId = unescape(document.cookie.substring(offset, end));
      if ((elementId != undefined) &&
          (elementId != ""))
      {
        NavigationAction(elementId);
        var element = document.getElementById(elementId);
        var parentNode = element.parentNode;
        while (parentNode)
        {
          var parentNodeId = parentNode.id;
          if (parentNodeId != undefined)
          {
            parentNode.style.display = "block";
            if (parentNodeId != navigation_master_div_element_id)
            {
              parentNode = parentNode.parentNode;
            }
            else
            {
              return;
            }
          }
          else
          {
            return;
          }
        }

      }
    }
  }
}

window.onload=NavigationOnLoad;
