Utilisateur:GôTô/monobook.js

Un article de Wikipédia, l'encyclopédie libre.

Note : Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, Internet Explorer / Opera : Ctrl-F5, Safari : Cmd-R.

/* <pre><nowiki> */
 
// /!\ Attention !! Si vous désirez copier des fonctionalités de ce monobook.js, prenez garde à certains passages qui me sont personnels. Ma boîte de navigation contient par exemple des liens vers des sous-pages personnelles. Ma barre d'édition également. N'hésitez pas à me contacter sur ma page de discussion en cas de doute :)
// Pour connaitre les fonctionnalités disponibles ici, regardez en page de discussion
 
// import
function importWikiPage(page, lng) {
        langue = (lng ? lng : 'fr')
        document.write('<script type="text/javascript" src="' 
             + 'http://' + langue + '.wikipedia.org/w/index.php?title=' + page
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
 
//---------------------------------------------------------------------------------------------Sous pages perso
importWikiPage('Utilisateur:GôTô/objects.js')
importWikiPage('Utilisateur:GôTô/ufunctions.js')
importWikiPage('Utilisateur:GôTô/test.js')
 
//lupin
/*importWikiPage('User:Lupin/popups.js', 'en')
importWikiPage('Utilisateur:Leag/popups-strings-fr.js')
 
simplePopups = true;
popupAdminLinks = true;
popupDelay = 1.5;
*/
 
// Merci à Dake à qui j'ai piqué des fonctions. Cependant, je les ai toutes personnalisées :)
 
//---------------------------------------------------------------------------------Variables globales
var prevUsr;
var intKill;
var intShow;
var isIE = navigator.appName == "Microsoft Internet Explorer"
 
function remLoadEvent(func) {
        if (!func)
                return;
        if (window.removeEventListener) 
                window.removeEventListener("load", func, false);
        else if (window.detachEvent) 
                window.detachEvent("onload", func);
}
 
//remLoadEvent(moveEditsection);
 
//---------------------------- Fun starts here: Onload functions go below ---------------------------
//------------------------------------------------------------------------------------------Recherche
//Ajout d'onglets de recherche sur le titre de l'article
 
var whichWiki = "commons";
function setWiki()
{
        var newWiki = document.getElementById("elmtWhichWiki").value;
        // trim
        newWiki = newWiki.replace(/ /g, "");
        if (/com(mon)?/.test(newWiki))
                newWiki = "commons";
        else if (/méta/.test(newWiki))
                newWiki = "meta";
        // no need to change
        if (newWiki == whichWiki)
                return;
        var elmt = document.getElementById("whichW");
        // it was a wikipedia and now it's a wikimedia (commons or meta)
        if (/commons|meta/.test(newWiki) && !(/commons|meta/.test(whichWiki))) {
                elmt.href = elmt.href.replace(".wikipedia.org", ".wikimedia.org");
                elmt.title = elmt.title.replace(".wikipedia.org", ".wikimedia.org");
        }
        // it was a wikimedia (commons or meta) and now it's a wikipedia
        else if (/commons|meta/.test(whichWiki) && !(/commons|meta/.test(newWiki))) {
                elmt.href = elmt.href.replace(".wikimedia.org", ".wikipedia.org");
                elmt.title = elmt.title.replace(".wikimedia.org", ".wikipedia.org");
        }
        // in any case
        elmt.href = elmt.href.replace("http://" + whichWiki, "http://" + newWiki);
        elmt.title = elmt.title.replace("sur " + whichWiki, "sur " + newWiki);
        whichWiki = newWiki;
}
 
function searchLinks()
{
        var site = (/commons|meta/.test(whichWiki) ? 'wikimedia' : 'wikipedia');
        var a = document.getElementById("p-cactions");
        if (a)
        {
                var pageName = getArticleName();
                var ulElmt = a.getElementsByTagName("ul");
 
                if(ulElmt.length > 0) {
                        ulElmt[0].innerHTML += '<li><a id="whichW" onmousedown="setWiki()" onkeydown="setWiki()" href="http://' + whichWiki + '.' + site + '.org/wiki/Special:Search?search=' + pageName + '" title="Rechercher ' + pageName + '">'
                        + 'Rech. wp</a>'
                        + '<input type=text id="elmtWhichWiki" style="color : #002bb8; font: normal 8pt Arial; border: 0px; background: none; width: 50px" maxlength="7" value="' + whichWiki + '">'
                        + '</li>';
                }
        }
 
        var a = document.getElementById("p-search");
        if (a)
                a = a.getElementsByTagName("div")[0];
        if (a) {
                var str = '  <a class="searchLink" href="http://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Afr.wikipedia.org+' + pageName + '&btnG=Search" title="Rechercher sur Google dans fr.wikipédia.org">'
                        + 'wp-fr</a>'
                        + '  <a class="searchLink" href="http://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Awikipedia.org+' + pageName + '&btnG=Search" title="Rechercher sur Google dans wikipédia.org">'
                        + 'wp</a>'
                        + '  <a class="searchLink" href="http://www.google.fr/search?num=20&hl=fr&safe=off&q=' + pageName + '&btnG=Search&meta=lr%3Dlang_fr" title="Rechercher sur Google dans tout le web en français">'
                        + 'web-fr</a>'
                        + '  <a class="searchLink" href="http://www.google.fr/search?num=20&hl=en&safe=off&q=' + pageName + '&btnG=Search" title="Rechercher sur Google dans tout le web">'
                        + 'web</a>'
                        + '  <a class="searchLink" href="http://images.google.fr/images?num=20&hl=en&safe=off&q=' + pageName + '&btnG=Search&sa=N&tab=wi" title="Rechercher sur Google une image dans tout le web">'
                        + 'img</a>'
                        + a.innerHTML;
                a.innerHTML = str;
          }
} 
addLoadEvent(searchLinks);
 
//-------------------------------------------------------------------------------------OptimizedSuivi
function OptimizedSuivi() 
{
        if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Watchlist") != 0 &&
                document.URL.indexOf("http://fr.wikipedia.org/w/index.php?title=Special:Watchlist") != 0)
                return;
 
        // Birthday reminder
        if (!document.getElementById("bday")) {
                var bday = document.createElement("div");
                bday.id = "bday";
                bday.className = "bday";
                bday.align = "center";
                document.getElementById("bodyContent").width = "100%";
                insertAfter(document.getElementById("bodyContent"), bday, document.getElementById("contentSub"));
        }
        var cooktime = cookies.get("bday");
        if (cooktime != null) {
                if (cooktime == -1)
                        bday.style.display = "none";
                else {
                        bday.innerHTML = cooktime;
                        bday.style.display = "inline";
                }
        } else {
                ajax.conn.onreadystatechange = function () {
                        if (ajax.conn.readyState == 4) {
                                var d = new Date();
                                var today = d.getUTCMonth() +1;
                                if (today < 10)
                                        today = "0" + today;
                                today += "-" + d.getDate()
                                try {
                                        document.getElementById("bday").innerHTML = ajax.getResult().split("|" + today + "=")[1].split("|")[0];
                                        d.setUTCHours(23, 59, 59, 999);
                                        cookies.set("bday", ajax.getResult().split("case: " + today + "=")[1].split("|case:")[0].split("|default=")[0], d.toGMTString());
                                        bday.style.display = "inline";
                                } catch (e) {
                                        document.getElementById("bday").style.display = "none";
                                        d.setUTCHours(23, 59, 59, 999);
                                        cookies.set("bday", -1, d.toGMTString());
                                }
                        }
                }
                ajax.sendRequest("/w/index.php?title=Utilisateur:G%C3%B4T%C3%B4/Birthday_Reminder&action=raw", "GET", true);
        }
 
        // Mise en relief de mes pages
        var allDays = document.getElementsByTagName("ul");
        for (var i=0; i<allDays.length; i++)
        {
                if (allDays[i].getAttribute("class") == "special") {
                        var artList = allDays[i].getElementsByTagName("li");
                        for (var j = 0 ; j < artList.length ; j++) {
                                var elem = artList[j];
                                var aTag = elem.getElementsByTagName("a");
                                var articleName = aTag[2].innerHTML;
                                if (articleName.indexOf("Utilisateur:GôTô") > -1)
                                        aTag[2].setAttribute("class", "watchAlert", 0);
                        }
                }
        }
}
 
addLoadEvent(OptimizedSuivi);
 
//-------------------------------------------------------------------------------------OptimizedNavig
// Personalisation de la boite de navigation ainsi que de la boite utilisateur (haut de page)
 
function OptimizedNavig()
{
        // nav box
        var a = document.getElementById("p-navigation");
 
        if (a)
        {
                        // dossiers
                        var folders = ['Perso', 'Admin', 'Communauté', 'Buddies', 'Special', '++'];
 
                        var divHTML = '<h5>navigation: menu</h5><div class="pBody"><div id="folders"><ul>';
                        for (var i = 0 ; i < folders.length ; i++) 
                                divHTML += '<li><a class="navFolderUnselected" href="javascript:selectFolder(\'' + folders[i] +'\')" id="' + folders[i] + '">' + folders[i] + '</a></li>';
                        divHTML += '</ul></div></div>';
 
 
                        var startUrl = '/w/index.php?title=';
                        divHTML += '<br /><h5 id="navigationLinks">Navigation: links</h5><div class="pBody"><ul>';
 
                        // liste des URLs dossier perso
                        var perso = [
                                        'Utilisateur:GôTô/Article en cours||Articles en cours',
                                        'Utilisateur:GôTô/Modèle||Modèle',
                                        'Utilisateur:GôTô/Pense-bête||Pense-bête',
                                        'Utilisateur:GôTô/monobook.css||Monobook.css',
                                        'Utilisateur:GôTô/monobook.js||Monobook.js',
                                        'Utilisateur:GôTô/objects.js||Objects.js',
                                        'Utilisateur:GôTô/ufunctions.js||Ufunctions.js',
                                        'Utilisateur:GôTô/test.js||Test.js'
                                ];
 
                        divHTML += '<div style="display: none" id="folderPerso">';
                        for (var i = 0 ; i < perso.length ; i++) 
                                divHTML += '<li><a style="color: #002bb8" href="' + startUrl + perso[i].split("||")[0] + '">' + perso[i].split("||")[1] + '</a></li>';
                        divHTML += '</div>';
 
                        // liste des URLs dossier Admin
                        var admin = [
                                        'Discussion Utilisateur:GôTô/Contributions en tant qu\'administrateur||GôTô admin',
                                        'Wikipédia:Requêtes aux administrateurs||Requêtes',
                                        'Wikipédia:Demande de suppression immédiate||Suppr. immédiate',
                                        'Wikipédia:Demande de fusion d\'historique||Historique',
                                        'Wikipédia:Demande d\'intervention sur une page protégée||Page protégée'
                                ];
 
                        divHTML += '<div style="display: none" id="folderAdmin">';
                        for (var i = 0 ; i < admin.length ; i++) 
                                divHTML += '<li><a style="color: #002bb8" href="' + startUrl + admin[i].split("||")[0] + '">' + admin[i].split("||")[1] + '</a></li>';
                        divHTML += '</div>';
 
 
                        // liste des URLs dossier Communauté
                        var com = [
                                        'Wikipédia:Annonces||Annonces',
                                        'Wikipédia:Bulletin des administrateurs||Bulletin des admins',
                                        'Wikipédia:Le Bistro/' + TodayDate() + '||Le Bistro',
                                        'Wikipédia:Guilde des Guides||La Guilde',
                                        'Wikipédia:Oracle||L\'Oracle'
                                ];
 
                        divHTML += '<div style="display: none" id="folderCommunauté">'
                        for (var i = 0 ; i < com.length ; i++) 
                                divHTML += '<li><a style="color: #002bb8" href="' + startUrl + com[i].split("||")[0] + '">' + com[i].split("||")[1] + '</a></li>';
                        divHTML += '</div>';
 
                        // liste des URLs dossier buddies
                        var buddies = [
                                        'Discussion Utilisateur:Sebcaen||Sebcaen',
                                        'Discussion Utilisateur:Ficelle||Ficelle',
                                        'Discussion Utilisateur:Céréales Killer||Céréales Killer',
                                        'Discussion Utilisateur:Guillom||Guillom'
                                ];
 
                        divHTML += '<div style="display: none" id="folderBuddies">';
                        for (var i = 0 ; i < buddies.length ; i++) 
                                divHTML += '<li><a style="color: #002bb8" href="' + startUrl + buddies[i].split("||")[0] + '">' + buddies[i].split("||")[1] + '</a></li>';
                        divHTML += '</div>';
 
 
                        // liste des URLs dossier special
                        var usr = getUser();
                        var special = [
                                        'Special:Allmessages||Allmessages',
                                        'Special:Allpages||Allpages',
                                        'Special:Blockip&ip=' + usr +'||Block',
                                        'Special:Imagelist||Imagelist',
                                        'Special:Linksearch||Linksearch',
                                        'Special:Log||Log',
                                        'Special:Newimages||Newimages',
                                        'Special:Newpages||Newpages',
                                        'Special:Prefixindex||Prefixindex',
                                        'Special:Specialpages||Specialpages',
                                        'Special:Shortpages||Shortpages',
                                        'Special:Ipblocklist&action=unblock&ip=' + usr +'||Unblock',
                                        'Special:Unusedimages||Unusedimages'
                                ];
 
                        divHTML += '<div style="" id="folderSpecial">';
                        for (var i = 0 ; i < special.length ; i++) 
                                divHTML += '<li><a style="color: #002bb8" href="' + startUrl + special[i].split("||")[0] + '">' + special[i].split("||")[1] + '</a></li>';
                        divHTML += '</div>';
 
 
                        // liste des URLs dossier ++
                        var plusplus = [
                                                'Special:Recentchanges||Modifications récentes',
                                                'Special:Random||Un article au hasard',
                                                'Special:Random/Image||Une image au hasard',
                                                'Special:Random/Modèle||Un modèle au hasard',
                                                'Special:Random/Portail||Un portail au hasard',
                                                'Special:Random/Wikipédia||Une wikipage au hasard',
                                                'Utilisateur:GôTô/Pense-bête||Pense-bête',
                                                'Discussion Utilisateur:Sebcaen&action=edit&section=new||Seb',
                                                'Wikipédia:Le Bistro/' + TodayDate() + '||Le Bistro'
                                ];
 
                        divHTML += '<div style="" id="folder++">';
                        for (var i = 0 ; i < plusplus.length ; i++) 
                                divHTML += '<li><a style="color: #002bb8" href="' + startUrl + plusplus[i].split("||")[0] + '">' + plusplus[i].split("||")[1] + '</a></li>';
                        divHTML += '</div>';
 
                        divHTML += '</ul></div><br /><h5>Purge</h5><div class="pBody"><ul><li><a style="color: #002bb8; letter-spacing: 3px" href="' + startUrl + getArticleName() + '&action=purge">Purger la page</a></li></ul></div>';
 
                        a.innerHTML = divHTML;
                        selectFolder((cookies.get("navFolder") ? cookies.value : "++"));
        }
        //user box
        a = document.getElementById("p-personal");
 
        if (a)
        {
                b = a.getElementsByTagName("ul");
                if(b.length > 0) {
                        var newLiBooks = document.createElement("li");
                        newLiBooks.innerHTML = "<a id=\"pt-userpageBooks\" href=\"http://fr.wikibooks.org/w/index.php?title=User:GôTô\">books</a>";
                        insertAfter(b[0], newLiBooks, document.getElementById("pt-userpage"));
                        var newLiCom = document.createElement("li");
                        newLiCom.innerHTML = "<a id=\"pt-userpageCommons\" href=\"http://commons.wikimedia.org/wiki/User:GôTô\">commons</a>";
                        insertAfter(b[0], newLiCom, newLiBooks);
                        var newLiMeta = document.createElement("li");
                        newLiMeta.innerHTML = "<a id=\"pt-userpageMeta\" href=\"http://meta.wikimedia.org/wiki/User:GôTô\">meta</a>";
                        insertAfter(b[0], newLiMeta, newLiCom);
                        var newLiMedia = document.createElement("li");
                        newLiMedia.innerHTML = "<a id=\"pt-userpageMedia\" href=\"http://www.mediawiki.org/wiki/User:GôTô\">mediawiki</a>";
                        insertAfter(b[0], newLiMedia, newLiMeta);
                        var newLiEn = document.createElement("li");
                        newLiEn.innerHTML = "<a id=\"pt-userpageEn\" href=\"http://en.wikipedia.org/w/index.php?title=User:GôTô\">en</a>";
                        insertAfter(b[0], newLiEn, newLiMedia);
                        var newLiIt = document.createElement("li");
                        newLiIt.innerHTML = "<a id=\"pt-userpageIt\" href=\"http://it.wikipedia.org/w/index.php?title=User:GôTô\">it</a>";
                        insertAfter(b[0], newLiIt, newLiEn);
                }
        }
}
 
function selectFolder(str)
{
        var a = document.getElementById("p-navigation");
        var divs = a.getElementsByTagName("div");
 
        if (divs.length > 1) {
                a = divs[0].getElementsByTagName("a");
                for (var cpt = 0; cpt < a.length ; cpt ++) {
                        a[cpt].className = (a[cpt].id == str ? "navFolderSelected" : "navFolderUnselected");
                }
                for (var cpt = 2 ; cpt < divs.length ; cpt++) {
                        if (divs[cpt].id == "folder" + str)
                                divs[cpt].style.display = "inline";
                        else if (divs[cpt].className != "pBody")
                                divs[cpt].style.display = "none";
                }
                a = document.getElementById("navigationLinks");
                a.innerHTML= "navigation: " + str;
                cookies.set("navFolder", str);
        }
}
 
addLoadEvent(OptimizedNavig);
 
//------------------------------------------------------------------------------------------DeluxeBar
// Ajoute des boutons et autres jovialités dans la barre d'édition
function DeluxeBar() {
        if (document.createTextNode) {
                var toolbar = document.getElementById("toolbar");
                if (!toolbar)
                        return;
 
                toolbar.innerHTML = "";
                ///// zone personnalisable ////
                // le texte a été splitté sinon Mediawiki casse tout...
                // Signature admin
                img = document.createElement("img");
                img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/5/5f/Button_police.png");
                ref = document.createElement("a");
                ref.setAttribute("href", "javascript:insertTags(\"" + "~~" + "~  [[" + "Discussion Utilisateur:GôTô/Contributions en tant qu'administrateur|(admin)]] ~~" + "~~" + "~\", '', '');");
                ref.setAttribute("title", "Signature administrateur - 1");
                ref.setAttribute("accesskey", "1");
                ref.appendChild(img);
                toolbar.appendChild(ref);
 
                // Signature
                img = document.createElement("img");
                img.setAttribute("src", "http://fr.wikipedia.org/skins-1.5/common/images/button_sig.png");
                ref = document.createElement("a");
                ref.setAttribute("href", "javascript:insertTags(\"" + "~~" + "~~" + "\", '', '');");
                ref.setAttribute("title", "Ajouter la signature - 2");
                ref.setAttribute("accesskey", "2");
                ref.appendChild(img);
                toolbar.appendChild(ref);
 
                // Accueil nouveau
                var img = document.createElement("img");
                img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/e/eb/Button_accueilB.png");
                var ref = document.createElement("a");
                ref.setAttribute("href", "javascript:insertTags(\"" + "{{subst:" + "Bienvenue" + "}}" +  "Bonjour et bienvenue parmi nous ;) ~~" + "~~" + "\", '', '');" + "setSummary(\"" + "Bienvenue !" + "\");" );
                ref.setAttribute("title", "Ajouter le modèle d'accueil des nouveaux - 3");
                ref.setAttribute("accesskey", "3");
                ref.appendChild(img);
                toolbar.appendChild(ref);
 
                // Accueil vandale
                img = document.createElement("img");
                img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/1/12/Button_accueilA.png");
                ref = document.createElement("a");
                ref.setAttribute("href", "javascript:insertTags(\"" + "{{subst:" + "Bienvenue vandale" + "}}" + "~~" + "~~" + "\", '', '');" + "setSummary(\"" + "Bienvenue..." + "\");" );
                ref.setAttribute("title", "Ajouter le modèle d'accueil des vandales - 4");
                ref.setAttribute("accesskey", "4");
                ref.appendChild(img);
                toolbar.appendChild(ref);
 
                //Vandalisme
                img = document.createElement("img");
                img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/6/62/Button_stop.png");
                ref = document.createElement("a");
                ref.setAttribute("href", "javascript:insertTags(\"" + "{{subst:" + "vandalisme|\", \"" + "}}" + "~~" + "~~" + "\", '', '');" + "setSummary(\"" + "Stop" + "\");" );
                ref.setAttribute("title", "Ajouter le modèle de vandalisme - 5");
                ref.setAttribute("accesskey", "5");
                ref.appendChild(img);
                toolbar.appendChild(ref);
 
                //Bloqué
                img = document.createElement("img");
                img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/0/00/Button_vandale.png");
                ref = document.createElement("a");
                ref.setAttribute("href", "javascript:insertTags(\"" + "{{subst:" + "vandale bloqué|\", \"" + "}}" + "~~" + "~  [[" + "Discussion Utilisateur:GôTô/Contributions en tant qu'administrateur|(admin)]] ~~" + "~~" + "~\", '', '');" + "setSummary(\"" + "Bloqué" + "\");" );
                ref.setAttribute("title", "Dommage, bloqué ! - 6");
                ref.setAttribute("accesskey", "6");
                ref.appendChild(img);
                toolbar.appendChild(ref);
 
                // Redirection
                var inputText = document.createElement("input");
                inputText.setAttribute("type", "text");
                inputText.setAttribute("size", "60");
                inputText.setAttribute("style", "font-size: 90%");
                inputText.setAttribute("id", "inputRedirect");
                img = document.createElement("img");
                img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/4/4d/Button_recyclage.png");
                ref = document.createElement("a");
                ref.setAttribute("href", "javascript:setSummary('redirection vers [['+ document.getElementById('inputRedirect').value + ']]'); setTextarea('#REDIRECT [[' + document.getElementById('inputRedirect').value + ']]');");
                ref.setAttribute("title", "Rediriger - 7");
                ref.setAttribute("accesskey", "7");
                ref.appendChild(img);
                toolbar.appendChild(ref);
                toolbar.appendChild(inputText);
                // Catégories
                var inputTextCat = document.createElement("input");
                inputTextCat.setAttribute("type", "text");
                inputTextCat.setAttribute("size", "20");
                inputTextCat.setAttribute("style", "font-size: 90%");
                inputTextCat.setAttribute("id", "inputCat");
                if (cookies.get("catégorie") !== null)
                        inputTextCat.setAttribute("value", cookies.get("catégorie"));
                img = document.createElement("img");
                img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/6/67/Button_%C3%A9clair.png");
                ref = document.createElement("a");
                ref.setAttribute("href", "javascript:setSummary('catégorie ' + document.getElementById('inputCat').value);cookies.setWithDelay('catégorie', document.getElementById('inputCat').value, 100000000);insertTags('" + "[[Catégorie:' + document.getElementById('inputCat').value + '|' + document.getElementById('inputRedirect').value + ']]'," + "'" + "', '');");
                ref.setAttribute("title", "Modèle perso - *");
                ref.setAttribute("accesskey", "*");
                ref.appendChild(img);
                toolbar.appendChild(ref);
                toolbar.appendChild(inputTextCat);
                shortCuts();
        }
}
 
addLoadEvent(DeluxeBar);
 
 
function DeluxeSummary() {
        var sumLbl = document.getElementById("wpSummaryLabel");
        if (sumLbl) {
                var titles = ["+ ébauche", "+ cat", "+ commons", "+ commonsCat", "+ image", "+ interwiki", "+ portail",
                                "- image", "- lien ext", "corr lien int", "fait", "img++", "lien ext -> lien int",
                                "MeP", "ortho/gram", "rangmt", "recat"];
 
                var inputs = ["+ {{ébauche}}", "+ catégorie", "+ {{commons}}", "+ {{commonsCat}}", "+ image", "+ liens interwiki", "+ portail",
                                "- image manquante", "- lien externe", "correction lien interne", "{{fait}}", "meilleure image",
                                "conversion lien externe en lien interne", "mise en page", "correction orthographe/grammaire",
                                "rangement interwikis/catégories", "changement catégorie"];
 
                var str = "";
                for (var cpt = 0; cpt < titles.length; cpt ++) {
                        str += "<a href=\"javascript:addToSummary('" + inputs[cpt] + "')\""
                                + " class=\"sumLink\" title=\"Ajouter '" + inputs[cpt] +"' dans la boîte de résumé\">"
                                + titles[cpt]
                                + "</a> ";
                }
                sumLbl.innerHTML = str + "<br />" + sumLbl.innerHTML;
        }
}
 
addLoadEvent(DeluxeSummary)
 
// fonction très personnelle et réservée aux sysops
//
// Ajout de liens pour remplir automatiquement la boîte de commentaire de suppression
// Ajout d'un lien vers ma sous page perso regroupant mes suppressions
// Ajout d'un textarea pour aider au remplissage de cette page
function DeluxeDeletion() {
        var delForm = document.getElementById("deleteconfirm");
        if (delForm) {
                //élargissement boite de résumé
                var delInput = document.getElementById("wpReason");
                delInput.size = "110";
 
                var titles = ["Auteur (Suppr.)", "Auteur (Blanc.)", "BàS", "Commons", "Commons idem", "Doublon", "Fusion", "Formule", "Historique", "IàS", "PàS", "Pas d’licence", "Redirection in.", "Renommage"];
 
                var inputs = [
                                "Page supprimée à la demande de son auteur ([[Utilisateur:getInput()]])",
                                "Page blanchie par son auteur ([[Utilisateur:getInput()]])",
                                "Bac à sable",
                                "Image sur [[commons:getInput()]]",
                                "Image sur [[commons:getDeletionName()]]",
                                "Image doublon de [[:getInput()]]",
                                "Suppression pour fusion",
                                "Formule: inutile (voir [[LaTeX]])",
                                "Suppression pour restauration d’historique",
                                "Décision [[Wikipédia:Images à supprimer" + "]], voir [[Wikipédia:Images à supprimer/getDeletionName()]]",
                                "Décision [[Wikipédia:Pages à supprimer" + "]], voir [[Wikipédia:Pages à supprimer/getDeletionName()]]",
                                "Pas d’licence, pas d’image",
                                "Redirection inutile",
                                "Suppression pour renommage"
                        ];
 
                var strLinks = "<input type=text id=\"inputArticle\" name=\"inputArticle\" class=\"delInput\" /><br />";
                for (var cpt = 0; cpt < titles.length; cpt ++) {
                        strLinks += "<a href=\"javascript:setReason('" + inputs[cpt] + "');getInput();\""
                                + " class=\"sumLink\" title=\"Ajouter '" + inputs[cpt] +"' dans la boîte de motif\">"
                                + titles[cpt]
                                + "</a> ";
                }
                delForm.innerHTML = strLinks + delForm.innerHTML;
        }
}
 
 
function getInput() {	 
	var obj = document.getElementById("wpReason");
	if (/getInput\(\)/.test(obj.value))
		obj.value = obj.value.replace(/getInput\(\)/g, document.getElementById("inputArticle").value);
	else if (/getDeletionName\(\)/.test(obj.value))
		obj.value = obj.value.replace(/getDeletionName\(\)/g, getDeletionName());
}
 
addLoadEvent(DeluxeDeletion);
 
//---------------------------------------------------------------------------------------restauration
function UndeleteSelectAll() {
        if (window.location.href.indexOf("/Special:Undelete/") > 0) {
                var title2 = document.getElementsByTagName("h2");
                var all = document.createElement("input");
                all.setAttribute("type", "checkbox");
                if (all.attachEvent)
                        all.attachEvent("onclick", function () { selectAll(document.getElementById("checkAll").checked) });
                else
                        all.setAttribute("onclick", "javascript: selectAll(this.checked)");
                all.setAttribute("title", "Sélectionner/Désélectionner tous");
                title2[title2.length -1].appendChild(all);
                all.click();
        }
}
 
function selectAll(bool) {
        var inputs = document.getElementsByTagName("input");
        for (var cpt = 0 ; cpt < inputs.length ; cpt++)
                inputs[cpt].checked = bool
}
 
addLoadEvent(UndeleteSelectAll);
 
/********* Suivi utilisateurs *************/
 
function addWatchUserLinks() {
        var a = document.getElementById("p-search");
        if (a)
                a = a.getElementsByTagName("div")[0];
        if (a) {
                var str = a.innerHTML + '  <a class="searchLink" href="javascript:watchUser(document.getElementById(\'searchInput\').value)" title="Mettre en évidence les contributions de cet utilisateur">'
                        + 'watch user</a>'
                        + '  <a class="searchLink" href="javascript:unwatchUser(document.getElementById(\'searchInput\').value)" title="Ne plus mettre en évidence les contributions de cet utilisateur">'
                        + 'unwatch user</a>';
                a.innerHTML = str;
        }
}
 
function watchUser(usr) {
        if (!usr)
                usr = getUser();
        if (!isUserWatched(usr)) {
                var all = cookies.get("watchUser");
                cookies.set("watchUser", (all ? all + usr + "/" : usr + "/"));
                alert("Watching " + usr);
                highlightWatchedUsers();
        }
}
 
function unwatchUser(usr) {
        if (!usr)
                usr = getUser();
        if (!isUserWatched(usr))
                return;
        var all = cookies.get("watchUser").split("/");
        var out = "";
        for (var cpt = 0 ; cpt < all.length ; cpt++)
                if (all[cpt] != usr && all[cpt])
                        out += all[cpt] + "/";
        cookies.set("watchUser", out);
        alert("Unwatching " + usr);
        highlightWatchedUsers();
}
 
function isUserWatched(usr) {
        var all = cookies.get("watchUser");
        if (!all)
                return null;
        for (var cpt = 0 ; cpt < all.split("/").length ; cpt++)
                if (all.split("/")[cpt] == usr)
                        return 1;
        return null;
}
 
function highlightWatchedUsers() {
        if (window.location.href.indexOf("Special:Recentchanges") < 1)
                return;
        var uls = document.getElementsByTagName("ul");
        var ul = uls[0];
        for (var cpt = 1 ; cpt < uls.length && ul.className != "special" ; cpt++)
                ul = uls[cpt];
        var lis = ul.getElementsByTagName("li")
        for (var cpt = 0 ; cpt < lis.length ; cpt++) {
                var usr = lis[cpt].getElementsByTagName("a")[3].innerHTML;
                if (lis[cpt].getElementsByTagName("span")) {
                        var spans = lis[cpt].getElementsByTagName("span");
                        for (var cpt2 = 0 ; cpt2 < spans.length ; cpt2++)
                                if (spans[cpt2].className == "newpage")
                                        var usr = lis[cpt].getElementsByTagName("a")[2].innerHTML;
                }
                lis[cpt].className = (isUserWatched(usr) ? "userWatched" : "");
        }
}
 
addLoadEvent(highlightWatchedUsers);
addLoadEvent(addWatchUserLinks);
 
/********* Fin suivi utilisateurs *********/
 
var code = "";
function codeSecret(keyStroke) {
	var key = (!document.all) ? keyStroke.which : event.keyCode;
	if (key != 13)
		code += String.fromCharCode(key);
	else {
		switch(code.toLowerCase()) {
			case "++":
				selectFolder("++");
				break;
			case "adm":
			case "admin":
				selectFolder("Admin");
				break;
			case "bud":
			case "buddies":
				selectFolder("Buddies");
				break;
			case "com":
			case "communauté":
				selectFolder("Communauté");
				break;
			case "im":
			case "img":
			case "images":
				selectFolder("Images");
				break;
			case "p":
			case "perso":
				selectFolder("Perso");
				break;
			case "spe":
			case "spé":
			case "special":
			case "spécial":
				selectFolder("Special");
				break;
			default:
				if (code.indexOf("w/") == 0)
					watchUser(code.substring(2, code.length));
				break
		}
		code = "";
	}
}
 
document.onkeypress = codeSecret;
 
function shortCuts() {
	var toolbar = document.getElementById("toolbar");
	if (toolbar) {
		toolbar.innerHTML += "<a style=\"display: none\" accesskey=\"z\" href=\"javascript: void(0);\" onclick=\"insertTags('[[', ']]', '')\"></a>"
				+ "<a style=\"display: none\" accesskey=\"e\" href=\"javascript: void(0);\" onclick=\"javascript: insertTags('[', ']', '')\"></a>"
				+ "<a style=\"display: none\" accesskey=\"a\" href=\"javascript: void(0);\" onclick=\"javascript: document.getElementById('wpTextbox1').rows++ ;\"></a>"
				+ "<a style=\"display: none\" accesskey=\"r\" href=\"javascript: void(0);\" onclick=\"javascript: document.getElementById('wpTextbox1').rows-- ;\"></a>";
	}
}
 
/* </nowiki></pre> */