BM_Y_DIFF = 220;
BM_Y_TMP_DIFF = 0;
BM_Y_LIMIT = 0; // hauteur minimal du bloc a partir du haut du document.
BM_SPEED =  0;
BM_DECALAGE = 0; // distance entre le haut du bloc et le haut de la fenetre du navigateur
BM_LAYER = "menu";


BM_OBJ = document.getElementById(BM_LAYER);

HAUTEUR_BLOC = BM_OBJ.offsetHeight;
HAUTEUR_DESSOUS_BLOC = document.getElementById("pied").offsetHeight+20;
HAUTEUR_FENETRE = window.outerHeight;
HAUTEUR_BODY = document.body.offsetHeight;



function bodyMovin() {

	if (document.all) {
		// IE	
		HAUTEUR_DESSUS_BLOC = document.documentElement.scrollTop;	
	}
	else {
		// netscap
		HAUTEUR_DESSUS_BLOC = window.pageYOffset;

	}

	if (document.all) {
		// pour IE
		BM_Y_DIFF = document.documentElement.scrollTop + BM_DECALAGE;
	} else {
		// pour netscape 
		BM_Y_DIFF = window.pageYOffset + BM_DECALAGE;
	}

	if (BM_Y_DIFF < BM_Y_LIMIT) {
		// ne peut pas remonter au dessus de BM_Y_LIMIT
		BM_Y_DIFF = BM_Y_LIMIT;
	} else if ((HAUTEUR_DESSUS_BLOC+BM_DECALAGE+HAUTEUR_BLOC+HAUTEUR_DESSOUS_BLOC) < HAUTEUR_BODY) {
		// on incrémente du nombre de pixels définis dans BM_SPEED
		BM_Y_DIFF += BM_SPEED;
		BM_OBJ.style.position = "absolute";
	}
	else if ((HAUTEUR_DESSUS_BLOC+BM_DECALAGE+HAUTEUR_BLOC+HAUTEUR_DESSOUS_BLOC) > HAUTEUR_BODY) {
		// pour ne pas que le bloc recouvre le pied de page 
		BM_Y_DIFF = HAUTEUR_BODY-(HAUTEUR_BLOC+HAUTEUR_DESSOUS_BLOC);
		BM_OBJ.style.position = "absolute";
	}



	if (BM_Y_DIFF != BM_Y_TMP_DIFF) {
		BM_Y_DIFF = (0.1 * (BM_Y_DIFF - BM_Y_TMP_DIFF)) + BM_Y_TMP_DIFF;
		BM_OBJ.style.top = BM_Y_DIFF + "px";
	}

	BM_Y_TMP_DIFF = BM_Y_DIFF;
	setTimeout('bodyMovin()', 10);
}

bodyMovin();