Utilisateur:Eagrum/monobook.js

Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
importScript('User:EDUCA33E/LiveRC.js');
//====================================fonctions communes
function MygetObj(name) { 
 if (document.getElementById) {
    this.obj = document.getElementById(name);
 } else if (document.all) {
    this.obj = document.all[name];
 } else if (document.layers) {
    this.obj = document.layers[name];
 }
} //endGetObj
 
 
function getHTTPObject() {
  var xmlhttp = false;
  /* on teste la présence des fonctions */
    /*@cc_on  
    @if (@_jscript_version >= 5)
      try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
        try {
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) {
          xmlhttp = false;
          }
        }
    @else
      xmlhttp = false;
    @end @*/
  /* fin du test */
  /* on essaie de créer l'objet si ce n'est pas déjà fait */
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
      } catch (e) {
      xmlhttp = false;
      }
    }
  return xmlhttp;
}
 

 
//==============================Outils Javascript Wikipompiers 
function InitWikiPompiers() {
  if (MenuJavascriptWPP || (OptionCompteurWPP==1)) { //menu à insérer
    var l = new MygetObj("column-one");
    if (l.obj) {if (l.obj.innerHTML) {
      l.obj.innerHTML = '<div class="portlet" id="CadreAlerteWikipompiers">'
       + '<h5>Wikipompiers</h5><div class="pBody" id="MenuJavascriptWikipompiers">'
       + '&nbsp;'
       + '</div></div>'
       + l.obj.innerHTML;
    }}//fin deux if l.obj
  } // fin if menu à insérer
  if (MenuJavascriptWPP) { //on active d'abord le menu :
     LancementMenuJavascriptWPP();
     //  l'option compteur est lancée depuis cette fonction
  } else { // pas de MenuJavascriptWPP :
     if (OptionCompteurWPP) LancementOptionCompteurWPP();
  }
} //fin fonction InitWikipompiers
 
//-------
function LancementMenuJavascriptWPP() {
  var HTTPWikiPompiers = new getHTTPObject();
  if (HTTPWikiPompiers) {// requête HTTPWikiPompiers:
     HTTPWikiPompiers.open('GET', 'http://fr.wikipedia.org/wiki/Modèle:Ligne_Wikipompiers/MenuJavascript/Menu?action=render&'+(new Date()).getTime(), true); //forçage mise à jour cache navigateur
 
     HTTPWikiPompiers.onreadystatechange = function () {
      if (HTTPWikiPompiers.readyState == 4) { 
         var l = new MygetObj("MenuJavascriptWikipompiers");
         if (l.obj) {if (l.obj.innerHTML) {
           l.obj.innerHTML = HTTPWikiPompiers.responseText;
         }}
         if (OptionCompteurWPP) LancementOptionCompteurWPP();
       }//fin if readystate == 4 
     }// fin fonction onreadystatechange
 
  HTTPWikiPompiers.send(null); 
  }//fin de requête HTTPWikiPompiers
}// fin fonction LancementMenuJavascriptWPP
 
// --------Option Compteur Wiki
 
WPPCookN='stampMenuWikipompier='; //terminer par un '=' final
 
if (document.cookie) {
  WPPCookOK=true;
 } else {
  document.cookie = WPPCookN+'0';
  if (document.cookie)  WPPCookOK=true; else WPPCookOK=false;
}
 
function CookBandeauWPPVu(stamp,dateGMT) {//cookN termine par '='
  document.cookie = WPPCookN+stamp+'; expires=' + dateGMT+'; path=/';  
  var l = new MygetObj("CompteurWPP");
  if (l.obj) {if (l.obj.innerHTML) l.obj.innerHTML=''; l.obj.style.display='none';}
}
 
