// Détourne les éventuelles erreurs
self.onError = null;

// Amortie
var smoothNess = 0.08;

// Détection navigateur
DOM = (document.getElementById) ? true : false;
NS = (document.layers) ? true : false;
IE = (document.all) ? true : false;
NS6 = DOM && !NS && !IE;

// Dernière position Y du layer
lastScrollY = 0;

// La gestion du layer
function heartBeat() {
    if(IE) { diffY = document.body.scrollTop; }
    if(NS || NS6) { diffY = self.pageYOffset; }

    if(diffY != lastScrollY) {
        percent = smoothNess * (diffY - lastScrollY);
        if(percent > 0) percent = Math.ceil(percent);
        else percent = Math.floor(percent);

        if(IE) document.all.floatmenu.style.pixelTop += percent;
        if(NS) document.floatmenu.top += percent;
        if(NS6) document.getElementById("floatmenu").style.top =
            parseInt(document.getElementById("floatmenu").style.top) + percent;

        lastScrollY += percent;
    }
}

// Exécute la fonction toute les millisecondes
if(NS || NS6 || IE) {timeoutID = window.setInterval("heartBeat()",1)}