 
 
	
 function findPosX(obj) {
	 var curleft = 0; 
	 if (obj.offsetParent) {
		  while (obj.offsetParent) {
		    curleft += obj.offsetLeft; 
		    obj = obj.offsetParent; 
		  }
	  } else if (obj.x)
	   	curleft += obj.x; 
	   
	  return curleft; 
	}
	  
	function findPosY(obj) {
	    var curtop = 0; 
	    if (obj.offsetParent) {
			     while (obj.offsetParent) {
			       curtop += obj.offsetTop;
			       obj = obj.offsetParent; 
			     } 
	    } else if (obj.y) 
	       curtop += obj.y; 
	  return curtop; 
	} 

/** * Infos sur les variables * 
			* mrqContWidth : Largeur du conteneur 
			* mrqContHeight : Hauteur du conteneur 
			* mrqContTop : Position y du conteneur 
			* mrqContLeft : Position x du conteneur 
			* mrqLoop : TRUE si le scroll boucle 
			* mrqDecall : Nb de pixels de décalage 
			* mrqSpeed : Fréquence entière en ms entre chaque décalage de mrqDecall pixels 
			* mrqScrollVert : TRUE si scroll vertical, FALSE si horizontal 
			* mrqScrollSens : -1 de droite à gauche ou de bas en haut, 1 de gauche à droite 
			* ou de haut en bas (selon la valeur de mrqScrollVert). 
			* mrqString : Le texte du scroll (HTML possible, faire attention aux caractères " et ') 
			* mrqNavErr : Message d'erreur si le navigateur n'est pas supporté. */
			
