// Détourne les éventuelles erreurs
self.onError = null;

// Amortie
var smoothNess = 0.2;

// 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;

valSUP = false;

function heartBeat(initialY) {
	if (!initialY) { initialY = 0;	 }
	
	if(IE) { diffY = document.body.scrollTop; }
	if(NS || NS6) { diffY = self.pageYOffset; }

	if(valSUP && diffY<initialY) { valSUP = false; }
	if(!valSUP && diffY>initialY) { valSUP = true; }

	if(valSUP) { diffY = diffY-initialY; }
	else { diffY = 0; }

	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(100)",20)}