function initPage() {
  if (document.all && !window.opera) {
    var nav = document.getElementById("nav-top");
    if (nav) {
      var nodes = nav.getElementsByTagName("li");
      for (var i = 0; i < nodes.length; i++) {
        if (nodes[i].parentNode.parentNode.id == "nav-top") {
          nodes[i].onmouseover = function () {this.className += " hover";};
          nodes[i].onmouseout = function () {this.className = this.className.replace(" hover", "");};
        }
      }
    }
  }

  var bs = document.getElementById("leftnav-tree");
  if (bs) {
    var divs = bs.getElementsByTagName("li");
    for (var i = 0; i < divs.length; i++) {
      if (divs[i].className == "tree") {
        divs[i].onclick = function (event) {
          if (!event) {event = window.event;}
          var src = event.target || event.srcElement;
          if (this == src)
          {
            this.parentNode.className = this.parentNode.className == "active" ? "" : "active";
            event.cancelBubble = true;
            return false;
          }
        };
      }
    }
  }
  var curSource = document.getElementById("breadcrumbs");
  if(curSource)
  {
    var lis = curSource.getElementsByTagName("li");
    var menuPath = new Array();
    for (var i = 0; i < lis.length; i++) {
      var cur = lis[i];
      if(cur.getElementsByTagName('a').length)
        cur = cur.childNodes[0];
      menuPath[menuPath.length] = cur.innerHTML.replace(/\s+$/, '');
    }
    if(menuPath.length == 2)
      setCurrentNav(bs, menuPath[1], '');
    else if(menuPath.length == 3)
    {
      setCurrentNav(bs, menuPath[1], menuPath[2]);
      setCurrentNav(bs, menuPath[2],'');
    }else if(menuPath.length == 4)
    {
      setCurrentNav(bs, menuPath[2], menuPath[3]);
    }
  }
}

function setCurrentNav(nav, mainItem, subItem) {
  if(nav == null)
  {
    return;
  }
  var links = nav.getElementsByTagName("a");
  for (var i = 0; i < links.length; i++) {
    if(links[i].parentNode.parentNode == nav) //Main item
    {
      if(links[i].innerHTML == mainItem)
      {
        links[i].className = "current";
        links[i].parentNode.className = "active";
      }
    }
    if(subItem && links[i].parentNode.parentNode.parentNode.parentNode == nav) //Sub item
    {
      if(links[i].innerHTML == subItem)
      {
        links[i].className = "current";
      }
    }
  }

}

if (window.addEventListener)
 window.addEventListener("load", initPage, false);
if (window.attachEvent)
 window.attachEvent("onload", initPage);