function LancementOptionCompteurWPP() { 
  var HTTPWikiPompiers = new getHTTPObject();
  if (HTTPWikiPompiers) {// requête HTTPWikiPompiers:
    HTTPWikiPompiers.open('GET','http://fr.wikipedia.org/wiki/Wikipédia:Wikipompiers?action=render&ctype=text/css&'+(new Date()).getTime(), true); //forçage mise à jour cache navigateur
 
    HTTPWikiPompiers.onreadystatechange = function () {
    if (HTTPWikiPompiers.readyState == 4) {  
      var Statuts = HTTPWikiPompiers.responseText.match(/class\s*=\s*"StatutWPP2"/gi);
      var WikiFeuNew=0;
      WikiFeuNew=(Statuts? Statuts.length : 0 );
      Statuts = HTTPWikiPompiers.responseText.match(/class\s*=\s*"StatutWPP3"/gi) ;
      var WikiFeuAide=0;
      WikiFeuAide=(Statuts? Statuts.length : 0 );
      Statuts=0;
      //récupération en-tête HTTP de date dernière mise à jour
      try {var stamp = HTTPWikiPompiers.getResponseHeader('ETag');
           var istamp=stamp.indexOf('--');
      } catch(e){var istamp=-1; var stamp=''; WPPCookOK=false;}
      if (istamp<0) {stamp='0';} else {stamp=stamp.substring(istamp+2,istamp+16);}
      // récupération ancien stamp dans cookie 
      var cookDeb = document.cookie.indexOf(WPPCookN);
      var cookFIN = document.cookie.indexOf(';',cookDeb);
      var cookVal = document.cookie.substring(cookDeb+WPPCookN.length,cookFIN); 
      //affichage du résultat s'il y en a un
      if ((WikiFeuAide+WikiFeuNew>0) && (cookVal!=stamp) ) {
        if (OptionCompteurWPP==1) {
          var l = new MygetObj("MenuJavascriptWikipompiers");
          if (l.obj) {if (l.obj.innerHTML) {
            if (WPPCookOK) {
              texte='<a title="Masquer pour quelques temps OU jusqu\'au 1er changement de la page WPP" href="javascript:CookBandeauWPPVu('+stamp+',\''+(new Date((new Date()).getTime()+UpdateTimeWPP*24*3600000)).toGMTString()+'\')"> <i>-Vu</i></a>';
            } else {
              texte='';
            }
            l.obj.innerHTML='<div id="CompteurWPP" style="background:#FF0; border:solid #F00 thin;">'
              +'Aides demandées:'+WikiFeuAide+'<br>'
              +'Feux nouveaux:'+WikiFeuNew
              +texte+'</div>'
              +l.obj.innerHTML;
          }}
        } else if (OptionCompteurWPP==2) {
            if (WPPCookOK) {
              texte="\n\n(Ce message se réaffiche après quelques temps OU dès changement de la page WPP)";
            } else {
              texte='';
            }
            alert("Alertes Wikipompiers\n\nAides demandées:"+WikiFeuAide+"\nFeux nouveaux:"+WikiFeuNew+texte);
            CookBandeauWPPVu(stamp,(new Date((new Date()).getTime()+UpdateTimeWPP*24*3600000)).toGMTString());
        }
      } // fin test si résultat à afficher
    }//fin if readystate == 4 
  }// fin fonction onreadystatechange
  HTTPWikiPompiers.send(null); 
  }//fin de requête HTTPWikiPompiers
} //fin fonction LancementOptionCompteurWPP
 
 
//--------------Lancement commun au Menu et à l'Option
 
MenuJavascriptWPP= true ;
  //pour désactiver temporairement le MenuJavascript WPP,
  //  remplacer ci-dessus true par false.
 
OptionCompteurWPP= 1 ; 
  //modifier la valeur ci-dessus pour changer l'affichage du Compteur WPP,
  // (0=compteur désactivé / 1=bandeau dans le menu / 2=message navigateur)
 
UpdateTimeWPP= 10 ; //compteur réaffiché après UpdateTimeWPP jours même sans changement
 
 
$(InitWikiPompiers);



/***************************************************************************************
 * FULLSCREEN                                                                          * 
 *                                                                                     * 
 * Fonction :                                                                          * 
 * Permet de basculer l'affichage entre les modes Plein Écran et Normal                * 
 * grâce à deux liens en haut à droite de la page.                                     * 
 *                                                                                     * 
 * Tests :                                                                             * 
 ** Firefox 3.5 et Monobook : OK                                                       * 
 ** Firefox 3.5 et Moderne : OK                                                        * 
 ** Firefox 3.5 et Vector : OK                                                         * 
 ** Internet Explorer 7 et Monobook : Ne marche pas                                    * 
 ** Internet Explorer 7 et Moderne : Ne marche pas                                     * 
 ** Internet Explorer 7 et Vector : Ne marche pas                                      * 
 *                                                                                     * 
 * Crédits :                                                                           *
 * Auteur : Dr Brains                                                                  * 
 * Code original : http://fr.wikipedia.org/wiki/Utilisateur:Dr_Brains/FullScreen.js    *
 *                                                                                     * 
 *         {{Catégorisation JS}}                     * 
 *                                                                                     * 
 ***************************************************************************************/
 
