MediaWiki:Monobook.js

Un article de la désencyclopédie.
Aller à la navigation Aller à la recherche

Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  • Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
  • Opera : appuyez sur Ctrl + F5.
/* <pre> <nowiki> */
 
//============================================================
// 
// Info-bulle et touches de raccourci
// 
//============================================================
 
/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','Votre page perso');
ta['pt-anonuserpage'] = new Array('.','La page de cette adresse IP');
ta['pt-mytalk'] = new Array('n','Votre page de discussion');
ta['pt-anontalk'] = new Array('n','Discussion des modifications par cette adresse IP');
ta['pt-preferences'] = new Array('','Vos préférences');
ta['pt-watchlist'] = new Array('l','La liste de pages que vous surveillez.');
ta['pt-mycontris'] = new Array('y','La liste de vos contributions');
ta['pt-login'] = new Array('o','On vous encourage à vous connecter, mais on ne l\'exige pas');
ta['pt-anonlogin'] = new Array('o','On vous encourage à vous connecter, mais on ne l\'exige pas');
ta['pt-logout'] = new Array('o','Se déconnecter');
ta['ca-talk'] = new Array('t','Discussion du contenu de la page');
ta['ca-edit'] = new Array('e','Vous pouvez modifier cette page. OUI VOUS !');
ta['ca-addsection'] = new Array('+','Ajouter un commentaire à cette discussion.');
ta['ca-viewsource'] = new Array('e','Cette page est verrouillée. Vous pouvez voir le texte source.');
ta['ca-history'] = new Array('h','Anciennes versions de cette page.');
ta['ca-protect'] = new Array('=','Arme nucléaire secrète');
ta['ca-unprotect'] = new Array('=','Décontamination radiologique');
ta['ca-delete'] = new Array('d','Arme nucléaire ultra secrète');
ta['ca-undelete'] = new Array('d','Décontamination radiologique extrême');
ta['ca-move'] = new Array('m','Renommer cette page');
ta['ca-watch'] = new Array('w','Ajouter cette page à votre liste de suivi');
ta['ca-unwatch'] = new Array('w','Enlever cette page de votre liste de suivi');
ta['search'] = new Array('f','Rechercher dans la Désencyclopédie');
ta['p-logo'] = new Array('','Accueil');
ta['n-mainpage'] = new Array('z','Visiter la page d\'accueil');
ta['n-portal'] = new Array('','Discussion du projet'); 
ta['n-currentevents'] = new Array('','Informations sur les évènements récents (non, pas vraiment)');
ta['n-recentchanges'] = new Array('r','Les dernières modifications de la Désencyclopédie');
ta['n-randompage'] = new Array('x','Une page au hasard (à coup sûr une merde)');
ta['n-help'] = new Array('','Si vous avez des questions...');
ta['n-sitesupport'] = new Array('','Soutien du site (aucune idée moi non plus)');
ta['t-whatlinkshere'] = new Array('j','La liste des liens qui mènent ici');
ta['t-recentchangeslinked'] = new Array('k','Les dernières modifications des pages qui sont liées d\'ici');
ta['feed-rss'] = new Array('','Flux RSS pour cette page (aucune idée moi non plus)');
ta['feed-atom'] = new Array('','Flux Atom pour cette page (aucune idée moi non plus)');
ta['t-contributions'] = new Array('','La liste des contributions de cette utilisateur');
ta['t-emailuser'] = new Array('','Envoyer un message à cet utilisateur');
ta['t-upload'] = new Array('u','Importer une image ou autre fichier média sur le serveur');
ta['t-specialpages'] = new Array('q','La liste des pages spéciales');
ta['ca-nstab-main'] = new Array('c','Voir le contenu de cette page');
ta['ca-nstab-user'] = new Array('c','Voir la page perso');
ta['ca-nstab-media'] = new Array('c','Voir la page média'); 
ta['ca-nstab-special'] = new Array('','Ceci est une page spéciale, on ne peut pas la modifier.');
ta['ca-nstab-wp'] = new Array('a','Voir la page de projet');
ta['ca-nstab-image'] = new Array('c','Voir la page d\'image');
ta['ca-nstab-mediawiki'] = new Array('c','Voir le message système');
ta['ca-nstab-template'] = new Array('c','Voir le modèle');
ta['ca-nstab-help'] = new Array('c','Voir la page d\'aide');
ta['ca-nstab-category'] = new Array('c','Voir la catégorie');
 
//============================================================
//
// Fonctions de gestion
//
//============================================================
 
