/*
Mozilla/Netscape	Firefox 3.0.x	Ok.
Firefox 2.0.x	Ok.
Firefox 1.5	Ok.
Firefox 1.0.x	Ok.
Microsoft	Internet Explorer 7.0	Ok.
Internet Explorer 6.0	Ok.
Opera	Opera 9.x	Ok.
Opera 8.x	Ok.
KHTML	Google Chrome 0.2.x.x	Ok.
Safari 3.1.2	Ok.
Konqueror 3.5.5	Ok.
No Javascript or
Javascript turned off	Any	Menu will be absolutely positioned on initial style left and top values and will not move.
*/

document.writeln('<div id="floatdiv" style="  ');
document.writeln('    position:absolute;  ');
document.writeln('    left:0px;top:0px;  ');
document.writeln('    z-index:100">  ');
document.writeln(' <a href="http://www.aveda.com/ShopAveda.tmpl?SalonID=4825"><img src="images/d_200507_AvedaShop.gif" width="173" height="49" alt="shop aveda" /></a>');
document.writeln('</div> ');

var floatingMenuId = 'floatdiv';  
var floatingMenu =  
{  
    targetX: -250,  
    targetY: 10,  
  
    hasInner: typeof(window.innerWidth) == 'number',  
    hasElement: typeof(document.documentElement) == 'object'  
        && typeof(document.documentElement.clientWidth) == 'number',  
  
    menu:  
        document.getElementById  
        ? document.getElementById(floatingMenuId)  
        : document.all  
          ? document.all[floatingMenuId]  
          : document.layers[floatingMenuId]  
};  
  
floatingMenu.move = function ()  
{  
    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)  
    {  
        floatingMenu.shiftX +=  
            floatingMenu.hasElement  
            ? de.clientWidth  
            : 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  
                ? de.clientHeight  
                : document.body.clientHeight;  
        }  
    }  
}  
  
floatingMenu.calculateCornerX = function()  
{  
    if (floatingMenu.targetX != 'center')  
        return floatingMenu.shiftX + floatingMenu.targetX;  
  
    var width = parseInt(floatingMenu.menu.offsetWidth);  
  
    var cornerX =  
        floatingMenu.hasElement  
        ? (floatingMenu.hasInner  
           ? pageXOffset  
           : document.documentElement.scrollLeft) +   
          (document.documentElement.clientWidth - width)/2  
        : document.body.scrollLeft +   
          (document.body.clientWidth - width)/2;  
    return cornerX;  
};  
  
floatingMenu.calculateCornerY = function()  
{  
    if (floatingMenu.targetY != 'center')  
        return floatingMenu.shiftY + floatingMenu.targetY;  
  
    var height = parseInt(floatingMenu.menu.offsetHeight);  
  
    // Handle Opera 8 problems  
    var clientHeight =   
        floatingMenu.hasElement && floatingMenu.hasInner  
        && document.documentElement.clientHeight   
            > window.innerHeight  
        ? window.innerHeight  
        : document.documentElement.clientHeight  
  
    var cornerY =  
        floatingMenu.hasElement  
        ? (floatingMenu.hasInner    
           ? pageYOffset  
           : document.documentElement.scrollTop) +   
          (clientHeight - height)/2  
        : document.body.scrollTop +   
          (document.body.clientHeight - height)/2;  
    return cornerY;  
};  
  
floatingMenu.doFloat = function()  
{  
    // Check if reference to menu was lost due  
    // to ajax manipuations  
    if (!floatingMenu.menu)  
    {  
        menu = document.getElementById  
            ? document.getElementById(floatingMenuId)  
            : document.all  
              ? document.all[floatingMenuId]  
              : document.layers[floatingMenuId];  
  
        initSecondary();  
    }  
  
    var stepX, stepY;  
  
    floatingMenu.computeShifts();  
  
    var cornerX = floatingMenu.calculateCornerX();  
  
    var stepX = (cornerX - floatingMenu.nextX) * .07;  
    if (Math.abs(stepX) < .5)  
    {  
        stepX = cornerX - floatingMenu.nextX;  
    }  
  
    var cornerY = floatingMenu.calculateCornerY();  
  
    var stepY = (cornerY - floatingMenu.nextY) * .07;  
    if (Math.abs(stepY) < .5)  
    {  
        stepY = cornerY - floatingMenu.nextY;  
    }  
  
    if (Math.abs(stepX) > 0 ||  
        Math.abs(stepY) > 0)  
    {  
        floatingMenu.nextX += stepX;  
        floatingMenu.nextY += stepY;  
        floatingMenu.move();  
    }  
  
    setTimeout('floatingMenu.doFloat()', 20);  
};  
  
// addEvent 
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.calculateCornerX();  
    floatingMenu.nextY = floatingMenu.calculateCornerY();  
    floatingMenu.move();  
}  
  
if (document.layers)  
    floatingMenu.addEvent(window, 'onload', floatingMenu.init);  
else  
{  
    floatingMenu.init();  
    floatingMenu.addEvent(window, 'onload',  
        floatingMenu.initSecondary);  
}  
  
//-->