// Detection des navigateurs
nc4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;
nc6 = (typeof(window.controllers) != 'undefined' && typeof(window.locationbar) != 'undefined')? true:false;

// Decallage de l'infobulle par rapport au pointeur en X et en Y (en pixels)
decal_x = 3;
decal_y = -25;

// Creation d'un raccourci pour manipuler le calque
if (nc4) {
	var calque = document.bulle;
	}
if (ie4) {
	var calque = bulle.style;
	}
if (nc6) {
	var calque = document.getElementById('bulle').style;
	}

// Interception des mouvements du pointeur
// Instruction pour Netscape
if (nc4) document.captureEvents(Event.MOUSEMOVE);

//Instruction equivalente pour Netscape 6.x et sup.
if (nc6) {
	//document.addEventListener("mousemove",document.onmousemove,true); //GJ20060226 pour Bug B392
	document.addEventListener("mousemove",suivre_souris,true);
	suivre_souris;
	}

// Instruction equivalente pour Internet Explorer
document.onmousemove = suivre_souris;

// Fonction d'affichage de l'infobulle
function pop(message) {

// Formatage de l'infobulle (ici un tableau bleu)
	var contenu = "<table border='0' cellspacing='1' cellpadding='5' width='400' bgcolor='#960000'><tr><td bgcolor='#f8f8f8' class='infobulle'>" + message  +"</td></tr></table>"+ "<div id='FIN'></div>";

// Instructions pour Netscape
	if (nc4) {
		calque.document.write(contenu);
		calque.document.close();
		calque.visibility = "visible";
		}

// Instructions equivalentes pour Internet Explorer
	if (ie4) {
		document.all("bulle").innerHTML = contenu;
		calque.visibility = "visible";
		}

//Instructions equivalentes pour Netscape 6.x et sup.
	if (nc6) {
		document.getElementById("bulle").innerHTML = contenu;
		calque.visibility = "visible";
		}

	}

// Gestion du pointeur
function suivre_souris(e) {

// Creation des variables de decallage
// Instructions pour Netscape 4 et 6
	if (nc4 || nc6) {
		var x = e.pageX;
		var y = e.pageY;
		}

// Instructions equivalentes pour Internet Explorer
	if (ie4) {
		var x = event.x + document.body.scrollLeft;
		var y = event.y + document.body.scrollTop;
		}

// Cas particulier pour Internet Explorer sur Mac (les coordonnees de decallages sont modifiees)
	if ( (navigator.userAgent.indexOf('Mac') != -1) && (navigator.userAgent.indexOf('MSIE') != -1) ) {
		calque.left = x + decal_x - 135;
		calque.top  = y + decal_y - 155;
		}

// Pour les autres cas, decallage normal du calque par rapport au pointeur
	else {

	    // Traitement pour replacer l'info-bulle si elle dépasse du bas de l'écran
	    // Validé pour IE6, Netscape 7
        if (nc4) {
            // Ne fonctionne pas sous netscape 4.7 : il faut des <a href...>
    		calque.left = x + decal_x;
      		calque.top = y + decal_y;
      		return;
    	}
        if (ie4) {
        	var boitecalque = document.all.FIN;
    	    var scrollTop = document.body.scrollTop;
        }
        if (nc6) {
	        var boitecalque = document.getElementById('FIN');
    	    var scrollTop = document.body.scrollTop;
	    }

		var wh = GetWindowHeight();
        if( boitecalque!=null)
		    var dh = boitecalque.offsetTop;
		else
		    var dh = 0;

        var newY = y + decal_y;

        if( (newY + dh) > (wh + scrollTop))
            newY = (wh + scrollTop) - dh;

        if(newY < scrollTop)
            newY = scrollTop;

		calque.left = x + decal_x;
	    calque.top  = newY;
	}

}

function GetWindowHeight() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return  myHeight;
}



// Fonction pour masquer le calque
function disparaitre() {

// Instructions pour Netscape
	if (nc4) {
		calque.document.write('');
		calque.document.close();
		calque.visibility = "hidden";
		}

// Instructions equivalentes pour Internet Explorer
	if (ie4) {
		document.all("bulle").innerHTML = '';
		calque.visibility = "hidden";
		}

//Instructions equivalentes pour Netscape 6.x et sup.
	if (nc6) {
		document.getElementById("bulle").innerHTML = '';
		calque.visibility = "hidden";
		}
	}
