fixedMenuId = 'fixeddiv';  
      
    var fixedMenu =   
   {  
       hasInner: typeof(window.innerWidth) == 'number',  
       hasElement: document.documentElement != null  
          && document.documentElement.clientWidth,  
     
      menu: document.getElementById  
           ? document.getElementById(fixedMenuId)  
           : document.all  
          ? document.all[fixedMenuId]  
            : document.layers[fixedMenuId]  
   };  
     
   fixedMenu.computeShifts = function()  
   {  
      fixedMenu.shiftX = fixedMenu.hasInner  
          ? pageXOffset  
          : fixedMenu.hasElement  
            ? document.documentElement.scrollLeft  
           : document.body.scrollLeft;  
     if (fixedMenu.targetLeft > 0)  
         fixedMenu.shiftX += fixedMenu.targetLeft;  
      else  
      {  
           fixedMenu.shiftX +=   
              (fixedMenu.hasElement  
                ? document.documentElement.clientWidth  
                : fixedMenu.hasInner  
                  ? window.innerWidth - 20  
                  : document.body.clientWidth)  
              - fixedMenu.targetRight  
              - fixedMenu.menu.offsetWidth;  
      }  
    
      fixedMenu.shiftY = fixedMenu.hasInner  
           ? pageYOffset  
           : fixedMenu.hasElement  
             ? document.documentElement.scrollTop  
            : document.body.scrollTop;  
      if (fixedMenu.targetTop > 0)  
           fixedMenu.shiftY += fixedMenu.targetTop;  
       else  
       {  
           fixedMenu.shiftY +=   
               (fixedMenu.hasElement  
               ? document.documentElement.clientHeight  
               : fixedMenu.hasInner  
                 ? window.innerHeight - 20  
                 : document.body.clientHeight)  
               - fixedMenu.targetBottom  
               - fixedMenu.menu.offsetHeight;  
       }  
   };  
     
   fixedMenu.moveMenu = function()  
   {  
       fixedMenu.computeShifts();  
    
       if (fixedMenu.currentX != fixedMenu.shiftX  
           || fixedMenu.currentY != fixedMenu.shiftY)  
       {  
           fixedMenu.currentX = fixedMenu.shiftX;  
           fixedMenu.currentY = fixedMenu.shiftY;  
   
           if (document.layers)  
           {  
              fixedMenu.menu.left = fixedMenu.currentX;  
               fixedMenu.menu.top = fixedMenu.currentY;  
           }  
           else  
           {  
               fixedMenu.menu.style.left = fixedMenu.currentX + 'px';  
               fixedMenu.menu.style.top = fixedMenu.currentY + 'px';  
           }  
       }  
     
       fixedMenu.menu.style.right = '';  
       fixedMenu.menu.style.bottom = '';  
   };  
     
   fixedMenu.floatMenu = function()  
   {  
       fixedMenu.moveMenu();  
       setTimeout('fixedMenu.floatMenu()', 20);  
   };  
     
   // addEvent designed by Aaron Moore  
   fixedMenu.addEvent = function(element, listener, handler)  
   {  
       if(typeof element[listener] != 'function' ||   
          typeof element[listener + '_num'] == 'undefined')  
      {  
          element[listener + '_num'] = 0;  
          if (typeof element[listener] == 'function')  
          {  
              element[listener + 0] = element[listener];  
              element[listener + '_num']++;  
          }  
          element[listener] = function(e)  
          {  
              var r = true;  
              e = (e) ? e : window.event;  
              for(var i = 0; i < element[listener + '_num']; i++)  
                  if(element[listener + i](e) === false)  
                      r = false;  
              return r;  
          }  
      }  
    
      //if handler is not already stored, assign it  
      for(var i = 0; i < element[listener + '_num']; i++)  
          if(element[listener + i] == handler)  
              return;  
      element[listener + element[listener + '_num']] = handler;  
      element[listener + '_num']++;  
  };  
    
  fixedMenu.supportsFixed = function()  
  {  
      var testDiv = document.createElement("div");  
      testDiv.id = "testingPositionFixed";  
      testDiv.style.position = "fixed";  
      testDiv.style.top = "0px";  
      testDiv.style.right = "0px";  
      document.body.appendChild(testDiv);  
      var offset = 1;  
      if (typeof testDiv.offsetTop == "number"  
          && testDiv.offsetTop != null   
          && testDiv.offsetTop != "undefined")  
      {  
          offset = parseInt(testDiv.offsetTop);  
      }  
      if (offset == 0)  
      {  
          return true;  
      }  
    
      return false;  
  };  
    
  fixedMenu.init = function()  
  {  
      if (fixedMenu.supportsFixed())  
          fixedMenu.menu.style.position = "fixed";  
      else  
      {  
          var ob =   
              document.layers   
              ? fixedMenu.menu   
              : fixedMenu.menu.style;  
    
          fixedMenu.targetLeft = parseInt(ob.left);  
          fixedMenu.targetTop = parseInt(ob.top);  
          fixedMenu.targetRight = parseInt(ob.right);  
          fixedMenu.targetBottom = parseInt(ob.bottom);  
    
          if (document.layers)  
          {  
              menu.left = 0;  
              menu.top = 0;  
          }  
          fixedMenu.addEvent(window, 'onscroll', fixedMenu.moveMenu);  
          fixedMenu.floatMenu();  
      }  
  };  
    
  fixedMenu.addEvent(window, 'onload', fixedMenu.init);