Samx Here
n1udSecurity


Server : Apache
System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64
User : hednacluml ( 122243)
PHP Version : 8.3.9
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
Directory :  /home/hednacluml/encyclo/articles/c/h/p/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/hednacluml/encyclo/articles//c/h/p/Utilisateur~Chphe_Gadget-HotCats.js_ba27.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<!-- headlinks removed -->
	<link rel="shortcut icon" href="../../../../misc/favicon.ico"/>
    <title>Utilisateur:Chphe/Gadget-HotCats.js - Wikipédia</title>
    <style type="text/css">/*<![CDATA[*/ @import "../../../../skins/offline/main.css"; /*]]>*/</style>
    <link rel="stylesheet" type="text/css" media="print" href="../../../../skins/common/commonPrint.css" />
    <!--[if lt IE 5.5000]><style type="text/css">@import "../../../../skins/monobook/IE50Fixes.css";</style><![endif]-->
    <!--[if IE 5.5000]><style type="text/css">@import "../../../../skins/monobook/IE55Fixes.css";</style><![endif]-->
    <!--[if IE 6]><style type="text/css">@import "../../../../skins/monobook/IE60Fixes.css";</style><![endif]-->
    <!--[if IE]><script type="text/javascript" src="../../../../skins/common/IEFixes.js"></script>
    <meta http-equiv="imagetoolbar" content="no" /><![endif]-->
    <script type="text/javascript" src="../../../../skins/common/wikibits.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/md5.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/utf8.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/lookup.js"></script>
    <script type="text/javascript" src="../../../../raw/gen.js"></script>        <style type="text/css">/*<![CDATA[*/
@import "../../../../raw/MediaWiki%7ECommon.css";
@import "../../../../raw/MediaWiki%7EMonobook.css";
@import "../../../../raw/gen.css";
/*]]>*/</style>          </head>
  <body
    class="ns-2">
    <div id="globalWrapper">
      <div id="column-content">
	<div id="content">
	  <a name="top" id="contentTop"></a>
	        <h1 class="firstHeading">Utilisateur:Chphe/Gadget-HotCats.js</h1>
	  <div id="bodyContent">
	    <h3 id="siteSub">Un article de Wikipédia, l'encyclopédie libre.</h3>
	    <div id="contentSub"><span class="subpages">&lt; <a href="../../../../articles/c/h/p/Utilisateur%7EChphe_ad34.html" title="Utilisateur:Chphe">Utilisateur:Chphe</a></span></div>
	    	    	    <!-- start content -->
	    <p><b>Note&nbsp;:</b> Après avoir publié la page, vous devrez forcer son rechargement pour voir les changements&nbsp;: <b>Mozilla / Konqueror / Firefox&nbsp;:</b> <i>Shift-Ctrl-R</i>, <b>Internet Explorer / Opera&nbsp;:</b> <i>Ctrl-F5</i>, <b>Safari&nbsp;:</b> <i>Cmd-R</i>.
</p><div dir="ltr"><pre class="source-javascript"><span class="co1">//&lt;nowiki&gt;</span>
<span class="coMULTI">/**
 * Ajoute des liens après les catégories pour rapidement
 * supprimer / modifier / ajouter une catégorie sur un article.
 * Utilise Ajax et l'api MediaWiki pour rechercher une catégorie.
 * Version adaptée pour WP:fr de [[:commons:MediaWiki:HotCat.js]]
 * 
 * Auteur original : Magnus Manske
 * Adaptation pour WP:fr : Zelda
 * [[Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
 */</span>
<span class="co1">//copié de [[MediaWiki:Gadget-HotCats.js]] (version du 3/01/2008)</span>
&nbsp;
<span class="co1">// VARIABLES PERSONNALISABLES</span>
&nbsp;
<span class="co1">// Suggestion delay in ms</span>
<span class="kw2">var</span> hotcat_suggestion_delay = <span class="nu0">200</span>;
&nbsp;
<span class="co1">// Taille de la liste déroulante (en items)</span>
<span class="kw2">var</span> hotcat_list_size = <span class="nu0">10</span>;
&nbsp;
<span class="co1">// Nombre de categories suggérées lors de la recherche</span>
<span class="kw2">var</span> hotcat_list_items = <span class="nu0">50</span>;
&nbsp;
<span class="co1">// Permet d'enregistrer automatiquement la modif sans repasser par la fenêtre d'édition</span>
<span class="co1">// var hotcat_autocommit = false;</span>
&nbsp;
<span class="co1">// Permet d'afficher la liste de suggestion vers le bas</span>
<span class="co1">// var hotcat_list_down = false;</span>
&nbsp;
<span class="co1">// FIN DE LA PERSONNALISATION DES VARIABLES</span>
&nbsp;
<span class="kw2">var</span> hotcat_running = <span class="nu0">0</span> ;
<span class="kw2">var</span> hotcat_last_v = <span class="st0">&quot;&quot;</span> ;
<span class="kw2">var</span> hotcat_exists_yes = <span class="st0">&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png&quot;</span> ;
<span class="kw2">var</span> hotcat_exists_no = <span class="st0">&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png&quot;</span> ;
&nbsp;
addOnloadHook <span class="br0">&#40;</span> hotcat <span class="br0">&#41;</span> ;
&nbsp;
<span class="kw2">function</span> hotcat <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw1">if</span> <span class="br0">&#40;</span> hotcat_check_action<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="kw1">return</span> ; <span class="co1">// Edited page, reloading anyway</span>
&nbsp;
  <span class="kw2">var</span> catlinks = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;catlinks&quot;</span><span class="br0">&#41;</span>;
&nbsp;
  <span class="kw1">if</span> <span class="br0">&#40;</span>! catlinks &amp;&amp; wgNamespaceNumber %<span class="nu0">2</span> == <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// all except discussion</span>
   <span class="co1">// let's create a fake one</span>
   <span class="kw2">var</span> bodyC = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;bodyContent&quot;</span><span class="br0">&#41;</span>;
   catlinks = document.<span class="me1">createElement</span><span class="br0">&#40;</span><span class="st0">&quot;div&quot;</span><span class="br0">&#41;</span>;
   catlinks.<span class="me1">id</span> = <span class="st0">&quot;catlinks&quot;</span>;
   catlinks.<span class="me1">appendChild</span><span class="br0">&#40;</span>document.<span class="me1">createElement</span><span class="br0">&#40;</span><span class="st0">&quot;div&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
   catlinks.<span class="me1">firstChild</span>.<span class="me1">className</span> = <span class="st0">&quot;catlinks&quot;</span>;
   catlinks.<span class="me1">firstChild</span>.<span class="me1">appendChild</span><span class="br0">&#40;</span>document.<span class="me1">createElement</span><span class="br0">&#40;</span><span class="st0">&quot;div&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;
   catlinks.<span class="me1">firstChild</span>.<span class="me1">firstChild</span>.<span class="me1">id</span> = <span class="st0">&quot;mw-normal-catlinks&quot;</span>;
   bodyC.<span class="me1">appendChild</span><span class="br0">&#40;</span>catlinks<span class="br0">&#41;</span>;
  <span class="br0">&#125;</span>
