/********************************************** Gestionnaire de popup (DOM) koala64 **********************************************/ // Raccourci pour le script var d = document; // Creation d'un objet var o = new Object; // Creation d'une variable globale var oNewWin = null; // Proprietes Link de l'objet o.Link = { // Gestionnaire de l'evenement onclick pour chaque lien du document ClickHandler: function() { // On recupere l'ensemble des liens dans un tableau puis // on parcourt le tableau. Si le lien possede une classe 'popup', // on lance la fonction popup. var oLink = d.getElementsByTagName( 'body' )[0].getElementsByTagName( 'a' ); for( var a = 0 ; a < oLink.length ; a++ ) if( oLink[a].className.search(/popup/)!=-1 ) oLink[a].onclick = o.Popup.__Open; }, // Creation d'un lien dans la page principale pour supprimer la popup Destroy: function() { } } // Proprietes Popup de l'objet o.Popup = { // Methode d'ouverture de la popup __Open: function() { // Si la popup n'existe pas, on en cree une avec le lien concerne puis // on annule l'activation du lien dans la fenetre principale. if( !oNewWin || oNewWin.closed ) { oNewWin = window.open( this.href , '' , 'top=' + ((screen.height/2)-150) + ' , left=' + ((screen.width/2)-400) + ' , width=800 , height=400 , scrollbars=yes' ); return false; } // Si la popup existe et qu'on clique sur un autre lien possedant une classe 'popup', // on passe l'url a la popup, on lui redonne le focus puis on annule l'activation du // lien dans la fenetre principale. else if( oNewWin && this.className.search(/popup/)!=-1 ) { oNewWin.location.href = this.href; oNewWin.focus(); return false; } // Pour les autres cas, on active le lien dans la fenêtre principale. else { return true; } }, // Methode de fermeture de la popup. __Close: function() { if( oNewWin ) { oNewWin.close(); oNewWin = null; return false; } } } // Proprietes Script de l'objet o.Script = { // Initialisation de l'objet Init: function() { o.Link.ClickHandler(); o.Link.Destroy(); } }