
ij = 20;     // decalage horizontal de la bulle
ji= 55;        // decalage vertical de la bulle
var i=false; // La variable i nous dit si la bulle est visible ou non
premier_mouv_souris = 0;



///////////////////////////////////////////////////////
/////////// change une fois l'opacité d'un élément (appelé par la fonction opacity)
///////////////////////////////////////////////////////

function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}


///////////////////////////////////////////////////////
/////////// boucle qui change l'opacité d'un élément (appelle la fonction changeOpac)
///////////////////////////////////////////////////////

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

if(opacStart > opacEnd) {                ///// reduction de l'opacité
for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
} else if(opacStart < opacEnd) {        ///// augmentation de l'opacité
for(i = opacStart; i <= opacEnd; i++) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
}
}





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



function move(e) {
                    premier_mouv_souris = 1;
                  if(i) {  // Si la bulle est visible, on calcul en temps reel sa position ideale
                    
                    if (navigator.appName!="Microsoft Internet Explorer") { // Si on est pas sous IE
                    GetId("curseur").style.left=16+e.pageX-ij+"px";
                    GetId("curseur").style.top=e.pageY+2-ji+"px";
                    if(e.pageY === 0 || e.pageX === 0 ){GetId("curseur").style.top = '-300px';}
                    }
                    
                    else {
                    if(document.documentElement.clientWidth>0) {
                        GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft-ij+"px";
                        GetId("curseur").style.top=5+event.y+document.documentElement.scrollTop-ji+"px";
                        if(event.x === 0 || event.y === 0){GetId("curseur").style.top = '-300px';}
                    }
                    
                    else {
                        GetId("curseur").style.left=20+event.x+document.body.scrollLeft-ij+"px";
                        GetId("curseur").style.top=5+event.y+document.body.scrollTop-ji+"px";
                        if(event.x === 0 || event.y === 0){GetId("curseur").style.top = '-300px';}
                    }
                    
                    }
                  }
}
                

                


function montre(pos) {
                    if(pos!==0){currentPosition = pos; attribut_texte();}
                      if(i===false) {
                    changeOpac(0, "curseur");
                      GetId("curseur").style.visibility="visible";         // Si il est cachÉ (la verif n'est qu'une securité) on le rend visible.
                      GetId("curseur").innerHTML = texte_actuel;         // Cette fonction est a améliorer, il parait qu'elle n'est pas valide (mais elle marche)
                      obj = document.getElementById('curseur');            
                        opacity("curseur", 0, 100, 200);                // met la bulle a opacité zero
                      i=true;
                    }else{GetId("curseur").innerHTML = texte_actuel;}
}



                function cache() {
                if(i===true) {
                    GetId("curseur").style.height="auto";

                GetId("curseur").style.visibility="hidden"; // Si la bulle etais visible on la cache
                i=false;
                
                }
                }
                
                document.onmousemove=move; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle.
                

                
///////////////////////////////////////////////////////                
////////// gere quand la bulle doit s'affciher ou disparaitre
///////////////////////////////////////////////////////

$(document).ready(function() {     
        
    $("img.image").hover( function(){                ///// affiche la bulle quand on survol l'image
     montre(passage);
    });
    $("div.callecentrage").hover( function(){        ///// cache la bulle quand on survol le div transparent au dessus ou en dessous de l'image
     if(ie != true){cache();}
    });
    $("img.im_survol").hover( function(){            ///// cache la bulle quand on survol la div transparente à gauche ou a droite de l'image
     if(ie != true){cache();}
    });
    $("body").mouseleave( function(){                //// cache la bulle quand on quitte lme body (la page)
     if(ie != true){cache();}
    });
    $(".control").hover( function(){                ///// cache la bulle quand on survol la fleche droite ou gauche ou la croix
     if(ie != true){cache();}
    });
    

    
    
});




                    



