var IB = new Object;
var posX = 0;
var posY = 0;
var xOffset = 110;
var yOffset = 20;
var largeur = 230;
var to; // Référence du timer
var contenu;
var ie8 = false; // Problème avec IE 8 et "document.documentElement"

function initTexte(texte) {
	contenu = "<table border='0' cellspacing='"+IB.NbPixel+"' cellpadding='0' bgcolor='"+IB.ColContour+"' width='"+largeur+"'><tr><td style='padding: 7px; text-align: left; background: "+IB.ColFond+";'><font style='font-size: 11px; color: "+IB.ColTexte+";'>"+texte+"</font></td></tr></table>";
}

function AffBulle(texte) {
	initTexte(texte);
	AffBulleReelle();
}

function AffBulleReelle() {
	// Position de la souris ?
	if ( document.layers ) {
		window.captureEvents(Event.MOUSEMOVE);
		window.onMouseMove = getMousePos;
	}
	if ( document.all ) {
		document.onmousemove = getMousePos;
	}
	else if ( document.getElementById ) {
		document.onmousemove = getMousePos;
	}

	// Affichage du contenu
	var finalPosX = posX - xOffset;
	if (finalPosX < 0)
		finalPosX = 0;
	if (document.layers) {
		document.layers["bulle"].document.write(contenu);
		document.layers["bulle"].document.close();
		document.layers["bulle"].top = posY + yOffset + "px";
		document.layers["bulle"].left = finalPosX + "px";
		document.layers["bulle"].visibility = "show";
	}
	if (document.all) {
		bulle.innerHTML = contenu;
		document.all["bulle"].style.top = posY + yOffset + "px";
		document.all["bulle"].style.left = finalPosX + "px";
		document.all["bulle"].style.visibility = "visible";
	}
	else if (document.getElementById) {
		document.getElementById("bulle").innerHTML = contenu;
		document.getElementById("bulle").style.top = posY + yOffset + "px";
		document.getElementById("bulle").style.left = finalPosX + "px";
		document.getElementById("bulle").style.visibility = "visible";
	}

	to = setTimeout("AffBulleReelle()", 30); // On va suivre les déplacements du pointeur
}

function getMousePos(e) {
	if (document.all) {
		if ( ie8 ) { // IE 7 n'aime pas "document.body", et IE 8 n'aime pas beaucoup "document.documentElement"... Ca devient compliqué, chez Microsoft. (AK 07/2009)
			posX = event.x + document.body.scrollLeft;
			posY = event.y + document.body.scrollTop;
		}
		else {
			posX = event.x + document.documentElement.scrollLeft; // Correctif pour bug IE 7 (AK)
			posY = event.y + document.documentElement.scrollTop;
		}
	}
	else {
		posX = e.pageX;
		posY = e.pageY; 
	}
}

function HideBulle() {
	clearTimeout(to); // On commence par arrêter le timer

	if ( document.layers )
		document.layers["bulle"].visibility = "hide";
	if ( document.all )
		document.all["bulle"].style.visibility = "hidden";
	else if ( document.getElementById )
		document.getElementById("bulle").style.visibility = "hidden";
}

function InitBulle(ColTexte, ColFond, ColContour, NbPixel) {
	IB.ColTexte = ColTexte;
	IB.ColFond = ColFond;
	IB.ColContour = ColContour;
	IB.NbPixel = NbPixel;

	if ( document.layers ) {
		window.captureEvents(Event.MOUSEMOVE);
		window.onMouseMove = getMousePos;
		document.write("<layer name='bulle' top='0' left='0' visibility='hide'></layer>");
	}
	if ( document.all ) {
		document.write("<div id='bulle' style='position: absolute; top: 0; left: 0; visibility: hidden; z-index: 10px;'></div>");
		document.onmousemove = getMousePos;
	}
	else if ( document.getElementById ) {
		document.onmousemove = getMousePos;
		document.write("<div id='bulle' style='position: absolute; top: 0; left: 0; visibility: hidden; z-index: 10;'></div>");
	}
}

