<!--

// Permet de corriger le bug d'affichage des DIV / SELECT sous IE
fDomOffset = function( oObj, sProp )
{
	var iVal = 0;
	while (oObj && oObj.tagName != 'BODY')
	{
		eval('iVal += oObj.' + sProp + ';');
		oObj = oObj.offsetParent;
	}
	return iVal;
}

fSwapSelect = function( sId ) 
{ 
	oObj = document.getElementById(sId); 
	Top_Element = fDomOffset(oObj, 'offsetTop'); 
	Left_Element = fDomOffset(oObj, 'offsetLeft'); 
	Largeur_Element = oObj.offsetWidth; 
	Hauteur_Element  = oObj.offsetHeight; 
	oSelects = document.getElementsByTagName('SELECT');
	
	if (oSelects.length > 0)
	{
		for (i = 0; i < oSelects.length; i++)
		{ 
			oSlt = oSelects[i]; 
			Top_Select = fDomOffset(oSlt, 'offsetTop'); 
			Left_Select = fDomOffset(oSlt, 'offsetLeft'); 
			Largeur_Select = oSlt.offsetWidth; 
			Hauteur_Select = oSlt.offsetHeight;
			
			isLeft = false; 
			if ((Left_Element > (Left_Select - Largeur_Element)) && (Left_Element < (Left_Select + Largeur_Select)))
			{ 
				isLeft = true; 
			}
			
			isTop = false; 
			if ((Top_Element > (Top_Select - Hauteur_Element)) && (Top_Element < (Top_Select + Hauteur_Select)))
			{ 
				isTop = true; 
			}
			
			if (isLeft && isTop)
			{
				sVis = (oObj.style.visibility == 'hidden') ? 'visible' : 'hidden';
				if (oSlt.style.visibility != sVis) {oSlt.style.visibility = sVis;}
			}
			else
			{ 
				if (oSlt.style.visibility != 'visible') {oSlt.style.visibility = 'visible';} 
			} 
		} 
	} 
}

function GetId(id)
{
	return document.getElementById(id);
}

var bulleVis=false; // La variable bulleVis nous dit si la bulle est visible ou non
 
function move(e)
{
	if ( GetId("curseur") ) 
	{
		if(bulleVis) 
		{  // Si la bulle est visible, on calcul en temps reel sa position ideale
		
			if (document.body) // on récupère la taille de la fenêtre du navigateur
			{
				var larg = document.body.clientWidth + document.body.scrollLeft;
				var haut = document.body.clientHeight + document.body.scrollTop;
			}
			else if(document.documentElement)
			{
				var larg = document.documentElement.clientWidth + document.documentElement.scrollLeft;
				var haut = document.documentElement.clientHeight + document.documentElement.scrollTop;			
			}
			else
			{
				var larg = window.innerWidth + window.pageXOffset;
				var haut = window.innerHeight + window.pageYOffset;
			}
		
			// on récupère la taille de l'élément (la div infobulle)
			Largeur_Element = GetId("curseur").offsetWidth; 
			Hauteur_Element = GetId("curseur").offsetHeight;
		
		    if (navigator.appName!="Microsoft Internet Explorer") 
			{ // Si on est pas sous IE
			
				pos_left = larg - Largeur_Element - 10;
				pos_left = pos_left>(e.pageX-20) ? (e.pageX-20) : (e.pageX)-Largeur_Element+20;
				
				pos_top = haut - Hauteur_Element -10;
				pos_top = pos_top>(e.pageY+10) ? (e.pageY+10) : (e.pageY)-Hauteur_Element-10;
		    }
		    else
			{ // Modif proposé par TeDeum, merci à  lui
			
				if(document.documentElement.clientWidth>0)
				{
					pos_left = (event.clientX-20) + document.documentElement.scrollLeft;
					pos_left = (pos_left+Largeur_Element+10)<larg ? pos_left : pos_left-Largeur_Element+40;
					
					pos_top = (event.clientY+10) + document.documentElement.scrollTop;
					pos_top = (pos_top+Hauteur_Element+10)<haut ? pos_top : pos_top-Hauteur_Element-20;
				}
				else
				{
					pos_left = (event.clientX-20) + document.body.scrollLeft;
					pos_left = (pos_left+Largeur_Element+10)<larg ? pos_left : pos_left-Largeur_Element+40;
					
					pos_top = (event.clientY+10) + document.body.scrollTop;
					pos_top = (pos_top+Hauteur_Element+10)<haut ? pos_top : pos_top-Hauteur_Element-20;
		        }
		    }
			
			if( pos_left && pos_top ){
				GetId("curseur").style.left = pos_left + "px";
				GetId("curseur").style.top = pos_top + "px";	
			}
		}
		else
		{
			GetId("curseur").style.top="0px";
			GetId("curseur").style.left="0px";	
		}
	}
}
 
function montre_infobulle(text)
{
	if(bulleVis==false)
	{

		GetId("curseur").style.visibility="visible"; // Si il est caché (la verif n'est qu'une securité) on le rend visible.
		GetId("curseur").innerHTML = text; // on copie notre texte dans l'élément html
		bulleVis=true;
		
		if (navigator.appName=="Microsoft Internet Explorer")
		{
			fSwapSelect('curseur');
			setTimeout("fSwapSelect('curseur')", 10);
		}

	}
}

function cache_infobulle()
{
	if(bulleVis==true)
	{
		GetId("curseur").style.visibility="hidden"; // Si la bulle est visible on la cache

		bulleVis = false;
		
		if (navigator.appName=="Microsoft Internet Explorer")
		{
			fSwapSelect('curseur');
		}
	}
}

document.onmousemove=move; // dès que la souris bouge, on appelle la fonction move pour mettre à jour la position de la bulle


function montre_div(id)
{

	document.getElementById(id).style.visibility="visible";
	
	if (navigator.appName=="Microsoft Internet Explorer")
	{
		fSwapSelect(id);
		setTimeout("fSwapSelect(id)", 10);
	}
	
}

function cache_div(id)
{
	document.getElementById(id).style.visibility="hidden";
	
	if (navigator.appName=="Microsoft Internet Explorer")
	{
		fSwapSelect(id);
		setTimeout("fSwapSelect(id)", 10);
	}

}

function swap_div(id)
{

	var isVisible = document.getElementById(id).style.visibility;
	
	if( isVisible=="visible" )
	{
		cache_div(id);
	}
	else
	{
		montre_div(id);
	}

}

//-->
