var posX=0;
var posY=0;
var xOffset=10;
var yOffset=10;

// timerID : objet de tempo pour la disparition du menu
var timerID = null;

/*
Affichage de la bulle en passant en argument l'id du layer de la bulle <div id="bulle1">Texte bulle 1</div>
*/

function AfficheBulle(id){
  AffBulle(getTextFromLayer(id));
}

function AffBulle(texte)
{
  stopTimer();

  contenu="<div class=\"bulle\" onmouseover=\"stopTimer()\" onmouseout=\"HideBulleTimeOut(1)\">" + texte + "</div>";

  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;
    document.layers["bulle"].left=finalPosX;
    document.layers["bulle"].visibility="show";
  }

  if (document.all)
  {
    bulle.innerHTML=contenu;
    document.all["bulle"].style.top=posY+yOffset;
    document.all["bulle"].style.left=finalPosX;
    document.all["bulle"].style.visibility="visible";
  }
  else if (document.getElementById) {
    document.getElementById("bulle").innerHTML=contenu;
    document.getElementById("bulle").style.top=posY+yOffset;
    document.getElementById("bulle").style.left=finalPosX;
    document.getElementById("bulle").style.visibility="visible";
  }
}

/*
Récupère les coordonnées de la souris
*/

function getMousePos(e)
{
  if (document.all)
  {
    posX=event.x+document.body.scrollLeft;
    posY=event.y+document.body.scrollTop;
  }
  else
  {
    posX=e.pageX;
    posY=e.pageY;
  }
}


/*
Arrete le timer (quand souris survole le lien ou entre dans la zone du menu)
*/

function stopTimer(){
  if(this.timerID != null){
    clearTimeout(timerID);
    timerID = null;
  }
}


/*
Masque la bulle affichée après le temps défini (sortie de sourie de la zone)
*/

function HideBulleTimeOut(secondes){
  this.timerID=setTimeout("HideBulle()" , secondes*1000);
}


function HideBulle() {
  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";
  }
}


/*
Initialise le formatage de la bulle
*/

function InitBulle(/*WidthBulle, CouleurTexte, PoliceTexte, TailleTexte, CouleurFond, CouleurContour,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:10" ></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>');
  }
}


/*
Récupère le texte des bulles dans les div défini par leur id
*/

function getTextFromLayer(id)
{
  if (document.getElementById){
    return (document.getElementById(id).innerHTML);
  } else if (document.all) {
    return (document.all[id].innerHTML);
  }
}