&nbsp;
  <span class="kw2">var</span> catline = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;mw-normal-catlinks&quot;</span><span class="br0">&#41;</span>;
&nbsp;
  <span class="kw1">if</span> <span class="br0">&#40;</span>!catline <span class="br0">&#41;</span> <span class="kw1">return</span> ;
&nbsp;
  hotcat_modify_existing <span class="br0">&#40;</span> catline <span class="br0">&#41;</span> ;
  hotcat_append_add_span <span class="br0">&#40;</span> catline <span class="br0">&#41;</span> ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_append_add_span <span class="br0">&#40;</span> catline <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> span_add = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;span&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> span_sep = document.<span class="me1">createTextNode</span> <span class="br0">&#40;</span> <span class="st0">&quot; | &quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span> catline.<span class="me1">firstChild</span> <span class="br0">&#41;</span> catline.<span class="me1">appendChild</span> <span class="br0">&#40;</span> span_sep <span class="br0">&#41;</span> ;
  catline.<span class="me1">appendChild</span> <span class="br0">&#40;</span> span_add <span class="br0">&#41;</span> ;
  hotcat_create_span <span class="br0">&#40;</span> span_add <span class="br0">&#41;</span> ;
<span class="br0">&#125;</span>
&nbsp;
String.<span class="me1">prototype</span>.<span class="me1">ucFirst</span> = <span class="kw2">function</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
   <span class="kw1">return</span> <span class="kw1">this</span>.<span class="me1">substr</span><span class="br0">&#40;</span><span class="nu0">0</span>,<span class="nu0">1</span><span class="br0">&#41;</span>.<span class="me1">toUpperCase</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="kw1">this</span>.<span class="me1">substr</span><span class="br0">&#40;</span><span class="nu0">1</span>,<span class="kw1">this</span>.<span class="me1">length</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_modify_span <span class="br0">&#40;</span> span , i <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> cat_title = span.<span class="me1">firstChild</span>.<span class="me1">getAttribute</span> <span class="br0">&#40;</span> <span class="st0">&quot;title&quot;</span> <span class="br0">&#41;</span> ;
  <span class="co1">// Removing leading Category:</span>
  cat_title = cat_title.<span class="me1">substr</span><span class="br0">&#40;</span>cat_title.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&quot;:&quot;</span><span class="br0">&#41;</span> + <span class="nu0">1</span><span class="br0">&#41;</span>;
  <span class="kw2">var</span> sep1 = document.<span class="me1">createTextNode</span> <span class="br0">&#40;</span> <span class="st0">&quot; &quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> a1 = document.<span class="me1">createTextNode</span> <span class="br0">&#40;</span> <span class="st0">&quot;(-)&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> remove_link = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;a&quot;</span> <span class="br0">&#41;</span> ;
<span class="coMULTI">/* Chphe */</span> remove_link.<span class="me1">style</span>.<span class="me1">color</span> = <span class="st0">&quot;red&quot;</span>;
  remove_link.<span class="me1">href</span> = <span class="st0">&quot;javascript:hotcat_remove(<span class="es0">\&quot;</span>&quot;</span> + cat_title + <span class="st0">&quot;<span class="es0">\&quot;</span>);&quot;</span> ;
  remove_link.<span class="me1">appendChild</span> <span class="br0">&#40;</span> a1 <span class="br0">&#41;</span> ;
  span.<span class="me1">appendChild</span> <span class="br0">&#40;</span> sep1 <span class="br0">&#41;</span> ;
  span.<span class="me1">appendChild</span> <span class="br0">&#40;</span> remove_link <span class="br0">&#41;</span> ;
&nbsp;
  <span class="kw2">var</span> mod_id = <span class="st0">&quot;hotcat_modify_&quot;</span> + i ;
  <span class="kw2">var</span> sep2 = document.<span class="me1">createTextNode</span> <span class="br0">&#40;</span> <span class="st0">&quot; &quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> a2 = document.<span class="me1">createTextNode</span> <span class="br0">&#40;</span> <span class="st0">&quot;(±)&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> modify_link = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;a&quot;</span> <span class="br0">&#41;</span> ;
