// La variable i nous dit si la bulle est visible ou non
var i = false; 

// Variable indiquant l'ID de l'infobulle
var id_infobulle = "infobulle";

// Fonction spéciale pour les infobulles des spectacles
function Spectacle(nom, texte)
{
	ChangeId('infobulle');
	montre('<strong>'+nom+'</strong> <br />' + texte);
}

// Fonction spéciale pour les infobulles d'avertissements
function Avertissement(titre, texte)
{
	ChangeId('warning');
	montre('<strong>' + titre + '</strong> <br /> ' + texte);
}

// Récupère un élément par rapport à son ID
function GetId(id)
{
	return document.getElementById(id);
}

// Change l'id de l'infobulle pour lui permettre de changer de style
function ChangeId(newID)
{
	GetId(id_infobulle).id = newID;
	id_infobulle = newID;
}

// Fonction de déplacement de l'infobulle 
function move(e) {
	// Si la bulle est visible, on calcul en temps reel sa position ideale
	if (i == true) {
		// Gestion du déplacement pour tout autre navigateur que IE
		if (navigator.appName!="Microsoft Internet Explorer") { 
			GetId(id_infobulle).style.left=e.pageX + 5+"px";
			GetId(id_infobulle).style.top=e.pageY + 10+"px";
		}
		// Gestion du déplacement pour Internet Explorer
		else { 
			if(document.documentElement.clientWidth>0) {
				GetId(id_infobulle).style.left = 20+event.x+document.documentElement.scrollLeft+"px";
				GetId(id_infobulle).style.top = 10+event.y+document.documentElement.scrollTop+"px";
			} else {
				GetId(id_infobulle).style.left = 20+event.x+document.body.scrollLeft+"px";
				GetId(id_infobulle).style.top = 10+event.y+document.body.scrollTop+"px";
			}
		}
	}
}
 
// Fonction permettant de rendre visible l'infobulle
function montre(texte) {
	// Si la bulle est actuellement cachée
	if (i == false) {
		// Alors on la rend visible
		GetId(id_infobulle).style.visibility = "visible";
		// Placement du texte dans l'infobulle
		GetId(id_infobulle).innerHTML = texte;
		// Et on indique qu'elle est désormais visible
		i = true;
	}
}

// Fonction permettant de cacher l'infobulle
function cache() {
	// Si la bulle est actuellement visible
	if (i == true) {
		// Alors on la cache
		GetId(id_infobulle).style.visibility = "hidden"; 
		// Et on indique qu'elle est désormais cachée
		i = false;
	}
}

// Dès que la souris bouge, on appelle la fonction move pour mettre à  jour la position de la bulle.
document.onmousemove=move; 

