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/b/i/b/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/hednacluml/encyclo/articles/b/////i/b/Utilisateur~Bibifricotin_monobook.js_3e54.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:Bibifricotin/monobook.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:Bibifricotin/monobook.js</h1>
	  <div id="bodyContent">
	    <h3 id="siteSub">Un article de Wikipédia, l'encyclopédie libre.</h3>
	    <div id="contentSub"></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">//Nouveau:</span>
<span class="co1">//bug de encodeURIcomponent</span>
<span class="co1">//bug du multiple diff (direction=prev</span>
<span class="co1">//bug de wikiparse (mauvais caracteres)</span>
&nbsp;
<span class="kw1">if</span><span class="br0">&#40;</span>wgUserGroups.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&quot;user&quot;</span><span class="br0">&#41;</span> != <span class="nu0">-1</span><span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> AC_UsersAnchors <span class="co1">//objet contenant les anchors de chaque users, initialisé au premier clic sur l'onglet suivi des users</span>
	<span class="kw2">var</span> AC_Anchors <span class="co1">//tableau contenant tous les anchors qui nous interresse</span>
	<span class="kw2">var</span> AC_FollowState = <span class="kw2">false</span> <span class="co1">//l'état des liens users (vers la page ou vers le javascript)</span>
&nbsp;
	loadJsForced<span class="br0">&#40;</span><span class="st0">&quot;User:&quot;</span> + wgUserName + <span class="st0">&quot;/AdvancedContribs.js&quot;</span><span class="br0">&#41;</span>
&nbsp;
	<span class="co1">//rajouter l'onglet suivi des users</span>
	addLoadEvent<span class="br0">&#40;</span>addFollowTab<span class="br0">&#41;</span>
&nbsp;
	<span class="co1">//si on est dans la sous-page user/AdvancedContrib, alors on lance le bouzin	</span>
	<span class="kw1">if</span> <span class="br0">&#40;</span>wgTitle == <span class="st0">&quot;Maloq/AdvancedContribs&quot;</span> &amp;&amp; wgAction == <span class="st0">&quot;view&quot;</span><span class="br0">&#41;</span>
	<span class="br0">&#123;</span>	
		<span class="co1">//on déclare les variables que si elles sont utiles</span>
		<span class="kw2">var</span> AC_USERCONTRIBLIMIT = <span class="nu0">0</span> <span class="co1">//type pour addWarning()</span>
		<span class="kw2">var</span> AC_WATCHLISTLIMIT = <span class="nu0">1</span> <span class="co1">//type pour addWarning()</span>
		<span class="kw2">var</span> AC_HISTORYLIMIT = <span class="nu0">2</span> <span class="co1">//type pour addWarning()</span>
		<span class="kw2">var</span> AC_CHANGEVERSION = <span class="nu0">3</span> <span class="co1">//type pour addWarning()</span>
		<span class="kw2">var</span> AC_INITTITLE = <span class="nu0">4</span>
&nbsp;
		<span class="kw2">var</span> AC_CellWithAnchor <span class="co1">//une cellule et un anchor à l'intérieur, pour la duplication</span>
		<span class="kw2">var</span> AC_DateRegExp  <span class="co1">//la regexp pour les date</span>
		<span class="kw2">var</span> AC_ArticlesWrotten <span class="co1">//l'objet qui contient tous les articles deja marqué</span>
		<span class="kw2">var</span> AC_timeStampLimit <span class="co1">//la date a partir de laquelle on choppe les historique en timeStamp</span>
		<span class="kw2">var</span> AC_dateLimit <span class="co1">//la date a partir de laquelle on choppe les historique</span>
&nbsp;
		<span class="kw2">var</span> AC_requestStack <span class="co1">//pour bloquer les action quand les requets sont lancées</span>
&nbsp;
		<span class="co1">//la variables locales sont la pour pouvoir charger la page sans sauvegarder les paramètres</span>
		<span class="kw2">var</span> AC_delayContrib_LOC
		<span class="kw2">var</span> AC_includeFollowList_LOC
		<span class="kw2">var</span> AC_version_LOC <span class="co1">//n° de version en cours, mise sur le page de AC</span>
		<span class="kw2">var</span> AC_version = <span class="st0">&quot;0.9.9&quot;</span>  <span class="co1">//n° de version du script</span>
&nbsp;
		addLoadEvent<span class="br0">&#40;</span>startAdvancedContrib<span class="br0">&#41;</span>
&nbsp;
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//initialise les variables nécéssaire à l'onglet sans avoir la liste: optimiser le temps</span>
<span class="kw2">function</span> initVarsMin<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_changeFollowListLink<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_changeFollowListLink = <span class="kw2">false</span> <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//initialise les variables pour la page de contrib, si elles n'existent pas, la fonction les crée</span>
<span class="kw2">function</span> initVars<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>	
	<span class="kw1">try</span>	<span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_BlackList<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_BlackList = <span class="kw2">new</span> Array<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_debugFlag<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_debugFlag = <span class="kw2">false</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_delayContrib<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_delayContrib = <span class="nu0">24</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_includeFollowList<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_includeFollowList = <span class="kw2">false</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_watchListLimit<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_watchListLimit = <span class="nu0">500</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_historyLimit<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_historyLimit = <span class="nu0">50</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_userContribLimit<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_userContribLimit = <span class="nu0">50</span> <span class="br0">&#125;</span> 
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_blackListColor<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_blackListColor = <span class="st0">'#FFB0B0'</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_normalListColor<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_normalListColor = <span class="st0">'#B0FFB0'</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_displayDeleteLink<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_displayDeleteLink = <span class="kw2">false</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_displayWarnings<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_displayWarnings = <span class="kw2">true</span> <span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">try</span> <span class="br0">&#123;</span><span class="kw1">if</span><span class="br0">&#40;</span>AC_changeFollowListLink<span class="br0">&#41;</span><span class="br0">&#123;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
	<span class="kw1">catch</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span> AC_changeFollowListLink = <span class="kw2">false</span> <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">/////////////////////////////////////TOOLBOX  ///////////////////////////////////////////////////</span>
&nbsp;
<span class="co1">//if en fonction</span>
<span class="kw2">function</span> iif<span class="br0">&#40;</span>cond, ifTrue, ifFalse<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw1">if</span><span class="br0">&#40;</span>cond<span class="br0">&#41;</span> <span class="kw1">return</span> ifTrue
&nbsp;
	<span class="kw1">return</span> ifFalse
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//charge un js en forçant la purge du cache</span>
<span class="kw2">function</span> loadJsForced<span class="br0">&#40;</span>page<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> date = <span class="kw2">new</span> Date<span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
	document.<span class="kw1">write</span><span class="br0">&#40;</span><span class="st0">'&lt;script type=&quot;text/javascript&quot; src=&quot;'</span> +
 	<span class="st0">'http://fr.wikipedia.org/w/index.php?title='</span> + page +
 	<span class="st0">'&amp;action=raw&amp;ctype=text/javascript&amp;dontcountme=s&amp;dummy='</span> + date + <span class="st0">'&quot;&gt;&lt;/script&gt;'</span><span class="br0">&#41;</span>;
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//renvoi la string commentaire parsé pour avoir les liens</span>
<span class="kw2">function</span> wikiParse<span class="br0">&#40;</span>string<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	string = string.<span class="me1">replace</span><span class="br0">&#40;</span><span class="re0">/&amp;/</span>, <span class="st0">'&amp;amp;'</span><span class="br0">&#41;</span>;
	string = string.<span class="me1">replace</span><span class="br0">&#40;</span><span class="re0">/&gt;/</span>, <span class="st0">'&amp;gt;'</span><span class="br0">&#41;</span>;
	string = string.<span class="me1">replace</span><span class="br0">&#40;</span><span class="re0">/&lt;/</span>, <span class="st0">'&amp;lt;'</span><span class="br0">&#41;</span>;
	string = string.<span class="me1">replace</span><span class="br0">&#40;</span>/<span class="st0">&quot;/, '&amp;quot;');
&nbsp;
	//les [[liens]]
	string = string.replace(/<span class="es0">\[</span><span class="es0">\[</span>(([^<span class="es0">\]</span><span class="es0">\|</span>]*)(.*?))<span class="es0">\]</span><span class="es0">\]</span>/g, &quot;</span>&lt;a href=<span class="st0">'&quot;+wgServer+wgScriptPath+&quot;/index.php?title=$2&amp;redirect=no'</span> target=<span class="st0">'_new'</span>&gt;$<span class="nu0">1</span>&lt;/a&gt;<span class="st0">&quot;);
	string = string.replace(/<span class="es0">\></span>[^<span class="es0">\]</span><span class="es0">\|</span>&lt;]*<span class="es0">\|</span>([^<span class="es0">\]</span><span class="es0">\|</span>&lt;]*)&lt;/g, &quot;</span>&gt;$<span class="nu0">1</span>&lt;<span class="st0">&quot;);
&nbsp;
	//les commentaires
	string = string.replace(/<span class="es0">\/</span><span class="es0">\*</span>(([^<span class="es0">\*</span><span class="es0">\/</span>]*)(.*?))<span class="es0">\*</span><span class="es0">\/</span>/g, &quot;</span>&lt;span style=<span class="st0">'color:#888888'</span>&gt;<span class="coMULTI">/*$1*/</span>&lt;/span&gt;<span class="st0">&quot;);
&nbsp;
	//les modèles
	string = string.replace(/<span class="es0">\{</span><span class="es0">\{</span>(([^<span class="es0">\}</span><span class="es0">\|</span>]*)(.*?))<span class="es0">\}</span><span class="es0">\}</span>/g, &quot;</span>&lt;a href=<span class="st0">'&quot;+wgServer+wgScriptPath+&quot;/index.php?title=Modèle:$2&amp;redirect=no'</span> target=<span class="st0">'_new'</span>&gt;$<span class="nu0">1</span>&lt;/a&gt;<span class="st0">&quot;);
	string = string.replace(/<span class="es0">\></span>([^<span class="es0">\]</span><span class="es0">\|</span>&lt;]*)<span class="es0">\|</span>([^<span class="es0">\]</span><span class="es0">\|</span>&lt;]*)&lt;/g, &quot;</span>&gt;<span class="br0">&#123;</span><span class="br0">&#123;</span>$<span class="nu0">1</span>|$<span class="nu0">2</span><span class="br0">&#125;</span><span class="br0">&#125;</span>&lt;<span class="st0">&quot;);
