/* Dernière modification : Eugène : 09 Août 2010  */

var xOffset=25
var yOffset=5

if (is_portail) {
    if (is_portail==true) {
        var xOffset=-140
        var yOffset=-205
    }
}

var affiche = false; // La variable i nous dit si le bloc est visible ou non
var w3c=document.getElementById && !document.all;
var ie=document.all;

var is_scroll = false;
var IfNet=(navigator.appName.substring(0,3) == "Net");

if (ie||w3c) {
  var laBulle
}

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

function getPositionCursor(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        cursor.x = e.clientX + 
            (document.documentElement.scrollLeft || 
            document.body.scrollLeft) - 
            document.documentElement.clientLeft;
        cursor.y = e.clientY + 
            (document.documentElement.scrollTop || 
            document.body.scrollTop) - 
            document.documentElement.clientTop;
    }
    return cursor;
}

function deplacer(e) {
  if(affiche){
    /*var curX = (navigator.appName.substring(0,3) == "Net") ? e.pageX : (event.clientX+document.body.scrollLeft);
   	var curY = (navigator.appName.substring(0,3) == "Net") ? e.pageY : (event.clientY+document.body.scrollTop);*/

    /*var txt=navigator.appVersion;
    if (ereg('mozilla', txt.toLowerCase())) {
        var curX = event.x+document.body.scrollLeft
        var curY = event.y+document.body.scrollTop
    }*/

    var cursor=getPositionCursor(e);

    var curX=cursor.x;
    var curY=cursor.y;

    /*var curX = (navigator.appName.substring(0,3) == "Net") ? e.pageX : (event.x+document.body.scrollLeft);
   	var curY = (navigator.appName.substring(0,3) == "Net") ? e.pageY : (event.y+document.body.scrollTop);

    /*
           x = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x+document.body.scrollLeft;
           y = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.y+document.body.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.style.width = 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"
    }
  }
}

function ElementId(id) {
    return document.getElementById(id);
}

function montre(text) {
  if (w3c||ie){

    if (!message_js_id) {
        var message_js_id='message_js_id';
    }

    laBulle = (document.getElementById("bulle") ? document.getElementById("bulle") : "");

    laBulle.innerHTML = "<div id='"+message_js_id+"'>" + text + "</div><iframe id='framemessage' frameborder=0 scrolling=no src=about:blank></iframe>"; // fixe le texte dans l'infobulle
    if (ie) {
    	document.getElementById("framemessage").style.height = document.getElementById(message_js_id).offsetHeight;
        laBulle.style.visibility = "visible"; // Si il est cachée (la verif n'est qu'une securité) on le rend visible.
        laBulle.style.display = "";
    }

    if (w3c) {
        if (document.getElementById("framemessage")) {
            document.getElementById("framemessage").style.height = document.getElementById(message_js_id).offsetHeight;
            document.getElementById("framemessage").style.width = document.getElementById(message_js_id).offsetWidth;
        }
        laBulle.style.visibility = "visible"; // Si il est cachée (la verif n'est qu'une securité) on le rend visible.
    }
    affiche = true;
  }
}

function montre_avec_taille(text, id) {
  if (w3c||ie){
    //laBulle = document.all ? document.all["bulle"] : document.getElementById ? document.getElementById("bulle") : ""
    laBulle = (document.getElementById("bulle") ? document.getElementById("bulle") : "");
    laBulle.innerHTML = "<div id='"+id+"'>" + text + "</div><iframe id='framemessage' frameborder=0 scrolling=no src=about:blank></iframe>"; // fixe le texte dans l'infobulle
    if (ie) {
    	document.getElementById("framemessage").style.height = document.getElementById(id).offsetHeight;
        document.getElementById("framemessage").style.width = document.getElementById(id).offsetWidth;
        laBulle.style.visibility = "visible"; // Si il est cachée (la verif n'est qu'une securité) on le rend visible.
        laBulle.style.display = "";
    }

    if (w3c) {
        document.getElementById("framemessage").style.height = document.getElementById(id).offsetHeight;
        document.getElementById("framemessage").style.width = document.getElementById(id).offsetWidth;
        if (laBulle) {
            laBulle.style.visibility = "visible"; // Si il est cachée (la verif n'est qu'une securité) on le rend visible.
        }
    }
    affiche = true;
  }
}

function cache() {
  if (w3c||ie){
    affiche = false
    if (laBulle) {
        laBulle.style.visibility="hidden" // avoid the IE6 cache optimisation with hidden blocks
        laBulle.style.top = '-1000px'
        laBulle.style.backgroundColor = ''
        laBulle.style.width = ''
    }
  }
}

if (document.getElementById) {
    if (navigator.appName.substring(0,3) == "Net")
        document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = deplacer;
}

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

