

      function adjustHorizontalNav(div, level)
      {
        var cw = clientWidth();
        var w = getDimensions(div).width;
        var p = FindAbsolutePosition(div).left;
        //debug("pos: " + p + ", width: " + w);

        if (p+w > cw)
        {
          if (level == "1")
          {
            div.style.left = (div.style.left - (p+w-cw)) + "px";
          } 
          else if (level == "2")
          {
            div.style.left = (-w) + "px";
          }
        }
      }

      function FindAbsolutePosition(obj)
      {
        var posX = 0;
        var posY = 0;
        if((window.pageXOffset || window.pageYOffset) &&
        document.defaultView.getComputedStyle(obj, null).position == 'fixed')
        {
          posX = window.pageXOffset;
          posY = window.pageYOffset;
        } 
        else 
        {
          if((document.body.scrollLeft || document.body.scrollTop) &&
          obj.currentStyle.position == 'fixed')
          {
            posX = document.body.scrollLeft;
            posY = document.body.scrollTop;
          }
        }
        while (obj != null){
        posX += obj.offsetLeft;
        posY += obj.offsetTop;
        obj = obj.offsetParent;
        }            
        return {top:posY, left:posX};
      }

      function  getDimensions(element) 
      {
        var display = element.style.display;
        if (display != 'none' && display != null) // Safari bug
        return {width: element.offsetWidth, height: element.offsetHeight};

        // All *Width and *Height properties give 0 on elements with display none,
        // so enable the element temporarily
        var els = element.style;
        var originalVisibility = els.visibility;
        var originalPosition = els.position;
        var originalDisplay = els.display;
        els.visibility = 'hidden';
        els.position = 'absolute';
        els.display = 'block';
        var originalWidth = element.clientWidth;
        var originalHeight = element.clientHeight;
        els.display = originalDisplay;
        els.position = originalPosition;
        els.visibility = originalVisibility;
        return {width: originalWidth, height: originalHeight};
      }

      // this function overwrites the popup() function in nav.js.
      // only difference: includes call to adjustHorizontalNav() at end.
      function popup(id, posclass, iover, level)
      {
        var el = document.getElementById("LI"+id);
        var cl = document.getElementById("LI"+id).className;
        var imgov = document.getElementById("LI"+id+"_img");

        if (imgov) if (iover !='') imgov.src =iover;
        if (el) el.className = "L"+level+posclass+"_over";
        expand_this_and_parents(id);
        var ul = document.getElementById("UL"+id);
        if (ul) adjustHorizontalNav(ul, level);
      }

      function clientWidth()
      {
        var usedWidth = 0;
        if(document.documentElement && document.documentElement.clientWidth)
        {// trying to take width of frame
          usedWidth = document.documentElement.clientWidth;
        }
        else if(document.body)
        {//trying to take width of frame
          usedWidth = document.body.clientWidth;
        }
        return usedWidth;
      }
    