﻿
var floatingBasketId = 'downBasket';   
var floatingBasket =   
{   
    targetY: 108,   
    minY: 108,

    hasInner: typeof(window.innerWidth) == 'number',   
    hasElement: document.documentElement && document.documentElement.clientWidth,   
  
    menu : document.getElementById ? document.getElementById(floatingBasketId) : document.all ? document.all[floatingBasketId] : document.layers[floatingBasketId]
};   
  
floatingBasket.move = function ()   
{      
    if (document.layers)   
        floatingBasket.menu.top = floatingBasket.nextY;   
    else  
        floatingBasket.menu.style.top = floatingBasket.nextY + 'px';   
}   
  
floatingBasket.computeShifts = function ()   
{   
    var de = document.documentElement;   
  
    floatingBasket.shiftY = floatingBasket.hasInner ? pageYOffset : floatingBasket.hasElement ? de.scrollTop : document.body.scrollTop;   

    if (lock == 2) {
        floatingBasket.shiftY = 0; 
        floatingBasket.targetY = 0; 
    } else {
        if (floatingBasket.shiftY <= floatingBasket.minY) { 
            // Top of Page
            floatingBasket.targetY = 0; 
            floatingBasket.shiftY = 0; 
        } else {
            floatingBasket.targetY -= floatingBasket.minY;
            floatingBasket.shiftY -= floatingBasket.minY;

            if (floatingBasket.shiftY >= floatingBasket.targetY) floatingBasket.targetY = 0;
        }
    }   
}   
  
floatingBasket.doFloat = function()   
{   
    var stepY;   
  
    floatingBasket.computeShifts();   
  
    stepY = (floatingBasket.shiftY + floatingBasket.targetY - floatingBasket.nextY) * .07;   
    if (Math.abs(stepY) < .1) stepY = floatingBasket.shiftY + floatingBasket.targetY - floatingBasket.nextY;   
  
    if (Math.abs(stepY) > 0)   
    {   
        floatingBasket.nextY += stepY;   
        floatingBasket.move();   
    }   
  
    setTimeout('floatingBasket.doFloat()', 20);   
};   
  
// addEvent designed by Aaron Moore   
floatingBasket.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']++;   
};   
  
floatingBasket.init = function()   
{   
    floatingBasket.initSecondary();   
    floatingBasket.doFloat();   
};   
  
// Some browsers init scrollbars only after full document load.   
floatingBasket.initSecondary = function()   
{   
    floatingBasket.computeShifts();   
    floatingBasket.nextY = floatingBasket.shiftY + floatingBasket.targetY;   
    floatingBasket.move();   
}   
  
if (document.layers)   
    floatingBasket.addEvent(window, 'onload', floatingBasket.init);   
else {   
    floatingBasket.init();   
    floatingBasket.addEvent(window, 'onload', floatingBasket.initSecondary);   
}  