// Variables globales 
var mrqLeft = 0; 
var mrqTop = 0; 
var mrqStringWidth = 0; 
var mrqStringHeight = 0; 
var mrqTimerID; 
var mrqContTop = findPosY(document.getElementById('FondZoom')); 
 			
 	// Démarrage, re-démarrage et arrêt du scroll. 	
 	function mrqScroll(type) { 
 		// Démarrage 
 		if (type == 'start') {
 			 if (mrqScrollSens == -1) {
 			   mrqScrollVert ? mrqScrollIt(mrqContHeight) : mrqScrollIt(mrqContWidth); 
 			 } else { 
 			 	  mrqScrollVert ? mrqScrollIt(-mrqStringHeight) : mrqScrollIt(-mrqStringWidth); 
 			 } 
 		} else if (type == 'continue') { 
 			  mrqScrollVert ? mrqScrollIt(mrqTop) : mrqScrollIt(mrqLeft); 
 	  } else if (type == 'stop') {
 	  	 if (mrqTimerID != null) clearTimeout(mrqTimerID); 
 	  } 
 	} 
 	
 // Initialisation  	
 function mrqInit() { 
 		if (ns4) { 			
 			 // Taille du calque texte avec NS4. 
 			 with (document.mrqDivCont) {
 			 	 mrqStringWidth = document.mrqDivText.document.width; 
 			 	 mrqStringHeight = document.mrqDivText.document.height; 
 			 	 clip.width = mrqContWidth;
 			 	 clip.height = mrqContHeight; 
 			 	 hidden = false;
 			 	 y = mrqContTop; 
 			 	 x = mrqContLeft; 
 			 } 
 	  } else if (dom2 || ie4) {
 	  	 // Taille du calque qui contient le texte, 
 	  	 var objText = dom2 ? document.getElementById('mrqDivText'):document.all['mrqDivText']; 
 	  	 mrqStringWidth = objText.offsetWidth; 
 	  	 mrqStringHeight = objText.offsetHeight; 
 	  	 objText.style.width = mrqStringWidth + 'px'; 
 	  	 objText.style.height = mrqStringHeight + 'px'; 
 	  	 objText.style.top = mrqTop + 'px'; 
 	  	 objText.style.left = mrqLeft + 'px'; 
 	  	 var objCont = dom2 ? document.getElementById('mrqDivCont'):document.all['mrqDivCont']; 
 	  	 objCont.style.width = mrqContWidth + 'px'; 
 	  	 objCont.style.height = mrqContHeight + 'px'; 
 	  	 objCont.style.left = mrqContLeft + 'px'; 
 	  	 //objCont.style.top = mrqContTop + 'px'; 
 	  	 objCont.style.clip = 'rect (0,' + objCont.style.width + ', ' + objCont.style.height + ', 0)'; 
 	  	 objCont.style.visibility = 'visible'; 
 	  } else { 
 	  	// Non supporté 
 	  	if (mrqNavErr != '') { 
 	  		document.open(); 
 	  		document.write(mrqNavErr); 
 	  		document.close(); 
 	  	} 
 	    return; 
 	  } 
 	  	
  	// Centrage du calque texte dans le conteneur. 
  	mrqTop = (mrqContHeight-mrqStringHeight) / 2; 
  	mrqLeft = (mrqContWidth-mrqStringWidth) / 2; 
  	mrqScroll('start'); 
 } 
 	  	
 // Cette fonction est chargée de faire défiler le calque 
 function mrqScrollIt(intTopLeft) {
  	 if (mrqScrollVert) { 
  	 	  mrqTop = intTopLeft + (mrqScrollSens * mrqDecal); 
  	 } else {
  	 	  mrqLeft = intTopLeft + (mrqScrollSens * mrqDecal); 
  	 } 
  	 if (ns4) { 
  	 	  var objText = document.mrqDivCont.document.mrqDivText; 
  	 	  objText.top = mrqTop; 
  	 	  objText.left = mrqLeft; 
  	 } else { 
  	 	  var objText = dom2 ? document.getElementById('mrqDivText') : document.all['mrqDivText']; 
  	 	  objText.style.top = mrqTop + "px"; 
  	 	  objText.style.left = mrqLeft + "px"; 
  	 } 
  	 
  	 // Test pour revenir au début 
  	 if (mrqLoop) { 
  	 	 if (mrqScrollVert) { 
 	  	 	 	 if (mrqTop <= -mrqStringHeight && mrqScrollSens == -1) { 
 	  	 	 	 	 mrqTop = mrqContHeight; 
 	  	 	 	 } else if (mrqTop >= mrqContHeight && mrqScrollSens != -1) {
 	  	 	 	 	  mrqTop = -mrqStringHeight; 
 	  	 	 	 } 
  	 	  } else {
  	 	  	 if (mrqLeft <= -mrqStringWidth && mrqScrollSens == -1) {
  	 	  	 	 mrqLeft = mrqContWidth; 
  	 	  	 } else if (mrqLeft >= mrqContWidth && mrqScrollSens != -1) {
  	 	  	 	  mrqLeft = -mrqStringWidth; 
  	 	  	 } 
  	 	  } 
  	 } 
  	 	
  	 	// Timer si on est pas en bout de course 
  	 if (mrqScrollVert) { 
  	 		if ((mrqTop > -mrqStringHeight) || (mrqTop < mrqContHeight)) 
  	 		    mrqTimerID = setTimeout("mrqScrollIt(" + mrqTop + ")", mrqSpeed); 
  	 } else {
  	 		if ((mrqLeft > -mrqStringWidth) || (mrqLeft < mrqContWidth)) 
  	 			     mrqTimerID = setTimeout("mrqScrollIt(" + mrqLeft + ")", mrqSpeed); 
  	 } 
 } 
  	
/* onLoad de la fonction mrqInit() 
** On utilise de préférence l'eventListener pour éviter le bug de NS6, NS6.01 qui "ignore" la * ligne window.onLoad = fonction(). */ 
if (window.addEventListener && !ns4) {
	 window.addEventListener('load', mrqInit, false); 
} else { 
	 window.onLoad = mrqInit(); 
}
	