<span class="coMULTI">/* Chphe */</span> modify_link.<span class="me1">style</span>.<span class="me1">color</span> = <span class="st0">&quot;rgb(100,100,0)&quot;</span>;
  modify_link.<span class="me1">id</span> = mod_id ;
  modify_link.<span class="me1">href</span> = <span class="st0">&quot;javascript:hotcat_modify(<span class="es0">\&quot;</span>&quot;</span> + mod_id + <span class="st0">&quot;<span class="es0">\&quot;</span>);&quot;</span> ;
  modify_link.<span class="me1">appendChild</span> <span class="br0">&#40;</span> a2 <span class="br0">&#41;</span> ;
  span.<span class="me1">appendChild</span> <span class="br0">&#40;</span> sep2 <span class="br0">&#41;</span> ;
  span.<span class="me1">appendChild</span> <span class="br0">&#40;</span> modify_link <span class="br0">&#41;</span> ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_modify_existing <span class="br0">&#40;</span> catline <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> spans = catline.<span class="me1">getElementsByTagName</span> <span class="br0">&#40;</span> <span class="st0">&quot;span&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw1">for</span> <span class="br0">&#40;</span> <span class="kw2">var</span> i = <span class="nu0">0</span> ; i &lt; spans.<span class="me1">length</span> ; i++ <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    hotcat_modify_span <span class="br0">&#40;</span> spans<span class="br0">&#91;</span>i<span class="br0">&#93;</span> , i <span class="br0">&#41;</span> ;
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_remove <span class="br0">&#40;</span> cat_title <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> editlk = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'ca-edit'</span><span class="br0">&#41;</span>.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'a'</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">href</span>;
  <span class="kw1">if</span> <span class="br0">&#40;</span>window.<span class="kw3">confirm</span><span class="br0">&#40;</span><span class="st0">&quot;Voulez-vous vraiment supprimer la catégorie '&quot;</span> + cat_title + <span class="st0">&quot;' ?&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    document.<span class="me1">location</span> = editlk + <span class="st0">'&amp;hotcat_removecat='</span> + encodeURIComponent<span class="br0">&#40;</span>cat_title<span class="br0">&#41;</span> ;
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcatGetParamValue<span class="br0">&#40;</span>paramName, h<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw1">typeof</span> h == <span class="st0">'undefined'</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span> h = document.<span class="me1">location</span>.<span class="me1">href</span>; <span class="br0">&#125;</span>
        <span class="kw2">var</span> cmdRe=RegExp<span class="br0">&#40;</span><span class="st0">'[&amp;?]'</span>+paramName+<span class="st0">'=([^&amp;]*)'</span><span class="br0">&#41;</span>;
        <span class="kw2">var</span> m=cmdRe.<span class="me1">exec</span><span class="br0">&#40;</span>h<span class="br0">&#41;</span>;
        <span class="kw1">if</span> <span class="br0">&#40;</span>m<span class="br0">&#41;</span> <span class="br0">&#123;</span>
                <span class="kw1">try</span> <span class="br0">&#123;</span>
                        <span class="kw1">return</span> decodeURIComponent<span class="br0">&#40;</span>m<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;
                <span class="br0">&#125;</span> <span class="kw1">catch</span> <span class="br0">&#40;</span>someError<span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
        <span class="kw1">return</span> <span class="kw2">null</span>;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_check_action <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> ret = <span class="nu0">0</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span> wgAction != <span class="st0">&quot;edit&quot;</span> <span class="br0">&#41;</span> <span class="kw1">return</span> ret ; <span class="co1">// Not an edit page, so no business...</span>
  <span class="kw2">var</span> summary = <span class="kw2">new</span> Array <span class="br0">&#40;</span><span class="br0">&#41;</span> ;
  <span class="kw2">var</span> t = document.<span class="me1">editform</span>.<span class="me1">wpTextbox1</span>.<span class="me1">value</span> ;
  <span class="kw2">var</span> prevent_autocommit = <span class="nu0">1</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw1">typeof</span> hotcat_autocommit != <span class="st0">'undefined'</span> &amp;&amp; hotcat_autocommit <span class="br0">&#41;</span> prevent_autocommit = <span class="nu0">0</span> ;
&nbsp;
  <span class="co1">// Remove existing category?</span>
  <span class="kw2">var</span> hrc = hotcatGetParamValue<span class="br0">&#40;</span><span class="st0">'hotcat_removecat'</span><span class="br0">&#41;</span> ;
  <span class="co1">// Add new category?</span>
  <span class="kw2">var</span> hnc = hotcatGetParamValue<span class="br0">&#40;</span><span class="st0">'hotcat_newcat'</span><span class="br0">&#41;</span> ;
