//système développé par Virginie Bourgeaux à partir d'un système existant mais modifier et retravailler pour améliorer la compatibilité avec les navigateurs actuels et le redimensionnement de fenêtre.
//merci de respecter mon travail et de me contacter si vous souhaitez l'utiliser virginiebourgeaux@yahoo.fr

//pour l'affichage en div :
// virg
// le 26/0208
// ensembles de fonctions récupérées dans http://www.accimoto.com/js/bulles/bulle.js
// utiliser dans la page adminContact
function GetId(id) { return document.getElementById(id); }
var iVisible=false; 
function move(e) {
  if (iVisible) {  
		//info image
  		var largImg = GetId("curseur").offsetWidth;
  		var hautImg = GetId("curseur").offsetHeight;
		//info page complète
		/*var maxBas = document.body.offsetHeight;//ne change pas si on réduit la fenêtre (sauf ie6, mais valeur abérente ...)
		var maxDroite = document.body.offsetWidth;//change si on réduit la fenêtre*/
		//autres infos  : uniquement pour FF, mais donne les valeurs réelles de la fenêtre en cours !!!
		/*var largFen = window.innerWidth;
		var hautFen = window.innerHeight;*/
		
		//info page complète : //chang dans tous les cas, donc à conserver :
		var larg = document.documentElement.clientWidth;
		var haut = document.documentElement.clientHeight;
		
		
		//scroll : //chang dans tous les cas, donc à conserver :
		var posX = document.documentElement.scrollLeft;
		var posY = document.documentElement.scrollTop;
		
		//alert(" pour documentElement : clientHeight "+haut+" offsetHeight"+ document.documentElement.offsetHeight+" scrollHeight"+ document.documentElement.scrollHeight+" - pour BodyclientHeight "+ document.body.clientHeight+" offsetHeight"+ document.body.offsetHeight+" scrollHeight"+ document.body.scrollHeight+" curseur : "+event.y);
		
		//alert(navigator.appName+" # "+navigator.appVersion+" # "+navigator.appCodeName);
		
		//poisitonnement
		if (navigator.appName!="Microsoft Internet Explorer") {
			//alert("hauteur img"+hautImg+" hauteur page"+haut+" scroll"+posY+" pos curs"+e.pageY);
			if((hautImg)>(haut-e.pageY+posY)){
				GetId("curseur").style.top=e.pageY-(hautImg-(haut-e.pageY+posY))+"px";
				/*if(e.pageY-(hautImg-(haut-e.pageY+posY))<=340){
					if(GetId("flash")!=undefined){
						GetId("flash").style.visibility="hidden";
					}
				}*/
			}else{
				GetId("curseur").style.top=e.pageY+20+"px";
			}
			if((largImg)>(larg-e.pageX+posX)){
				GetId("curseur").style.left=e.pageX-largImg-20+"px";
			}else{
				GetId("curseur").style.left=e.pageX+30+"px";
			}
			//e.pageY : position / haut de la page, sans tenir compte du scroll !!!
			
		} else { 			
			if(navigator.appVersion.indexOf("MSIE 6.0", 0)==-1){ //nouveau test car IE > 6.0 fonctionne comme FF mais tjs avec event
				//alert("hauteur img"+hautImg+" hauteur page"+haut+" scroll"+posY+" pos curs"+event.y+" calcul "+(haut-event.y+posY));
				//on chg le calc
				//si image basse dans la page on vérifie (pos Y du curs+ht img)>(espac au dessus curs mais seulement dans fenêtre)
				var dessous =  ((haut+posY)-event.y)/2;// divisé par 2, sans justif, mais ça marche sous IE...
				//espace entre curs et ht de fenêtre = haut-((haut+posY)-event.y)
				var dessus = haut-dessous;
				
				if((hautImg>dessous)&&(hautImg<dessus)){//mettre image au dessus curseur si espace en dessous plus petit que hauteur d'image et espace au dessus plus grand
					//GetId("curseur").style.top=event.y-(hautImg-(haut-event.y+posY))+"px";
					GetId("curseur").style.top=event.y-hautImg-20+"px";
					//alert(dessous+" "+hautImg+"  "+dessus);
				}else if((hautImg<dessous)&&(hautImg>dessus)){//mettre image en dessous si espace au dessus trop petit et espace en dessous assez grand
					GetId("curseur").style.top=event.y+20+"px";
				}else{ //mettre image au milieu si trop grande ou espace ok dans les 2 cas
					GetId("curseur").style.top=event.y-(hautImg/2)+"px";					
				}
				if((largImg)>(larg-event.x+posX)){
					GetId("curseur").style.left=event.x-largImg-20+"px";
				}else{
					GetId("curseur").style.left=event.x+30+"px";
				}
				//e.pageY : position / haut de la page, sans tenir compte du scroll !!!
			}else{
				//alert("hauteur img"+hautImg+" hauteur page"+haut+" scroll"+posY+" pos curs"+event.y);
				if (document.documentElement.clientWidth>0) {
					if(hautImg>(haut-event.y)){
						GetId("curseur").style.top=event.y-(hautImg-(haut-event.y+posY))+"px";
						/*if(event.y-(hautImg-(haut-event.y+posY))<=330){
							if(GetId("flash")!=undefined){
								GetId("flash").style.visibility="hidden";
							}
						}*/
					}else{
						GetId("curseur").style.top=20+event.y+document.documentElement.scrollTop+"px";
					}
					if(largImg>(larg-event.x)){
						GetId("curseur").style.left=event.x-largImg-20+"px";
					}else{
						GetId("curseur").style.left=30+event.x+document.documentElement.scrollLeft+"px";
					}
					//ie6et7 : position haut de la fenêtre : chang en fonction du scroll
				} else {
					GetId("curseur").style.left=30+event.x+document.body.scrollLeft+"px";
					GetId("curseur").style.top=20+event.y+document.body.scrollTop+"px";
					//alert("ie2"+event.y);
				}
			}
		}
	}
}
function montre(text) {
	if(iVisible==false) {
		GetId("curseur").style.visibility="visible";
		GetId("curseur").style.display="block";
		GetId("curseur").innerHTML = text;
		iVisible=true;
	}
}
function cache() {
	if(iVisible==true) {	
		/*if(GetId("flash")!=undefined){
			GetId("flash").style.visibility="visible";
		}*/
		GetId("curseur").style.visibility="hidden";
		GetId("curseur").style.display="none";
		GetId("curseur").style.left = "-600px";
		GetId("curseur").style.top = "-600px";
		iVisible=false;
	}
}
document.onmousemove=move;
