Inscris-toi pour écrire dans l'encyclopédie Wikimini!

MediaWiki:MenuOptions.js

Aller à : navigation, rechercher

Note : après avoir enregistré tes préférences, tu devras forcer son rechargement complet en ignorant le contenu actuel du cache de ton explorateur pour voir les changements : Mozilla / Firefox / Konqueror / Safari : maintiens la touche Majuscule (Shift) en cliquant le bouton Actualiser (Reload,) ou presse Maj-Ctrl-R (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintiens la touche Ctrl en cliquant le bouton Actualiser ou presse Ctrl-F5.

// ============================================================ CADRE D'OPTIONS DANS LA COLONNE DE DROITE

// Styles

//importStylesheet('MediaWiki:MenuOptions.css');
mw.loader.load('/wiki/MediaWiki:MenuOptions.css','text/css');


// mini-Menu Header

var MiniHeaderContent = new Array();
MiniHeaderContent["Accueil"] = new Array("Accueil", "Rejoindre la page d\'accueil");
MiniHeaderContent["Enfants"] = new Array("Wikimini:Enfants", "Le coin des enfants");
MiniHeaderContent["Adultes"] = new Array("Wikimini:Adultes", "Le coin des adultes");
MiniHeaderContent["Enseignants"] = new Array("Wikimini:Enseignants", "Le coin des enseignants");
MiniHeaderContent["Forum"] = new Array("Spécial:AWCforum", "Le forum");
MiniHeaderContent["Aide"] = new Array("Aide:Accueil", "Sommaire de l\'aide");


var BlankImage = '<img src="/w/skins/wikimini/images/blank-18x18.png" width="9" />';


/////////////////////////////////////////////////////////////////////////////// COOKIE ETAT DU HEADER
var ReduireTitre = "Réduire l\'en-tête"
var ReduireHTML = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/hide-header-a.png" alt="Cacher l\'en-tête" >';
var DevelopperTitre = "Afficher l\'en-tête";
var DevelopperHTML = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/show-header-a.png" alt="Afficher l\'en-tête" >';

var FlashHeaderState = getCookie("FlashHeaderState");
if(FlashHeaderState != "0"){
       var FlashHeaderStyle = "block";
       var MiniHeaderStyle = "none";
       var ButtonHeaderTitle = ReduireTitre;
       var ButtonHeaderHTML = ReduireHTML ;
}else{
       var FlashHeaderStyle = "none";
       var MiniHeaderStyle = "inline";
       var ButtonHeaderTitle = DevelopperTitre;
       var ButtonHeaderHTML = DevelopperHTML;
}

/////////////////////////////////////////////////////////////////////////////// OPTION LARGEUR DU SITE

var LargeurSiteTitle800px = "Afficher le site en largeur réduite";
var LargeurSiteHTML800px = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/shrink-a.png" alt="Largeur réduite" />';
var LargeurSiteTitle100 = "Afficher le site en pleine largeur";
var LargeurSiteHTML100 = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/expand-a.png" alt="Pleine largeur" />';

var MenuOptions_LargeurCol1_Large = "75%";
var MenuOptions_LargeurCol1_Reduite = "459px";
var MenuOptions_LargeurCol2_Large = "25%";
var MenuOptions_LargeurCol2_Reduite = "300px";

var MenuOptions_Largeur = getCookie("MenuOptions_Largeur");
if(MenuOptions_Largeur != "0") {
       var MenuOptions_LargeurSite = "800px";
       var MenuOptions_LargeurCol1 = MenuOptions_LargeurCol1_Reduite;
       var MenuOptions_LargeurCol2 = MenuOptions_LargeurCol2_Reduite;
       var MenuOptions_LargeurSiteTitle = LargeurSiteTitle100;
       var MenuOptions_LargeurSiteHTML = LargeurSiteHTML100 ;
}else{
       var MenuOptions_LargeurSite = "100%";
       var MenuOptions_LargeurCol1 = MenuOptions_LargeurCol1_Large;
       var MenuOptions_LargeurCol2 = MenuOptions_LargeurCol2_Large;
       var MenuOptions_LargeurSiteTitle = LargeurSiteTitle800px;
       var MenuOptions_LargeurSiteHTML = LargeurSiteHTML800px;
}


/////////////////////////////////////////////////////////////////////////////// OPTION TAILLE POLICE


var MenuOptions_TaillePoliceOrigine = 12;

var MenuOptions_TaillePoliceTitlePlus = "Augmenter la taille de la police";
var MenuOptions_TaillePoliceTitleStandard = "Rétablir la taille de la police";
var MenuOptions_TaillePoliceTitleMoins = "Diminuer la taille de la police";

var MenuOptions_TaillePoliceTextePlus = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/font-plus-a.png" alt="Augmenter police" />';
var MenuOptions_TaillePoliceTexteStandard = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/font-default-a.png" alt="Police standard" />';
var MenuOptions_TaillePoliceTexteMoins = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/font-minus-a.png" alt="Diminuer police" />';

var MenuOptions_TaillePolice = getCookie("MenuOptions_TaillePolice");
if( (!MenuOptions_TaillePolice) || (MenuOptions_TaillePolice == "") || (MenuOptions_TaillePolice== "null") ){
      var TaillePolice = MenuOptions_TaillePoliceOrigine;
}else{
      var TaillePolice = parseInt(MenuOptions_TaillePolice);
}

/////////////////////////////////////////////////////////////////////////////// OPTION TAILLE ZONE D'EDITION

var MenuOptions_TailleEditOrigine = 30;

var MenuOptions_TailleEditTitlePlus = "Augmenter la taille de la zone d\'édition";
var MenuOptions_TailleEditTextePlus = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/expand-edit-a.png" alt="Zone d\'édition plus" />';
var MenuOptions_TailleEditTitleStandard = "Rétablir la taille de la zone d\'édition standard";
var MenuOptions_TailleEditTexteStandard = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/font-default-a.png" alt="Zone d\édition standard" />';
var MenuOptions_TailleEditTitleMoins = "Diminuer la taille de la zone d\'édition";
var MenuOptions_TailleEditTexteMoins = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/shrink-edit-a.png" alt="Zone d\'édition moins" />';


var MenuOptions_TailleEdit = getCookie("MenuOptions_TailleEdit");
if( (!MenuOptions_TailleEdit) || (MenuOptions_TailleEdit== "") || (MenuOptions_TailleEdit== "null") ){
      var TailleEdit_Lignes = MenuOptions_TailleEditOrigine;
}else{
      var TailleEdit_Lignes = parseInt(MenuOptions_TailleEdit);
}


/////////////////////////////////////////////////////////////////////////////// IMPRESSION

var MenuOptions_ImprimablePageTitle = 'Version imprimable de cette page';
var MenuOptions_ImprimablePageTexte = '<img class="MenuOptionsBouton" src="/w/skins/wikimini/images/printer-a.png" alt="Version imprimable" />';


/////////////////////////////////////////////////////////////////////////////// CREATION MENU D'OPTIONS

addOnloadHook(CreateMenuOptions);
function CreateMenuOptions(){

/* ***** ICONES *****

// Fonctions opérationnelles
hide-header-a.png hide-header-b.png
show-header-a.png show-header-b.png

shrink-a.png shrink-b.png
expand-a.png expand-b.png

font-default-a.png font-default-b.png
font-minus-a.png font-minus-b.png
font-plus-a.png font-plus-b.png

shrink-edit-a.png shrink-edit-b.png
expand-edit-a.png expand-edit-b.png

printer-a.png printer-b.png

// Futures fonctions

listen-a.png listen-b.png

light-bulb-a.png light-bulb-b.png

*/


/////////// Définition du menu

var MenuLiens = ''
+'<a id="HeaderButton" href="javascript:ToggleHeader();"'
+' onmouseover="javascript:ToggleImage(\'HeaderButton\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'HeaderButton\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'HeaderButton\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'HeaderButton\', \'Off\');"'
+' class="'+ButtonHeaderTitle+'" >'+ButtonHeaderHTML+'</a>'
+ BlankImage

+'<a id="TailleSite" href="javascript:ToggleLargeurSite();"'
+' onmouseover="javascript:ToggleImage(\'TailleSite\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'TailleSite\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'TailleSite\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'TailleSite\', \'Off\');"'
+' class="'+MenuOptions_LargeurSiteTitle+'" >'+MenuOptions_LargeurSiteHTML+'</a>'
+ BlankImage

+'<a id="TaillePolicePlus" href="javascript:ToggleTaillePolice(1);"'
+' onmouseover="javascript:ToggleImage(\'TaillePolicePlus\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'TaillePolicePlus\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'TaillePolicePlus\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'TaillePolicePlus\', \'Off\');"'
+' class="'+MenuOptions_TaillePoliceTitlePlus+'" >'+MenuOptions_TaillePoliceTextePlus+'</a>'
+'<a id="TaillePoliceMoins" href="javascript:ToggleTaillePolice(-1);"'
+' onmouseover="javascript:ToggleImage(\'TaillePoliceMoins\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'TaillePoliceMoins\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'TaillePoliceMoins\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'TaillePoliceMoins\', \'Off\');"'
+' class="'+MenuOptions_TaillePoliceTitleMoins+'" >'+MenuOptions_TaillePoliceTexteMoins+'</a>'
+'<a id="TaillePoliceStandard" href="javascript:ToggleTaillePolice(0);"'
+' onmouseover="javascript:ToggleImage(\'TaillePoliceStandard\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'TaillePoliceStandard\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'TaillePoliceStandard\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'TaillePoliceStandard\', \'Off\');"'
+' class="'+MenuOptions_TaillePoliceTitleStandard+'" >'+MenuOptions_TaillePoliceTexteStandard+'</a>'
+ BlankImage

+'<a id="VersionImprimable" href="javascript:VersionImprimable();"'
+' onmouseover="javascript:ToggleImage(\'VersionImprimable\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'VersionImprimable\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'VersionImprimable\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'VersionImprimable\', \'Off\');"'
+' class="'+MenuOptions_ImprimablePageTitle+'" >'+MenuOptions_ImprimablePageTexte+'</a>'
+ BlankImage

if((wgAction=="edit")||(wgAction=="submit")){    
MenuLiens += '<br/>'
+'<a id="TailleEditPlus" href="javascript:ToggleTailleEdit(1);"'
+' onmouseover="javascript:ToggleImage(\'TailleEditPlus\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'TailleEditPlus\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'TailleEditPlus\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'TailleEditPlus\', \'Off\');"'
+' class="'+MenuOptions_TailleEditTitlePlus+'" >'+MenuOptions_TailleEditTextePlus+'</a>'
+'<a id="TailleEditMoins" href="javascript:ToggleTailleEdit(-1);"'
+' onmouseover="javascript:ToggleImage(\'TailleEditMoins\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'TailleEditMoins\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'TailleEditMoins\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'TailleEditMoins\', \'Off\');"'
+' class="'+MenuOptions_TailleEditTitleMoins+'" >'+MenuOptions_TailleEditTexteMoins+'</a>'
+'<a id="TailleEditStandard" href="javascript:ToggleTailleEdit(0);"'
+' onmouseover="javascript:ToggleImage(\'TailleEditStandard\', \'On\');"'
+' onfocus="javascript:ToggleImage(\'TailleEditStandard\', \'On\');"'
+' onmouseout="javascript:ToggleImage(\'TailleEditStandard\', \'Off\');"'
+' onblur="javascript:ToggleImage(\'TailleEditStandard\', \'Off\');"'
+' class="'+MenuOptions_TailleEditTitleStandard+'" >'+MenuOptions_TailleEditTexteStandard+'</a>'
+ BlankImage;
}

/////////// Insertion du menu

    var Menu = document.createElement('div');
    Menu.className = 'OptionsBox';
    Menu.innerHTML = '<div class="visualClear"><span id="OptionsTexte" class="OptionsTexte_Hidden"></span></div><div id="MenuOptions">'
                    + MenuLiens
                    +'</div>';
    var AllDiv = document.getElementsByTagName('div');
    for(a=0;a<AllDiv.length;a++){
          if(hasClass(AllDiv[a], "column2")){
                AllDiv[a].insertBefore(Menu,AllDiv[a].firstChild);
                AllDiv[a].id = "col2";
                AllDiv[a].style.width = MenuOptions_LargeurCol2;
          }
          if(hasClass(AllDiv[a], "column1")){
                AllDiv[a].id = "col1";
                AllDiv[a].style.width = MenuOptions_LargeurCol1;
          }
    }

/////////// Application des options

// Header
    var flashDiv = document.getElementById('header');
    flashDiv.style.display = FlashHeaderStyle;
    var MiniHeaderParent = document.createElement('div');
    MiniHeaderParent.id = "MiniHeaderDiv";
    var MiniHeader = document.createElement('ul');
    MiniHeader.id = "MiniHeader";
    MiniHeader.style.display = MiniHeaderStyle;
    MiniHeader.innerHTML = MenuOptions_ConstructMiniHeader();
    MiniHeaderParent.appendChild(MiniHeader);
    flashDiv.parentNode.insertBefore(MiniHeaderParent,flashDiv);

// Largeur du site
    var mainDiv = document.getElementById('main');
    mainDiv.style.width = MenuOptions_LargeurSite;

// Taille police
    var Content = document.getElementById('bodyContent');
    Content.style.fontSize = TaillePolice + 'px';

// Taille zone d'édition
    if (document.getElementById("wpTextbox1")){  // MediaWiki
        document.getElementById('wpTextbox1').rows = TailleEdit_Lignes;
    }
    if (document.getElementById("wpTextbox1___Frame")){  //FCKEditor
        document.getElementById('wpTextbox1___Frame').style.height = (TailleEdit_Lignes*13) + 'px';
    }
}

/////////////////////////////////////////////////////////////////////////////// FONCTIONS DU MENU D'OPTIONS

// Mini-menu

function MenuOptions_ConstructMiniHeader(){
     var T = "";
     for(var Text in MiniHeaderContent){
          var Page = MiniHeaderContent[Text][0];
          var Title = MiniHeaderContent[Text][1];
          if(!Page || !Title) continue;
          T += '<li id="headerLi_'+Text+'" class="headerLi"><a class="headerA" href="'+wgServer+wgArticlePath.split('$1').join(Page)+'" title="'+Title+'">'+Text+'</a></li>'
     }
     return T;
}

// Changement d'image au survol

function ToggleImage(idLien, OnOff){
     var Lien = document.getElementById(idLien);
     var Explication = document.getElementById("OptionsTexte");
     if((!Lien)||(!Explication)) return;
     var Image = Lien.getElementsByTagName('img')[0];
     if(!Image) return;

     var Texte = Lien.className;
     var URLImage = Image.src;

     if(OnOff=="On"){
          URLImage = URLImage.split('a.png').join('b.png');
          Explication.innerHTML = Texte;
          Explication.className = "OptionsTexte_Visible";
     }else{
          URLImage = URLImage.split('b.png').join('a.png');
          Explication.innerHTML = '';
          Explication.className = "OptionsTexte_Hidden";
     }
     Image.src = URLImage;     
}

// Changement largeur du site

function ToggleLargeurSite(){
    var mainDiv = document.getElementById('main');
    var Colonne1 = document.getElementById('col1');
    var Colonne2 = document.getElementById('col2');
    var Bouton = document.getElementById('TailleSite');
    var now = new Date();
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
    if(mainDiv.style.width == '100%'){
         mainDiv.style.width = '800px';
         Colonne1.style.width = MenuOptions_LargeurCol1_Reduite;
         Colonne2.style.width = MenuOptions_LargeurCol2_Reduite;
         Bouton.className = LargeurSiteTitle100;
         Bouton.innerHTML = LargeurSiteHTML100;
         setCookie("MenuOptions_Largeur", "1", nextYear);
    }else{
         mainDiv.style.width = '100%';
         Bouton.className = LargeurSiteTitle800px;
         Colonne1.style.width = MenuOptions_LargeurCol1_Large;
         Colonne2.style.width = MenuOptions_LargeurCol2_Large;
         Bouton.innerHTML = LargeurSiteHTML800px;
         setCookie("MenuOptions_Largeur", "0", nextYear);
    }
}

// Affichage / Masquage de l'en-tête

function ToggleHeader(){
    var flashDiv = document.getElementById('header');
    var MiniHeader = document.getElementById('MiniHeader');
    var flashButton = document.getElementById('HeaderButton');
    var now = new Date();
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
    if(flashDiv.style.display=="none"){
       flashDiv.style.display ="block";
       MiniHeader.style.display ="none";
       flashButton.className = ReduireTitre;
       flashButton.innerHTML= ReduireHTML;
       setCookie("FlashHeaderState", "1", nextYear);
    }else{
       flashDiv.style.display = "none";
       MiniHeader.style.display = "inline";
       flashButton.className = DevelopperTitre;
       flashButton.innerHTML= DevelopperHTML;
       setCookie("FlashHeaderState", "0", nextYear);
    }
}

// Changement de la taille de police

function ToggleTaillePolice(diff) { 
    var Content = document.getElementById('bodyContent');
    if (Content){
        var now = new Date();
        var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
        if(diff!=0){
            var NouvellePolice = parseInt(Content.style.fontSize.split('px').join('')) + diff
        }else{
            var NouvellePolice = MenuOptions_TaillePoliceOrigine;
        }
        Content.style.fontSize = NouvellePolice + 'px';
        setCookie("MenuOptions_TaillePolice", NouvellePolice, nextYear);  
    }
}

// Fonctions pour l'impression

function VersionImprimable(){
    window.open(wgServer + wgScript + '?title=' + wgPageName + '&printable=yes', '_self');
}

// Changement hauteur fenêtre d'édition

function ToggleTailleEdit(diff) { 
    if (document.getElementById("wpTextbox1")){
        var now = new Date();
        var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
        if(diff!=0){
            var NouvelleTaille = document.getElementById('wpTextbox1').rows + diff;
        }else{
            var NouvelleTaille = MenuOptions_TailleEditOrigine;
        }

        //Fenêtre MediaWiki

        document.getElementById('wpTextbox1').rows = NouvelleTaille;

        // Fenêtre FCKEditor

        var FCKEditorTextArea = document.getElementById('wpTextbox1___Frame');
        if(FCKEditorTextArea){
            FCKEditorTextArea.style.height = (13*NouvelleTaille) + 'px';
        }
        setCookie("MenuOptions_TailleEdit", NouvelleTaille, nextYear);  
    }
}
////////////////////////////////////////////////////////////////////// FIN DU CADRE D'OPTIONS
// ==========================================================================================
Wikiboo Outils personnels