&nbsp;
  <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw1">typeof</span> hrc != <span class="st0">&quot;undefined&quot;</span> &amp;&amp; hrc != <span class="kw2">null</span> &amp;&amp; hrc != <span class="st0">&quot;&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> hcre = <span class="kw2">new</span> RegExp<span class="br0">&#40;</span><span class="st0">&quot;(<span class="es0">\\</span>s*)<span class="es0">\\</span>[<span class="es0">\\</span>[ *(?:Catégorie|Category) *: *&quot;</span> + hrc.<span class="me1">replace</span><span class="br0">&#40;</span><span class="re0">/<span class="br0">&#40;</span><span class="br0">&#91;</span>\\\^\$\*\+\?\.\|\<span class="br0">&#123;</span>\<span class="br0">&#125;</span>\<span class="br0">&#91;</span>\<span class="br0">&#93;</span>\<span class="br0">&#40;</span>\<span class="br0">&#41;</span><span class="br0">&#93;</span><span class="br0">&#41;</span>/g</span>, <span class="st0">&quot;<span class="es0">\\</span>$1&quot;</span><span class="br0">&#41;</span> + <span class="st0">&quot; *(<span class="es0">\\</span>|[^<span class="es0">\\</span>]]*)?<span class="es0">\\</span>]<span class="es0">\\</span>]&quot;</span>, <span class="st0">&quot;gi&quot;</span><span class="br0">&#41;</span>;
    <span class="kw2">var</span> matches = t.<span class="me1">match</span><span class="br0">&#40;</span>hcre<span class="br0">&#41;</span>;
    <span class="kw1">if</span> <span class="br0">&#40;</span>matches != <span class="kw2">null</span> &amp;&amp; matches.<span class="me1">length</span> == <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// Found one occurrence of the category - good!</span>
      <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw1">typeof</span> hnc != <span class="st0">&quot;undefined&quot;</span> &amp;&amp; hnc != <span class="kw2">null</span> &amp;&amp; hnc != <span class="st0">&quot;&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
        t = t.<span class="me1">replace</span><span class="br0">&#40;</span>hcre, <span class="st0">&quot;$1[[Catégorie:&quot;</span> + hnc + <span class="st0">&quot;$2]]&quot;</span><span class="br0">&#41;</span>;
        summary.<span class="me1">push</span> <span class="br0">&#40;</span> <span class="st0">&quot;Modification de la catégorie [[Catégorie:&quot;</span> + hrc + <span class="st0">&quot;]] → [[Catégorie:&quot;</span> + hnc + <span class="st0">&quot;]]&quot;</span> <span class="br0">&#41;</span> ;
      <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
        t = t.<span class="me1">replace</span><span class="br0">&#40;</span>hcre, <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>;
        summary.<span class="me1">push</span> <span class="br0">&#40;</span> <span class="st0">&quot;Retrait de la catégorie [[Catégorie:&quot;</span> + hrc + <span class="st0">&quot;]]&quot;</span> <span class="br0">&#41;</span> ;
      <span class="br0">&#125;</span>
      ret = <span class="nu0">1</span> ;
    <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
      <span class="kw3">alert</span> <span class="br0">&#40;</span> <span class="st0">&quot;Impossible de trouver une occurrence unique de <span class="es0">\&quot;</span>&quot;</span> + hrc + <span class="st0">&quot;<span class="es0">\&quot;</span> - elle est peut-être incluse via un modèle&quot;</span> <span class="br0">&#41;</span> ;
      prevent_autocommit = <span class="nu0">1</span> ;
    <span class="br0">&#125;</span>
  <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
    <span class="co1">// Only adding?</span>
    <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw1">typeof</span> hnc != <span class="st0">&quot;undefined&quot;</span> &amp;&amp; hnc != <span class="kw2">null</span> &amp;&amp; hnc != <span class="st0">&quot;&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="co1">// Looking for last cat</span>
      <span class="kw2">var</span> re = <span class="re0">/\<span class="br0">&#91;</span>\<span class="br0">&#91;</span><span class="br0">&#40;</span>?:Catégorie|Category<span class="br0">&#41;</span>:<span class="br0">&#91;</span>^\<span class="br0">&#93;</span><span class="br0">&#93;</span>+\<span class="br0">&#93;</span>\<span class="br0">&#93;</span>/ig</span>
      <span class="kw2">var</span> index = <span class="nu0">-1</span>;
      <span class="kw1">while</span> <span class="br0">&#40;</span>re.<span class="me1">exec</span><span class="br0">&#40;</span>t<span class="br0">&#41;</span> != <span class="kw2">null</span><span class="br0">&#41;</span> index = re.<span class="me1">lastIndex</span>;
      <span class="kw2">var</span> txt = <span class="st0">&quot;[[Catégorie:&quot;</span> + hnc + <span class="st0">&quot;]]&quot;</span> ;
      <span class="kw1">if</span> <span class="br0">&#40;</span>index &lt; <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        t = t + <span class="st0">'<span class="es0">\n</span>'</span> + txt ;
      <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
        t = t.<span class="me1">substring</span><span class="br0">&#40;</span><span class="nu0">0</span>, index<span class="br0">&#41;</span> + <span class="st0">'<span class="es0">\n</span>'</span> + txt + t.<span class="me1">substring</span><span class="br0">&#40;</span>index<span class="br0">&#41;</span>;
      <span class="br0">&#125;</span>
      summary.<span class="me1">push</span> <span class="br0">&#40;</span> <span class="st0">&quot;Ajout rapide de la catégorie [[Catégorie:&quot;</span> + hnc + <span class="st0">&quot;]]&quot;</span> <span class="br0">&#41;</span> ;
      ret = <span class="nu0">1</span> ;
    <span class="br0">&#125;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="kw1">if</span> <span class="br0">&#40;</span> ret <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    document.<span class="me1">editform</span>.<span class="me1">wpTextbox1</span>.<span class="me1">value</span> = t ;
    document.<span class="me1">editform</span>.<span class="me1">wpSummary</span>.<span class="me1">value</span> = summary.<span class="me1">join</span><span class="br0">&#40;</span> <span class="st0">&quot; ; &quot;</span> <span class="br0">&#41;</span> + <span class="st0">&quot; (avec [[MediaWiki:JSScripts/HotCats|HotCats]])&quot;</span> ;
    document.<span class="me1">editform</span>.<span class="me1">wpMinoredit</span>.<span class="me1">checked</span> = <span class="kw2">true</span> ;
    <span class="kw1">if</span> <span class="br0">&#40;</span> !prevent_autocommit <span class="br0">&#41;</span> <span class="br0">&#123;</span>
      document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;bodyContent&quot;</span><span class="br0">&#41;</span>.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">&quot;none&quot;</span> ; <span class="co1">// Hiding the entire edit section so as not to tempt the user into editing...</span>
      document.<span class="me1">editform</span>.<span class="me1">wpSave</span>.<span class="me1">click</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>
  <span class="br0">&#125;</span>
&nbsp;
  <span class="co1">// This is the end, my friend, the end...</span>
  <span class="kw1">return</span> ret ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_clear_span <span class="br0">&#40;</span> span_add <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw1">while</span> <span class="br0">&#40;</span> span_add.<span class="me1">firstChild</span> <span class="br0">&#41;</span> span_add.<span class="me1">removeChild</span> <span class="br0">&#40;</span> span_add.<span class="me1">firstChild</span> <span class="br0">&#41;</span> ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_create_span <span class="br0">&#40;</span> span_add <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  hotcat_clear_span <span class="br0">&#40;</span> span_add <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> a_add = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;a&quot;</span> <span class="br0">&#41;</span> ;
<span class="coMULTI">/* Chphe */</span> a_add.<span class="me1">style</span>.<span class="me1">color</span> = <span class="st0">&quot;green&quot;</span>;
  <span class="kw2">var</span> a_text = document.<span class="me1">createTextNode</span> <span class="br0">&#40;</span> <span class="st0">&quot;(+)&quot;</span> <span class="br0">&#41;</span> ;
  span_add.<span class="me1">id</span> = <span class="st0">&quot;hotcat_add&quot;</span> ;
  a_add.<span class="me1">href</span> = <span class="st0">&quot;javascript:hotcat_add_new()&quot;</span> ;
  a_add.<span class="me1">appendChild</span> <span class="br0">&#40;</span> a_text <span class="br0">&#41;</span> ;
  span_add.<span class="me1">appendChild</span> <span class="br0">&#40;</span> a_add <span class="br0">&#41;</span> ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_modify <span class="br0">&#40;</span> link_id <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> link = document.<span class="me1">getElementById</span> <span class="br0">&#40;</span> link_id <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> span = link.<span class="me1">parentNode</span> ;
  <span class="kw2">var</span> catname = span.<span class="me1">firstChild</span>.<span class="me1">firstChild</span>.<span class="me1">data</span> ;
