//Définition de variables en fonction du navigateur
var ie = (document.all)? true:false;
var ns4 = (document.layers)? true:false;
var ns6 = (document.getElementById)? true:false;
var bulle;
var bulleStyle;

//Incrustation du div "bulle" (display: none = non affiché)
//Vous pouvez librement modifier le style de bordure de la bulle
if ((ns6) || (ie)) {
	  //document.write('<span id="bulle" dojoType="dijit.Tooltip" connectId="bulle"></span>');
	  document.write('<div id="bulle" style="position:absolute; top: 0; left: 0; border: 1px solid #cccccc; padding: 5px; display: none; width:150px;"></div>');
} else if (ns4) {
	  document.write('<layer id="bulle" top=0 left=0></layer>');
}

dojo.addOnLoad(function(){
	if(ns6) {
		bulle = document.getElementById('bulle');
	}
	else if(ie) {
		bulle = document.all['bulle'];
	}
	else {
		bulle = document.layers['bulle']; 
	}

	bulleStyle = bulle.style;
});
//Fonction d'affichage de la bulle
function afficher_bulle(texte, couleur, event) {

	//Lignes utiles si vous imbriquez des éléments devant supporter des bulles
	if(ie) {
		window.event.cancelBubble = true;
	}
	else {
		event.stopPropagation();
	}
	
	bulle.innerHTML = texte;
	bulleStyle.backgroundColor = couleur;
	bulleStyle.zIndex = 200000;
	//On suit les mouvements de la souris
	if(ie) {
		bulle_mouseMove();
	}
	else {
		bulle_mouseMove(Event);
	}

	document.onmousemove = bulle_mouseMove;
	bulleStyle.display = 'block';
	
}

//Fonction de positionnement de la bulle en fonction des mouvements du curseur
function bulle_mouseMove(e) {

	if(ie) {
		//Prend en compte le scroll de la page
		if(document.documentElement.clientWidth>0) {
			bulle_x = event.x + document.documentElement.scrollLeft;
			bulle_y = event.y + document.documentElement.scrollTop;
		}
		else {
			bulle_x = event.x + document.body.scrollLeft;
			bulle_y = event.y + document.body.scrollTop;
		}
	}
	else {

		bulle_x = e.pageX;
		bulle_y = e.pageY;
	}
	
	if(!isNaN(bulle_x) && !isNaN(bulle_y)) {
		bulle_x += 5;
		bulle_y -= 25;

		bulleStyle.left = bulle_x + 'px';
		bulleStyle.top = bulle_y + 'px';
	}
}

//Fonction qui fait disparaître la bulle
function masquer_bulle() {
	document.onmousemove = null;
	bulleStyle.display = 'none';
	
}

//Fonctions qui augmente le z-index (indice de profondeur) de la bulle
function up_zindex_bulle() {
	bulleStyle.zIndex = 200000000;
}
//Réinitialise le z-index
function raz_zindex_bulle() {
	bulleStyle.zIndex = '';
}
