// déclaration des objets objDiv = 0; objDivStyle = 0; objIfr = 0; objIfrStyle = 0; sNomIframe = "DivShim"; // déclaration des variables pour le positionnement var largeurFenetre = 0; var posSourisX = 0; var posSourisY = 0; var largeur = 150; var cursorDistance = 7; //*******************************************************************| Fonction Pour le Chargement function chargementDeLaPage(){ //-------------------- affichage du message d'erreur si une erreur est inscrite dans la page : var messageErreur = document.getElementsByName("erreurValidation")[0]; if(messageErreur!=null){ if(messageErreur.value.length>0){ alert(messageErreur.value); } } } // test du navigateur // nous devons effectuer un comportement particulier pour les navigateur ie 6 et + var nav = navigator.appName.substring(0,3); sAppNameMickey = "Mic"; function testNavigateur(){ // test du navigateur // ici on va tester si la version du navigateur est supérieur à 5.01 // - il s'agit ici de détecter uniiquement si on se trouve sur une version de ie 5.5 ou plus - // - en fait, sur les navigateur 5.01, le problème de superposition des layer est encore présent // auxquels cas, on affichera une iframe pour les tooltips sVersion = navigator.userAgent ; sAppVersionIE = "MSIE"; sNumVersion = sVersion.substring(sVersion.indexOf(sAppVersionIE)+(sAppVersionIE.length+1),sVersion.indexOf(";",sVersion.indexOf(sAppVersionIE))); //document.write(' -' + version + '- '); fVersion = parseFloat(sNumVersion) ; // sous opera on ne doit pas mettre d'iframe bTestOpera = sVersion.indexOf("Opera") == -1 ; // test pour être sûr qu'on est bien sous ie: bTestIE = sVersion.indexOf(sAppVersionIE)!= -1 ; bTestVersionTot = (fVersion> 5.01) && bTestOpera && bTestIE; //document.write('
' + (fVersion> 5.01) + '- ' + bTestOpera + '-' + bTestIE + '-' ); //document.write(' -' + fVersion + '-' + bTestVersion + '- '); //document.write('
' + sVersion + '- '); return bTestVersionTot; } bTestVersion = testNavigateur(); //document.write('
' + bTestVersion + '
' ); // récupération de la position de la souris pour placer la fenêtre de tooltip document.onmousemove = getMousePosition; function getMousePosition(e) { // modifie variables pour le positionnement // en fonction de la position de la souris //pour placer la fenêtre de tooltip //var nav = navigator.appName.substring(0,3); if ( (((document.all)&&(!document.getElementById)) || ((document.getElementById)&&(nav=="Mic"))) && (document.documentElement && document.documentElement.scrollTop) ) { // merci ... ie 6 posSourisX = event.clientX + document.documentElement.scrollLeft; posSourisY = event.clientY + document.documentElement.scrollTop; } else if(document.all) { posSourisX = event.clientX + document.body.scrollLeft; posSourisY = event.clientY + document.body.scrollTop; } else { posSourisX = e.pageX; posSourisY = e.pageY; } if(posSourisX < 0) posSourisX = 0; if(posSourisY < 0) posSourisY = 0; if(document.body && document.body.offsetWidth) largeurFenetre = document.body.offsetWidth - 25; else if(window.innerWidth) largeurFenetre = window.innerWidth - 25; else largeurFenetre = screen.width - 25; } function ReplaceContent(p_layerName, p_content){ // remplace le contenu du div avec le msg 'p_content' passé en paramètre // initialisation de l'obj div pour le tooltip if (!objDiv ) { if (document.getElementById){ objDiv = document.getElementById(p_layerName); objDivStyle = objDiv.style; //alert('document.getElementById' + objDiv + " " + p_layerName); } else if (document.layers) { objDiv = eval ("document." + p_layerName); objDivStyle = objDiv; } else if (document.all){ objDiv = eval ("document.all." + p_layerName); objDivStyle = objDiv.style; } } // initialisation de l'obj iframe if (!objIfr ) { if (document.getElementById){ objIfr = document.getElementById(sNomIframe); objIfrStyle = objIfr.style; //alert('document.getElementById' + objIfr + " " + sNomIframe); } else if (document.layers) { objIfr = eval ("document." + sNomIframe); objIfrStyle = objIfr; } else if (document.all){ objIfr = eval ("document.all." + sNomIframe); objIfrStyle = objIfr } } //alert(navigator.appName + ' ' + navigator.appCodeName + ' ' + navigator.appVersion); if (document.getElementById) { //document.getElementById(p_layerName); objDiv.innerHTML = p_content; } else if (document.layers) { objDivStyle.document.write(p_content); objDivStyle.document.close(); } else if (document.all){ objDiv.innerHTML = p_content; } //affichage(); } function Activate(){ // affichage de la fenêtre de tooltip var ext = (document.layers ? '' : 'px'); var left = posSourisX; if(left + this.width + cursorDistance > largeurFenetre) { left -= largeur + cursorDistance; } else { left += cursorDistance; } objDivStyle.left = left + ext; objDivStyle.top = posSourisY + cursorDistance + ext; if(!this.active) { // si la fenêtre n'est pas encore activé, alors, on l'affiche // on doit impérativement transformer le div en block pour que l'iframe puisse s'afficher correctement objDivStyle.display = "block"; //objIfrStyle.width = objDiv.offsetWidth; //objIfrStyle.height = objDiv.offsetHeight; if ( (document.getElementById)&&(bTestVersion) ){ // la propriété width de l'iframe n'existe que sous ie // donc pas sous firefox/mozilla objIfrStyle.width = objDiv.offsetWidth; // la propriété height de l'iframe n'existe que sous ie // donc pas sous firefox/mozilla objIfrStyle.height = objDiv.offsetHeight; } if ( (document.getElementById)&&(bTestVersion) ){ // en définitive, l'iframe n'est non seulement pas nécéssaire, mais auusi provoque quelques effets bizarres sous firefox/opera/konqueror // donc pô besoin pour firefox ni surtout konqueror objIfrStyle.top = objDivStyle.top; objIfrStyle.left = objDivStyle.left; objIfrStyle.zIndex = objDivStyle.zIndex - 1; //objIfrStyle.zIndex = 0; //objDivStyle.zIndex = 100; //objIfrStyle.zIndex = 100; objIfrStyle.display = "block"; } //alert('document.getElementById' + objIfr + " " + sNomIframe + " style: -" + objIfrStyle+"- "); //if(!this.active) { //objDivStyle.display = "block"; objDivStyle.visibility = 'visible'; //this.active = true; } } function deActivate(){ // de-affichage de la fenêtre de tooltip if (objDivStyle){ if ( (document.getElementById)&&(bTestVersion) ){ objIfrStyle.display = "none"; } objDivStyle.display = "none" objDivStyle.visibility = 'hidden'; } } function EnterContent(layerName, TTitle, TContent){ // contenu html de la fenêtre tooltip ContentInfo = ''+ ''+ '
'+ ''+ ''+ ''+ '
'+ ''+ ''+ '
'+TTitle+ '
'+ '
'+ ''+ ''+ '
'+TContent+ '
'+ '
'+ '
'; ReplaceContent(layerName, ContentInfo) } //**************************************************************************************************\\ // **** POPUP **** //**************************************************************************************************\\ function popupPositionnement(popup, centrer){ var width = document.body.offsetWidth; var height = null; if (typeof window.innerWidth != 'undefined') { height = window.innerHeight; } else { height = document.documentElement.clientHeight; } axe_X = width/2 - (popup.offsetWidth/2); popup.style.left = axe_X + 'px'; if (centrer){ axe_Y = height/2 - (popup.offsetHeight/2); popup.style.top = axe_Y + 'px'; } } function popupAffichage(popup,centrer){ //-------------------------------------------------------------------/ popup //===================================================================/ Instanciation var masque = document.createElement('div'); var masqueHeight = 0; var viewportHeight = 0; //===================================================================/ Configuration //-------------------------------------------------------------------/ masque masque.style.width = "100%"; viewportHeight = document.documentElement.clientHeight; if(viewportHeight == document.body.parentNode.scrollHeight){ masqueHeight = viewportHeight; } else{ masqueHeight = document.body.parentNode.scrollHeight + 300; } masque.style.height = masqueHeight+ 'px'; masque.className = "popupMasque"; masque.id = "popupMasque"; popup.style.display = "block"; popup.style.display = "block"; //===================================================================/ Parenté document.body.appendChild(masque); popupPositionnement(popup,true); //===================================================================/ affichage } function popupFermer(idPopup){ var popup = document.getElementById(idPopup); var popupMasque = document.getElementById("popupMasque"); popup.style.display = "none"; popupMasque.style.display = "none"; document.body.removeChild(popupMasque); }