&nbsp;
  <span class="kw1">while</span> <span class="br0">&#40;</span> span.<span class="me1">firstChild</span>.<span class="me1">nextSibling</span> <span class="br0">&#41;</span> span.<span class="me1">removeChild</span> <span class="br0">&#40;</span> span.<span class="me1">firstChild</span>.<span class="me1">nextSibling</span> <span class="br0">&#41;</span> ;
  span.<span class="me1">firstChild</span>.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">&quot;none&quot;</span> ;
  hotcat_create_new_span <span class="br0">&#40;</span> span , catname <span class="br0">&#41;</span> ;
  hotcat_last_v = <span class="st0">&quot;&quot;</span> ;
  hotcat_text_changed <span class="br0">&#40;</span><span class="br0">&#41;</span> ; <span class="co1">// Update icon</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_add_new <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> span_add = document.<span class="me1">getElementById</span> <span class="br0">&#40;</span> <span class="st0">&quot;hotcat_add&quot;</span> <span class="br0">&#41;</span> ;
  hotcat_clear_span <span class="br0">&#40;</span> span_add <span class="br0">&#41;</span> ;
  hotcat_last_v = <span class="st0">&quot;&quot;</span> ;
  hotcat_create_new_span <span class="br0">&#40;</span> span_add , <span class="st0">&quot;&quot;</span> <span class="br0">&#41;</span> ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_create_new_span <span class="br0">&#40;</span> thespan , init_text <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> form = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;form&quot;</span> <span class="br0">&#41;</span> ;
  form.<span class="me1">method</span> = <span class="st0">&quot;post&quot;</span> ;
  form.<span class="me1">onsubmit</span> = <span class="kw2">function</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> hotcat_ok<span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="kw1">return</span> <span class="kw2">false</span>; <span class="br0">&#125;</span> ;
  form.<span class="me1">id</span> = <span class="st0">&quot;hotcat_form&quot;</span> ;
  form.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">&quot;inline&quot;</span> ;
&nbsp;
  <span class="kw2">var</span> list = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;select&quot;</span> <span class="br0">&#41;</span> ;
  list.<span class="me1">id</span> = <span class="st0">&quot;hotcat_list&quot;</span> ;
  list.<span class="me1">onclick</span> = <span class="kw2">function</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;hotcat_text&quot;</span><span class="br0">&#41;</span>.<span class="me1">value</span> = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;hotcat_list&quot;</span><span class="br0">&#41;</span>.<span class="me1">value</span> ; hotcat_text_changed<span class="br0">&#40;</span><span class="br0">&#41;</span> ; <span class="br0">&#125;</span> ;
  list.<span class="me1">ondblclick</span> = <span class="kw2">function</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;hotcat_text&quot;</span><span class="br0">&#41;</span>.<span class="me1">value</span> = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;hotcat_list&quot;</span><span class="br0">&#41;</span>.<span class="me1">value</span> ; hotcat_text_changed<span class="br0">&#40;</span><span class="br0">&#41;</span> ; hotcat_ok<span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="br0">&#125;</span> ;
  list.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">&quot;none&quot;</span> ;
&nbsp;
  <span class="kw2">var</span> text = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;input&quot;</span> <span class="br0">&#41;</span> ;
  text.<span class="me1">size</span> = <span class="nu0">40</span> ;
  text.<span class="me1">id</span> = <span class="st0">&quot;hotcat_text&quot;</span> ;
  text.<span class="me1">type</span> = <span class="st0">&quot;text&quot;</span> ;
  text.<span class="me1">value</span> = init_text ;
  text.<span class="me1">onkeyup</span> = <span class="kw2">function</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> window.<span class="me1">setTimeout</span><span class="br0">&#40;</span><span class="st0">&quot;hotcat_text_changed();&quot;</span>, hotcat_suggestion_delay <span class="br0">&#41;</span>; <span class="br0">&#125;</span> ;
&nbsp;
  <span class="kw2">var</span> exists = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;img&quot;</span> <span class="br0">&#41;</span> ;
  exists.<span class="me1">id</span> = <span class="st0">&quot;hotcat_exists&quot;</span> ;
  exists.<span class="me1">src</span> = hotcat_exists_no ;
&nbsp;
  <span class="kw2">var</span> OK = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;input&quot;</span> <span class="br0">&#41;</span> ;
  OK.<span class="me1">type</span> = <span class="st0">&quot;button&quot;</span> ;
  OK.<span class="me1">value</span> = <span class="st0">&quot;OK&quot;</span> ;
  OK.<span class="me1">onclick</span> = hotcat_ok ;
&nbsp;
  <span class="kw2">var</span> cancel = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;input&quot;</span> <span class="br0">&#41;</span> ;
  cancel.<span class="me1">type</span> = <span class="st0">&quot;button&quot;</span> ;
  cancel.<span class="me1">value</span> = <span class="st0">&quot;Annuler&quot;</span> ;
  cancel.<span class="me1">onclick</span> = hotcat_cancel ;
&nbsp;
  form.<span class="me1">appendChild</span> <span class="br0">&#40;</span> list <span class="br0">&#41;</span> ;
  form.<span class="me1">appendChild</span> <span class="br0">&#40;</span> text <span class="br0">&#41;</span> ;
  form.<span class="me1">appendChild</span> <span class="br0">&#40;</span> exists <span class="br0">&#41;</span> ;
  form.<span class="me1">appendChild</span> <span class="br0">&#40;</span> OK <span class="br0">&#41;</span> ;
  form.<span class="me1">appendChild</span> <span class="br0">&#40;</span> cancel <span class="br0">&#41;</span> ;
  thespan.<span class="me1">appendChild</span> <span class="br0">&#40;</span> form <span class="br0">&#41;</span> ;
  text.<span class="kw3">focus</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_ok <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> text = document.<span class="me1">getElementById</span> <span class="br0">&#40;</span> <span class="st0">&quot;hotcat_text&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> v = text.<span class="me1">value</span> ;
&nbsp;
  <span class="co1">// Empty category ?</span>
  <span class="kw1">if</span> <span class="br0">&#40;</span> v == <span class="st0">&quot;&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    hotcat_cancel<span class="br0">&#40;</span><span class="br0">&#41;</span> ;
    <span class="kw1">return</span> ;
  <span class="br0">&#125;</span>
&nbsp;
  <span class="kw2">var</span> editlk = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'ca-edit'</span><span class="br0">&#41;</span>.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'a'</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">href</span>;
  <span class="kw2">var</span> url = editlk + <span class="st0">'&amp;hotcat_newcat='</span> + encodeURIComponent<span class="br0">&#40;</span> v <span class="br0">&#41;</span> ;
