  function showMenuBlock(i)
  {
    if (document.getElementById) {
      var el = document.getElementById(i);
      if (el != null) {
        hideAll();
        el.style.display = "block";
        document.cookie = "menublock=" + i;
        /* Focus the first link */
        var ll = el.getElementsByTagName("a");
        if (ll.length > 0) {
          ll[0].focus();
        }
      }
      return(false);
    }
    return(true);
  }

  function hideAll()
  {
    if (document.getElementsByTagName) {
      var ulEls = document.getElementsByTagName("div");
      for (var i = 0; i < ulEls.length; i++) {
        if (ulEls[i].className == "menublock")
          ulEls[i].style.display = "none";
      }
    }
  }

  function restoreMenuBlock()
  {
    var mb = getCookie("menublock");
    if (mb != null && mb.length > 0) {
      showMenuBlock(mb);
    }
  }

  /* From D. Goodman, JavaScript Bible, 4th ed., p. 521.
     With a safety check added. */
  function getCookie(labelName)
  {
    var labelLen = labelName.length;
    var cookieData = document.cookie;
    if (cookieData == null || cookieData.length == 0)
      return "";
    var cLen = cookieData.length;
    var i = 0;
    var cEnd
    while (i < cLen) {
      var j = i + labelLen;
      if (cookieData.substring(i,j) == labelName) {
        cEnd = cookieData.indexOf(";",j);
        if (cEnd == -1) {
          cEnd = cookieData.length;
        }
        return unescape(cookieData.substring(j+1, cEnd));
      }
      i++;
    }
    return "";
  }
