var affiche = false;
var w3c = document.getElementById && !document.all;
var ie = document.all;
var xOffset=10;
var yOffset=10;

if (ie||w3c) {
  var laBulle;
}

function bulle_cacher() {
  if (w3c||ie){
    affiche = false
//    laBulle.style.visibility="hidden"; // avoid the IE6 cache optimisation with hidden blocks
    laBulle.style.display = "none";
    laBulle.style.top = '-1000px';
    laBulle.style.backgroundColor = '';
    laBulle.style.width = '';
    
    // Restaurer les Selects (bug IE6)
    foform_restaurerSelects();
  }
}

function bulle_montrer(info) {
	if (!(document.getElementById("popupSuggestion") && document.getElementById("popupSuggestion").style.visibility == "visible")) {
	  if (w3c||ie){
	    laBulle = document.all ? document.all["bulleInfo"] : document.getElementById ? document.getElementById("bulleInfo") : "";
	    laBulle.innerHTML = info;
	    laBulle.style.visibility = "visible";
	    laBulle.style.display = "block"; // Si il est cachée (la verif n'est qu'une securité) on le rend visible.
	    affiche = true;
	  }
  }
}

function ietruebody(){  // retourne le bon corps...
  return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function bulle_placer(e) {
  if(affiche){
    var curX = (w3c) ? e.pageX : event.clientX + ietruebody().scrollLeft;
    var curY = (w3c) ? e.pageY : event.clientY + ietruebody().scrollTop;
    var winwidth = ie && !window.opera ? ietruebody().clientWidth : window.innerWidth - 20;
    var winheight = ie && !window.opera ? ietruebody().clientHeight : window.innerHeight - 20;

    var rightedge = ie && !window.opera ? winwidth - event.clientX - xOffset : winwidth - e.clientX - xOffset;
    var bottomedge = ie && !window.opera ? winheight - event.clientY - yOffset : winheight - e.clientY - yOffset;

    var leftedge = (xOffset < 0) ? xOffset*(-1) : -1000;

    // modifier la largeur de l'objet s'il est trop grand...
    if(laBulle.offsetWidth > winwidth / 3){
      laBulle.offsetWidth = winwidth / 3;
    }

    // si la largeur horizontale n'est pas assez grande pour l'info bulle
   if(rightedge < laBulle.offsetWidth){
      // bouge la position horizontale de sa largeur à gauche
      laBulle.style.left = curX - laBulle.offsetWidth + "px"
    } else {
      if(curX < leftedge){
        laBulle.style.left = "5px";
      } else{
        // la position horizontale de la souris
        laBulle.style.left = curX + xOffset + "px";
      }
    }

    // même chose avec la verticale
    if(bottomedge < laBulle.offsetHeight){
      laBulle.style.top = curY - laBulle.offsetHeight - yOffset + "px";
    } else {
      laBulle.style.top = curY + yOffset + "px";
    }
    
    // Contournement bug IE6 d'empilement select / div
    foform_cacherSelectsSousElt(laBulle.id);
  }
}

document.onmousemove = bulle_placer; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle.

