// +-------------------------------------------------+ // © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net) // +-------------------------------------------------+ // $Id: popup.js,v 1.1 2009-09-24 09:45:57 ngantier Exp $ // openPopUp : permet d'afficher une popup de la taille et à la position donnée // la fonction gere aussi l'autoCentrage de la popup // (ATTENTION au mode double ecran : la fonction ne gere pas le centrage par rapport à la fenetre mais par rapport à la taille écran !!) // //MyFile : nom du fichier contenant le code HTML du pop-up //MyWindow : nom de la fenetre (ne pas mettre d'espace) //MyWidth : entier indiquant la largeur de la fenetre en pixels //MyHeight : entier indiquant la hauteur de la fenetre en pixels //MyLeft : entier indiquant la position du haut de la fenetre en pixels (-1 pour centrer, -2 pour laisser le navigateur gérer) //MyTop : entier indiquant la position gauche de la fenetre en pixels (-1 pour centrer, -2 pour laisser le navigateur gérer) //MyParam : Les parametres supplementaires pour la methode open (par def :infobar=no, status=no, scrollbars=no, menubar=no) function openPopUp(MyFile,MyWindow,MyWidth,MyHeight,MyLeft,MyTop,MyParam) { var ns4 = (document.layers)? true:false; //NS 4 var ie4 = (document.all)? true:false; //IE 4 var dom = (document.getElementById)? true:false; //DOM var xMax, yMax, xOffset, yOffset; //les valeurs par défaut MyParam = MyParam || 'infobar=no, status=no, scrollbars=no, toolbar=no, menubar=no'; //MyTop = MyTop || -1; MyTop=0; //MyLeft = MyLeft || -1; MyLeft=0; if ((MyTop==-1)||(MyLeft==-1)) { //fonction de centrage //on determine la taille yMax et xMax suivant le navigateur if (ie4 || dom) { xMax = screen.width; yMax = screen.height; } else if (ns4) { xMax = window.outerWidth; yMax = window.outerHeight; } else { xMax = 800; yMax = 600; } //on calcule le centrage xOffset = (xMax - MyWidth)/2; yOffset = (yMax - MyHeight)/2; } else { //une position a été fixée xOffset = MyLeft; yOffset = MyTop; } //on precise la taille pour la methode open var fParam = 'width='+MyWidth +',height='+MyHeight; //on precise la position uniquement si on est pas en mode -2 (position gérée par le navigateur) if ((MyTop!=-2)&&(MyLeft!=-2)) { fParam = fParam +',screenX='+xOffset +',screenY='+yOffset +',top='+yOffset +',left='+xOffset; } //on ajoute les parametres en plus var fParam = MyParam + ',' + fParam; //on ouvre la popup w = window.open(MyFile,MyWindow,fParam); //on force la taille //w.window.resizeTo(MyWidth,MyHeight); //on force la position uniquement si on est pas en mode -2 (position gérée par le navigateur) if ((MyTop!=-2)&&(MyLeft!=-2)) { w.window.moveTo(xOffset,yOffset); } //on force le focus w.window.focus(); return w; }