&nbsp;
  <span class="co1">// Editing existing?</span>
  <span class="kw2">var</span> span = text.<span class="me1">parentNode</span>.<span class="me1">parentNode</span> ; <span class="co1">// span.form.text</span>
  <span class="kw1">if</span> <span class="br0">&#40;</span> span.<span class="me1">id</span> != <span class="st0">&quot;hotcat_add&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// Not plain &quot;addition&quot;</span>
    <span class="kw2">var</span> cat_title = span.<span class="me1">firstChild</span>.<span class="me1">getAttribute</span> <span class="br0">&#40;</span> <span class="st0">&quot;title&quot;</span> <span class="br0">&#41;</span> ;
    <span class="co1">// Removing leading Category:</span>
    cat_title = cat_title.<span class="me1">substr</span><span class="br0">&#40;</span>cat_title.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&quot;:&quot;</span><span class="br0">&#41;</span> + <span class="nu0">1</span><span class="br0">&#41;</span>;
    url += <span class="st0">'&amp;hotcat_removecat='</span> + encodeURIComponent<span class="br0">&#40;</span> cat_title <span class="br0">&#41;</span> ;
  <span class="br0">&#125;</span>
&nbsp;
  document.<span class="me1">location</span> = url ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_cancel <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> span = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;hotcat_form&quot;</span><span class="br0">&#41;</span>.<span class="me1">parentNode</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span> span.<span class="me1">id</span> == <span class="st0">&quot;hotcat_add&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    hotcat_create_span <span class="br0">&#40;</span> span <span class="br0">&#41;</span> ;
  <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
    <span class="kw1">while</span> <span class="br0">&#40;</span> span.<span class="me1">firstChild</span>.<span class="me1">nextSibling</span> <span class="br0">&#41;</span> span.<span class="me1">removeChild</span> <span class="br0">&#40;</span> span.<span class="me1">firstChild</span>.<span class="me1">nextSibling</span> <span class="br0">&#41;</span> ;
    span.<span class="me1">firstChild</span>.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">&quot;&quot;</span> ;
    <span class="kw1">for</span> <span class="br0">&#40;</span> <span class="kw2">var</span> i = <span class="nu0">0</span> ; i &lt; span.<span class="me1">parentNode</span>.<span class="me1">childNodes</span>.<span class="me1">length</span> ; i++ <span class="br0">&#41;</span> <span class="br0">&#123;</span>
      <span class="kw1">if</span> <span class="br0">&#40;</span> span.<span class="me1">parentNode</span>.<span class="me1">childNodes</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span> != span <span class="br0">&#41;</span> <span class="kw1">continue</span> ;
      hotcat_modify_span <span class="br0">&#40;</span> span , i <span class="br0">&#41;</span> ;
      <span class="kw1">break</span> ;
    <span class="br0">&#125;</span>
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_text_changed <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw1">if</span> <span class="br0">&#40;</span> hotcat_running <span class="br0">&#41;</span> <span class="kw1">return</span> ;
  <span class="kw2">var</span> text = document.<span class="me1">getElementById</span> <span class="br0">&#40;</span> <span class="st0">&quot;hotcat_text&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> v = text.<span class="me1">value</span>.<span class="me1">ucFirst</span><span class="br0">&#40;</span><span class="br0">&#41;</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span> hotcat_last_v == v <span class="br0">&#41;</span> <span class="kw1">return</span> ; <span class="co1">// Nothing's changed...</span>
&nbsp;
  hotcat_running = <span class="nu0">1</span> ;
  hotcat_last_v = v ;
&nbsp;
  <span class="kw1">if</span> <span class="br0">&#40;</span> v != <span class="st0">&quot;&quot;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> url = wgServer + <span class="st0">&quot;/&quot;</span> + wgScriptPath + <span class="st0">&quot;/api.php?format=xml&amp;action=query&amp;list=allpages&amp;apnamespace=14&amp;apfrom=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span> v <span class="br0">&#41;</span> + <span class="st0">&quot;&amp;aplimit=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span> hotcat_list_items <span class="br0">&#41;</span>;
    <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw1">typeof</span> <span class="br0">&#40;</span> hotcat_xmlhttp <span class="br0">&#41;</span> != <span class="st0">&quot;undefined&quot;</span> <span class="br0">&#41;</span> hotcat_xmlhttp.<span class="me1">abort</span><span class="br0">&#40;</span><span class="br0">&#41;</span> ; <span class="co1">// Just to make sure...</span>
    hotcat_xmlhttp = <span class="kw2">new</span> sajax_init_object<span class="br0">&#40;</span><span class="br0">&#41;</span> ;
    hotcat_xmlhttp.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'GET'</span>, url, <span class="kw2">true</span><span class="br0">&#41;</span>;
    hotcat_xmlhttp.<span class="me1">onreadystatechange</span> = <span class="kw2">function</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
          <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="kw1">typeof</span> hotcat_xmlhttp == <span class="st0">&quot;undefined&quot;</span> <span class="br0">&#41;</span> <span class="kw1">return</span> ;
          <span class="kw1">if</span> <span class="br0">&#40;</span>hotcat_xmlhttp.<span class="me1">readyState</span> == <span class="nu0">4</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
              <span class="kw2">var</span> xml = hotcat_xmlhttp.<span class="me1">responseXML</span> ;
              <span class="kw1">if</span> <span class="br0">&#40;</span> xml == <span class="kw2">null</span> <span class="br0">&#41;</span> <span class="kw1">return</span> ;
              <span class="kw2">var</span> pages = xml.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span> <span class="st0">&quot;p&quot;</span> <span class="br0">&#41;</span> ;
              <span class="kw2">var</span> titles = <span class="kw2">new</span> Array <span class="br0">&#40;</span><span class="br0">&#41;</span> ;
              <span class="kw1">for</span> <span class="br0">&#40;</span> <span class="kw2">var</span> i = <span class="nu0">0</span> ; i &lt; pages.<span class="me1">length</span> ; i++ <span class="br0">&#41;</span> <span class="br0">&#123;</span>
                <span class="kw2">var</span> s = pages<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">&quot;title&quot;</span><span class="br0">&#41;</span>;
                <span class="co1">// Removing leading &quot;Category:&quot;</span>
                s = s.<span class="me1">substr</span><span class="br0">&#40;</span>s.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&quot;:&quot;</span><span class="br0">&#41;</span> + <span class="nu0">1</span><span class="br0">&#41;</span>;
                <span class="kw1">if</span> <span class="br0">&#40;</span> s.<span class="me1">substr</span> <span class="br0">&#40;</span> <span class="nu0">0</span> , hotcat_last_v.<span class="me1">length</span> <span class="br0">&#41;</span> != hotcat_last_v <span class="br0">&#41;</span> <span class="kw1">break</span> ;
                titles.<span class="me1">push</span> <span class="br0">&#40;</span> s <span class="br0">&#41;</span> ;
              <span class="br0">&#125;</span>
              hotcat_show_suggestions <span class="br0">&#40;</span> titles <span class="br0">&#41;</span> ;
          <span class="br0">&#125;</span>
      <span class="br0">&#125;</span>;
    hotcat_xmlhttp.<span class="me1">send</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>;
  <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> titles = <span class="kw2">new</span> Array <span class="br0">&#40;</span><span class="br0">&#41;</span> ;
    hotcat_show_suggestions <span class="br0">&#40;</span> titles <span class="br0">&#41;</span> ;
  <span class="br0">&#125;</span>
  hotcat_running = <span class="nu0">0</span> ;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw2">function</span> hotcat_show_suggestions <span class="br0">&#40;</span> titles <span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> text = document.<span class="me1">getElementById</span> <span class="br0">&#40;</span> <span class="st0">&quot;hotcat_text&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> list = document.<span class="me1">getElementById</span> <span class="br0">&#40;</span> <span class="st0">&quot;hotcat_list&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw2">var</span> icon = document.<span class="me1">getElementById</span> <span class="br0">&#40;</span> <span class="st0">&quot;hotcat_exists&quot;</span> <span class="br0">&#41;</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span> titles.<span class="me1">length</span> == <span class="nu0">0</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    list.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">&quot;none&quot;</span> ;
    icon.<span class="me1">src</span> = hotcat_exists_no ;
    <span class="kw1">return</span> ;
  <span class="br0">&#125;</span>