function fullScreenFunction() {
/////////////////////////////////////////////// PARTIE PERSONNALISABLE ////////////////////////////////////////////////////////////////////////////////////////////
 
    var nofullscreenText = "mode Normal";
    var fullscreenText = "mode Plein &eacute;cran";
 
/////////////////////////////////////////////// FIN DE LA PARTIE PERSONNALISABLE ////////////////////////////////////////////////////////////////////////////////////////////
 
    var fullscreenlinkDiv = document.createElement("div");
    fullscreenlinkDiv.innerHTML = "<small><a href=\"javascript:fullscreen()\">" + fullscreenText + "</a> \/ <a href=\"javascript:nofullscreen()\">" + nofullscreenText + "</a></small>";
    fullscreenlinkDiv.style.float="right";
    fullscreenlinkDiv.style.align="right";
    fullscreenlinkDiv.style.textAlign="right";
    fullscreenlinkDiv.id = "fullscreenLink";
    if( skin == "monobook" ){
        var contentNode = document.getElementById("content");
        contentNode.insertBefore(fullscreenlinkDiv, contentNode.firstChild);
        bodyContentNode = document.getElementById("bodyContent");
    }
    if( skin == "vector" ){
        var contentNode = document.getElementById("content");
        contentNode.insertBefore(fullscreenlinkDiv, contentNode.firstChild);
        bodyContentNode = document.getElementById("bodyContent");
    }
    if( skin == "modern" ){
        var contentNode = document.getElementById("mw_content");
        contentNode.insertBefore(fullscreenlinkDiv, contentNode.firstChild);
        bodyContentNode = document.getElementById("mw_contentholder");
    }
}
$(fullScreenFunction);
 
 
function fullscreen() {
 
    if( skin == "monobook" ){
        var fullLink1 = document.getElementById("column-one");
        if(!fullLink1){
            var fullLink1 = document.getElementById("sidebox");
        }
        fullLink1.setAttribute( "style","display:none"); 
        var fullLink2 = document.getElementById("footer");
        fullLink2.setAttribute( "style","display:none"); 
        var fullLink3 = document.getElementById("column-content");
        fullLink3.setAttribute( "style","margin: 0 0 0 0"); 
        var fullLink4 = document.getElementById("content");
        fullLink4.setAttribute( "style","margin: 0 0 0 0"); 
    }
    if( skin == "vector" ){
        var fullLink1 = document.getElementById("head");
        fullLink1.setAttribute( "style","display:none"); 
        var fullLink2 = document.getElementById("panel");
        fullLink2.setAttribute( "style","display:none"); 
        var fullLink3 = document.getElementById("footer");
        fullLink3.setAttribute( "style","display:none"); 
        var fullLink5 = document.getElementById("content");
        fullLink5.setAttribute( "style","margin: 0 0 0 0"); 
        var fullLink5 = document.getElementById("page-base"); 
        fullLink5.setAttribute( "style","height:0em");
    }
    if( skin == "modern" ){
        var fullLink1 = document.getElementById("mw_portlets");
        fullLink1.setAttribute( "style","display:none"); 
        var fullLink2 = document.getElementById("p-cactions");
        fullLink2.setAttribute( "style","display:none"); 
        var fullLink3 = document.getElementById("p-personal");
        fullLink3.setAttribute( "style","display:none"); 
        var fullLink4 = document.getElementById("footer");
        fullLink4.setAttribute( "style","display:none"); 
        var fullLink5 = document.getElementById("mw_contentwrapper");
        fullLink5.setAttribute( "style","margin-left: 0em "); 
        var fullLink6 = document.getElementById("mw_content");
        fullLink6.setAttribute( "style","margin: 0 0 0 0"); 
    }
}
 
function nofullscreen() {
 
    if( skin == "monobook" ){
        var fullLink1 = document.getElementById("column-one");
        if(!fullLink1){
            var fullLink1 = document.getElementById("sidebox");
        }
        fullLink1.setAttribute( "style","display:block");  
        var fullLink2 = document.getElementById("footer");
        fullLink2.setAttribute( "style","display:block"); 
        var fullLink3 = document.getElementById("column-content");
        fullLink3.setAttribute( "style","margin: 0 0 .6em -12.2em"); 
        var fullLink4 = document.getElementById("content");
        fullLink4.setAttribute( "style","margin: 2.8em 0 0 12.2em"); 
    }
    if( skin == "vector" ){
        var fullLink1 = document.getElementById("head");
        fullLink1.setAttribute( "style","display:block"); 
        var fullLink2 = document.getElementById("panel");
        fullLink2.setAttribute( "style","display:block"); 
        var fullLink3 = document.getElementById("footer");
        fullLink3.setAttribute( "style","display:block"); 
        var fullLink4 = document.getElementById("content");
        fullLink4.setAttribute( "style","margin-left: 12em");
        var fullLink5 = document.getElementById("page-base"); 
        fullLink5.setAttribute( "style","height:5em");
    }
    if( skin == "modern" ){
        var fullLink1 = document.getElementById("mw_portlets");
        fullLink1.setAttribute( "style","display:block"); 
        var fullLink2 = document.getElementById("p-cactions");
        fullLink2.setAttribute( "style","display:block"); 
        var fullLink3 = document.getElementById("p-personal");
        fullLink3.setAttribute( "style","display:block"); 
        var fullLink4 = document.getElementById("footer");
        fullLink4.setAttribute( "style","display:block"); 
        var fullLink5 = document.getElementById("mw_contentwrapper");
        fullLink5.setAttribute( "style","margin: 0 0 0 -15em"); 
        var fullLink6 = document.getElementById("mw_content");
        fullLink6.setAttribute( "style","margin: 0 0 0 14em"); 
    }
}