/**
 * Installation d'une nouvelle fonction de cette façon:
 * aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses)
 */
if (!window.aOnloadFunctions) { 
  var aOnloadFunctions = new Array(); 
}
 
window.onload = function() 
{
  if (window.aOnloadFunctions) {
    for (var _i=0; _i<aOnloadFunctions.length; _i++) {
      aOnloadFunctions[_i]();
    }
  }
}
 
 
/**
 * Ajouter une nouvelle fonction a excuter au chargement de la page.
 */ 
function addLoadEvent(func) 
{
  if (window.addEventListener) 
    window.addEventListener("load", func, false);
  else if (window.attachEvent) 
    window.attachEvent("onload", func);
}
 
 
//============================================================
//
// Caractères spéciaux
//
//============================================================
 
/**
 * Ajoutez le menu pour choisir des sous-ensembles de caractères spéciaux
 * @note           L'ordre de cette liste doit correspondre a celui de MediaWiki:Edittools !
 */
function addCharSubsetMenu() {
  var specialchars = document.getElementById('specialchars');
 
  if (specialchars) {
    var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
    menu += "<option>Wiki</option>";
    menu += "<option>Mathématiques</option>";
    menu += "<option>API</option>";
    menu += "<option>Latin/Romain</option>";
    menu += "<option>Grec</option>";
    menu += "<option>Cyrillique</option>";
    menu += "<option>AHD</option>";
    menu += "<option>Allemand</option>";
    menu += "<option>Arabe</option>";
    menu += "<option>Catalan</option>";
    menu += "<option>Croate</option>";
    menu += "<option>Espagnol</option>";
    menu += "<option>Espéranto</option>";
    menu += "<option>Estonien</option>";
    menu += "<option>Gallois</option>";
    menu += "<option>Hawaien</option>";
    menu += "<option>Hébreu</option>";
    menu += "<option>Hiéroglyphe</option>";
    menu += "<option>Hollandais</option>";
    menu += "<option>Hongrois</option>";
    menu += "<option>Indo-européen</option>";
    menu += "<option>Irlandais</option>";
    menu += "<option>Islandais</option>";
    menu += "<option>Italien</option>";
    menu += "<option>Letton</option>";
    menu += "<option>Lituanien</option>";
    menu += "<option>Maltais</option>";
    menu += "<option>Navajo & Apache</option>";
    menu += "<option>Pinyin</option>";
    menu += "<option>Polonais</option>";
    menu += "<option>Portugais</option>";
    menu += "<option>Romaji</option>";
    menu += "<option>Roumain</option>";
    menu += "<option>Scandinave</option>";
    menu += "<option>Serbe</option>";
    menu += "<option>Tchèque</option>";
    menu += "<option>Turc</option>";
    menu += "<option>Vieil anglais</option>";
    menu += "<option>Vietnamien</option>";
    menu += "<option>Yiddish</option>";
    menu += "</select>";
    specialchars.innerHTML = menu + specialchars.innerHTML;
 
    /* default subset - try to use a cookie some day */
    chooseCharSubset(0);
  }
}
 
/* select subsection of special characters */
function chooseCharSubset(s) {
  var l = document.getElementById('specialchars').getElementsByTagName('p');
  for (var i = 0; i < l.length ; i++) {
    l[i].style.display = i == s ? 'inline' : 'none';
    l[i].style.visibility = i == s ? 'visible' : 'hidden';
  }
}
 
addLoadEvent(addCharSubsetMenu);
 
 
//============================================================
//
// Choix de l'affichage des références
//
//============================================================
 
/**
 * Choix du mode d'affichage des références.
 * @note           L'ordre de cette liste doit correspondre a celui de Modèle:Édition !
 */
function addBibSubsetMenu() 
{
  var specialBib = document.getElementById('specialBib');
 
  if (specialBib) 
  {
    specialBib.style.display = 'block';
    var menu = "<select style=\"display:inline;\" onChange=\"chooseBibSubset(selectedIndex)\">";
    menu += "<option>Liste</option>";
    menu += "<option>WikiNorme</option>";
    menu += "<option>BibTeX</option>";
    menu += "<option>ISBD</option>";
    menu += "<option>ISO690</option>";
    menu += "</select>";
    specialBib.innerHTML = specialBib.innerHTML + menu;
  }
    /* default subset - try to use a cookie some day */
    chooseBibSubset(0);
}
 