&nbsp;
	return string 
}
&nbsp;
//parse la chaine de caratère et la transforme en date
function parseDate(string)
{
	var now = new Date();
	var match = AC_DateRegExp.exec(string);
&nbsp;
	if (!match) return now
&nbsp;
	now.setFullYear(match[1],(match[2])-1, match[3])
	now.setHours(match[4], match[5], match[6],0)
&nbsp;
	now.setTime(now.getTime() + (-now.getTimezoneOffset())*60*1000)
&nbsp;
	return now
}
&nbsp;
/////////////////////////////////////FONCTIONS LIEES A L'ONGLET//////////////////////////////////
&nbsp;
//rajoute l'onglet suivi des users
function addFollowTab()
{
	var list = document.getElementById('p-cactions')
&nbsp;
	initVarsMin()
&nbsp;
	if(!list) return
	list = list.childNodes[3].childNodes[1]
&nbsp;
	var elt = document.createElement('li')
	elt.innerHTML = &quot;</span>&lt;a id=<span class="st0">'caa_userFollow'</span> href=<span class="st0">'javascript:toggleFollowAnchor()'</span>&gt;Suivi des users&lt;/a&gt;<span class="st0">&quot;
	list.appendChild(elt)
&nbsp;
	if(AC_changeFollowListLink)
	{
		var li = document.getElementById(&quot;</span>pt-watchlist<span class="st0">&quot;)
		if(li) li.firstChild.href = &quot;</span><span class="re0">/wiki/Utilisateur:Maloq/</span>AdvancedContribs<span class="st0">&quot;
	}
}
&nbsp;
//change l'état d'un utilisateur (suivi ou non)
function toggleUser(User)
{
	var userPos = AC_BlackList.indexOf(User)
	var Summeray
&nbsp;
	if(userPos == -1)
	{
		AC_BlackList[AC_BlackList.length] = User
		setAnchorState(User, true)
		ajaxSetUsersPage('Rajoute ' + User)
	}
	else
	{
		AC_BlackList.splice(userPos, 1)
		setAnchorState(User, false)
		ajaxSetUsersPage('Supprime ' + User)
	}	
}
&nbsp;
//change l'etat des anchors associé a user (Followed: true pour mettre suivi, false pour mettre normal)
function setAnchorState(user, Followed) 
{
	var i
	var len = AC_UsersAnchors[user].length
&nbsp;
	for(i=0;i!=len;i++)
	{
		if(Followed) AC_UsersAnchors[user][i].style.background = AC_blackListColor
		else AC_UsersAnchors[user][i].style.background = AC_normalListColor  
	}
}
&nbsp;
//lupin :p
function getUserFromHref(href)
{
	var regexp = new RegExp(/(<span class="es0">\/</span>wiki<span class="es0">\/</span>Utilisateur:|<span class="es0">\/</span>wiki<span class="es0">\/</span>Special:Contributions<span class="es0">\/</span>)([^<span class="es0">\/</span>]+)$/)
	var match = regexp.exec(href)
&nbsp;
	if(match) return decodeURIComponent(match[2]).replace(&quot;</span>_<span class="st0">&quot;, &quot;</span> <span class="st0">&quot;)
&nbsp;
	return &quot;</span><span class="st0">&quot;
}
&nbsp;
//function qui cherches les anchor vers les pages users et qui change le href (soit vers la fonction js, soit vers la page user)
function toggleFollowAnchor() 
{
	var localAnchors
	var i, user, len
	var first = false
&nbsp;
	initVars()
&nbsp;
	if(!AC_Anchors)
	{
		first = true
		AC_UsersAnchors = new Object()
		AC_Anchors = new Array()
		localAnchors = document.getElementById('bodyContent').getElementsByTagName('a')
	}
	else
	{
		localAnchors = AC_Anchors
	}
&nbsp;
	len = localAnchors.length
&nbsp;
	if(AC_FollowState == false)
	{
		if(first) //on dédouble le for pour que ca soit plus rapide
		{
			for(i=0;i!=len;i++)
			{
				user = getUserFromHref(localAnchors[i].href)
&nbsp;
				if(user!=&quot;</span><span class="st0">&quot;)
				{
					if(!AC_UsersAnchors[user]) AC_UsersAnchors[user] = new Array()
					AC_UsersAnchors[user][AC_UsersAnchors[user].length] = localAnchors[i]
					AC_Anchors[AC_Anchors.length] = localAnchors[i]
&nbsp;
					localAnchors[i].AC_user = user
					localAnchors[i].AC_hrefSave = localAnchors[i].href
					localAnchors[i].href = 'javascript:toggleUser(&quot;</span><span class="st0">' + user + '</span><span class="st0">&quot;)'
					if(AC_BlackList.indexOf(user)!=-1 ) localAnchors[i].style.background = AC_blackListColor
					else localAnchors[i].style.background = AC_normalListColor
				}
			}  
		}
		else
		{
			for(i=0;i!=len;i++)
			{
				user = localAnchors[i].AC_user
				localAnchors[i].href = 'javascript:toggleUser(&quot;</span><span class="st0">' + user + '</span><span class="st0">&quot;)'
				if(AC_BlackList.indexOf(user)!=-1 ) localAnchors[i].style.background = AC_blackListColor
				else localAnchors[i].style.background = AC_normalListColor
&nbsp;
			}
		}
&nbsp;
		document.getElementById('caa_userFollow').innerHTML='Liens users normaux'
&nbsp;
		AC_FollowState = true
	}
	else
	{
		//la, le premier passage a deja rempli les tableau
		for(i=0;i!=len;i++)
		{	
			localAnchors[i].href = localAnchors[i].AC_hrefSave
			localAnchors[i].style.background=''
		}
		document.getElementById('caa_userFollow').innerHTML='Suivi des users'
&nbsp;
		AC_FollowState = false
	}
}
&nbsp;
////////////////////////////////////////FONCTIONS LIEES A LA LISTE, OU AUX DEUX
&nbsp;
//cherche le numero de version dans le textContent de bodyContent
function getVersionNo(str)
{
	var regexp = new RegExp()
	var match
&nbsp;
&nbsp;
	regexp.compile(/§§§([^#]*)§§§/)
	match = regexp.exec(str)
&nbsp;
	if(match) return match[1]
&nbsp;
	return &quot;</span><span class="st0">&quot;
}
&nbsp;
&nbsp;
//fonction qui lance le bouzin
function startAdvancedContrib()
{
	var div=document.getElementById('bodyContent')
&nbsp;
	var getAnchorsFollowed = function()
	{
		var res = &quot;</span><span class="st0">&quot;
&nbsp;
		for(var i=0;i!=AC_BlackList.length;i++)
			res = res + htmlUserPageLink(AC_BlackList[i]) + &quot;</span>&amp;nbsp;<span class="st0">&quot;
&nbsp;
		return res
	}
&nbsp;
	initVars()
&nbsp;
	AC_version_LOC = getVersionNo(div.textContent)
	AC_delayContrib_LOC = AC_delayContrib
	AC_includeFollowList_LOC = AC_includeFollowList
&nbsp;
	div.innerHTML= &quot;</span>&lt;table&gt;&lt;tr&gt;&lt;td&gt;Monter les contributions &lt;select id=<span class="st0">'AC_delayContrib'</span>&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'1'</span> <span class="st0">&quot; + iif(AC_delayContrib==1, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;de la dernière heure&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'3'</span> <span class="st0">&quot; + iif(AC_delayContrib==3, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;des <span class="nu0">3</span> dernières heures&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'6'</span> <span class="st0">&quot; + iif(AC_delayContrib==6, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;des <span class="nu0">6</span> dernières heures&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'12'</span> <span class="st0">&quot; + iif(AC_delayContrib==12, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;des <span class="nu0">12</span> dernières heures&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'18'</span> <span class="st0">&quot; + iif(AC_delayContrib==18, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;des <span class="nu0">18</span> dernières heures&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'24'</span> <span class="st0">&quot; + iif(AC_delayContrib==24, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;du dernier jour&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'48'</span> <span class="st0">&quot; + iif(AC_delayContrib==48, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;des deux derniers jours&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'72'</span> <span class="st0">&quot; + iif(AC_delayContrib==72, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;des trois derniers jours&lt;/option&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;option value=<span class="st0">'168'</span> <span class="st0">&quot; + iif(AC_delayContrib==168, &quot;</span>SELECTED<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;de la semaine dernière&lt;<span class="re0">/option&gt;&lt;/select&gt;&lt;/</span>td&gt;<span class="st0">&quot; +
				&quot;</span>&lt;input type=checkbox id=<span class="st0">'AC_includeFollowList'</span> <span class="st0">&quot; + iif(AC_includeFollowList,&quot;</span>checked<span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;label <span class="kw1">for</span>=<span class="st0">'AC_includeFollowList'</span>&gt;Inclure la liste de suivi&lt;/label&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;td&gt;&lt;button id=<span class="st0">'btn_reload'</span> onclick=<span class="st0">'setLocalParameters()'</span>&gt;Recharger avec ces paramètres&lt;<span class="re0">/button&gt;&lt;/</span>td&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;td&gt;&lt;button id=<span class="st0">'btn_save'</span> onclick=<span class="st0">'saveParameters()'</span>&gt;Enregistrez ces paramètres&lt;<span class="re0">/button&gt;&lt;/</span>td&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;<span class="re0">/tr&gt;&lt;/</span>table&gt;<span class="st0">&quot; +
				&quot;</span>&lt;small&gt;&lt;div id=<span class="st0">'contribContent'</span>&gt;&amp;nbsp;&lt;/div&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;div id=<span class="st0">'WarningDiv'</span> style=<span class="st0">'display:none;border:2px solid #FF9900;padding-left:3px'</span>&gt;&lt;b&gt;&lt;big&gt;Warnings&lt;<span class="re0">/big&gt;&lt;/b&gt;&lt;br&gt;&lt;/</span>div&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;div id=<span class="st0">'AlertDiv'</span> style=<span class="st0">'display:none;border:2px solid #FF0000;padding-left:3px'</span>&gt;&lt;b&gt;&lt;big&gt;Alerts&lt;<span class="re0">/big&gt;&lt;/b&gt;&lt;br&gt;&lt;/</span>div&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;center&gt;&lt;div&gt;<span class="st0">&quot; + getAnchorsFollowed() + &quot;</span>&lt;/div&gt;<span class="st0">&quot; +
				&quot;</span>&lt;div&gt;<span class="st0">&quot; + 
				&quot;</span>&lt;a href=<span class="st0">'/wiki/Utilisateur:Maloq/AdvancedContribs/Todo'</span> title=<span class="st0">'todo'</span>&gt;ToDo&lt;/a&gt; - <span class="st0">&quot; +
				&quot;</span>&lt;a href=<span class="st0">'/wiki/Utilisateur:Maloq/AdvancedContribs/Documentation'</span> title=<span class="st0">'Documentation'</span>&gt;Documentation&lt;/a&gt; - <span class="st0">&quot; +
				&quot;</span>&lt;a href=<span class="st0">'/wiki/Utilisateur:&quot; + wgUserName + &quot;/AdvancedContribs.js'</span> title=<span class="st0">'Vos paramètres'</span>&gt;Vos paramètres&lt;/a&gt;<span class="st0">&quot;  +
				&quot;</span>&lt;<span class="re0">/div&gt;&lt;/center&gt;&lt;/</span>small&gt;<span class="st0">&quot;
&nbsp;
&nbsp;
	//on crée la regexp pour le timestamp
	AC_DateRegExp = new RegExp();
	AC_DateRegExp.compile(/^(<span class="es0">\d</span><span class="es0">\d</span><span class="es0">\d</span><span class="es0">\d</span>)-(<span class="es0">\d</span><span class="es0">\d</span>)-(<span class="es0">\d</span><span class="es0">\d</span>)T(<span class="es0">\d</span><span class="es0">\d</span>):(<span class="es0">\d</span><span class="es0">\d</span>):(<span class="es0">\d</span><span class="es0">\d</span>)Z$/)
&nbsp;
	//cette cellule est la cellule de base qui conttient un seul anchor
	AC_CellWithAnchor = document.createElement(&quot;</span>td<span class="st0">&quot;)
	AC_CellWithAnchor.appendChild(document.createElement(&quot;</span>a<span class="st0">&quot;))
	AC_CellWithAnchor.style.paddingRight='3px'
	AC_CellWithAnchor.style.width='0%'
&nbsp;
	getData()
}
&nbsp;
//ligne de debug
function addAlert(Text)
{
	if(AC_debugFlag)
	{
		var div = document.getElementById('AlertDiv')
&nbsp;
		if(!div)
			alert(Text)
		else
		{
			var newDiv = document.createElement('div')
			div.style.display=''
			newDiv.innerHTML = Text 
			div.appendChild(newDiv)
		}
	}
}
&nbsp;
//affiche les warnings
function addWarning(Type, Data1)
{
	var div = document.getElementById('WarningDiv')
	var newDiv = document.createElement('div')
	var str
&nbsp;
	if(AC_displayWarnings) div.style.display=''
&nbsp;
	switch(Type)
	{
		case (AC_USERCONTRIBLIMIT):
		{
			str = &quot;</span>La limite de requête <span class="br0">&#40;</span><span class="st0">&quot; + AC_userContribLimit + &quot;</span><span class="br0">&#41;</span> a été atteinte pour les contributions de <span class="st0">&quot; + htmlUserLink(Data1)
			break
		}
		case (AC_WATCHLISTLIMIT):
		{
			str = &quot;</span>La limite de requête <span class="br0">&#40;</span><span class="st0">&quot; + AC_watchListLimit + &quot;</span><span class="br0">&#41;</span>  a été atteinte pour votre &lt;a href=<span class="st0">'/wiki/Special:Watchlist'</span>&gt;liste de suivi&lt;/a&gt;<span class="st0">&quot;
			break
		}
		case (AC_HISTORYLIMIT):
		{
			str = &quot;</span>La limite de requête <span class="br0">&#40;</span><span class="st0">&quot; + AC_historyLimit + &quot;</span><span class="br0">&#41;</span>  a été atteinte pour l<span class="st0">'historique de &quot; + htmlArticleLink(Data1)
			break
		}
		case (AC_CHANGEVERSION):
		{
			str = &quot;&lt;big&gt;Une nouvelle version d'</span>&lt;b&gt;AdvancedContribs&lt;<span class="re0">/b&gt; est sortie, rechargez votre cache.&lt;/</span>big&gt;<span class="st0">&quot;
			break
		}
		case (AC_INITTITLE):
		{
			str = &quot;</span>&lt;big&gt;&lt;b&gt;Warnings&lt;<span class="re0">/b&gt;&lt;/</span>big&gt;<span class="st0">&quot;
			div.innerHTML = ''
			div.style.display='none'
			break
		}
	}
&nbsp;
	newDiv.innerHTML = str
&nbsp;
	div.appendChild(newDiv)
}
&nbsp;
//met la valeurs du formulaire dans les variables locales et recharge
function setLocalParameters()
{
	AC_delayContrib_LOC = document.getElementById('AC_delayContrib').value
	AC_includeFollowList_LOC = document.getElementById('AC_includeFollowList').checked
&nbsp;
	getData()
}
&nbsp;
&nbsp;
//met les valeurs du formulaire dans les variables, sauvegarde et recharge la page
function saveParameters()
{
	AC_delayContrib = document.getElementById('AC_delayContrib').value
	AC_includeFollowList = document.getElementById('AC_includeFollowList').checked
&nbsp;
	ajaxSetUsersPage(&quot;</span>Modifie les paramètres<span class="st0">&quot;)	
}
&nbsp;
&nbsp;
&nbsp;
//renvoi une chaine de caractère en mettant des zero aux place vide, maximum 4 la taille
function toNString(num, length)
{
	num = num + &quot;</span><span class="st0">&quot;
&nbsp;
	while(num.length &lt; length)
		num = &quot;</span><span class="nu0">0</span><span class="st0">&quot; + num
&nbsp;
	return num
}
&nbsp;
//renvoi le timeStamp depuis l'object date
function getTimeStamp(date)
{
	return date.getFullYear() + &quot;</span>-<span class="st0">&quot; +
			toNString(date.getMonth() + 1, 2) + &quot;</span>-<span class="st0">&quot; +
			toNString(date.getDate(), 2) + &quot;</span>T<span class="st0">&quot; +
			toNString(date.getHours(), 2) + &quot;</span>:<span class="st0">&quot; +
			toNString(date.getMinutes(), 2) + &quot;</span>:<span class="st0">&quot; +
			toNString(date.getSeconds(), 2) + &quot;</span>Z<span class="st0">&quot;
}
&nbsp;
&nbsp;
//crée les variables en Js pour la sauvegarde
function getVariablesStrForSaving()
{
	var res = &quot;</span><span class="kw2">var</span> AC_BlackList = <span class="kw2">new</span> Array<span class="br0">&#40;</span><span class="st0">&quot;
	var i
&nbsp;
	for(i=0;i!=AC_BlackList.length;i++)
	{
		if(i!=0) 	res = res + &quot;</span>,<span class="st0">&quot;
		res = res + &quot;</span><span class="st0">'&quot; + AC_BlackList[i].replace(/'</span>/,<span class="st0">&quot;<span class="es0">\\</span>'&quot;</span><span class="br0">&#41;</span> + <span class="st0">&quot;'&quot;</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">return</span> res + <span class="st0">&quot;); //liste des users suivi<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_debugFlag=&quot;</span> + AC_debugFlag + <span class="st0">&quot;; //infos de debogage (laisser à faux)<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_delayContrib=&quot;</span> + AC_delayContrib + <span class="st0">&quot;; //en heure, jusqu'a quand on va chercher les contribs<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_includeFollowList=&quot;</span> + AC_includeFollowList + <span class="st0">&quot;; //si on inclut les articles de la liste de suivi<span class="es0">\n</span>&quot;</span> +
&nbsp;
	<span class="st0">&quot;var AC_watchListLimit=&quot;</span> + AC_watchListLimit + <span class="st0">&quot;; //limite de réponse de la requete de la liste de suivi<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_historyLimit=&quot;</span> + AC_historyLimit + <span class="st0">&quot;; //limite de réponse de la requete de l'historique d'un article<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_userContribLimit=&quot;</span> + AC_userContribLimit + <span class="st0">&quot;; //limite de réponse de la requete des contributions d'un user<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_changeFollowListLink=&quot;</span> + AC_changeFollowListLink + <span class="st0">&quot;; //si true, change le lien 'liste de suivi' vers la page advancedContrib<span class="es0">\n</span>&quot;</span> +
&nbsp;
	<span class="st0">&quot;var AC_blackListColor='&quot;</span> + AC_blackListColor + <span class="st0">&quot;'; //la couleur de fond d'un user suivi en blacklist<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_normalListColor='&quot;</span> + AC_normalListColor + <span class="st0">&quot;'; //la couleur de fond d'un utilisateur non suivi<span class="es0">\n</span>&quot;</span> +
	<span class="st0">&quot;var AC_displayDeleteLink=&quot;</span> + AC_displayDeleteLink + <span class="st0">&quot;; //affiche un lien delete pour chaque article dans la liste (landry-mode)<span class="es0">\n</span>&quot;</span> +
&nbsp;
	<span class="st0">&quot;var AC_displayWarnings=&quot;</span> + AC_displayWarnings + <span class="st0">&quot;; //affiche les warnings (souvent qd les limites sont atteintes)<span class="es0">\n</span>&quot;</span> 
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//a aprtir de la source d'une page html, cherche la valeur de l'input</span>
<span class="co1">//todo: essayer le DOMParser</span>
<span class="kw2">function</span> getInputValueFromStr<span class="br0">&#40;</span>str<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> regexp = <span class="kw2">new</span> RegExp<span class="br0">&#40;</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> match
	regexp.<span class="me1">compile</span><span class="br0">&#40;</span>/value=<span class="br0">&#91;</span><span class="st0">&quot;']([^&quot;</span><span class="st0">']+)[&quot;'</span><span class="br0">&#93;</span>/<span class="br0">&#41;</span>
&nbsp;
	match = regexp.<span class="me1">exec</span><span class="br0">&#40;</span>str<span class="br0">&#41;</span>
	<span class="kw1">if</span><span class="br0">&#40;</span>match<span class="br0">&#41;</span> <span class="kw1">return</span> match<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>
&nbsp;
	<span class="kw1">return</span> <span class="st0">&quot;&quot;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//change la page user/AdvancedContrib selon le tableau Users</span>
<span class="kw2">function</span> ajaxSetUsersPage<span class="br0">&#40;</span>Summeray<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> req=<span class="kw2">new</span> XMLHttpRequest<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	req.<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>req.<span class="me1">readyState</span> == <span class="nu0">4</span><span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			<span class="kw1">if</span><span class="br0">&#40;</span>req.<span class="kw3">status</span>==<span class="nu0">200</span><span class="br0">&#41;</span>
			<span class="br0">&#123;</span>			
				<span class="kw2">var</span> regexp = <span class="kw2">new</span> RegExp<span class="br0">&#40;</span><span class="br0">&#41;</span>
				<span class="kw2">var</span> match
				<span class="kw2">var</span> wpStarttime = <span class="st0">&quot;&quot;</span>
				<span class="kw2">var</span> wpEdittime = <span class="st0">&quot;&quot;</span> 
				<span class="kw2">var</span> wpEditToken = <span class="st0">&quot;&quot;</span>
				<span class="kw2">var</span> wpWatchthis = <span class="st0">&quot;&quot;</span>
&nbsp;
				regexp.<span class="me1">compile</span><span class="br0">&#40;</span>/<span class="br0">&#40;</span>&lt;input<span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+<span class="kw3">name</span>=<span class="st0">&quot;wpStarttime&quot;</span><span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+&gt;<span class="br0">&#41;</span>/<span class="br0">&#41;</span>
				match=regexp.<span class="me1">exec</span><span class="br0">&#40;</span>req.<span class="me1">responseText</span><span class="br0">&#41;</span>
				<span class="kw1">if</span><span class="br0">&#40;</span>match<span class="br0">&#41;</span> wpStarttime = getInputValueFromStr<span class="br0">&#40;</span>match<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
				regexp.<span class="me1">compile</span><span class="br0">&#40;</span>/<span class="br0">&#40;</span>&lt;input<span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+<span class="kw3">name</span>=<span class="st0">&quot;wpEdittime&quot;</span><span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+&gt;<span class="br0">&#41;</span>/<span class="br0">&#41;</span>
				match=regexp.<span class="me1">exec</span><span class="br0">&#40;</span>req.<span class="me1">responseText</span><span class="br0">&#41;</span>
				<span class="kw1">if</span><span class="br0">&#40;</span>match<span class="br0">&#41;</span> wpEdittime = getInputValueFromStr<span class="br0">&#40;</span>match<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
				regexp.<span class="me1">compile</span><span class="br0">&#40;</span>/<span class="br0">&#40;</span>&lt;input<span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+<span class="kw3">name</span>=<span class="st0">&quot;wpEditToken&quot;</span><span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+&gt;<span class="br0">&#41;</span>/<span class="br0">&#41;</span>
				match=regexp.<span class="me1">exec</span><span class="br0">&#40;</span>req.<span class="me1">responseText</span><span class="br0">&#41;</span>
				<span class="kw1">if</span><span class="br0">&#40;</span>match<span class="br0">&#41;</span> wpEditToken = getInputValueFromStr<span class="br0">&#40;</span>match<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
				regexp.<span class="me1">compile</span><span class="br0">&#40;</span>/<span class="br0">&#40;</span>&lt;input<span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+<span class="kw3">name</span>=<span class="st0">&quot;wpWatchthis&quot;</span><span class="br0">&#91;</span>^&gt;<span class="br0">&#93;</span>+&gt;<span class="br0">&#41;</span>/<span class="br0">&#41;</span>
				match=regexp.<span class="me1">exec</span><span class="br0">&#40;</span>req.<span class="me1">responseText</span><span class="br0">&#41;</span>
				<span class="kw1">if</span><span class="br0">&#40;</span>match<span class="br0">&#41;</span> wpWatchthis = getInputValueFromStr<span class="br0">&#40;</span>match<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
				<span class="kw2">var</span> varStr = getVariablesStrForSaving<span class="br0">&#40;</span><span class="br0">&#41;</span>
				<span class="kw2">var</span> reqSubmit=<span class="kw2">new</span> XMLHttpRequest<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
				<span class="kw2">var</span> post = <span class="st0">&quot;wpTextbox1=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>varStr<span class="br0">&#41;</span> + <span class="st0">&quot;&amp;wpSummary=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>Summeray<span class="br0">&#41;</span>
				post = post + <span class="st0">&quot;&amp;wpStarttime=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>wpStarttime<span class="br0">&#41;</span>
				post = post + <span class="st0">&quot;&amp;wpEdittime=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>wpEdittime<span class="br0">&#41;</span>
				post = post + <span class="st0">&quot;&amp;wpEditToken=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>wpEditToken<span class="br0">&#41;</span>
				post = post + <span class="st0">&quot;&amp;wpWatchthis=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>wpWatchthis<span class="br0">&#41;</span>
&nbsp;
				reqSubmit.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;POST&quot;</span>,<span class="st0">&quot;/w/index.php?title=Utilisateur:&quot;</span> + wgUserName  + <span class="st0">&quot;/AdvancedContribs.js&amp;action=submit&quot;</span>, <span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
				reqSubmit.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">'Content-Type'</span>, <span class="st0">'application/x-www-form-urlencoded'</span><span class="br0">&#41;</span>
				reqSubmit.<span class="me1">send</span><span class="br0">&#40;</span>post<span class="br0">&#41;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
&nbsp;
	req.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span>,<span class="st0">&quot;/w/index.php?title=Utilisateur:&quot;</span> + wgUserName  + <span class="st0">&quot;/AdvancedContribs.js&amp;action=edit&quot;</span>, <span class="kw2">true</span><span class="br0">&#41;</span>
	req.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">'Content-Type'</span>, <span class="st0">'application/x-www-form-urlencoded'</span><span class="br0">&#41;</span>
	req.<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>
&nbsp;
&nbsp;
<span class="co1">//renvoi true si l'user est une ip</span>
<span class="kw2">function</span> isIP<span class="br0">&#40;</span>user<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> match = user.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">&quot;.&quot;</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> i
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>match.<span class="me1">length</span> != <span class="nu0">4</span><span class="br0">&#41;</span> <span class="kw1">return</span> <span class="kw2">false</span>
&nbsp;
	<span class="kw1">for</span><span class="br0">&#40;</span>i=<span class="nu0">0</span>;i!=<span class="nu0">4</span>;i++<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		match<span class="br0">&#91;</span>i<span class="br0">&#93;</span> = parseInt<span class="br0">&#40;</span>match<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>isNaN<span class="br0">&#40;</span>match<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">return</span> <span class="kw2">false</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>match<span class="br0">&#91;</span>i<span class="br0">&#93;</span>&lt;<span class="nu0">0</span> || match<span class="br0">&#91;</span>i<span class="br0">&#93;</span>&gt;<span class="nu0">255</span><span class="br0">&#41;</span> <span class="kw1">return</span> <span class="kw2">false</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">return</span> <span class="kw2">true</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//met la page en attente de la fin des chargement ou la libere</span>
<span class="co1">//true pour dire qu'elle fait les requetes, false pour la liberer</span>
<span class="kw2">function</span> setPageLocked<span class="br0">&#40;</span>state<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
&nbsp;
	document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'btn_save'</span><span class="br0">&#41;</span>.<span class="me1">disabled</span> =state
	document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'btn_reload'</span><span class="br0">&#41;</span>.<span class="me1">disabled</span> =state
&nbsp;
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//initialise la page pour qu'elle puisse recevoir les contribs</span>
<span class="kw2">function</span> initPage<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> div = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'contribContent'</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> table = document.<span class="me1">createElement</span><span class="br0">&#40;</span><span class="st0">'table'</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> date = <span class="kw2">new</span> Date<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	addWarning<span class="br0">&#40;</span>AC_INITTITLE<span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>AC_version_LOC != AC_version<span class="br0">&#41;</span> addWarning<span class="br0">&#40;</span>AC_CHANGEVERSION<span class="br0">&#41;</span>
&nbsp;
	table.<span class="me1">id</span> = <span class="st0">'tablecontrib'</span>
	table.<span class="me1">cellPadding</span> = <span class="nu0">0</span>
	table.<span class="me1">cellSpacing</span> = <span class="nu0">0</span>
&nbsp;
	div.<span class="me1">innerHTML</span> = <span class="st0">''</span>
	div.<span class="me1">appendChild</span><span class="br0">&#40;</span>table<span class="br0">&#41;</span>
&nbsp;
	<span class="co1">//jetlag</span>
	date.<span class="me1">setTime</span><span class="br0">&#40;</span>date.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="br0">&#40;</span>date.<span class="me1">getTimezoneOffset</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>*<span class="nu0">60</span>*<span class="nu0">1000</span><span class="br0">&#41;</span>
	<span class="co1">//on recul de AC_delayContrib_LOC jours</span>
	AC_dateLimit = <span class="kw2">new</span> Date<span class="br0">&#40;</span>date.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span> - AC_delayContrib_LOC * <span class="nu0">60</span> * <span class="nu0">60</span> * <span class="nu0">1000</span><span class="br0">&#41;</span>
	AC_timeStampLimit = getTimeStamp<span class="br0">&#40;</span>AC_dateLimit<span class="br0">&#41;</span>
&nbsp;
	AC_ArticlesWrotten = <span class="kw2">new</span> Object<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>AC_FollowState == <span class="kw2">true</span><span class="br0">&#41;</span> toggleFollowAnchor<span class="br0">&#40;</span><span class="br0">&#41;</span>
	AC_FollowState = <span class="kw2">false</span> 
	AC_Anchors = <span class="kw2">false</span> <span class="co1">//pour reforcer l'état des anchors</span>
&nbsp;
	AC_requestStack = <span class="nu0">0</span>
&nbsp;
	setPageLocked<span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//lance les requetes qui vont chercher les contributions des utilisateurs</span>
<span class="kw2">function</span> getData<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> i
&nbsp;
	initPage<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>AC_includeFollowList_LOC<span class="br0">&#41;</span>
		getDataFollowList<span class="br0">&#40;</span><span class="br0">&#41;</span>
	<span class="kw1">else</span> <span class="co1">//c'est la liste de suivi qui appellera celle la</span>
		<span class="kw1">for</span><span class="br0">&#40;</span>i=<span class="nu0">0</span>;i&lt;AC_BlackList.<span class="me1">length</span>;i++<span class="br0">&#41;</span>
			getDataUserContrib<span class="br0">&#40;</span>AC_BlackList<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//fait la requete des contributions de cet user</span>
<span class="kw2">function</span> getDataUserContrib<span class="br0">&#40;</span>user<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> i
	<span class="kw2">var</span> req=<span class="kw2">new</span> XMLHttpRequest<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	req.<span class="me1">user</span> = user
	req.<span class="me1">ip</span> = isIP<span class="br0">&#40;</span>user<span class="br0">&#41;</span>
	req.<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>req.<span class="me1">readyState</span> == <span class="nu0">4</span><span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			<span class="kw1">if</span><span class="br0">&#40;</span>req.<span class="kw3">status</span>==<span class="nu0">200</span><span class="br0">&#41;</span>
			<span class="br0">&#123;</span>
				<span class="kw1">if</span><span class="br0">&#40;</span>!req.<span class="me1">responseXML</span><span class="br0">&#41;</span> 
					addAlert<span class="br0">&#40;</span><span class="st0">&quot;Echec lors de la requete des contributions de &quot;</span> + req.<span class="me1">user</span><span class="br0">&#41;</span>
				<span class="kw1">else</span> 
				<span class="br0">&#123;</span>
					cleanQueryContinue<span class="br0">&#40;</span>req.<span class="me1">responseXML</span>, AC_USERCONTRIBLIMIT, req.<span class="me1">user</span><span class="br0">&#41;</span>
&nbsp;
					<span class="kw1">if</span><span class="br0">&#40;</span>req.<span class="me1">ip</span><span class="br0">&#41;</span> getHistoriesFromIpContrib<span class="br0">&#40;</span>req.<span class="me1">responseXML</span>, req.<span class="me1">user</span><span class="br0">&#41;</span>
					<span class="kw1">else</span> getHistoriesFromUserContrib<span class="br0">&#40;</span>req.<span class="me1">responseXML</span>, req.<span class="me1">user</span><span class="br0">&#41;</span>
				<span class="br0">&#125;</span>
&nbsp;
				AC_requestStack-- 
				<span class="kw1">if</span><span class="br0">&#40;</span>AC_requestStack==<span class="nu0">0</span><span class="br0">&#41;</span> setPageLocked<span class="br0">&#40;</span><span class="kw2">false</span><span class="br0">&#41;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>req.<span class="me1">ip</span><span class="br0">&#41;</span>
		req.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span>,<span class="st0">&quot;/w/query.php?what=usercontribs&amp;titles=User:&quot;</span> + user + <span class="st0">&quot;&amp;uclimit=&quot;</span> + AC_userContribLimit + <span class="st0">&quot;&amp;format=xml&quot;</span>, <span class="kw2">true</span><span class="br0">&#41;</span>
	<span class="kw1">else</span>
		req.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span>,<span class="st0">&quot;/w/api.php?action=query&amp;list=usercontribs&amp;ucuser=&quot;</span> + user + <span class="st0">&quot;&amp;ucprop=title&amp;uclimit=&quot;</span> + AC_userContribLimit + <span class="st0">&quot;&amp;format=xml&amp;ucend=&quot;</span> + AC_timeStampLimit, <span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	req.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">'Content-Type'</span>, <span class="st0">'text/xml; charset=utf-8'</span><span class="br0">&#41;</span>
	req.<span class="me1">send</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>
	AC_requestStack++
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//fait la requete de la liste de suivi</span>
<span class="kw2">function</span> getDataFollowList<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> req=<span class="kw2">new</span> XMLHttpRequest<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	req.<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>req.<span class="me1">readyState</span> == <span class="nu0">4</span><span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			<span class="kw1">if</span><span class="br0">&#40;</span>req.<span class="kw3">status</span>==<span class="nu0">200</span><span class="br0">&#41;</span>
			<span class="br0">&#123;</span>
				<span class="kw1">if</span><span class="br0">&#40;</span>!req.<span class="me1">responseXML</span><span class="br0">&#41;</span> addAlert<span class="br0">&#40;</span><span class="st0">&quot;Echec lors de la requete de votre liste de suvi&quot;</span><span class="br0">&#41;</span>
				<span class="kw1">else</span> 
				<span class="br0">&#123;</span>
					cleanQueryContinue<span class="br0">&#40;</span>req.<span class="me1">responseXML</span>, AC_WATCHLISTLIMIT, <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>
&nbsp;
					writeWatchList<span class="br0">&#40;</span>req.<span class="me1">responseXML</span><span class="br0">&#41;</span>
&nbsp;
					<span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> i=<span class="nu0">0</span>;i&lt;AC_BlackList.<span class="me1">length</span>;i++<span class="br0">&#41;</span> <span class="co1">//pour pouvoir mettre l'async, on met ça</span>
						getDataUserContrib<span class="br0">&#40;</span>AC_BlackList<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>
				<span class="br0">&#125;</span>
&nbsp;
				AC_requestStack-- 
				<span class="kw1">if</span><span class="br0">&#40;</span>AC_requestStack==<span class="nu0">0</span><span class="br0">&#41;</span> setPageLocked<span class="br0">&#40;</span><span class="kw2">false</span><span class="br0">&#41;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
&nbsp;
	req.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GeT&quot;</span>, <span class="st0">&quot;/w/api.php?action=query&amp;generator=watchlist&amp;gwlallrev&amp;prop=revisions&amp;gwllimit=&quot;</span> + AC_watchListLimit + <span class="st0">&quot;&amp;format=xml&amp;gwlend=&quot;</span> + AC_timeStampLimit, <span class="kw2">true</span><span class="br0">&#41;</span>
	req.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">'Content-Type'</span>, <span class="st0">'text/xml; charset=utf-8'</span><span class="br0">&#41;</span>
	req.<span class="me1">send</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>
	AC_requestStack++ 
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//nettoie les query-continue et affiche les warnings</span>
<span class="kw2">function</span> cleanQueryContinue<span class="br0">&#40;</span>XmlDoc, alertType, data<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> nodes = XmlDoc.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'query-continue'</span><span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>nodes.<span class="me1">length</span>!=<span class="nu0">0</span><span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		<span class="kw2">var</span> node = nodes<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>
		node.<span class="me1">parentNode</span>.<span class="me1">removeChild</span><span class="br0">&#40;</span>node<span class="br0">&#41;</span>
		addWarning<span class="br0">&#40;</span>alertType, data<span class="br0">&#41;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//cherche les contributions d'ip</span>
<span class="kw2">function</span> getHistoriesFromIpContrib<span class="br0">&#40;</span>XmlDoc, Ip<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> XmlContribs = XmlDoc.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'contributions'</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> i, len
	<span class="kw2">var</span> article
	<span class="kw2">var</span> date
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>XmlContribs.<span class="me1">length</span>==<span class="nu0">0</span><span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		addAlert<span class="br0">&#40;</span><span class="st0">&quot;impossible de trouver les contributions de &quot;</span> + User<span class="br0">&#41;</span> 
		<span class="kw1">return</span>
	<span class="br0">&#125;</span>
&nbsp;
	XmlContribs = XmlContribs<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">childNodes</span>
&nbsp;
	len = XmlContribs.<span class="me1">length</span>
&nbsp;
	<span class="kw1">for</span><span class="br0">&#40;</span>i=<span class="nu0">0</span>; i&lt;len; i++<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		date = parseDate<span class="br0">&#40;</span>XmlContribs<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">timestamp</span>.<span class="me1">value</span><span class="br0">&#41;</span>
		article = XmlContribs<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">textContent</span>
&nbsp;
		<span class="kw1">if</span><span class="br0">&#40;</span>AC_dateLimit.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&gt; date.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">break</span>;
&nbsp;
		<span class="kw1">if</span><span class="br0">&#40;</span>AC_ArticlesWrotten<span class="br0">&#91;</span>article<span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="kw1">continue</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>article.<span class="me1">length</span> == <span class="nu0">0</span><span class="br0">&#41;</span> <span class="kw1">continue</span>
		getArticleHistory<span class="br0">&#40;</span>article<span class="br0">&#41;</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//prend les contribution d'un utilisateur, et cherche l'historique de tous les articles ou il a contribué</span>
<span class="kw2">function</span> getHistoriesFromUserContrib<span class="br0">&#40;</span>XmlDoc, User<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> XmlContribs = XmlDoc.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'usercontribs'</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> i, len, article
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>XmlContribs.<span class="me1">length</span>==<span class="nu0">0</span><span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		addAlert<span class="br0">&#40;</span><span class="st0">&quot;impossible de trouver les contributions de &quot;</span> + User<span class="br0">&#41;</span>
		<span class="kw1">return</span>
	<span class="br0">&#125;</span>
&nbsp;
	XmlContribs = XmlContribs<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">childNodes</span> <span class="co1">//pour eviter le query-continue</span>
&nbsp;
	len = XmlContribs.<span class="me1">length</span>
&nbsp;
	<span class="kw1">for</span><span class="br0">&#40;</span>i=<span class="nu0">0</span>;i&lt;len;i++<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		article = XmlContribs<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">title</span>.<span class="me1">value</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>AC_ArticlesWrotten<span class="br0">&#91;</span>article<span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="kw1">continue</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>article.<span class="me1">length</span> == <span class="nu0">0</span><span class="br0">&#41;</span> <span class="kw1">continue</span>
		getArticleHistory<span class="br0">&#40;</span>article<span class="br0">&#41;</span>
	<span class="br0">&#125;</span>
&nbsp;
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//lance la requete Ajax qui cherche l'historique</span>
<span class="kw2">function</span> getArticleHistory<span class="br0">&#40;</span>article<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	AC_ArticlesWrotten<span class="br0">&#91;</span>article<span class="br0">&#93;</span> = <span class="kw2">true</span>
&nbsp;
	<span class="kw2">var</span> req=<span class="kw2">new</span> XMLHttpRequest<span class="br0">&#40;</span><span class="br0">&#41;</span>
	req.<span class="me1">article</span> = article
	req.<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>req.<span class="me1">readyState</span> == <span class="nu0">4</span><span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			<span class="kw1">if</span><span class="br0">&#40;</span>req.<span class="kw3">status</span>==<span class="nu0">200</span><span class="br0">&#41;</span>
			<span class="br0">&#123;</span>
&nbsp;
				<span class="kw1">if</span><span class="br0">&#40;</span>!req.<span class="me1">responseXML</span><span class="br0">&#41;</span> addAlert<span class="br0">&#40;</span><span class="st0">&quot;Echec lors de la requete de l'historique de &quot;</span> + req.<span class="me1">article</span><span class="br0">&#41;</span>
				<span class="kw1">else</span>
				<span class="br0">&#123;</span>
					<span class="kw2">var</span> History
&nbsp;
					cleanQueryContinue<span class="br0">&#40;</span>req.<span class="me1">responseXML</span>, AC_HISTORYLIMIT, req.<span class="me1">article</span><span class="br0">&#41;</span>
&nbsp;
					History = req.<span class="me1">responseXML</span>.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'revisions'</span><span class="br0">&#41;</span> 
					<span class="kw1">if</span><span class="br0">&#40;</span>History.<span class="me1">length</span> != <span class="nu0">0</span><span class="br0">&#41;</span>
					<span class="br0">&#123;</span>
						History = History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">childNodes</span>
						writeHistory<span class="br0">&#40;</span>History, req.<span class="me1">article</span>, <span class="kw2">true</span><span class="br0">&#41;</span>
					<span class="br0">&#125;</span>
				<span class="br0">&#125;</span>
&nbsp;
				AC_requestStack-- 
				<span class="kw1">if</span><span class="br0">&#40;</span>AC_requestStack==<span class="nu0">0</span><span class="br0">&#41;</span> setPageLocked<span class="br0">&#40;</span><span class="kw2">false</span><span class="br0">&#41;</span>
			<span class="br0">&#125;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
&nbsp;
	req.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span>,<span class="st0">&quot;/w/api.php?action=query&amp;titles=&quot;</span> + article + <span class="st0">&quot;&amp;format=xml&amp;prop=revisions&amp;rvlimit=&quot;</span> + AC_historyLimit + <span class="st0">&quot;&amp;rvend=&quot;</span> + AC_timeStampLimit, <span class="kw2">true</span><span class="br0">&#41;</span>
	req.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">'Content-Type'</span>, <span class="st0">'text/xml; charset=utf-8'</span><span class="br0">&#41;</span>
	req.<span class="me1">send</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>
&nbsp;
	AC_requestStack++
&nbsp;
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//écrit la liste de suivi</span>
<span class="kw2">function</span> writeWatchList<span class="br0">&#40;</span>XmlDoc<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> Histories 
	<span class="kw2">var</span> article, i
&nbsp;
	Histories = XmlDoc.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'revisions'</span><span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">for</span><span class="br0">&#40;</span>i=<span class="nu0">0</span>;i&lt;Histories.<span class="me1">length</span>;i++<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		article = Histories<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">parentNode</span>.<span class="me1">attributes</span>.<span class="me1">title</span>.<span class="me1">value</span>
		writeHistory<span class="br0">&#40;</span>Histories<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">childNodes</span>, article, <span class="kw2">false</span><span class="br0">&#41;</span> <span class="co1">//les revisions sont marquées dans le mauvais ordre :( d'ou youngestFirst</span>
		AC_ArticlesWrotten<span class="br0">&#91;</span>article<span class="br0">&#93;</span> = <span class="kw2">true</span>
	<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//écrit l'historique de l'article</span>
<span class="co1">//youngestFirst a true si l'historique est classé du plus jeune au plus vieux</span>
<span class="kw2">function</span> writeHistory<span class="br0">&#40;</span>History, article, youngestFirst<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> table = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'tablecontrib'</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> date
	<span class="kw2">var</span> comment
	<span class="kw2">var</span> revid
	<span class="kw2">var</span> user
	<span class="kw2">var</span> i
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>History.<span class="me1">length</span>==<span class="nu0">1</span><span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		user = History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">user</span>.<span class="me1">value</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">comment</span><span class="br0">&#41;</span> comment = History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">comment</span>.<span class="me1">value</span>
		<span class="kw1">else</span> comment = <span class="st0">&quot;&quot;</span>
		revid = History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">revid</span>.<span class="me1">value</span>
		date = parseDate<span class="br0">&#40;</span>History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">timestamp</span>.<span class="me1">value</span><span class="br0">&#41;</span>
&nbsp;
		insertLineContrib<span class="br0">&#40;</span>table, date, article, comment, revid, user, youngestFirst<span class="br0">&#41;</span>
&nbsp;
	<span class="br0">&#125;</span>
	<span class="kw1">else</span>
	<span class="br0">&#123;</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>youngestFirst<span class="br0">&#41;</span> date = parseDate<span class="br0">&#40;</span>History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">timestamp</span>.<span class="me1">value</span><span class="br0">&#41;</span>
		<span class="kw1">else</span> date = parseDate<span class="br0">&#40;</span>History<span class="br0">&#91;</span>History.<span class="me1">length</span><span class="nu0">-1</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">timestamp</span>.<span class="me1">value</span><span class="br0">&#41;</span>
		insertMultipleLineContrib<span class="br0">&#40;</span>table, date, article, History, youngestFirst<span class="br0">&#41;</span>
	<span class="br0">&#125;</span>	
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//rajoute une ligne html dans le tableau a la bonne place, pour les articles ou on a une seule contrib</span>
<span class="co1">//NotFollowed si l'article n'est pas suivi</span>
<span class="kw2">function</span> insertLineContrib<span class="br0">&#40;</span>table, date, article, comment, revid, User, NotFollowed<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> row, cell
	<span class="kw2">var</span> pos 
	<span class="kw2">var</span> strDate = stringDate<span class="br0">&#40;</span>date<span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>!table<span class="br0">&#91;</span>strDate<span class="br0">&#93;</span><span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		table<span class="br0">&#91;</span>strDate<span class="br0">&#93;</span> = <span class="kw2">true</span>
		insertDateRow<span class="br0">&#40;</span>table, date<span class="br0">&#41;</span>
	<span class="br0">&#125;</span>
&nbsp;
	pos = getLineJusteBefore<span class="br0">&#40;</span>table, date<span class="br0">&#41;</span>
&nbsp;
	row=table.<span class="me1">insertRow</span><span class="br0">&#40;</span>pos<span class="br0">&#41;</span>
	row.<span class="me1">style</span>.<span class="me1">whiteSpace</span>=<span class="st0">'nowrap'</span>
	row.<span class="me1">timeStamp</span> = date.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	insertCellsInMainRow<span class="br0">&#40;</span>row, <span class="kw2">false</span>, article, date, revid, revid, NotFollowed, htmlUserLink<span class="br0">&#40;</span>User<span class="br0">&#41;</span>, comment<span class="br0">&#41;</span>
&nbsp;
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="kw2">function</span> insertCellsInMainRow<span class="br0">&#40;</span>row, expand, article, date, revid, oldid, NotFollowed, userStr, comment<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>expand<span class="br0">&#41;</span> 	insertCellHTML<span class="br0">&#40;</span>row, htmlExpandLink<span class="br0">&#40;</span>article<span class="br0">&#41;</span><span class="br0">&#41;</span> 
	<span class="kw1">else</span> insertCellText<span class="br0">&#40;</span>row, <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span> 
&nbsp;
	insertCellText<span class="br0">&#40;</span>row, stringHour<span class="br0">&#40;</span>date<span class="br0">&#41;</span><span class="br0">&#41;</span> 
	insertHistCell<span class="br0">&#40;</span>row, article<span class="br0">&#41;</span> 
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>expand<span class="br0">&#41;</span> insertMultipleDiffCell<span class="br0">&#40;</span>row, article, revid, oldid<span class="br0">&#41;</span>
	<span class="kw1">else</span> insertDiffCell<span class="br0">&#40;</span>row, article, revid<span class="br0">&#41;</span>
	insertEditCell<span class="br0">&#40;</span>row,article<span class="br0">&#41;</span>
&nbsp;
	insertCellHTML<span class="br0">&#40;</span>row, htmlDeleteLink<span class="br0">&#40;</span>article<span class="br0">&#41;</span><span class="br0">&#41;</span> 
	insertArticleCell<span class="br0">&#40;</span>row, article, !NotFollowed<span class="br0">&#41;</span>
&nbsp;
	cell=insertCellHTML<span class="br0">&#40;</span>row, <span class="st0">&quot;[&quot;</span> + userStr + <span class="st0">&quot;]&quot;</span><span class="br0">&#41;</span>
	<span class="kw1">if</span><span class="br0">&#40;</span>comment.<span class="me1">length</span> == <span class="nu0">0</span><span class="br0">&#41;</span> cell.<span class="me1">colSpan</span> = <span class="nu0">2</span>
	<span class="kw1">else</span> insertCellHTML<span class="br0">&#40;</span>row, wikiParse<span class="br0">&#40;</span>comment<span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
<span class="co1">//cree le sous tableau</span>
<span class="co1">//youngestFirst a true si l'historique est classé du plus jeune au plus vieux</span>
<span class="kw2">function</span> insertMultipleLineContrib<span class="br0">&#40;</span>table, date, article, History, youngestFirst<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> pos
	<span class="kw2">var</span> strDate = stringDate<span class="br0">&#40;</span>date<span class="br0">&#41;</span>
	<span class="kw2">var</span> subtable = document.<span class="me1">createElement</span><span class="br0">&#40;</span><span class="st0">&quot;table&quot;</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> subcell, subrow, mainrow
	<span class="kw2">var</span> user
	<span class="kw2">var</span> userList = <span class="kw2">new</span> Object<span class="br0">&#40;</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> first = <span class="kw2">true</span>
	<span class="kw2">var</span> usersStr
	<span class="kw2">var</span> oldid, revid
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>!table<span class="br0">&#91;</span>strDate<span class="br0">&#93;</span><span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		table<span class="br0">&#91;</span>strDate<span class="br0">&#93;</span> = <span class="kw2">true</span>
		insertDateRow<span class="br0">&#40;</span>table, date<span class="br0">&#41;</span>
	<span class="br0">&#125;</span>
&nbsp;
	pos = getLineJusteBefore<span class="br0">&#40;</span>table, date<span class="br0">&#41;</span>
&nbsp;
	<span class="co1">//la ligne qui contient le tableau</span>
	subrow=table.<span class="me1">insertRow</span><span class="br0">&#40;</span>pos<span class="br0">&#41;</span>
	subrow.<span class="me1">style</span>.<span class="me1">whiteSpace</span>=<span class="st0">'nowrap'</span>
	subrow.<span class="me1">timeStamp</span> = date.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
	insertCellHTML<span class="br0">&#40;</span>subrow,<span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>
	subcell=insertCellHTML<span class="br0">&#40;</span>subrow, <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>
	subcell.<span class="me1">colSpan</span>=<span class="nu0">8</span>
&nbsp;
	subtable.<span class="me1">cellPadding</span> = <span class="nu0">0</span>
	subtable.<span class="me1">cellSpacing</span> = <span class="nu0">0</span> 
	subtable.<span class="me1">id</span> = <span class="st0">'_ACH_'</span> + article
	subtable.<span class="me1">style</span>.<span class="me1">display</span>=<span class="st0">'none'</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>youngestFirst<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		revid = History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">revid</span>.<span class="me1">value</span>
		oldid = History<span class="br0">&#91;</span>History.<span class="me1">length</span><span class="nu0">-1</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">revid</span>.<span class="me1">value</span>
&nbsp;
		<span class="kw1">for</span><span class="br0">&#40;</span>i=<span class="nu0">0</span>;i!=History.<span class="me1">length</span>;i++<span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			user = insertLineSubContrib<span class="br0">&#40;</span>subtable, article, History<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
			<span class="kw1">if</span><span class="br0">&#40;</span>userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span><span class="br0">&#41;</span> userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span>++
			<span class="kw1">else</span> userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span> = <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>
		revid = History<span class="br0">&#91;</span>History.<span class="me1">length</span><span class="nu0">-1</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">revid</span>.<span class="me1">value</span>
		oldid = History<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">attributes</span>.<span class="me1">revid</span>.<span class="me1">value</span>
&nbsp;
		<span class="kw1">for</span><span class="br0">&#40;</span>i=History.<span class="me1">length</span><span class="nu0">-1</span>;i&gt;=<span class="nu0">0</span>;i--<span class="br0">&#41;</span>
		<span class="br0">&#123;</span>
			user = insertLineSubContrib<span class="br0">&#40;</span>subtable, article, History<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
			<span class="kw1">if</span><span class="br0">&#40;</span>userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span><span class="br0">&#41;</span> userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span>++
			<span class="kw1">else</span> userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span> = <span class="nu0">1</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="co1">//et on écrit la ligne principale, maintenant qu'on a les users</span>
	usersStr = <span class="st0">&quot;&quot;</span>
	<span class="kw1">for</span><span class="br0">&#40;</span>user <span class="kw1">in</span> userList<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>!first<span class="br0">&#41;</span> usersStr = usersStr + <span class="st0">&quot;; &quot;</span>
		<span class="kw1">else</span> first = <span class="kw2">false</span>
		usersStr = usersStr +  htmlUserPageLink<span class="br0">&#40;</span>user<span class="br0">&#41;</span> 
		<span class="kw1">if</span><span class="br0">&#40;</span>userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span> != <span class="nu0">1</span><span class="br0">&#41;</span> usersStr = usersStr + <span class="st0">&quot; (&quot;</span> +userList<span class="br0">&#91;</span>user<span class="br0">&#93;</span> + <span class="st0">&quot;x)&quot;</span>
	<span class="br0">&#125;</span> 
&nbsp;
	mainrow=table.<span class="me1">insertRow</span><span class="br0">&#40;</span>pos<span class="br0">&#41;</span>
	mainrow.<span class="me1">style</span>.<span class="me1">whiteSpace</span>=<span class="st0">'nowrap'</span>
	mainrow.<span class="me1">timeStamp</span> = date.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
	insertCellsInMainRow<span class="br0">&#40;</span>mainrow, <span class="kw2">true</span>, article, date, revid, oldid, youngestFirst, usersStr, <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span>
&nbsp;
	subcell.<span class="me1">appendChild</span><span class="br0">&#40;</span>subtable<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//line de contribution d'un article, retourne l'user</span>
<span class="kw2">function</span> insertLineSubContrib<span class="br0">&#40;</span>table, article, revision<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> row =table.<span class="me1">insertRow</span><span class="br0">&#40;</span><span class="nu0">-1</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> date = parseDate<span class="br0">&#40;</span>revision.<span class="me1">attributes</span>.<span class="me1">timestamp</span>.<span class="me1">value</span><span class="br0">&#41;</span>
	<span class="kw2">var</span> user = revision.<span class="me1">attributes</span>.<span class="me1">user</span>.<span class="me1">value</span>
	<span class="kw2">var</span> revid = revision.<span class="me1">attributes</span>.<span class="me1">revid</span>.<span class="me1">value</span>
	<span class="kw2">var</span> comment = <span class="st0">&quot;&quot;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>revision.<span class="me1">attributes</span>.<span class="me1">comment</span><span class="br0">&#41;</span> comment = revision.<span class="me1">attributes</span>.<span class="me1">comment</span>.<span class="me1">value</span>
&nbsp;
	insertCellHTML<span class="br0">&#40;</span>row, <span class="st0">&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;</span><span class="br0">&#41;</span>
	insertRevisionCell<span class="br0">&#40;</span>row, article, date, revid<span class="br0">&#41;</span>
	insertDiffCell<span class="br0">&#40;</span>row, article, revid<span class="br0">&#41;</span>
	insertCellHTML<span class="br0">&#40;</span>row, htmlUserLink<span class="br0">&#40;</span>user<span class="br0">&#41;</span><span class="br0">&#41;</span>
	insertCellHTML<span class="br0">&#40;</span>row, wikiParse<span class="br0">&#40;</span>comment<span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">return</span> user
<span class="br0">&#125;</span> 
&nbsp;
&nbsp;
<span class="co1">//affiche/cache un historique</span>
<span class="kw2">function</span> expandHistory<span class="br0">&#40;</span>article<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> table = document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">'_ACH_'</span> + article<span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>!table<span class="br0">&#41;</span> <span class="kw1">return</span>
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>table.<span class="me1">style</span>.<span class="me1">display</span>==<span class="st0">'none'</span><span class="br0">&#41;</span> table.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">'inline'</span>
	<span class="kw1">else</span> table.<span class="me1">style</span>.<span class="me1">display</span> = <span class="st0">'none'</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//lien qui affiche/cache la table de l'historique d'un article</span>
<span class="kw2">function</span> htmlExpandLink<span class="br0">&#40;</span>article<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw1">return</span> <span class="st0">'&lt;a title=&quot;expand&quot; href=&quot;javascript:expandHistory(<span class="es0">\'</span>'</span> + article.<span class="me1">replace</span><span class="br0">&#40;</span>/<span class="st0">'/, &quot;<span class="es0">\\</span>'</span><span class="st0">&quot;) + '<span class="es0">\'</span>)&quot;</span>&gt;#&lt;/a&gt;<span class="st0">'
&nbsp;
}
&nbsp;
&nbsp;
//rajoute une ligne avec la date
function insertDateRow(table, date)
{
	var localDate = new Date()
&nbsp;
	localDate.setTime(date.getTime()) 
	localDate.setHours(23, 59, 59, 999)
&nbsp;
	var pos = getLineJusteBefore(table, localDate)
	var row =table.insertRow(pos)
	var cell = row.insertCell(-1)
&nbsp;
	row.timeStamp = localDate.getTime()
&nbsp;
	cell.colSpan=8
	cell.style.paddingTop= '</span>6px<span class="st0">'
	cell.style.borderBottom = '</span>1px solid blue<span class="st0">'
	cell.innerHTML = &quot;&lt;b&gt;&quot; + stringDate(date) + &quot;&lt;/b&gt;&quot;
}
&nbsp;
//cherche la position pour l'</span>insertion, y<span class="st0">'a plus qu'</span>a faire une recherche dichotomique. <span class="me1">Un</span> bisou à celui qui le fait :-<span class="br0">&#41;</span>
<span class="kw2">function</span> getLineJusteBefore<span class="br0">&#40;</span>table, date<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> i;
	<span class="kw2">var</span> timeStamp = date.<span class="me1">getTime</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	<span class="kw1">for</span><span class="br0">&#40;</span>i=<span class="nu0">0</span>; i&lt;table.<span class="me1">rows</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>timeStamp &gt; table.<span class="me1">rows</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">timeStamp</span><span class="br0">&#41;</span>
			<span class="kw1">return</span> i
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">return</span> i
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//insere une cellule formatée avec de l'html dedans</span>
<span class="kw2">function</span> insertCellHTML<span class="br0">&#40;</span>row, innerHTML<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=row.<span class="me1">insertCell</span><span class="br0">&#40;</span><span class="nu0">-1</span><span class="br0">&#41;</span>
	cell.<span class="me1">style</span>.<span class="me1">paddingRight</span>=<span class="st0">'3px'</span>
	cell.<span class="me1">innerHTML</span> = innerHTML
	cell.<span class="me1">style</span>.<span class="me1">width</span>=<span class="st0">'0%'</span>
&nbsp;
	<span class="kw1">return</span> cell
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//insere une cellule formatée avec du texte dedans</span>
<span class="kw2">function</span> insertCellText<span class="br0">&#40;</span>row, Text<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=row.<span class="me1">insertCell</span><span class="br0">&#40;</span><span class="nu0">-1</span><span class="br0">&#41;</span>
	cell.<span class="me1">style</span>.<span class="me1">paddingRight</span>=<span class="st0">'3px'</span>
	cell.<span class="me1">textContent</span> = Text
	cell.<span class="me1">style</span>.<span class="me1">width</span>=<span class="st0">'0%'</span>
&nbsp;
	<span class="kw1">return</span> cell
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//renvoi le nom du mois</span>
<span class="kw2">function</span> getMonthName<span class="br0">&#40;</span>m<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw1">switch</span><span class="br0">&#40;</span>m<span class="br0">&#41;</span>
	<span class="br0">&#123;</span>
		<span class="kw1">case</span> <span class="nu0">0</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;janvier&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">1</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;février&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">2</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;mars&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">3</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;avril&quot;</span><span class="br0">&#125;</span> 
		<span class="kw1">case</span> <span class="nu0">4</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;mai&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">5</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;juin&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">6</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;juillet&quot;</span><span class="br0">&#125;</span> 
		<span class="kw1">case</span> <span class="nu0">7</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;août&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">8</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;septembre&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">9</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;octobre&quot;</span><span class="br0">&#125;</span> 
		<span class="kw1">case</span> <span class="nu0">10</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;novembre&quot;</span><span class="br0">&#125;</span>
		<span class="kw1">case</span> <span class="nu0">11</span>: <span class="br0">&#123;</span><span class="kw1">return</span> <span class="st0">&quot;décembre&quot;</span><span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
&nbsp;
	<span class="kw1">return</span> <span class="st0">&quot;&quot;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//renoi une chaine de caractère avec l'heure</span>
<span class="kw2">function</span> stringHour<span class="br0">&#40;</span>d<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw1">return</span> toNString<span class="br0">&#40;</span>d.<span class="me1">getHours</span><span class="br0">&#40;</span><span class="br0">&#41;</span>,<span class="nu0">2</span><span class="br0">&#41;</span> + <span class="st0">&quot;h&quot;</span> + toNString<span class="br0">&#40;</span>d.<span class="me1">getMinutes</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, <span class="nu0">2</span><span class="br0">&#41;</span> 
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//renoi une chaine de caractère avec la date</span>
<span class="kw2">function</span> stringDate<span class="br0">&#40;</span>d<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw1">return</span> d.<span class="me1">getDate</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="st0">&quot; &quot;</span> + getMonthName<span class="br0">&#40;</span>d.<span class="me1">getMonth</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> + <span class="st0">&quot; &quot;</span> + d.<span class="me1">getFullYear</span><span class="br0">&#40;</span><span class="br0">&#41;</span> 
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
<span class="co1">//insere une cellule formatée avec un anchor hist dedans</span>
<span class="kw2">function</span> insertHistCell<span class="br0">&#40;</span>row, article<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=AC_CellWithAnchor.<span class="me1">cloneNode</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	cell.<span class="me1">firstChild</span>.<span class="me1">title</span> = <span class="st0">'historique'</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">href</span> = <span class="st0">'/w/index.php?title='</span> + encodeURIComponent<span class="br0">&#40;</span>article<span class="br0">&#41;</span> + <span class="st0">'&amp;action=history'</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">textContent</span> = <span class="st0">'(hist)'</span>
&nbsp;
	row.<span class="me1">appendChild</span><span class="br0">&#40;</span>cell<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//insere une cellule formatée avec un anchor vers une version précise</span>
<span class="kw2">function</span> insertRevisionCell<span class="br0">&#40;</span>row, article, date, revid<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=AC_CellWithAnchor.<span class="me1">cloneNode</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	cell.<span class="me1">firstChild</span>.<span class="me1">title</span> = <span class="st0">'Version'</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">href</span> = <span class="st0">&quot;/w/index.php?title=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>article<span class="br0">&#41;</span> + <span class="st0">&quot;&amp;oldid=&quot;</span> + revid
	cell.<span class="me1">firstChild</span>.<span class="me1">textContent</span> = stringHour<span class="br0">&#40;</span>date<span class="br0">&#41;</span>
&nbsp;
	row.<span class="me1">appendChild</span><span class="br0">&#40;</span>cell<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//insere une cellule formatée avec un anchor vers un diff multipple</span>
<span class="kw2">function</span> insertMultipleDiffCell<span class="br0">&#40;</span>row, article, revid, oldid<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=AC_CellWithAnchor.<span class="me1">cloneNode</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	cell.<span class="me1">firstChild</span>.<span class="me1">title</span> = <span class="st0">'diff'</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">href</span> = <span class="st0">&quot;/w/index.php?title=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>article<span class="br0">&#41;</span> + <span class="st0">&quot;&amp;diff=&quot;</span> + revid + <span class="st0">&quot;&amp;oldid=&quot;</span> + oldid + <span class="st0">&quot;&amp;direction=prev&quot;</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">textContent</span> = <span class="st0">&quot;(diff)&quot;</span>
&nbsp;
	row.<span class="me1">appendChild</span><span class="br0">&#40;</span>cell<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//insere une cellule formatée avec un anchor vers un diff</span>
<span class="kw2">function</span> insertDiffCell<span class="br0">&#40;</span>row, article, oldid<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=AC_CellWithAnchor.<span class="me1">cloneNode</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	cell.<span class="me1">firstChild</span>.<span class="me1">title</span> = <span class="st0">'diff'</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">href</span> = <span class="st0">&quot;/w/index.php?title=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>article<span class="br0">&#41;</span> + <span class="st0">&quot;&amp;diff=prev&amp;oldid=&quot;</span> + oldid
	cell.<span class="me1">firstChild</span>.<span class="me1">textContent</span> = <span class="st0">&quot;(diff)&quot;</span>
&nbsp;
	row.<span class="me1">appendChild</span><span class="br0">&#40;</span>cell<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//insere une cellull formatée avec un lien édit</span>
<span class="kw2">function</span> insertEditCell<span class="br0">&#40;</span>row, article<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=AC_CellWithAnchor.<span class="me1">cloneNode</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	cell.<span class="me1">firstChild</span>.<span class="me1">title</span> = <span class="st0">&quot;éditer&quot;</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">href</span> = <span class="st0">&quot;/w/index.php?title=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>article<span class="br0">&#41;</span> + <span class="st0">&quot;&amp;action=edit&quot;</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">textContent</span> = <span class="st0">&quot;(edit)&quot;</span>
&nbsp;
	row.<span class="me1">appendChild</span><span class="br0">&#40;</span>cell<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//insere une cellull formatée avec un lien édit</span>
<span class="kw2">function</span> insertRevertCell<span class="br0">&#40;</span>row, article, token<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=AC_CellWithAnchor.<span class="me1">cloneNode</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	cell.<span class="me1">firstChild</span>.<span class="me1">title</span> = <span class="st0">&quot;Reverter&quot;</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">href</span> = <span class="st0">&quot;/w/index.php?title=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>article<span class="br0">&#41;</span> + <span class="st0">&quot;&amp;action=rollback&amp;from=&quot;</span> + encodeURIComponent<span class="br0">&#40;</span>wgUserName<span class="br0">&#41;</span> + <span class="st0">&quot;&amp;token=&quot;</span> + token
	cell.<span class="me1">firstChild</span>.<span class="me1">textContent</span> = <span class="st0">&quot;(revert)&quot;</span>
&nbsp;
	row.<span class="me1">appendChild</span><span class="br0">&#40;</span>cell<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">//insere une cellule formatée avec un anchor vers un article</span>
<span class="kw2">function</span> insertArticleCell<span class="br0">&#40;</span>row, article, redBorder<span class="br0">&#41;</span> 
<span class="br0">&#123;</span>
	<span class="kw2">var</span> cell=AC_CellWithAnchor.<span class="me1">cloneNode</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>
&nbsp;
	cell.<span class="me1">firstChild</span>.<span class="me1">title</span> = article
	cell.<span class="me1">firstChild</span>.<span class="me1">href</span> = <span class="st0">&quot;/wiki/&quot;</span> + article
	<span class="kw1">if</span><span class="br0">&#40;</span>article.<span class="me1">length</span>&gt;<span class="nu0">90</span><span class="br0">&#41;</span> article = article.<span class="me1">substring</span><span class="br0">&#40;</span><span class="nu0">0</span>,<span class="nu0">87</span><span class="br0">&#41;</span> + <span class="st0">'...'</span>
	cell.<span class="me1">firstChild</span>.<span class="me1">textContent</span> = article
&nbsp;
	<span class="kw1">if</span><span class="br0">&#40;</span>redBorder<span class="br0">&#41;</span> cell.<span class="me1">firstChild</span>.<span class="me1">style</span>.<span class="me1">borderBottom</span> = <span class="st0">'1px solid red'</span>
&nbsp;
	row.<span class="me1">appendChild</span><span class="br0">&#40;</span>cell<span class="br0">&#41;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//lien vers un article</span>
<span class="kw2">function</span> htmlArticleLink<span class="br0">&#40;</span>article<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw1">return</span> <span class="st0">&quot;&lt;a title='&quot;</span> + article.<span class="me1">replace</span><span class="br0">&#40;</span>/<span class="st0">'/, &quot;<span class="es0">\\</span>'</span><span class="st0">&quot;) + &quot;</span><span class="st0">' href='</span><span class="re0">/wiki/</span><span class="st0">&quot; + encodeURIComponent(article).replace(/'/, &quot;</span>\\<span class="st0">'&quot;) + &quot;'</span>&gt;<span class="st0">&quot; + article + &quot;</span>&lt;/a&gt;<span class="st0">&quot;
}
&nbsp;
//lien delete
function htmlDeleteLink(article)
{
	if (AC_displayDeleteLink)
		return &quot;</span>&lt;a title=<span class="st0">'supprimer'</span> href=<span class="st0">'/w/index.php?title=&quot; + encodeURIComponent(article).replace(/'</span>/, <span class="st0">&quot;<span class="es0">\\</span>'&quot;</span><span class="br0">&#41;</span> + <span class="st0">&quot;&amp;action=delete'&gt;&quot;</span> + 
		<span class="st0">&quot;&lt;img width='14' height='14' style='margin-top:2px' src='http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Crystal_error.png/14px-Crystal_error.png' longdesc='/wiki/Image:Crystal_error.png'/&gt;&lt;/a&gt;&quot;</span>
&nbsp;
	<span class="kw1">return</span> <span class="st0">&quot;&quot;</span>
<span class="br0">&#125;</span>
&nbsp;
<span class="co1">//lien user</span>
<span class="kw2">function</span> htmlUserLink<span class="br0">&#40;</span>User<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
	<span class="kw2">var</span> UserURI = encodeURIComponent<span class="br0">&#40;</span>User<span class="br0">&#41;</span>.<span class="me1">replace</span><span class="br0">&#40;</span>/<span class="st0">'/, &quot;<span class="es0">\\</span>'</span><span class="st0">&quot;)
&nbsp;
	return  htmlUserPageLink(User) + &quot;</span>&lt;small&gt;&amp;nbsp;<span class="br0">&#40;</span><span class="st0">&quot; +
			&quot;</span>&lt;a href=<span class="st0">'/wiki/Discussion_Utilisateur:&quot; + UserURI + &quot;'</span>&gt;d&lt;/a&gt;&amp;nbsp;<span class="st0">&quot; +
			&quot;</span>&lt;a href=<span class="st0">'/wiki/Special:Contributions/&quot; + UserURI + &quot;'</span>&gt;c&lt;/a&gt;&amp;nbsp;<span class="st0">&quot; +
			&quot;</span>&lt;a href=<span class="st0">'/wiki/Special:Blockip/&quot; + UserURI + &quot;'</span>&gt;b&lt;<span class="re0">/a&gt;<span class="br0">&#41;</span>&lt;/</span>small&gt;<span class="st0">&quot; 			
}
&nbsp;
//lien page user, souligne en rouge si suivi
function htmlUserPageLink(User)
{
	return &quot;</span>&lt;a title=<span class="st0">'Utilisateur:&quot; + User.replace(&quot;'</span><span class="st0">&quot;, &quot;</span>\\<span class="st0">'&quot;) + &quot;'</span> href=<span class="st0">'/wiki/Utilisateur:&quot; + encodeURIComponent(User.replace(&quot;'</span><span class="st0">&quot;, &quot;</span>\\<span class="st0">'&quot;)) + &quot;'</span> <span class="st0">&quot; + 
			iif(AC_BlackList.indexOf(User)!=-1, &quot;</span>style=<span class="st0">'border-bottom:1px solid red'</span><span class="st0">&quot;,&quot;</span><span class="st0">&quot;) + &quot;</span>&gt;<span class="st0">&quot; + User + &quot;</span>&lt;/a&gt;<span class="st0">&quot;
&nbsp;
}</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/b/i/b/Utilisateur%7EBibifricotin_monobook.js_3e54.html">Page utilisateur</a></li><li id="ca-talk"
	       class="new"	       ><a href="../../../../articles/b/i/b/Discussion_Utilisateur%7EBibifricotin_monobook.js_6c50.html">Discussion</a></li><li id="ca-current"
	       	       ><a href="http://fr.wikipedia.org/wiki/Utilisateur:Bibifricotin/monobook.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 15 août 2007 à 02:06 par Utilisateur Bibifricotin. </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