&nbsp;
  <span class="kw2">var</span> listh = hotcat_list_size * <span class="nu0">20</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span>titles.<span class="me1">length</span> &lt; hotcat_list_size<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    listh = titles.<span class="me1">length</span> * <span class="nu0">20</span> ;
  <span class="br0">&#125;</span>
  <span class="kw2">var</span> nl = parseInt <span class="br0">&#40;</span> text.<span class="me1">parentNode</span>.<span class="me1">offsetLeft</span> <span class="br0">&#41;</span> - <span class="nu0">1</span> ;
  <span class="kw2">var</span> nt = parseInt<span class="br0">&#40;</span>text.<span class="me1">offsetTop</span><span class="br0">&#41;</span> - listh ;
  <span class="co1">// Parameter to show suggestion list beneath categories instead of above</span>
  <span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw1">typeof</span> hotcat_list_down != <span class="st0">&quot;undefined&quot;</span> &amp;&amp; hotcat_list_down<span class="br0">&#41;</span> <span class="br0">&#123;</span>
     nt = text.<span class="me1">offsetTop</span> + text.<span class="me1">offsetHeight</span>;
  <span class="br0">&#125;</span>
  list.<span class="me1">size</span> = <span class="nu0">5</span> ;
  list.<span class="me1">style</span>.<span class="me1">align</span> = <span class="st0">&quot;left&quot;</span> ;
  list.<span class="me1">style</span>.<span class="me1">zIndex</span> = <span class="nu0">5</span> ;
  list.<span class="me1">style</span>.<span class="me1">position</span> = <span class="st0">&quot;absolute&quot;</span> ;
  list.<span class="me1">style</span>.<span class="me1">top</span> = nt + <span class="st0">&quot;px&quot;</span> ;
  list.<span class="me1">style</span>.<span class="me1">width</span> = text.<span class="me1">offsetWidth</span> + <span class="st0">&quot;px&quot;</span> ;
  list.<span class="me1">style</span>.<span class="me1">height</span> = listh + <span class="st0">&quot;px&quot;</span> ;
  list.<span class="me1">style</span>.<span class="me1">left</span> = nl + <span class="st0">&quot;px&quot;</span> ;
  <span class="kw1">while</span> <span class="br0">&#40;</span> list.<span class="me1">firstChild</span> <span class="br0">&#41;</span> list.<span class="me1">removeChild</span> <span class="br0">&#40;</span> list.<span class="me1">firstChild</span> <span class="br0">&#41;</span> ;
  <span class="kw1">for</span> <span class="br0">&#40;</span> <span class="kw2">var</span> i = <span class="nu0">0</span> ; i &lt; titles.<span class="me1">length</span> ; i++ <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> opt = document.<span class="me1">createElement</span> <span class="br0">&#40;</span> <span class="st0">&quot;option&quot;</span> <span class="br0">&#41;</span> ;
    <span class="kw2">var</span> ot = document.<span class="me1">createTextNode</span> <span class="br0">&#40;</span> titles<span class="br0">&#91;</span>i<span class="br0">&#93;</span> <span class="br0">&#41;</span> ;
    opt.<span class="me1">appendChild</span> <span class="br0">&#40;</span> ot <span class="br0">&#41;</span> ;
    opt.<span class="me1">setAttribute</span><span class="br0">&#40;</span> <span class="st0">&quot;value&quot;</span>, titles<span class="br0">&#91;</span>i<span class="br0">&#93;</span> <span class="br0">&#41;</span>;
    list.<span class="me1">appendChild</span> <span class="br0">&#40;</span> opt <span class="br0">&#41;</span> ;
  <span class="br0">&#125;</span>
&nbsp;
  list.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">&quot;block&quot;</span> ;
&nbsp;
  icon.<span class="me1">src</span> = hotcat_exists_yes ;
&nbsp;
  <span class="kw2">var</span> first_title = titles.<span class="me1">shift</span> <span class="br0">&#40;</span><span class="br0">&#41;</span> ;
  <span class="kw1">if</span> <span class="br0">&#40;</span> first_title == hotcat_last_v <span class="br0">&#41;</span> <span class="kw1">return</span> ;
&nbsp;
  <span class="kw2">var</span> suggestion = first_title;
