// Par default, on position la bulle en bas a droite de la souris

/* Nom de l'infobulle */
var bulle_name = 'infoBulle2';

/* Infobulle affichée ou non ? */
var isBulle = false;

/* Recupere le navigateur */
//var nav = getNav();

var mouse_x = mouse_y = 0;
//var plusX = plusY = 0;
//var widthPage = heightPage = 0;
//var objWidth = objHeight = 0;

function initMove() {
	if(window.event) { document.onmousemove = move; }
	else { document.addEventListener('mousemove', move, true); }
}
StkFunc(initMove);

/*
function getScrollXY() {
  //var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    plusY = window.pageYOffset;
    plusX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    plusY = document.body.scrollTop;
    plusX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    plusY = document.documentElement.scrollTop;
    plusX = document.documentElement.scrollLeft;
  }
}
*/

function move(e) {
	var DocRef;    // Variable pour IE uniquement
	//var e = (!e) ? window.event : e;//IE:Moz
  // L'événement est passée à la fonction
  // donc tous sauf IE…
  if(e) {
  	// Dans ce cas on obtient directement la position dans la page
    mouse_x = e.pageX;
    mouse_y = e.pageY;
  }
  else{ 
  	// Dans ce cas on obtient la position relative à la fenêtre d'affichage
    mouse_x = event.clientX;
    mouse_y = event.clientY;

    //-- Il faut traiter le CAS des DOCTYPE sous IE
    if( document.documentElement && document.documentElement.clientWidth) // Donc DOCTYPE
      DocRef = document.documentElement;   // Dans ce cas c'est documentElement qui est réfèrence
    else
      DocRef = document.body;                    // Dans ce cas c'est body qui est réfèrence

    //-- On rajoute la position liée aux ScrollBars
    mouse_x += DocRef.scrollLeft;
    mouse_y += DocRef.scrollTop;
  }
	/*
	if(e.pageX){
		mouse_x = e.pageX+window.pageXOffset;
		mouse_y = e.pageY+window.pageYOffset;
	}
	else if(e.clientX) { //IE
		if(document.documentElement){ //IE 6+ strict mode
			mouse_x = e.clientX+document.documentElement.scrollLeft;
			mouse_y = e.clientY+document.documentElement.scrollTop;
		}
		else if(document.body) {//Other IE
			mouse_x = e.clientX+document.body.scrollLeft;
			mouse_y = e.clientY+document.body.scrollTop;
		}
	}
	else { return false; }//old browsers
	//document.getElementById('myspan').firstChild.data='X='+mouse_x+' Y='+mouse_y;
*/
	/*
	var infos = 'Position souris : X:'+mouse_x+' - Y:'+mouse_y+'<br/>';
	infos += 'Taille Page : X:'+widthPage+' - Y:'+heightPage+'<br/>';
	infos += 'Taille bulle : X:'+objWidth+' - Y:'+objHeight+'<br/>';
	infos += 'Taille ascenseur : X:'+plusX+' - Y:'+plusY+'<br/>';
	
	GetId('postionnement').innerHTML = infos;
	*/
	//make_position();
	/*
  get_div_size();
  if((mouse_x+objWidth) > widthPage) { GetId(bulle_name).style.left = (mouse_x-objWidth)+"px"; } 
  else { GetId(bulle_name).style.left = (mouse_x+15)+"px"; }
	if((mouse_y+objHeight) > heightPage) { GetId(bulle_name).style.top = (mouse_y-objHeight)+"px"; } 
	else { GetId(bulle_name).style.top = ((mouse_y+5)+plusY)+"px"; }
	*/
}

// Positionne le div pour eviter les debordement
function make_position() {
	// Dimension de la page
	var dimPage = page_get_size();
	var widthPage = dimPage[0];
	var heightPage = dimPage[1];

  // Dimension de la bulle
  var objDim = objet_get_size(GetId(bulle_name));
	var objWidth = objDim[0];
	var objHeight = objDim[1];
	
	// Scroll de la page ?
	var pageScroll = getScrollXY();
	var plusX = pageScroll[0];
	var plusY = pageScroll[1];
	
	// Limit la largeur de la bulle a 500px max
	if(objWidth > 500) {
		objWidth = 500;
		GetId(bulle_name).style.width = objWidth+'px';
	}
	// A ton la place pour positionner l'element : position de la souris + largeur de la bulle < largeur de la page
	if((mouse_x+objWidth) > widthPage) {
		GetId(bulle_name).style.left = (mouse_x-objWidth)-10+"px";
	} else {
		GetId(bulle_name).style.left = (mouse_x+10)+"px";
	}
	if(((objHeight+mouse_y)-plusY) > heightPage) {
		//alert(objHeight);
		GetId(bulle_name).style.top = (mouse_y-objHeight)+"px";
		//GetId(bulle_name).style.top = mouse_y+'px';
	} else {
		GetId(bulle_name).style.top = mouse_y+"px";
	}
}

function montre(txt) {
	// Contenu a charger ?
	if(txt && !isBulle) { 
		var body = document.getElementsByTagName("body")[0];
 		var div = document.createElement("div");
  	div.setAttribute('id', bulle_name);
  	div.setAttribute('style', 'z-index:1000;font-size:12px;border:1px solid black;visibility:hidden;position:absolute;padding:5px;background-color:#F9F6A9;');
		div.innerHTML = txt;
  	body.appendChild(div);
  	isBulle = true;	
  		
		make_position();
		
		GetId(bulle_name).style.visibility = 'visible';
	} 
}

function cache() {
	if(GetId(bulle_name)) {
		var obj2 = GetId(bulle_name);
		var parents = obj2.parentNode;
		
		parents.removeChild(obj2);
		isBulle = false;
	}

	/*
  if(isBulle && GetId(bulle_name)) {
		GetId(bulle_name).style.display = 'block';
    hide(bulle_name);
    GetId(bulle_name).innerHTML = "";
    //isBulle = false;
  }
  */
}

/*
function createBulle(eContent) {
  isBulle = true;
	var body = document.getElementsByTagName("body")[0];
 	var div = document.createElement("div");
  div.setAttribute('id', bulle_name);
  div.setAttribute('style', 'position:absolute;padding:5px;background-color:white;');	

  if(eContent) div.innerHTML = eContent;

  body.appendChild(div);
  
}
*/
