var docLoaded = false;
var cookieName = "WDH";
var minWidth = 150;
var menuWidth = getWidth(250);
var menuVisible = false;

function getWidth(w) {
  var a,i,a1,n;
  a = document.cookie.split("; ");
  for (i = 0; i < a.length; i++) if ((a1 = a[i].split("="))[0] == cookieName) break;
  n = Number(i < a.length ? a1[1] : 0);
  return(isNaN(n) || n < minWidth ? w : n);
}

function saveWidth(w) {
  var d = new Date();
  d.setFullYear(d.getFullYear() + 1);
  document.cookie = cookieName + "=" + w + "; path=/; expires=" + d.toUTCString();
}

function setEventProps() {
  if (wdhmenu.event)
    with (wdhmenu.event) {
      cancelBubble = true;
      returnValue = false;
    }
}

function setCols(visible) {
  menuVisible = visible;
  wdhwin.cols = String(visible ? menuWidth : 10) + ",*";
}

function switchMenu() {
  if (!menuVisible)
    showMenu();
  else
    hideMenu();
}

function showMenu() {
  if (currentBrowser.isIE5up && docLoaded) wdhmain.createTR();
  setCols(true);
  if (currentBrowser.isIE5up && docLoaded) wdhmain.scrollTR();
  if (!menuVisible) return;
  with (wdhmenu.divBody) {
    style.width = wdhmenu.document.body.clientWidth;
    style.height = wdhmenu.document.body.clientHeight;
    style.display = "block";
    focus();
  }
  setEventProps();
}

function hideMenu() {
  if (currentBrowser.isIE5up && docLoaded) wdhmain.createTR();
  wdhmenu.divBody.style.display = "none";
  setCols(false);
  if (currentBrowser.isIE5up && docLoaded) wdhmain.scrollTR();
  if (docLoaded) wdhmain.focus();
  setEventProps();
}

function gotoURL(elem) {
  docLoaded = false;
  wdhmain.document.URL = (location.pathname == elem.pathname) ? elem.hash : elem.href;
  if (docLoaded) wdhmain.focus();
}

function checkLeftButton() {
 var elem = wdhmenu.window.event.srcElement;
  if (elem.tagName == "A")
    gotoURL(elem);
  else if (elem.className == "expand") {
    pelem = elem.parentElement;
    if (pelem.tagName == "A")
      gotoURL(pelem);
  } else
    switchMenu();
  setEventProps();
}

function checkMenu() {
  var newWidth = wdhmenu.document.body.clientWidth + 2;
  if (newWidth > minWidth) {
    saveWidth(menuWidth = newWidth);
    showMenu();
  } else
    hideMenu();
}
