<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://fr.wikimaxi.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dr+Bot</id>
	<title>Wikimini, l’encyclopédie pour enfants - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://fr.wikimaxi.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dr+Bot"/>
	<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/wiki/Sp%C3%A9cial:Contributions/Dr_Bot"/>
	<updated>2026-05-30T06:48:56Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Thread:Test_(7)&amp;diff=55552</id>
		<title>Thread:Test (7)</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Thread:Test_(7)&amp;diff=55552"/>
		<updated>2010-12-07T20:36:07Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : Page créée avec « test »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;test&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32971</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32971"/>
		<updated>2010-01-13T22:41:47Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
// =========================================================================== &lt;br /&gt;
//////////////////////////////////////////////////// Patch extension WhosOnline&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;);&lt;br /&gt;
                         for(a=0;a&amp;lt;Spans.length;a++){      &lt;br /&gt;
                              var SpanHTML = Spans[a].innerHTML;&lt;br /&gt;
                              if(SpanHTML.indexOf(&#039;missing=&amp;quot;&amp;quot;&#039;)!=-1){&lt;br /&gt;
                                    Lien.className = &amp;quot;new&amp;quot;;&lt;br /&gt;
                             }&lt;br /&gt;
                        }&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;br /&gt;
// ===============================================&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32957</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32957"/>
		<updated>2010-01-13T19:43:42Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    document.body.insertBefore(LienBot, document.body.firstChild);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImageCount = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     Button.parentNode.insertBefore(Result, Button.nextSibling);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = url +&#039;&amp;lt;br/&amp;gt;Listage des pages&amp;lt;br/&amp;gt;&#039;;&lt;br /&gt;
               Reponse.innerHTML += Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
     if(!PageRequête) doEdit();&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=5&amp;amp;titles=&#039;+PageRequête;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = url +&#039;&amp;lt;br/&amp;gt;Requête API de la page : &#039; + decodeURIComponent(PageRequête);&lt;br /&gt;
               Reponse.innerHTML += Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               var PageAvecImage = true;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;title=&#039;)!=-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;title=&#039;)!=-1) PageAvecImage = false;&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               if(PageAvecImage == true){&lt;br /&gt;
                    PagesSansImage[PagesSansImageCount] = PageRequête;&lt;br /&gt;
                    PagesSansImageCount++&lt;br /&gt;
               }&lt;br /&gt;
               CheckImages((position+1))&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function doEdit(){&lt;br /&gt;
       var Alerte = &#039;OK&#039;;&lt;br /&gt;
    for(a=0;a&amp;lt;PagesSansImage.length;a++){ Alerte += &#039;\n&#039; + PagesSansImage[a];}&lt;br /&gt;
    alert(Alerte);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32946</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32946"/>
		<updated>2010-01-13T19:21:39Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    document.body.insertBefore(LienBot, document.body.firstChild);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImageCount = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     Button.parentNode.insertBefore(Result, Button.nextSibling);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;Listage des pages&amp;lt;br/&amp;gt;&#039;;&lt;br /&gt;
               Reponse.innerHTML += Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
     if(!PageRequête) doEdit();&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=5&amp;amp;titles=&#039;+PageRequête;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;Requête API de la page : &#039; + PageRequête;&lt;br /&gt;
               Reponse.innerHTML += Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               var PageAvecImage = true;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;title=&#039;)!=-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;title=&#039;)==-1) break;&lt;br /&gt;
                    PageAvecImage = false;&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               if(PageAvecImage == true){&lt;br /&gt;
                    PagesSansImage[PagesSansImageCount] = PageRequête;&lt;br /&gt;
                    PagesSansImageCount++&lt;br /&gt;
               }&lt;br /&gt;
               CheckImages((position+1))&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function doEdit(){&lt;br /&gt;
    var Alerte = &#039;OK&#039;;&lt;br /&gt;
    for(a=0;a&amp;lt;PagesSansImage.length;a++) Alerte += &#039;\n&#039; + PagesSansImage[a];&lt;br /&gt;
    alert(Alerte);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32939</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32939"/>
		<updated>2010-01-13T19:14:30Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImageCount = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
     if(!PageRequête) doEdit();&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=5&amp;amp;titles=&#039;+PageRequête;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               var PageAvecImage = true;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;title=&#039;)!=-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;title=&#039;)==-1) break;&lt;br /&gt;
                    PageAvecImage = false;&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               if(PageAvecImage == true){&lt;br /&gt;
                    PagesSansImage[PagesSansImageCount] = PageRequête;&lt;br /&gt;
                    PagesSansImageCount++&lt;br /&gt;
               }&lt;br /&gt;
               CheckImages((position+1))&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function doEdit(){&lt;br /&gt;
    var Alerte = &#039;OK&#039;;&lt;br /&gt;
    for(a=0;a&amp;lt;PagesSansImage.length;a++) Alerte += &#039;\n&#039; + PagesSansImage[a];&lt;br /&gt;
    alert(Alerte);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32938</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32938"/>
		<updated>2010-01-13T19:13:18Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImageCount = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
     if(!PageRequête) doEdit();&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=5&amp;amp;titles=&#039;+PageRequête;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               var PageAvecImage = true;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;title=&#039;)!=-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;title=&#039;)==-1) break;&lt;br /&gt;
                    PageAvecImage = false;&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               if(PageAvecImage == true){&lt;br /&gt;
                    PagesSansImage[PagesSansImageCount] = PageRequête;&lt;br /&gt;
                    PagesSansImageCount++&lt;br /&gt;
               }&lt;br /&gt;
               CheckImages((position+1))&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function doEdit(){&lt;br /&gt;
    var Alerte = &#039;OK&#039;;&lt;br /&gt;
    for(a=0;a&amp;lt;PagesSansImage.length;a++) Alerte += &#039;\n&#039; + PagesSansImage[a];&lt;br /&gt;
    alert(Alerte);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32936</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32936"/>
		<updated>2010-01-13T19:08:59Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImageCount = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
     if(!PageRequête) doEdit();&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=5&amp;amp;titles=&#039;+PageRequête;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;title=&#039;)!=-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;title=&#039;)==-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    PagesSansImage[PagesSansImageCount] = Page;&lt;br /&gt;
                    PagesSansImageCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function doEdit(){&lt;br /&gt;
    var Alerte = &#039;OK&#039;;&lt;br /&gt;
    for(a=0;a&amp;lt;PagesSansImage.length;a++) Alerte += &#039;\n&#039; + PagesSansImage[a];&lt;br /&gt;
    alert(Alerte);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32935</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32935"/>
		<updated>2010-01-13T19:07:37Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImageCount = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
     if(!PageRequête) doEdit();&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=5&amp;amp;titles=&#039;+PageRequête;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;title=&#039;)!=-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;title=&#039;)==-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    PagesSansImage[PagesSansImageCount] = Page;&lt;br /&gt;
                    PagesSansImageCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function doEdit(){&lt;br /&gt;
    var Alerte = &#039;OK&#039;;&lt;br /&gt;
    for(a=0;a&amp;lt;PagesSansImage.length;a++) Alerte += &#039;\n&#039; + PagesSansImage[a];&lt;br /&gt;
    alert(Alerte);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32932</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32932"/>
		<updated>2010-01-13T18:56:46Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span) break;&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var ListePagesTempo = &#039;OK&#039;;&lt;br /&gt;
     for(a=0;a&amp;lt;ListePages.length;a++) ListePagesTempo += &#039;\n&#039; + ListePages[a];&lt;br /&gt;
&lt;br /&gt;
     alert(ListePagesTempo);&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32930</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32930"/>
		<updated>2010-01-13T18:55:24Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&#039;+PageDebut;&lt;br /&gt;
     //alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               //alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    //alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
     var ListePagesTempo = &#039;OK&#039;;&lt;br /&gt;
     for(a=0;a&amp;lt;ListePages.length;a++) ListePagesTempo += &#039;\n&#039; + ListePages[a];&lt;br /&gt;
&lt;br /&gt;
     alert(ListePagesTempo);&lt;br /&gt;
     var PageRequête = ListePages[position];&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32929</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32929"/>
		<updated>2010-01-13T18:50:35Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=5&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;&amp;amp;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32927</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32927"/>
		<updated>2010-01-13T18:49:43Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;;&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=5&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32926</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32926"/>
		<updated>2010-01-13T18:49:16Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Result = document.createElement(&#039;div&#039;);&lt;br /&gt;
     Result.id = &#039;API_Result&#039;);&lt;br /&gt;
     document.body.insertBefore(Result, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=5&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.getElementById(&#039;API_Result&#039;);&lt;br /&gt;
               Reponse.innerHTML = &#039;&#039;;&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32923</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32923"/>
		<updated>2010-01-13T18:45:37Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;apfrom=&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32920</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32920"/>
		<updated>2010-01-13T18:42:29Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               if(Span){&lt;br /&gt;
                    OtherPage = true;&lt;br /&gt;
                    OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                    alert(OtherPageTitle);                    &lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32919</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32919"/>
		<updated>2010-01-13T18:40:19Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(!Span){&lt;br /&gt;
                         break;&lt;br /&gt;
                    }else{&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){ &lt;br /&gt;
                    alert(OtherPageTitle);&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32917</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32917"/>
		<updated>2010-01-13T18:36:53Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32914</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32914"/>
		<updated>2010-01-13T18:34:54Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)!=-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
&lt;br /&gt;
               alert(&#039;Recherche autres pages&#039;);&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
               while(Span){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span) alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
               if(OtherPage==true){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32913</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32913"/>
		<updated>2010-01-13T18:34:05Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    //alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1) break;&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
&lt;br /&gt;
               alert(&#039;Recherche autres pages&#039;);&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
               while(Span){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span) alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
               if(OtherPage==true){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32912</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32912"/>
		<updated>2010-01-13T18:31:59Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;apfrom&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
               while(Span){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span) alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
               if(OtherPage==true){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32910</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32910"/>
		<updated>2010-01-13T18:28:18Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               var OtherPage = false;&lt;br /&gt;
               while(Span){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span) alert(Span.innerHTML);&lt;br /&gt;
                    /*&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
                    */&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage==true){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32909</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32909"/>
		<updated>2010-01-13T18:26:07Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span!=&amp;quot;undefined&amp;quot;){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32907</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32907"/>
		<updated>2010-01-13T18:23:42Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount]){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32906</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32906"/>
		<updated>2010-01-13T18:22:07Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32905</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32905"/>
		<updated>2010-01-13T18:21:38Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span)){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){                   &lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32904</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32904"/>
		<updated>2010-01-13T18:19:04Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32903</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32903"/>
		<updated>2010-01-13T18:17:48Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32902</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32902"/>
		<updated>2010-01-13T18:15:01Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               SpanCount = 0;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
               alert(Span.innerHTML);&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    Span = Span.nextSibling;&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    SpanCount++&lt;br /&gt;
                    Span = Reponse.getElementsByTagName(&#039;span&#039;)[SpanCount];&lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32901</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32901"/>
		<updated>2010-01-13T18:12:45Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[0];&lt;br /&gt;
               alert(Span.innerHTML);&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1){ &lt;br /&gt;
                    Span = Span.nextSibling; &lt;br /&gt;
                    alert(Span.innerHTML);&lt;br /&gt;
               }&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    Span = Span.nextSibling;&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Span = Span.nextSibling; &lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32900</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32900"/>
		<updated>2010-01-13T18:09:52Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var Reponse;&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
     document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[0];&lt;br /&gt;
               alert(Span.innerHTML);&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;pageid=&#039;)==-1) Span = Span.nextSibling;&lt;br /&gt;
&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;allpages&#039;)==-1){&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    Span = Span.nextSibling;&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Span = Span.nextSibling; &lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32899</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32899"/>
		<updated>2010-01-13T18:06:19Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
               document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[0];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;p pageid=&#039;)==-1) Span = Span.nextSibling;&lt;br /&gt;
                         &lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/allpages&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    Span = Span.nextSibling;&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Span = Span.nextSibling; &lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32898</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32898"/>
		<updated>2010-01-13T18:05:04Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
               //document.body.insertBefore(Reponse, document.body.firstChild);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[0];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;p pageid=&#039;)==-1) Span = Span.nextSibling;&lt;br /&gt;
                         &lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/allpages&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Page;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    Span = Span.nextSibling;&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Span = Span.nextSibling; &lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32897</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32897"/>
		<updated>2010-01-13T18:01:41Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(!PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               alert(&#039;Reçu&#039;);&lt;br /&gt;
               var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[0];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;p pageid=&#039;)==-1) Span = Span.nextSibling;&lt;br /&gt;
                         &lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/allpages&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Content;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    Span = Span.nextSibling;&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Span = Span.nextSibling; &lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32895</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32895"/>
		<updated>2010-01-13T18:00:34Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////// BOT ////////// &lt;br /&gt;
&lt;br /&gt;
/************************************************* ************************************************* &lt;br /&gt;
Missions : &lt;br /&gt;
* dresser la liste des pages sans image&lt;br /&gt;
* dresser la liste des pages sans catégorie (si pages spéciale inopérante comme sur Wikipédia, ce n&#039;est pas le cas ici)&lt;br /&gt;
* dresser la liste des pages avec une vidéo (modèle spécifique à rechercher)&lt;br /&gt;
&lt;br /&gt;
Pense-bête requêtes API : (limites pouvant être portées à 4999 avec un statut Bot ou Wikitechnicien)&lt;br /&gt;
&lt;br /&gt;
* Toutes les pages : &lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499                          (Première requête)&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=499&amp;amp;gapfrom=???              (requêtes suivantes (??? = titre de la page suivante à la requête précédente))&lt;br /&gt;
* Infos sur les images d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=images&amp;amp;prop=info&amp;amp;imlimit=499&amp;amp;titles=???            (??? = titre de la page)&lt;br /&gt;
* Infos sur les modèles d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=templates&amp;amp;prop=info&amp;amp;tllimit=499&amp;amp;titles=???         (??? = titre de la page)&lt;br /&gt;
* Infos sur les catégories d&#039;une page&lt;br /&gt;
http://fr.wikimini.org/w/api.php?action=query&amp;amp;generator=categories&amp;amp;prop=info&amp;amp;cllimit=499&amp;amp;titles=???        (??? = titre de la page)&lt;br /&gt;
&lt;br /&gt;
********************************************************* ***************************************************************** */&lt;br /&gt;
&lt;br /&gt;
// C&#039;est parti !!!&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Ajout de liens dans les liens personnels pour lancer/arrêter le bot.&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( function() {  &lt;br /&gt;
    var LienPerso = document.getElementById(&#039;pt-userpage&#039;);&lt;br /&gt;
    var LienBot = document.createElement(&#039;li&#039;);&lt;br /&gt;
    LienBot.innerHTML = &#039;&amp;lt;a id=&amp;quot;BOTon&amp;quot; href=&amp;quot;javascript:LancementBot()&amp;quot; title=&amp;quot;Lancer le bot&amp;quot;&amp;gt;Lancement BOT&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
    LienPerso.parentNode.insertBefore(LienBot, LienPerso);&lt;br /&gt;
});&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
// Définition des liste de pages et infos correspondantes&lt;br /&gt;
&lt;br /&gt;
var ListePages = new Array();&lt;br /&gt;
var ListePagesCount = 0;&lt;br /&gt;
var PagesSansImage = new Array();&lt;br /&gt;
var PagesSansImage = 0;&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// =========================================================================================================&lt;br /&gt;
&lt;br /&gt;
function LancementBot(){&lt;br /&gt;
     var SurEtCertain = confirm(&#039;Lancement du bot ?&#039;);&lt;br /&gt;
     if(!SurEtCertain) return;&lt;br /&gt;
     var Button = document.getElementById(&#039;BOTon&#039;);&lt;br /&gt;
     Button.innerHTML = &#039;Arrêt BOT&#039;;&lt;br /&gt;
     Button.title = &#039;Arrêter le bot&#039;;&lt;br /&gt;
     Button.href = &#039;javascript:window.location.reload();&#039;;&lt;br /&gt;
     ListagePage();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ListagePage(PageDebut){&lt;br /&gt;
     if(PageDebut) PageDebut = &#039;&#039;;&lt;br /&gt;
     Requete = sajax_init_object();&lt;br /&gt;
     var url = wgServer+&#039;/w/api.php?action=query&amp;amp;list=allpages&amp;amp;prop=info&amp;amp;aplimit=9&#039;+PageDebut;&lt;br /&gt;
     alert(url);&lt;br /&gt;
     Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
     Requete.send(null);&lt;br /&gt;
     Requete.onreadystatechange = function(){&lt;br /&gt;
          if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
               var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
               Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
               var Span = Reponse.getElementsByTagName(&#039;span&#039;)[0];&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;p pageid=&#039;)==-1) Span = Span.nextSibling;&lt;br /&gt;
                         &lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/allpages&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Page = Span.innerHTML.split(&#039;title=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0];&lt;br /&gt;
                    alert(Page)&lt;br /&gt;
                    ListePages[ListePagesCount] = Content;&lt;br /&gt;
                    ListePagesCount++&lt;br /&gt;
                    Span = Span.nextSibling;&lt;br /&gt;
               }&lt;br /&gt;
               OtherPage = false;&lt;br /&gt;
               while(Span.innerHTML.indexOf(&#039;&amp;lt;/api&amp;gt;&#039;)==-1){&lt;br /&gt;
                    Span = Span.nextSibling; &lt;br /&gt;
                    if(Span.innerHTML.indexOf(&#039;apfrom=&#039;)==-1){&lt;br /&gt;
                         OtherPage = true;&lt;br /&gt;
                         OtherPageTitle = &#039;apfrom=&amp;quot;&#039; + Span.innerHTML.split(&#039;apfrom=&amp;quot;&#039;)[1].split(&#039;&amp;quot;&#039;)[0] + &#039;&amp;quot;&#039;;&lt;br /&gt;
                         break;&lt;br /&gt;
                    }&lt;br /&gt;
               }&lt;br /&gt;
               if(OtherPage){&lt;br /&gt;
                    ListagePage(OtherPageTitle);&lt;br /&gt;
               }else{&lt;br /&gt;
                    CheckImages();&lt;br /&gt;
               }&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function CheckImages(position){&lt;br /&gt;
     if(!position) position = 0;&lt;br /&gt;
&lt;br /&gt;
     alert(&#039;OK&#039;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32893</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32893"/>
		<updated>2010-01-13T17:28:55Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32863</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32863"/>
		<updated>2010-01-13T05:29:29Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//////////////////////////////////////////////// Patch Extension WhosOnline&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;)[7].innerHTML;&lt;br /&gt;
                         if(Spans.indexOf(&#039;missing=&amp;quot;&amp;quot;&#039;)!=-1){&lt;br /&gt;
                                Lien.className = &amp;quot;new&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32861</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32861"/>
		<updated>2010-01-13T05:18:17Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;)[7].innerHTML;&lt;br /&gt;
                         if(Spans.indexOf(&#039;missing=&amp;quot;&amp;quot;&#039;)!=-1){&lt;br /&gt;
                                Lien.className = &amp;quot;new&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32860</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32860"/>
		<updated>2010-01-13T05:17:11Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : Annulation des modifications 32859 de Dr Bot (discussion)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;)[7].innerHTML;&lt;br /&gt;
                         if(Spans.indexOf(&#039;missing=&amp;quot;&amp;quot;&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + LienHref + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className = &amp;quot;new&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32859</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32859"/>
		<updated>2010-01-13T05:15:33Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){           &lt;br /&gt;
                         if(Requete.responseText.indexOf(&#039;missing=&amp;quot;&amp;quot;&#039;)!=-1){&lt;br /&gt;
                                Lien.className = &amp;quot;new&amp;quot;;&lt;br /&gt;
                        }&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32858</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32858"/>
		<updated>2010-01-13T05:13:10Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;)[7].innerHTML;&lt;br /&gt;
                         //alert(Spans);                      &lt;br /&gt;
                         if(Spans.indexOf(&#039;missing=&amp;quot;&amp;quot;&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + LienHref + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className = &amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + LienHref + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32857</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32857"/>
		<updated>2010-01-13T05:09:24Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Missing = false;&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;)[7].innerHTML;&lt;br /&gt;
                         alert(Spans);                      &lt;br /&gt;
                         if(Missing==true){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32856</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32856"/>
		<updated>2010-01-13T05:06:52Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;);&lt;br /&gt;
                         var Missing = false;&lt;br /&gt;
                         for(a=0;a&amp;lt;Spans.length;a++){&lt;br /&gt;
                                var SpanContent = Spans[a].innerHTML;&lt;br /&gt;
                                alert(SpanContent);&lt;br /&gt;
                                if(SpanContent.indexOf(&#039;missing&#039;)!=-1) Missing = true;&lt;br /&gt;
                         }                         &lt;br /&gt;
                         if(Missing==true){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32855</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32855"/>
		<updated>2010-01-13T05:04:46Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;);&lt;br /&gt;
                         var Missing = false;&lt;br /&gt;
                         for(a=0;a&amp;lt;Spans.length;a++){&lt;br /&gt;
                                if(Spans[a].innerHTML.indexOf(&#039;missing&#039;)!=-1) Missing = true;&lt;br /&gt;
                         }                         &lt;br /&gt;
                         if(Missing){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32854</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32854"/>
		<updated>2010-01-13T05:01:19Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = document.createElement(&#039;div&#039;);&lt;br /&gt;
                         Reponse.innerHTML = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;)[0].innerHTML;                         &lt;br /&gt;
                         alert(Spans);&lt;br /&gt;
                         if(Reponse.indexOf(&#039;missing&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32853</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32853"/>
		<updated>2010-01-13T04:59:52Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = Requete.responseText;&lt;br /&gt;
                         var Spans = Reponse.getElementsByTagName(&#039;span&#039;)[0].innerHTML;                         &lt;br /&gt;
                         alert(Spans);&lt;br /&gt;
                         if(Reponse.indexOf(&#039;missing&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32852</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32852"/>
		<updated>2010-01-13T04:56:50Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = Requete.responseText.getElementsByTagName(&#039;page&#039;)[0].innerHTML;                         &lt;br /&gt;
                         alert(Reponse);&lt;br /&gt;
                         if(Reponse.indexOf(&#039;missing&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32851</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32851"/>
		<updated>2010-01-13T04:55:40Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var Reponse = Requete.responseText;&lt;br /&gt;
                         alert(Reponse);&lt;br /&gt;
                         if(Reponse.indexOf(&#039;missing&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32850</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32850"/>
		<updated>2010-01-13T04:54:46Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var docXML = Requete.responseText;&lt;br /&gt;
                         var Reponse = docXML.getElementsByTagName(&#039;page&#039;)[0].innerHTML;&lt;br /&gt;
                         alert(Reponse);&lt;br /&gt;
                         if(Reponse.indexOf(&#039;missing&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32849</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32849"/>
		<updated>2010-01-13T04:52:52Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;format=xml&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var docXML = Requete.responseXML;&lt;br /&gt;
                         var Reponse = docXML.getElementsByTagName(&#039;page&#039;)[0].innerHTML;&lt;br /&gt;
                         &lt;br /&gt;
                         alert(Reponse);&lt;br /&gt;
                         if(Reponse.indexOf(&#039;missing&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
	<entry>
		<id>https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32848</id>
		<title>Utilisateur:Dr Bot/wikimini.js</title>
		<link rel="alternate" type="text/html" href="https://fr.wikimaxi.org/w/index.php?title=Utilisateur:Dr_Bot/wikimini.js&amp;diff=32848"/>
		<updated>2010-01-13T04:48:40Z</updated>

		<summary type="html">&lt;p&gt;Dr Bot : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Fonctions utiles &lt;br /&gt;
/////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function hasClass(node, className) {&lt;br /&gt;
  if (node.className == className) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  var reg = new RegExp(&#039;(^| )&#039;+ className +&#039;($| )&#039;)&lt;br /&gt;
  if (reg.test(node.className)) {&lt;br /&gt;
    return true;&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addClass(node, className) {&lt;br /&gt;
    if (hasClass(node, className)) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    node.className += &#039; &#039;+ className;&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function removeClass(node, className) {&lt;br /&gt;
  if (!hasClass(node, className)) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  node.className = eregReplace(&#039;(^|\\s+)&#039;+ className +&#039;($|\\s+)&#039;, &#039; &#039;, node.className);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eregReplace(search, replace, subject) {&lt;br /&gt;
    return subject.replace(new RegExp(search,&#039;g&#039;), replace);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_nextsibling(n){&lt;br /&gt;
x=n.nextSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.nextSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function get_previoussibling(n){&lt;br /&gt;
x=n.previousSibling;&lt;br /&gt;
if(x==null) return false;&lt;br /&gt;
while (x.nodeType!=1)  {&lt;br /&gt;
  x=x.previousSibling;&lt;br /&gt;
  if(x==null) return false;&lt;br /&gt;
  }&lt;br /&gt;
return x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getTextContent(oNode) {&lt;br /&gt;
  if (typeof(oNode.textContent)!=&amp;quot;undefined&amp;quot;) {return oNode.textContent;}&lt;br /&gt;
  switch (oNode.nodeType) {&lt;br /&gt;
    case 3: // TEXT_NODE&lt;br /&gt;
    case 4: // CDATA_SECTION_NODE&lt;br /&gt;
      return oNode.nodeValue;&lt;br /&gt;
      break;&lt;br /&gt;
    case 7: // PROCESSING_INSTRUCTION_NODE&lt;br /&gt;
    case 8: // COMMENT_NODE&lt;br /&gt;
      if (getTextContent.caller!=getTextContent) {&lt;br /&gt;
        return oNode.nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      break;&lt;br /&gt;
    case 9: // DOCUMENT_NODE&lt;br /&gt;
    case 10: // DOCUMENT_TYPE_NODE&lt;br /&gt;
    case 12: // NOTATION_NODE&lt;br /&gt;
      return null;&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
  var _textContent = &amp;quot;&amp;quot;;&lt;br /&gt;
  oNode = oNode.firstChild;&lt;br /&gt;
  while (oNode) {&lt;br /&gt;
    _textContent += getTextContent(oNode);&lt;br /&gt;
    oNode = oNode.nextSibling;&lt;br /&gt;
  }&lt;br /&gt;
  return _textContent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var agt=navigator.userAgent.toLowerCase();&lt;br /&gt;
var is_ie = ((agt.indexOf(&amp;quot;msie&amp;quot;) != -1) &amp;amp;&amp;amp; (agt.indexOf(&amp;quot;opera&amp;quot;) == -1));&lt;br /&gt;
&lt;br /&gt;
function supprimerAncienElement(OldElement){&lt;br /&gt;
          if(!OldElement)return;&lt;br /&gt;
          if(is_ie){&lt;br /&gt;
                    OldElement.removeNode(true);&lt;br /&gt;
          }else {&lt;br /&gt;
                    if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}&lt;br /&gt;
          }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function insertAfter(parent, node, referenceNode) {&lt;br /&gt;
  parent.insertBefore(node, referenceNode.nextSibling); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setCookie (cookieName, cookieValue, expires, path) {&lt;br /&gt;
        document.cookie = escape(cookieName) + &#039;=&#039; + escape(cookieValue) + (expires ? &#039;; EXPIRES=&#039; + expires.toGMTString() : &#039;&#039;) + &amp;quot;; PATH=/&amp;quot; ; &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
function getCookie(cookieName) {&lt;br /&gt;
        var cookieValue = null;&lt;br /&gt;
        var posName = document.cookie.indexOf(escape(cookieName) + &#039;=&#039; );&lt;br /&gt;
        if (posName != -1) {&lt;br /&gt;
                        var posValue = posName + (escape(cookieName) + &#039;=&#039; ).length;&lt;br /&gt;
                        var endPos = document.cookie.indexOf(&#039;;&#039;, posValue) ;&lt;br /&gt;
                if (endPos != -1) {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue, endPos));&lt;br /&gt;
                } else {&lt;br /&gt;
                        cookieValue = unescape(document.cookie.substring(posValue));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        return decodeURIComponent(cookieValue);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////////////////////////// Header flash enroulable&lt;br /&gt;
&lt;br /&gt;
// Récupération de la valeur du cookie&lt;br /&gt;
var FlashHeaderState = getCookie(&amp;quot;FlashHeaderState&amp;quot;);&lt;br /&gt;
if ((FlashHeaderState == &amp;quot;&amp;quot;) || (FlashHeaderState == null) || (FlashHeaderState == &amp;quot;null&amp;quot;)){&lt;br /&gt;
        FlashHeaderState = &amp;quot;1&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var ReduireTitre = &amp;quot;Cliquer pour réduire l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var ReduireHTML = &amp;quot;Réduire&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
var DevelopperTitre = &amp;quot;Cliquer pour développer l\&#039;en-tête.&amp;quot;&lt;br /&gt;
var DevelopperHTML = &amp;quot;Développer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
document.write(&#039;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&#039;);&lt;br /&gt;
document.write(&#039;#HeaderButton{ align:center;}&#039;);&lt;br /&gt;
document.write(&#039;&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
// Modification de l&#039;en-tête&lt;br /&gt;
addOnloadHook( function(){&lt;br /&gt;
    if(FlashHeaderState == &amp;quot;1&amp;quot;){&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;block&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = ReduireTitre;&lt;br /&gt;
       var ButtonHeaderHTML = ReduireHTML ;&lt;br /&gt;
    }else{&lt;br /&gt;
       var FlashHeaderStyle = &amp;quot;none&amp;quot;;&lt;br /&gt;
       var ButtonHeaderTitle = DevelopperTitre;&lt;br /&gt;
       var ButtonHeaderHTML = DevelopperHTML;&lt;br /&gt;
    }&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = FlashHeaderStyle;&lt;br /&gt;
&lt;br /&gt;
    var ToggleButtonParent = document.createElement(&#039;center&#039;);&lt;br /&gt;
    var ToggleButton = document.createElement(&#039;a&#039;);&lt;br /&gt;
    ToggleButton.id = &#039;HeaderButton&#039;;&lt;br /&gt;
    ToggleButton.href = &amp;quot;javascript:ToggleHeader()&amp;quot;;&lt;br /&gt;
    ToggleButton.innerHTML = ButtonHeaderHTML;&lt;br /&gt;
    ToggleButton.title = ButtonHeaderTitle;&lt;br /&gt;
    ToggleButtonParent.appendChild(ToggleButton);&lt;br /&gt;
    flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function ToggleHeader(){&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    var flashButton = document.getElementById(&#039;HeaderButton&#039;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );&lt;br /&gt;
    if(flashDiv.style.display==&amp;quot;none&amp;quot;){&lt;br /&gt;
       flashDiv.style.display =&amp;quot;block&amp;quot;;&lt;br /&gt;
       flashButton.title = ReduireTitre;&lt;br /&gt;
       flashButton.innerHTML= ReduireHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;1&amp;quot;, nextYear);&lt;br /&gt;
    }else{&lt;br /&gt;
       flashDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
       flashButton.title = DevelopperTitre;&lt;br /&gt;
       flashButton.innerHTML= DevelopperHTML;&lt;br /&gt;
       setCookie(&amp;quot;FlashHeaderState&amp;quot;, &amp;quot;0&amp;quot;, nextYear);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////// Modification de l&#039;apparence du skin wikimini (inutile avec la redirection monobook) &lt;br /&gt;
/////////////////////////////////////////////////////////////////////// &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
addOnloadHook (function(){&lt;br /&gt;
// ################## GÉNÉRAL ##################&lt;br /&gt;
// --------- Largeur = 100% au lieu de 800px -------------------&lt;br /&gt;
    var mainDiv = document.getElementById(&#039;main&#039;);&lt;br /&gt;
    mainDiv.style.width = &#039;100%&#039;;&lt;br /&gt;
// --------- Suppression de l&#039;objet flash (trop gros, trop moche...) -------------------&lt;br /&gt;
/*&lt;br /&gt;
    var flashDiv = document.getElementById(&#039;header&#039;);&lt;br /&gt;
    flashDiv.style.display = &#039;none&#039;;&lt;br /&gt;
*/&lt;br /&gt;
// --------- Déplacement des liens personnels en haut de page -------------------&lt;br /&gt;
    var AllH5 = document.getElementsByTagName(&#039;h5&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllH5.length;a++){&lt;br /&gt;
        if(AllH5[a].innerHTML.indexOf(&#039;Outils personnels&#039;)!=-1){&lt;br /&gt;
            var TitrePerso = AllH5[a];&lt;br /&gt;
            var IconePerso = get_previoussibling(TitrePerso);&lt;br /&gt;
            var LiensPerso = get_nextsibling(TitrePerso);&lt;br /&gt;
            LiensPerso.parentNode.removeChild ( LiensPerso ) ;&lt;br /&gt;
            document.body.insertBefore(LiensPerso, document.body.firstChild);&lt;br /&gt;
            LiensPerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            var LiensPersoDiv = LiensPerso.getElementsByTagName(&#039;div&#039;);&lt;br /&gt;
            for(b=0;b&amp;lt;LiensPersoDiv.length;b++){&lt;br /&gt;
                LiensPersoDiv[b].style.padding = &#039;0&#039;;&lt;br /&gt;
                LiensPersoDiv[b].style.margin = &#039;0&#039;;&lt;br /&gt;
            }&lt;br /&gt;
            TitrePerso.parentNode.removeChild ( TitrePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);&lt;br /&gt;
            TitrePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            TitrePerso.style.marginLeft = &#039;3em&#039;;&lt;br /&gt;
            IconePerso.parentNode.removeChild ( IconePerso ) ;&lt;br /&gt;
            LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);&lt;br /&gt;
            IconePerso.style.padding = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.margin = &#039;0&#039;;&lt;br /&gt;
            IconePerso.style.marginLeft = &#039;2em&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// ################## COLONNES ##################&lt;br /&gt;
    var AllDiv = document.getElementsByTagName(&#039;Div&#039;);&lt;br /&gt;
    for(a=0;a&amp;lt;AllDiv.length;a++){&lt;br /&gt;
        if(hasClass(AllDiv[a], &#039;columns&#039;)){&lt;br /&gt;
            var Colonnes = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column1&#039;)){&lt;br /&gt;
            var Colonne1 = AllDiv[a]&lt;br /&gt;
        }else if(hasClass(AllDiv[a], &#039;column2&#039;)){&lt;br /&gt;
            var Colonne2 = AllDiv[a]&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
// --------- Largeur colonne de droite réduite -------------------&lt;br /&gt;
    Colonne1.style.width = &#039;80%&#039;;&lt;br /&gt;
    Colonne2.style.width = &#039;20%&#039;;&lt;br /&gt;
// --------- Zone de recherche en haut de la colonne de droite -------------------&lt;br /&gt;
    var Recherche = document.getElementById(&#039;p-search&#039;);&lt;br /&gt;
    if(Recherche){&lt;br /&gt;
        Recherche.parentNode.removeChild ( Recherche ) ;&lt;br /&gt;
        Colonne2.insertBefore(Recherche , Colonne2.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
// --------- Suppression de l&#039;image dans la boîte à outils -------------------&lt;br /&gt;
    var Outils = document.getElementById(&#039;p-tb&#039;);&lt;br /&gt;
    if(Outils){&lt;br /&gt;
        var Image = Outils.getElementsByTagName(&#039;img&#039;)[1];&lt;br /&gt;
        Image.style.display = &#039;none&#039;;&lt;br /&gt;
    }&lt;br /&gt;
// ################## ÉDITION ################## &lt;br /&gt;
    if(((wgAction==&amp;quot;edit&amp;quot;)||(wgAction==&amp;quot;submit&amp;quot;))&amp;amp;&amp;amp;(wgNamespaceNumber&amp;gt;=0)){&lt;br /&gt;
// --------- Taille zone d&#039;édition -------------------&lt;br /&gt;
        var EditBox = document.getElementById(&#039;wpTextbox1&#039;);&lt;br /&gt;
        if(EditBox){&lt;br /&gt;
             Colonne1.style.width = &#039;100%&#039;;&lt;br /&gt;
             Colonne2.style.display = &#039;none&#039;;&lt;br /&gt;
             EditBox.rows = 30;&lt;br /&gt;
// --------- Ajout toolbar si elle n&#039;y est pas -------------------&lt;br /&gt;
            var toolbar = document.getElementById(&#039;toolbar&#039;); &lt;br /&gt;
            if(!toolbar){&lt;br /&gt;
                toolbar = document.createElement(&#039;div&#039;);&lt;br /&gt;
                toolbar.id = &#039;toolbar&#039;;&lt;br /&gt;
                EditBox.parentNode.insertBefore(toolbar, EditBox);&lt;br /&gt;
            }&lt;br /&gt;
// --------- Affiche les boutons de publication cachés -------------------&lt;br /&gt;
           var EditOptionsElements = document.getElementById(&#039;wpSummaryLabel&#039;);&lt;br /&gt;
           while(get_nextsibling(EditOptionsElements)){&lt;br /&gt;
                EditOptionsElements.style.display = &#039;inline&#039;;&lt;br /&gt;
                EditOptionsElements = get_nextsibling(EditOptionsElements);&lt;br /&gt;
           }&lt;br /&gt;
           var wpSave= document.getElementById(&#039;wpSave&#039;);&lt;br /&gt;
           wpSave.style.marginLeft = &#039;75px&#039;;&lt;br /&gt;
           var wpDiff = document.getElementById(&#039;wpDiff&#039;);&lt;br /&gt;
           wpDiff.style.display = &#039;inline&#039;;&lt;br /&gt;
           wpDiff.style.margin = &#039;0.5em&#039;;&lt;br /&gt;
// --------- Page modifiée automatiquement suivie -------------------&lt;br /&gt;
           var SuiviModif = document.getElementById(&#039;wpWatchthis&#039;);&lt;br /&gt;
           SuiviModif.checked = &#039;checked&#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function WhosOnline_CheckNewPage(position){&lt;br /&gt;
        var ListePresents = document.getElementById(&#039;WhosOnlineList&#039;);&lt;br /&gt;
        if(!ListePresents) return;      &lt;br /&gt;
        //alert(&#039;Trouvé UL&#039;);&lt;br /&gt;
        if(!position) position=0;&lt;br /&gt;
        //alert(position)&lt;br /&gt;
        var Lien = ListePresents.getElementsByTagName(&#039;a&#039;)[position];&lt;br /&gt;
        if(!Lien) return;&lt;br /&gt;
&lt;br /&gt;
        var LienHref = Lien.href;&lt;br /&gt;
        LienHref = LienHref.split(wgServer).join(&#039;&#039;).split(&#039;/wiki/&#039;).join(&#039;&#039;);&lt;br /&gt;
        Requete = sajax_init_object();&lt;br /&gt;
        var url = wgServer+&#039;/w/api.php?action=query&amp;amp;format=xml&amp;amp;redirects&amp;amp;titles=&#039;+LienHref;&lt;br /&gt;
        //alert(url);&lt;br /&gt;
        Requete.open(&#039;GET&#039;,url, true);&lt;br /&gt;
        Requete.send(null);&lt;br /&gt;
        Requete.onreadystatechange = function(){&lt;br /&gt;
                if((Requete.readyState == 4)&amp;amp;&amp;amp;(Requete.status == 200)){&lt;br /&gt;
                         var docXML = Requete.responseText;&lt;br /&gt;
                         alert(docXML);&lt;br /&gt;
                         if(docXML.indexOf(&#039;missing&#039;)!=-1){&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; n\&#039;existe pas&#039;);&lt;br /&gt;
                                Lien.className=&amp;quot;new&amp;quot;;&lt;br /&gt;
                        }else{&lt;br /&gt;
                                alert(&#039;La page &#039; + page + &#039; existe&#039;);&lt;br /&gt;
                        }&lt;br /&gt;
                        Lien.id = &#039;WhosOnlineLink_&#039;+position;&lt;br /&gt;
                        WhosOnline_CheckNewPage((position+1));&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(WhosOnline_CheckNewPage);&lt;/div&gt;</summary>
		<author><name>Dr Bot</name></author>
	</entry>
</feed>