&nbsp;
  text.<span class="me1">value</span> = suggestion  ;
  <span class="kw1">if</span> <span class="br0">&#40;</span>text.<span class="me1">createTextRange</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// IE</span>
    <span class="kw2">var</span> ra = text.<span class="me1">createTextRange</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;
    ra.<span class="me1">moveStart</span><span class="br0">&#40;</span><span class="st0">&quot;character&quot;</span>, hotcat_last_v.<span class="me1">length</span><span class="br0">&#41;</span>;
    ra.<span class="me1">moveEnd</span><span class="br0">&#40;</span><span class="st0">&quot;character&quot;</span>, suggestion.<span class="me1">length</span><span class="br0">&#41;</span>;
    ra.<span class="me1">select</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;
  <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span> is_khtml <span class="br0">&#41;</span> <span class="br0">&#123;</span>
    text.<span class="me1">setSelectionRange</span><span class="br0">&#40;</span> hotcat_last_v.<span class="me1">length</span>, suggestion.<span class="me1">length</span> <span class="br0">&#41;</span>;
  <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
    text.<span class="me1">selectionStart</span> = hotcat_last_v.<span class="me1">length</span> ;
    text.<span class="me1">selectionEnd</span> = suggestion.<span class="me1">length</span> ;
  <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
<span class="co1">//&lt;/nowiki&gt;</span></pre></div><div class="printfooter">
</div>
	    	    <!-- end content -->
	    <div class="visualClear"></div>
	  </div>
	</div>
      </div>
      <div id="column-one">
	<div id="p-cactions" class="portlet">
	  <h5>Views</h5>
	  <ul>
	    <li id="ca-nstab-user"
	       class="selected"	       ><a href="../../../../articles/c/h/p/Utilisateur%7EChphe_Gadget-HotCats.js_ba27.html">Page utilisateur</a></li><li id="ca-talk"
	       class="new"	       ><a href="../../../../articles/c/h/p/Discussion_Utilisateur%7EChphe_Gadget-HotCats.js_b1ae.html">Discussion</a></li><li id="ca-current"
	       	       ><a href="http://fr.wikipedia.org/wiki/Utilisateur:Chphe/Gadget-HotCats.js">Version actuelle</a></li>	  </ul>
	</div>
	<div class="portlet" id="p-logo">
	  <a style="background-image: url(../../../../misc/Wiki.png);"
	    href="../../../../index.html"
	    title="Accueil"></a>
	</div>
	<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
		<div class='portlet' id='p-navigation'>
	  <h5>Navigation</h5>
	  <div class='pBody'>
	    <ul>
	    	      <li id="n-mainpage"><a href="../../../../index.html">Accueil</a></li>
	     	      <li id="n-thema"><a href="../../../../articles/a/c/c/Portail%7EAccueil_bcc9.html">Portails thématiques</a></li>
	     	      <li id="n-alphindex"><a href="../../../../articles/t/o/u/Special%7EToutes_les_pages_fabc.html">Index alphabétique</a></li>
	     	      <li id="n-randompage"><a href="../../../../articles/p/a/g/Special%7EPage_au_hasard_9c81.html">Un article au hasard</a></li>
	     	      <li id="n-contact"><a href="../../../../articles/c/o/n/Wikip%C3%A9dia%7EContact_929e.html">Contacter Wikipédia</a></li>
	     	    </ul>
	  </div>
	</div>
		<div class='portlet' id='p-Contribuer'>
	  <h5>Contribuer</h5>
	  <div class='pBody'>
	    <ul>
	    	      <li id="n-help"><a href="../../../../articles/s/o/m/Aide%7ESommaire_c9f0.html">Aide</a></li>
	     	      <li id="n-portal"><a href="../../../../articles/a/c/c/Wikip%C3%A9dia%7EAccueil_5272.html">Communauté</a></li>
	     	      <li id="n-recentchanges"><a href="../../../../articles/m/o/d/Special%7EModifications_r%C3%A9centes_b222.html">Modifications récentes</a></li>
	     	      <li id="n-aboutwp"><a href="../../../../articles/a/c/c/Wikip%C3%A9dia%7EAccueil_des_nouveaux_arrivants_0784.html">Accueil des nouveaux arrivants</a></li>
	     	      <li id="n-sitesupport"><a href="http://meta.wikimedia.org/wiki/Faire_un_don:_explication">Faire un don</a></li>
	     	    </ul>
	  </div>
	</div>
		<div id="p-search" class="portlet">
	  <h5><label for="searchInput">Rechercher</label></h5>
	  <div id="searchBody" class="pBody">
	    <form action="javascript:goToStatic(3)" id="searchform"><div>
	      <input id="searchInput" name="search" type="text"
	        accesskey="C" value="" />
	      <input type='submit' name="go" class="searchButton" id="searchGoButton"
	        value="Aller" />
	    </div></form>
	  </div>
	</div>
	      </div><!-- end of the left (by default at least) column -->
      <div class="visualClear"></div>
      <div id="footer">
    <div id="f-poweredbyico"><a href="http://www.mediawiki.org/"><img src="../../../../skins/common/images/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" /></a></div>	<div id="f-copyrightico"><a href="http://wikimediafoundation.org/"><img src="../../../../misc/wikimedia-button.png" border="0" alt="Wikimedia Foundation"/></a></div>	<ul id="f-list">
	  	  	  <li id="f-credits">Cette page a été modifiée pour la dernière fois le 11 mars 2008 à 15:50 par Utilisateur <a href="../../../../articles/c/h/p/Utilisateur%7EChphe_ad34.html" title="Utilisateur:Chphe">Chphe</a>. </li>	  <li id="f-copyright"><span style="white-space:normal"><a class="internal" href="http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Droit_d'auteur" title="Droit d'auteur">Droit d'auteur</a> : Tous les textes sont disponibles sous les termes de la <a class="internal" href="http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Licence_de_documentation_libre_GNU" title="GFDL">licence de documentation libre GNU</a> (GFDL).<br/>
Wikipedia® est une marque déposée de la <a href="http://wikimediafoundation.org/wiki/Accueil" title="Wikimedia Foundation">Wikimedia Foundation, Inc.</a>, organisation de bienfaisance régie par le paragraphe <a class="internal" href="http://en.wikipedia.org/wiki/501(c)" title="501(c)">501(c)(3)</a> du code fiscal des États-Unis.</span><br/></li>	  <li id="f-about"><a href="../../../../articles/%C3%A0/_/p/Wikip%C3%A9dia%7E%C3%80_propos_5de1.html" title="Wikipédia:À propos">À propos de Wikipédia</a></li>	  <li id="f-disclaimer"><a href="../../../../articles/a/v/e/Wikip%C3%A9dia%7EAvertissements_g%C3%A9n%C3%A9raux_fef1.html" title="Wikipédia:Avertissements généraux">Avertissements</a></li>	  	</ul>
      </div>
    </div>
  </body>
</html>

SAMX