/*
 * ###############################################
 * #	 FONCTIONS pour les images en infoBulle  #
 * #	mise a jour: 26 juin 2007                #
 * ###############################################
 * 
 * 
 * 
 * fonction deplacer ()
 * va calculer la pos l'infoBulle aux mouseMove de la souris
 * !! ici on gere les differents parametres de decalage pour firefox sous forme de conditions
 * 
 * 
 * ietruebody()
 * hack pour IE. rend la fonction crossBrowser
 * 
 * 
 * function positionX(e)
 * retourne la posX de l'infoBulle
 * 
 * function positionY(e)
 * retourne la posY de l'infoBulle
 * 
 * 
 *  montre(img,type)
 *  affiche l'infoBulle
 *  parametres:
 *  img-> le chemin vers l'image a afficher
 *  type-> 1 / 2 / 3 ... pour gérer le decalage ( dans deplacer )
 *  
 *  
 *  cache()
 *  masque l'infoBulle
 *  
 *  
 *  
 */
/*-----------------------------------------------------------------------------------------
 * Définition des variables
 */
var xOffset=6
var yOffset=5    

var affiche = false; // La variable i nous dit si le bloc est visible ou non
var affiche2 = false; // La variable i nous dit si le bloc est visible ou non
var affiche3 = false; // La variable i nous dit si le bloc est visible ou non
var w3c=document.getElementById && !document.all;
var ie=document.all;

if (ie||w3c) {
  var laBulle
}

function ietruebody(){  // retourne le bon corps...
  return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
 
}

/*-----------------------------------------------------------------------------------------
 * fonction qui va deplacer les infoBulles
 * ici on integre les paramètres de decalage
 * ( au cas par cas ) 
 */
function deplacer(e) {
	if(laBulle){
		var curX = (w3c) ? e.pageX : event.x + ietruebody().scrollLeft;	
	    var curY = (w3c) ? e.pageY : event.y + ietruebody().scrollTop;
		// si IE
		if(ie)
		{	
			curX=positionX(e)+5;
			curY=positionY(e)+5;		
		}
		//SI autre navigateur
		if(w3c)
		{
			if(affiche=="affiche1")
			{			
				curX=curX-340;
				curY=curY-170;
			}
			if(affiche=="affiche2")
			{	
				curX=curX-370;
				curY=curY-190;
			}
			if(affiche=="affiche3")
			{
				curX=curX-350;
				curY=curY-190;
			}		
		}   
	  	laBulle.style.left = curX  + "px"  
		laBulle.style.top = curY + "px"   
	}
}
/*-----------------------------------------------------------------------------------------
 * fonction qui va calculer la PosX
 */
 function positionX(e) {
	x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
	return(x)
}
/*-----------------------------------------------------------------------------------------
 * fonction qui va calculer la PosY
 */
 function positionY(e) {
	y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.scrollTop;
	return(y)
}
/*-----------------------------------------------------------------------------------------
 * fonction qui va afficher l'infoBulle
 */

function montre(img,type) {
			
	if (w3c||ie){
		laBulle =document.getElementById("bulle")
		if(laBulle){
			laBulle.innerHTML = "<img src='"+img+"'/>"; // fixe le texte dans l'infobulle
			laBulle.style.visibility = "visible"; // Si il est cachée (la verif n'est qu'une securité) on le rend visible.
			affiche= "affiche"+type
		}
	}
}

/*-----------------------------------------------------------------------------------------
 * fonction qui masque l'infoBulle
 */
function cache(type) {
  if (w3c||ie){
  	if(type){
  		affiche= "affiche"+type
	}
	affiche=false;
    laBulle.style.visibility="hidden"
    laBulle.style.top = '-1000px'
    laBulle.style.backgroundColor = ''
    laBulle.style.width = ''
  }
}
/*-----------------------------------------------------------------------------------------
 * lance le refresh de la position au mousemove
 */
document.onmousemove = deplacer;
