﻿var lock = 0;
var floatingMenuId = 'floatdiv';   
var floatingMenu =   
{   
    targetY: 15,   
    minY: 325,

    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.top = floatingMenu.nextY;   
    else  
        floatingMenu.menu.style.top = floatingMenu.nextY + 'px';   
}   
  
floatingMenu.computeShifts = function ()   
{   
    var de = document.documentElement;   
   
    floatingMenu.shiftY = floatingMenu.hasInner ? pageYOffset : floatingMenu.hasElement ? de.scrollTop : document.body.scrollTop;   
                
    var fpH = floatingMenu.hasInner ? window.innerHeight : document.body.clientHeight;   
    var fh = floatingMenu.hasElement ? de.clientHeight : fpH;   
    var foH = floatingMenu.menu.offsetHeight;
    
    if(foH > fh) lock = 0;
              
              if (fpH<500){
                lock=1
              }
    //window.status = "sY=" + floatingMenu.shiftY + " fpH=" + fpH + " foh=" + foH + " fh=" + fh + " fpH - foH = " + (fpH - foH) 
    
//    if (floatingMenu.shiftY > (fpH - foH)) {
//            floatingMenu.shiftY = fpH - foH; 
//            //floatingMenu.shiftY = fpH + floatingMenu.shiftY - foH;
//            //floatingMenu.nextY = fpH - foH;
//            floatingMenu.targetY = 0; 
//            return 0;
//    } else {       

        if (lock == 1) {
            floatingMenu.targetY = 0; 
            floatingMenu.shiftY = 0; 
        } else {
            if (floatingMenu.shiftY <= floatingMenu.minY) { 
                // Top of Page
                floatingMenu.targetY = 0; 
                floatingMenu.shiftY = 0; 
            } else {
                floatingMenu.targetY -= floatingMenu.minY;
                floatingMenu.shiftY -= floatingMenu.minY;

                if (floatingMenu.shiftY >= floatingMenu.targetY) floatingMenu.targetY = 15;
            }
        }          
    //}
    
    return (floatingMenu.shiftY + floatingMenu.targetY - floatingMenu.nextY) * .07;   
}   
  
floatingMenu.doFloat = function()   
{   

try{
    var stepY = floatingMenu.computeShifts();
    if (Math.abs(stepY) > 0 && Math.abs(stepY) < .1) stepY = floatingMenu.shiftY + floatingMenu.targetY - floatingMenu.nextY;
    if (Math.abs(stepY) >= 0) {
        floatingMenu.nextY += stepY;
        floatingMenu.move();
    }

    setTimeout('floatingMenu.doFloat()', 20);   
}
catch(err){}

    
};   
  
// 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.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);   
}   

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
