// JavaScript Document
    /* Script by: www.jtricks.com 
   3.  * Version: 20071210 
   4.  * Latest version: 
   5.  * www.jtricks.com/javascript/navigation/floating.html 
   6.  */  
   var floatingMenuId = 'floatdiv';  
    var floatingMenu =  
   {  
       targetX: 0,  
       targetY: 150,  
     
       hasInner: typeof(window.innerWidth) == 'number',  
      hasElement: document.documentElement  
           && document.documentElement.clientWidth,  
    
       menu:  
           document.getElementById  
           ? document.getElementById(floatingMenuId)  
           : document.all  
            ? document.all[floatingMenuId]  
             : document.layers[floatingMenuId]  
  };  
     
   floatingMenu.move = function ()  
   {  
      if (document.layers)  
       {  
           floatingMenu.menu.left = floatingMenu.nextX;  
           floatingMenu.menu.top = floatingMenu.nextY;  
      }  
       else  
      {  
           floatingMenu.menu.style.left = floatingMenu.nextX + 'px';  
           floatingMenu.menu.style.top = floatingMenu.nextY + 'px';  
       }  
   }  
    
   floatingMenu.computeShifts = function ()  
   {  
      var de = document.documentElement;  
     
      floatingMenu.shiftX =  
          floatingMenu.hasInner  
          ? pageXOffset  
          : floatingMenu.hasElement  
            ? de.scrollLeft  
            : document.body.scrollLeft;  
      if (floatingMenu.targetX < 0)  
      {  
           if (floatingMenu.hasElement && floatingMenu.hasInner)  
           {  
              // Handle Opera 8 problems  
              floatingMenu.shiftX +=  
                  de.clientWidth > window.innerWidth  
                   ? window.innerWidth  
                  : de.clientWidth  
          }  
          else  
          {  
              floatingMenu.shiftX +=  
                 floatingMenu.hasElement  
                  ? de.clientWidth  
                  : floatingMenu.hasInner  
                   ? window.innerWidth  
                    : document.body.clientWidth;  
         }  
    }  
    
     floatingMenu.shiftY =   
          floatingMenu.hasInner  
          ? pageYOffset  
           : floatingMenu.hasElement  
            ? de.scrollTop  
             : document.body.scrollTop;  
      if (floatingMenu.targetY < 0)  
     {  
        if (floatingMenu.hasElement && floatingMenu.hasInner)  
          {  
              // Handle Opera 8 problems  
               floatingMenu.shiftY +=  
                   de.clientHeight > window.innerHeight  
                  ? window.innerHeight  
                   : de.clientHeight  
          }  
         else  
           {  
             floatingMenu.shiftY +=  
                  floatingMenu.hasElement  
                ? document.documentElement.clientHeight  
                : floatingMenu.hasInner  
                    ? window.innerHeight  
                    : document.body.clientHeight;  
          }  
       }  
   }  
     
  floatingMenu.doFloat = function()  
  {  
     var stepX, stepY;  
   
     floatingMenu.computeShifts();  
    
     stepX = (floatingMenu.shiftX +   
         floatingMenu.targetX - floatingMenu.nextX) * .07;  
     if (Math.abs(stepX) < .5)  
     {  
         stepX = floatingMenu.shiftX +  
              floatingMenu.targetX - floatingMenu.nextX;  
      }  
   
     stepY = (floatingMenu.shiftY +   
         floatingMenu.targetY - floatingMenu.nextY) * .07;  
     if (Math.abs(stepY) < .5)  
      {  
         stepY = floatingMenu.shiftY +   
              floatingMenu.targetY - floatingMenu.nextY;  
     }  
   
      if (Math.abs(stepX) > 0 ||  
          Math.abs(stepY) > 0)  
      {  
         floatingMenu.nextX += stepX;  
          floatingMenu.nextY += stepY;  
         floatingMenu.move();  
     }  
    
     setTimeout('floatingMenu.doFloat()', 20);  
  };  
   
  // addEvent designed by Aaron Moore  
 floatingMenu.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 = element[listener + '_num'] -1; i >= 0; 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']++;  
  };  
  
  floatingMenu.init = function()  
  {  
      floatingMenu.initSecondary();  
      floatingMenu.doFloat();  
  };  
   
  // Some browsers init scrollbars only after  
  // full document load.  
 floatingMenu.initSecondary = function()  
  {  
     floatingMenu.computeShifts();  
      floatingMenu.nextX = floatingMenu.shiftX +  
          floatingMenu.targetX;  
     floatingMenu.nextY = floatingMenu.shiftY +  
         floatingMenu.targetY;  
      floatingMenu.move();  
  }  
    
  if (document.layers)  
      floatingMenu.addEvent(window, 'onload', floatingMenu.init);  
  else  
  {  
      floatingMenu.init();  
      floatingMenu.addEvent(window, 'onload',  
         floatingMenu.initSecondary);  
  }  
   
//-->