BM_Y_DIFF =-0;
BM_Y_TMP_DIFF = 300;
BM_Y_LIMIT = 450; // hauteur minimal du bloc a partir du haut du document.
BM_SPEED =  2;
BM_DECALAGE = 300; // distance entre le haut du bloc et le haut de la fenetre du navigateur
BM_LAYER = "bloc_promo";
VITESSE = 0.15;

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() {
	IE = document.all?1:0;

	if (IE) {
		// IE	
		HAUTEUR_DESSUS_BLOC = document.documentElement.scrollTop;	
	}
	else {
		// netscap
		HAUTEUR_DESSUS_BLOC = window.pageYOffset;

	}

	if (IE) {
		// 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 = (VITESSE * (BM_Y_DIFF - BM_Y_TMP_DIFF)) + BM_Y_TMP_DIFF;
		BM_OBJ.style.top = Math.floor(BM_Y_DIFF) + "px";
	}

	BM_Y_TMP_DIFF = BM_Y_DIFF;
	setTimeout('bodyMovin()', 10);
}

bodyMovin();