/* select subsection of special characters */
function chooseBibSubset(s) 
{
  var l = document.getElementsByTagName('div');
  for (var i = 0; i < l.length ; i++) 
  {
         if(l[i].className == 'BibList')   l[i].style.display = s == 0 ? 'block' : 'none';
    else if(l[i].className == 'WikiNorme') l[i].style.display = s == 1 ? 'block' : 'none';
    else if(l[i].className == 'BibTeX')    l[i].style.display = s == 2 ? 'block' : 'none';
    else if(l[i].className == 'ISBD')      l[i].style.display = s == 3 ? 'block' : 'none';
    else if(l[i].className == 'ISO690')    l[i].style.display = s == 4 ? 'block' : 'none';
  }
}
 
addLoadEvent(addBibSubsetMenu);
 
 
 
//============================================================
//
// Prévisualisation rapide 
//
//============================================================
 
/**
 * Script de ajoutant une option de prévisualisation rapide.
 * 
 *
 * English: Add a Quick View option on the Edit pages.
 * This script add 2 new buttons into the "editButtons" div.
 * When QuickPrev button is press, the content of edit window 
 * is retreived and parsed using regular expressions.
 *
 * @author: fr:user:aoineko
 * @version: 0.2
 */
function addQuickPreview() 
{
  var QuickPreviewBtnTitle  = "Prévisualisation rapide de vos modifications [Alt + Q]";
  var QuickPreviewBtnValue  = "Prévisualisation rapide";
  var QuickPrevHideBtnTitle = "Cacher la prévisualisation rapide [Alt + H]";
  var QuickPrevHideBtnValue = "Cacher";
 
  var div = document.getElementsByTagName('div');
  for(var i = 0; i < div.length ; i++)
  {
    if(div[i].className == "editButtons") // search "editButtons" div
    {
      div[i].appendChild(document.createElement("br")); // add a <br/>
 
      var wpQuick = document.createElement("input"); // create and set the "QuickPrev" button
      wpQuick.setAttribute("id",        "wpQuick");
      wpQuick.setAttribute("name",      "wpQuick");
      wpQuick.setAttribute("title",     QuickPreviewBtnTitle);
      wpQuick.setAttribute("value",     QuickPreviewBtnValue);
      wpQuick.setAttribute("type",      "button");
      wpQuick.setAttribute("onclick",   "doQuickPreview();");
      wpQuick.setAttribute("tabindex",  "8");
      wpQuick.setAttribute("accesskey", "Q");
      div[i].appendChild(wpQuick);
 
      var wpHide = document.createElement("input"); // create and set the "Hide" button
      wpHide.setAttribute("id",        "wpHide");
      wpHide.setAttribute("name",      "wpHide");
      wpHide.setAttribute("title",     QuickPrevHideBtnTitle);
      wpHide.setAttribute("value",     QuickPrevHideBtnValue);
      wpHide.setAttribute("type",      "button");
      wpHide.setAttribute("onclick",   "hideQuickPreview();");
      wpHide.setAttribute("tabindex",  "9");
      wpHide.setAttribute("accesskey", "H");
      div[i].appendChild(wpHide);
    }
  }
}
 
/// Retreive current code and parse it
function doQuickPreview() 
{
  var wpQuickPreview = document.getElementById("wpQuickPreview");
  if(!wpQuickPreview) 
  {
    /*var l = document.getElementsByTagName('div');
    for(var i = 0; i < l.length ; i++)
      if(l[i].className == "previewnote")
        wpQuickPreview = l;
    
    if(!wpQuickPreview)*/
    {
      wpQuickPreview = document.createElement("div");
      wpQuickPreview.setAttribute("style", "border:solid 1px gray; width:100%; margin-top:1em; margin-bottom:1em; padding:0.5em;");
      var wpSummaryLabel = document.getElementById("wpSummaryLabel");
      wpSummaryLabel.parentNode.insertBefore(wpQuickPreview, wpSummaryLabel);
    }
    wpQuickPreview.setAttribute("id",    "wpQuickPreview");
  }
  wpQuickPreview.style.display = "block";
 
  wpTextbox1 = document.getElementById("wpTextbox1");
  var str = "=Prévisualisation rapide=\n" + wpTextbox1.value;
  var qp = new QuickPreview(str);
  wpQuickPreview.innerHTML = qp.Parse();
}
 
