

var delay= 50 ;
var timerID= null ;


/* Lance le défilement du texte vers le haut */
function scroll2Top( id, inc )
{
	cancelScroll() ;
	timerID= setInterval( "scrollDiv('"+id+"',"+(-inc)+");", delay ) ;
}


/* Lance le défilement du texte vers le bas */
function scroll2Bottom( id, inc )
{
	cancelScroll() ;
	timerID= setInterval( "scrollDiv('"+id+"',"+inc+");", delay ) ;
}


/* Fonction qui fait défiler le texte. Elle est appelée toute seule
	toutes les "delay' milli secondes (voir les vars globales au
	début du script) */
function scrollDiv( id, inc )
{
	with ( document.getElementById(id) ) {
		if ( scrollTop+inc > scrollHeight-clientHeight ) {
			scrollTop= scrollHeight-clientHeight ;
			cancelScroll() ;
		}
		else if ( scrollTop+inc < 0 ) {
			scrollTop= 0 ;
			cancelScroll() ;
		}
		else
			scrollTop+= inc ;
	}
}


/* Arrete le défilement du texte */
function cancelScroll( p )
{
	if ( timerID != null ) {
		clearInterval( timerID ) ;
		timerID= null ;
	}
}


/* Cache les boutons si on a assez de place pour voir tout le
	texte sans scroller (à appeler via le onload dans body) */
function initButtons( id, width )
{
	var mydiv= document.getElementById(id) ;
	if ( mydiv != null && mydiv.scrollHeight <= mydiv.clientHeight ) {	// hauteur doc <= hauteur dispo dans le conteneur
		document.getElementById("controls").style.display= "none" ;
		mydiv.style.width= width+"px" ;
	}
}



function initLayers()
{
	if ( document.getElementById("monDivMEP4") != null ) {
		document.getElementById("monDivMEP4").style.height=
					parseInt(document.getElementById("monDivMEP4").style.height)
					+ document.getElementById("descriptifCollection").clientHeight ;
		document.getElementById("controlstab").style.height=
					document.getElementById("monDivMEP4").style.height ;
		/**
		 * NB : sous IE6 (et peut être les antérieurs aussi (le 7 n'est pas encore sorti à l'heure où j'écris ces lignes
		 * et je n'ai ni le 5.0 ni le 5.5 pour tester)), scrollHeight semble avoir besoin d'être lu une première fois pour
		 * que sa valeur soit actualisée CF le test suivant, qui devrait afficher deux valeurs égales : il affiche deux
		 * valeurs différentes chez moi :/ (à savoir (scrollHeight= 406) == (scrollHeight= 1304) (je sais c pas super logique o_O))
		 */
		/* with ( document.getElementById("monDivMEP4") ) {
			alert( "(scrollHeight= "+scrollHeight+") == (scrollHeight= "+scrollHeight+")" );
		}*/
		var commit= document.getElementById("monDivMEP4").scrollHeight ;
	}
	initButtons( "monDiv", 410 ) ;
	initButtons( "monDivMEP4", 257 ) ;
}




var incScrollDivByMouseWheel= 40 ; /* Delta de défilement du calque pour chaque cran de la molette de la souris (on peut
										mettre ce qu'on veut, mais 40 est une valeur correcte (ça fait 3 lignes de sautées
										par cran de molette (ça ressemble aux réglages par défaut des molettes je crois
										(en tous cas moi ça me parait similaires aux autres progs ^^ (oui, faut que j'arrête
										avec les parenthèses imbriquées... (désolé ...)))))) */
var isPersoScrollEnabled= false ; /* false par défaut : ne pas éditer /!\ */

/* Handler pour le hook de l'événement onmousewheel (IE only!) */
function onMouseWheelHandler()
{
	/* mmm, pas terrible comme détection m'enfin à la base cette fonction n'était pas prévue pour appeler scrollDiv
	  (c'est de la récup du site de pimentic)*/
	var div= document.getElementById("monDiv")!=null ? "monDiv" : "monDivMEP4" ;
	if ( isPersoScrollEnabled ) {
		if ( event.wheelDelta >= 120 )
			scrollDiv( div, -incScrollDivByMouseWheel )
		else if ( event.wheelDelta <= -120 )
			scrollDiv( div, incScrollDivByMouseWheel )
		
		event.returnValue= false ;
	}
}
if ( isIE ) document.onmousewheel= onMouseWheelHandler ;


