// 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 = '
'+
''+
''+
'| '+
''+
' | '+
'| '+
''+
' | '+
' '+
' |
'+
'
';
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);
}