function QuickPreview(wiki)
{
  this.line = wiki.split(/\n/);
  this.html = new String;
  
  this.list = 0; // current list depth
  this.tab  = 0; // current tabulation depth
  this.pre  = false; /// inside a <pre> tag
  this.para = false; /// inside a paragraph
 
  this.HandlePre = function(i)
  {
      if(this.line[i][0] == ' ')
      {
        if(this.para)
        {
          this.para = false;
          this.html += "</p>\n";
        }
        if(!this.pre)
        {
          this.pre = true;
          this.html += "<pre>\n";
        }
        this.html += this.line[i] + "\n";
        return true;
      }
      else if(this.pre)
      {
        this.pre = false;
        this.html += "</pre>\n";
      }
      return false;
  };
 
  this.HandleH = function(i)
  {
    if(res = this.line[i].match(/^(={1,6})(.*)\1(.*)$/))
    {
        this.line[i] = "<h" + res[1].length + ">" + res[2] + "</h" + res[1].length + ">" + res[3];
        return true;
    }
    return false;
  };
  
  this.Parse = function()
  {
    this.html = "";
 
    for(var i = 0; i < this.line.length ; i++)
    {
      var p = true;
    
      if(this.HandlePre(i))
        continue;
 
      if(this.HandleH(i))
        p = false;
      
      if(p && !this.para)
      {
        this.para = true;
        this.html += "<p>";
      }
 
      this.html += this.line[i]
 
      // Sign //
      .replace(/~{5}/g, Date())
      .replace(/~{4}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px yellow;'>Signature</span> "+Date())
      .replace(/~{3}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px yellow;'>Signature</span>")
 
      // Style //
      .replace(/'''''(.*?)''(.*?)'''/g, "<strong><em>$1</em>$2</strong>")
      .replace(/'''''(.*?)'''(.*?)''/g, "<em><strong>$1</strong>$2</em>")
      .replace(/'''(.*?)''(.*?)'''''/g, "<strong>$1<em>$2</em></strong>")
      .replace(/'''''(.*?)''''/g,       "<strong><em>\'$1</em></strong>")
      .replace(/''''(.*?)''''/g,        "<strong><em>$1</em></strong>")
      .replace(/''''(.*?)'''/g,         "<strong>\'$1</strong>")
      .replace(/'''(.*?)'''/g,          "<strong>$1</strong>")
      .replace(/'''(.*?)''/g,           "<em>\'$1</em>")
      .replace(/''(.*?)''/g,            "<em>$1</em>")
 
      // List //
      .replace(/^\*(.*)/g,  "<li>$1</li>")
      .replace(/^#(.*)/g,   "<li>$1</li>")
      .replace(/^:(.*)/g,   "<li>$1</li>")
 
      // Link //
      .replace(/\{\{([^\|]*).*}}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px lightgreen;'>Modèle : $1</span>")
      .replace(/\[\[[Ii]mage:([^\|]*)[^\[]*\]\]/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px lightblue;'>Image : $1</span>")
      .replace(/\[\[[Cc]atégorie:([^\|]*)[^\[]*\]\]/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px #FF8080;'><a href='/wiki/Catégorie:$1' title='$1'>Catégorie : $1</a></span>")
      .replace(/\[\[([^\[.]*)\|([^\[.]*)\]\]/g, "<a href='/wiki/$1' title='$1'>$2</a>")
      .replace(/\[\[([^\[.]*)\]\]/g,      "<a href='/wiki/$1' title='$1'>$1</a>")
/*
      // Special //
      .replace(/\n\n/g,          "\n\n<br/>")
      .replace(/(^|\n)-{4}(?!~)/g, "<hr/>")
 
      // Table //
      .replace(/(^|\n)\{\|(.*)/g, "$1<table $2>")
      .replace(/(^|\n)\|}/g, "$1</table>")
      .replace(/(^|\n)(\|.*)\|\|/g, "$1$2</td><td>")
      .replace(/(^|\n)\|[^-}](.*)/g, "$1</td>$2<td>")
      .replace(/(^|\n)(!.*)!!/g, "$1$2</th><th>")
      .replace(/(^|\n)![^-](.*)/g, "$1</th>$2<th>")
*/
      ;
      this.html += "\n";
    }
 
    return this.html;
  };
};
 
/// Hide
function hideQuickPreview() 
{
  var wpQuickPreview = document.getElementById("wpQuickPreview");
  if(wpQuickPreview) 
  {
    wpQuickPreview.style.display = 'none';
  }
}
 
addLoadEvent(addQuickPreview);
 
//============================================================
//
// Barre d'outil
//
//============================================================
 
//============================================================
// Générateur de tableaux
//============================================================
 
/**
 *
 * English: Generate an array using Mediawiki syntax
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
            var code = "\n";
            if (styleHeader==1) {
                        code += '{{entête tableau charte}}\n';
            } else {
                        code += '{| border="' + border + '"\n';
                        code += '|+ Titre du tableau\n';
            }
            
            for (var i=0;i<nbCol;i++) code += '! en-tête ' + i + '\n'
            
            for (var j=0;j<nbRow;j++) {
                        if ((j+1)%2==0 && styleLine==1) {
                                    code += '|-{'+'{ligne grise}'+'}\n'
                        } else {              
                                    code += '|-----\n'
                        }
                        
                        for (var i=0;i<nbCol;i++) code += '| élément\n';
            }
            
            code += '|}';
            insertTags('','', code); 
}
 
/**
 *
 * English: Open a popup with parameters to generate an array. 
 * The number of rows/columns can be modified. Some additional
 * parameters are related to templates available on :fr
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function popupTableau()
{
  var popup = window.open('','name','height=400,width=500');
  
  javaCode =  '<script type="text\/javascript">function insertCode(){';
  javaCode += 'var row = parseInt(document.paramForm.inputRow.value); '
  javaCode += 'var col = parseInt(document.paramForm.inputCol.value); '
  javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); '
  javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; '
  javaCode += 'var styleLine = document.paramForm.inputLine.checked; '
  javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); '
  javaCode += '}<\/script>';
  
  popup.document.write('<html><head><title>Paramètres du tableau</title>');
  popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
  popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
  popup.document.write(javaCode); 
  popup.document.write('</head><body>');
  popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>');
  popup.document.write('<form name="paramForm">');
  popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>');
  popup.document.write('Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>');
  popup.document.write('Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>');
  popup.document.write('En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>');
  popup.document.write('Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>');
  popup.document.write('</form">');
  popup.document.write('<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>');
  popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>');
  popup.document.write('</body></html>');
  popup.document.close();
}
 
//============================================================
// Insertion de nouveaux boutons dans la barre d'outil
//============================================================
 
/**
 * Ajoute quelques boutons sur la barre d'outil
 * Inspiré de mon code précédent et des icônes sur he:
 * @author: fr:user:dake
 * @version: 0.1
 */
/*function ImprovedToolbar()
{
 tooly = document.getElementById('toolbar');
 if (tooly == null) return;
 
 StrikeTextButton = "<a href=\"javascript:insertTags('<s>','</s>','');\"><img src=\"http://upload.wikimedia.org/wikipedia/fr/3/30/Btn_toolbar_rayer.png\" alt=\"Rayer\" title=\"Rayer\"></a>";
 EnumTextButton = "<a href=\"javascript:insertTags('\\n# élément 1\\n# élément 2\\n# élément 3','','');\"><img src=\"http://upload.wikimedia.org/wikipedia/fr/8/88/Btn_toolbar_enum.png\" alt=\"Énumération\" title=\"Énumération\"></a>";
 ListTextButton = "<a href=\"javascript:insertTags('\\n* élément A\\n* élément B\\n* élément C','','');\"><img src=\"http://upload.wikimedia.org/wikipedia/fr/1/11/Btn_toolbar_liste.png\" alt=\"Liste\" title=\"Liste\"></a>";
 GalleryButton = "<a href=\"javascript:insertTags('\\n<gallery>\\nImage:Vista-openbsd.png|Légende\\nImage:AMule.png|Légende\\nImage:Cyberduck icon.png|Légende\\n</gallery>','','');\"><img src=\"http://upload.wikimedia.org/wikipedia/fr/9/9e/Btn_toolbar_gallery.png\" alt=\"Galerie d'images\" title=\"Galerie d'images\"></a>";
 CommentTextButton = "<a href=\"javascript:insertTags('<!--','-->','');\"><img src=\"http://upload.wikimedia.org/wikipedia/fr/3/37/Btn_toolbar_commentaire.png\" alt=\"Commentaire\" title=\"Commentaire\"></a>";
 RedirectButton = "<a href=\"javascript:insertTags('#REDIRECT [[',']]','nom de la destination');\"><img src=\"http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png\" alt=\"Redirection\" title=\"Redirection\"></a>";
 ArrayButton = "<a href=\"javascript:popupTableau();\"><img src=\"http://upload.wikimedia.org/wikipedia/fr/0/04/Button_array.png\" alt=\"Tableau\" title=\"Tableau\"></a>";
 
 tooly.innerHTML = tooly.innerHTML + StrikeTextButton + EnumTextButton + 
ListTextButton + CommentTextButton + GalleryButton + RedirectButton + ArrayButton ;
}
 
//addLoadEvent(ImprovedToolbar);
 
//Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
{
 mwCustomEditButtons[mwCustomEditButtons.length] =
 {"imageFile": imageFile,
  "speedTip": speedTip,
  "tagOpen": tagOpen,
  "tagClose": tagClose,
  "sampleText": sampleText};
}
 
addCustomButton('http://upload.wikimedia.org/wikipedia/fr/3/30/Btn_toolbar_rayer.png','Rayer',"<s>","</s>",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/fr/8/88/Btn_toolbar_enum.png','Énumération',"\\n# élément 1\\n# élément 2\\n# élément 3","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/fr/1/11/Btn_toolbar_liste.png','Liste',"\\n* élément A\\n* élément B\\n* élément C","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/fr/9/9e/Btn_toolbar_gallery.png','Galerie d\'images',"\\n<gallery>\\nImage:Vista-openbsd.png|Légende\\nImage:AMule.png|Légende\\nImage:Cyberduck icon.png|Légende\\n</gallery>","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/fr/3/37/Btn_toolbar_commentaire.png','Commentaire',"<!--","-->",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png','Redirection',"#REDIRECT [[","]]",'nom de la destination');
*/
//Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
 var toolbar = document.getElementById('toolbar');
 if (!toolbar) return false;
 
 var textbox = document.getElementById('wpTextbox1');
 if (!textbox) return false;
 
 if (!document.selection && textbox.selectionStart == null)
 return false;
 
 var image = document.createElement("img");
 image.width = 23;
 image.height = 22;
 image.src = 'http://upload.wikimedia.org/wikipedia/fr/0/04/Button_array.png';
 image.border = 0;
 image.alt = 'Tableau';
 image.title = 'Tableau';
 image.style.cursor = "pointer";
 image.onclick = function() {
   popupTableau();
   return false;
 }
 toolbar.appendChild(image);
}
 
addLoadEvent(marque_tab);
 
 
 
 
//============================================================
// 
// Divers
// 
//============================================================
 
/**
 * Transformer les pages du communauté en page de discussion
 */
function DiscussionBistro() 
{
  if(document.title.search("Desencyclopedie:Communauté") != -1)
    document.body.className = "ns-1";
}
     
addLoadEvent(DiscussionBistro);
 
/**
 * Ajout d'un style particulier aux liens interlangues vers des articles de qualités
 */
function LienAdQ() 
{
   var lang = document.getElementById("p-lang"); // fin language link list
   if(lang)
   {
      var span = document.getElementsByTagName("span");
      for(i=0; i<span.length; i++) // iterate over all <span>-elements
      {
         // if found a AdQ span
         if(span[i].className == "AdQ") {
            var li = lang.getElementsByTagName("li");
            for(j=0; j<li.length; j++) {
               if(li[j].className == "interwiki-" + span[i].id) { // if found a AdQ link
                  li[j].style.padding = "0 0 0 16px";
                  li[j].style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/fr/3/36/Icone_etoile.png')";
                  li[j].style.backgroundRepeat = "no-repeat";
                  li[j].title = "Lien vers un article de qualité";
               }
            }
         }
      }
   }
}
 
addLoadEvent(LienAdQ);
 
/*
 * VraiTitre : Ajout du titre réel d'un article pour lequel MediaWiki n'affiche pas correctement
 */
 
function VraiTitre() 
{
   var balise = document.getElementById("vrai_titre");
   if (!balise) return;
   vrai_titre = balise.childNodes[0].nodeValue;
   var titre = document.getElementsByTagName("H1")[0];
   rectificatif = titre.appendChild(document.createElement("span"));
   rectificatif.setAttribute ("style","color:#AAAAAA; font-size:0.7em; font-style:italic; display:inline;");
   rectificatif.appendChild(document.createTextNode(" ("+ vrai_titre +")"));
}
addLoadEvent(VraiTitre);
 
/****************************************/
function mwInsertEditButton(parent, item) {
        var image = document.createElement("img");
        image.width = 23;
        image.height = 22;
        image.src = item.imageFile;
        image.border = 0;
        image.style.cursor = "pointer";
        var ref = document.createElement("a")
        ref.setAttribute("href", "javascript:insertTags(\"" + item.tagOpen + "\",\"" + item.tagClose + "\",\"" + item.sampleText + "\");")
        ref.setAttribute("title", item.speedTip);
        ref.appendChild(image);
        
        parent.appendChild(ref);
}


/* </nowiki> </pre> */