Utilisateur:GwenofGwened/monobook.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
// <nowiki>

var VerifEval_Adresse = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=";

var VerifEval_ModeleDefaut = '{{Vérification évaluation\n'
+ '|page=$1\n'
+ '|catégorie=$2\n'
+ '|portail=$3\n'
+ '|défilant=oui\n'
+ '|hauteur=250\n'
+ '}}\n'

var VerifEval_ModeleDefautFin = '{{Vérification évaluation fin}}\n'

var VerifEval_DebutModele = '<!-- Ce modèle est créé automatiquement par un robot. VerifEval DEBUT -->\n';

var VerifEval_DebutTableau = '{| class="wikitable centre sortable" width="100%"\n'
+ '|+ \'\'\'[[:$1|$2]]\'\'\' - $3 articles - Tableau [[Modèle:Vérification évaluation/Documentation|mis à jour]] $4 \n'
+ '|-\n'
+ '! Page\n'
+ '! Évaluation\n'
+ '! Avancement\n'
+ '! Croisements\n'
+ '! Importance\n'
+ '! Croisements\n';

var VerifEval_FinModele = '<!-- Ce modèle est créé automatiquement par un robot. VerifEval FIN -->\n';

var VerifEval_ResumeModif = 'Mise à jour du modèle {{Vérification évaluation}}';

var VerifEval_WikiprojetModeleDebut = '{{Wikiprojet';

var VerifEval_WikiprojetModele = '{{Wikiprojet $1|$2|$3';

var VerifEval_MultiprojetModele = '{{Évaluation multiprojet';

var VerifEval_PropositionLabel = '{{Intention de proposer au label';

var VerifEval_Importance = new Array();  // Liste des paramètres Importance
VerifEval_Importance[0]="?";
VerifEval_Importance[1]="faible";
VerifEval_Importance[2]="moyenne";
VerifEval_Importance[3]="élevée";
VerifEval_Importance[4]="maximum";

var VerifEval_Avancement = new Array();  // Liste des paramètres Avancement
VerifEval_Avancement[0]="?";
VerifEval_Avancement[1]="ébauche";
VerifEval_Avancement[2]="BD";
VerifEval_Avancement[3]="B";
VerifEval_Avancement[4]="BA";
VerifEval_Avancement[5]="A";
VerifEval_Avancement[6]="AdQ";


var VerifEval_AnalysisDivCount = 0;      // Compte des modèles présents sur la page
var VerifEval_PortailReference;          // Portail de référence
var VerifEval_Categorie;                 // Catégorie à analyser
var VerifEval_PagePortail;               // Page à éditer
var VerifEval_Informations;              // Tableau de bord : cadre informations
var VerifEval_BoutonCancel;              // Tableau de bord : cadre bouton pour annuler
var VerifEval_PageCible;                 // Tableau de bord : cadre affichage de la page ciblée
var VerifEval_PageRequete;               // Tableau de bord : cadre affichage des requêtes
var VerifEval_ListeArticles;             // Tableau de bord : liste des articles de la catégorie
var VerifEval_AutoProcess= false;        // Fonctionnement en boucle (dès qu'il a fini, le script recommence).
var VerifEval_PagesCategorieCible = 1;   // Compte des pages de catégorie
var VerifEval_TotalArticles = 0;         // Compte des pages incluses dans la catégorie 
var VerifEval_checkedPages=0;            // Compte des pages prises en compte
var VerifEval_Result = new Array();      // "Rangées" du futur tableau

// Boîtes déroulantes fenêtre de rendu
var VerifEval_Enrouler = '[-]';
var VerifEval_Derouler = '[+]';
var VerifEval_indexBoitesDeroulantes = 0;


// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Lancement 

if( (mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit") ){
$(VerifEval_makeUpdateLinks);
}

// recherche des modèles {{Vérification évaluation}} de la page et ajout des liens de mise à jour

function VerifEval_makeUpdateLinks(){
var Cadres = document.getElementsByTagName('span');
for(s=0;s<Cadres.length;s++){
if( $(Cadres[s]).hasClass('VerifEval') ){
VerifEval_AnalysisDivCount++
Cadres[s].id = 'VerifEval_'+VerifEval_AnalysisDivCount;
var ParamCategorie = Cadres[s].firstChild.innerHTML;
var ParamPage = Cadres[s].firstChild.title;
var NewButton = '<a href="javascript:VerifEval_makeControlPanel(\'VerifEval_'
+VerifEval_AnalysisDivCount+ '\');" title="Cliquer pour  mettre à jour l\'analyse de la catégorie ' + ParamCategorie + ' sur la page '+ParamPage+'" >Mettre à jour le modèle {{Vérification évaluation}}</a><br/>' ;
Cadres[s].innerHTML += NewButton ;
}
}
}

// vérifie les paramètres du modèle cliqué et crée le tableau de bord

function VerifEval_makeControlPanel(id){
if(!id) return;
var Cadre = document.getElementById(id);
var Bouton = Cadre.firstChild;
VerifEval_Categorie = Bouton.innerHTML;
VerifEval_PagePortail = Bouton.title;
VerifEval_PortailReference = Bouton.className.replace(/_/g," ");

if( (VerifEval_Categorie=='')||(VerifEval_PagePortail=='')||(VerifEval_PortailReference=='') ) return;
window.scrollTo(0,0); void 0;
var TableauDeBord = document.createElement('div');
TableauDeBord.id = 'Tableau_de_bord';
TableauDeBord.innerHTML = ''
+ '<div style="position:absolute;top:0px;left:0px;width:800px;height:40px;padding:5px;font-weight:bold;background-color:white;border:3px double black;" ><ul id="Informations" ></ul></div>'
+ '<div id="Bouton_Cancel" style="position:absolute;top:0px;left:820px;width:600px;height:40px;padding:5px;font-weight:bold;background-color:white;border:3px double black;text-align:center;" ></div>'
+ '<div id="Page_cible" style="position:absolute;top:60px;left:0px;width:800px;height:800px;overflow:scroll;padding: 0.5em;background-color:white;border:3px double black;" ></div>'
+ '<div id="Page_requete" style="position:absolute;top:880px;left:0px;width:800px;height:800px;overflow:scroll;padding: 0.5em;background-color:white;border:3px double black;" ></div>'
+ '<div style="position:absolute;top:60px;left:820px;height:1620px;overflow-y: auto;width:600px; padding: 0.5em;background-color:white;border:3px double black;" >'
+ '<center>Pages de la catégorie <b>'+VerifEval_Categorie.replace(/Catégorie:/g,'')+'</b></center><hr size="1" style="margin:0.5em;" /><ul id="Liste_Articles"></ul></div>';
document.body.appendChild(TableauDeBord);
TableauDeBord.style.position = 'absolute';
TableauDeBord.style.zIndex = '150';
TableauDeBord.style.top = '20px';
TableauDeBord.style.left = '20px';
VerifEval_Informations = document.getElementById("Informations");
VerifEval_BoutonCancel = document.getElementById("Bouton_Cancel");
VerifEval_PageRequete = document.getElementById("Page_requete");
VerifEval_PageCible = document.getElementById("Page_cible");
VerifEval_ListeArticles = document.getElementById("Liste_Articles");
if( (!VerifEval_PageCible)||(!VerifEval_BoutonCancel)||(!VerifEval_ListeArticles)||(!VerifEval_PageRequete) ){
return;
}else{
VerifEval_BoutonCancel.innerHTML = '<a href="'+VerifEval_Adresse + encodeURIComponent(mw.config.get('wgPageName'))+'"title="Arrêter la mise à jour" >'
+'<img src="http://upload.wikimedia.org/wikipedia/commons/0/0c/Crystal_Clear_action_exit.png" height="40" width="40" alt="Arrêter la mise à jour"/></a>';

var ajaxRequest = new XMLHttpRequest();
if (!ajaxRequest){
alert('Méthode ajax non supportée : new XMLHttpRequest()');
return;
}else{
var url = VerifEval_Adresse + decodeURIComponent(VerifEval_PagePortail).replace(/ /g, "_").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%27/g, "\'")+ '&action=render' ;
VerifEval_Informations.innerHTML = '<li>Requête ajax de la page à éditer : '+VerifEval_PagePortail+'</li><li>' + url + '</li>';
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ajaxResponse;
ajaxResponse = ajaxRequest.responseText;
VerifEval_PageCible.innerHTML = ajaxResponse;
VerifEval_cleanContent(VerifEval_PageCible);
VerifEval_AutoProcess = confirm('Activer le renouvellement automatique du processus de mise à jour ?');
if(VerifEval_AutoProcess){ var Mode = "automatique"; }else{var Mode = "manuel";}

var Suretcertain = confirm('Paramètres :'
+ '\n* Page à mettre à jour : - ' + VerifEval_PagePortail + ' - '
+ '\n* Catégorie : - ' + VerifEval_Categorie + ' - '
+ '\n* Portail de référence : - ' + VerifEval_PortailReference + ' - '
+ '\n* Renouvellement : - ' + Mode + ' - '
+ '\n\n Lancer la mise à jour ?' );
if(!Suretcertain) return;
VerifEval_checkCategory(VerifEval_Adresse + encodeURIComponent(VerifEval_Categorie) + '&action=render');
}
}
}
}
}

// analyse la catégorie : requête ajax, recopie des liens dans une colonne du tableau de bord, renouvellement si il y a d'autres pages puis lancement de la fonction analyse des pages

function VerifEval_checkCategory(Cible){
var AutrePage=false;
var AutrePageAdresse ='';
VerifEval_PageRequete.innerHTML = '';
var ajaxRequest = new XMLHttpRequest();
if (!ajaxRequest){
alert('Méthode ajax non supportée : new XMLHttpRequest()');
return;
}else{
var url = decodeURIComponent(Cible).replace(/ /g, "_").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%27/g, "\'") ;
VerifEval_Informations.innerHTML = '<li>Requête ajax de la catégorie : page '+VerifEval_PagesCategorieCible+'</li><li>' + url + '</li>';
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ajaxResponse;
ajaxResponse = ajaxRequest.responseText;
VerifEval_PageRequete.innerHTML = ajaxResponse;
var ContenuCategorie = getElementWithId(VerifEval_PageRequete, 'div', 'mw-pages');
var LiensCategorie = ContenuCategorie.getElementsByTagName('li');
for(a=0;a<LiensCategorie.length;a++){
PageCibleCategory = LiensCategorie[a].innerHTML;
if(PageCibleCategory.indexOf(mw.config.get('wgFormattedNamespaces')[10])==-1){
VerifEval_ListeArticles.innerHTML += '<li>' + PageCibleCategory + '</li>';
VerifEval_TotalArticles++
}
}
VerifEval_Informations.innerHTML = 'Recherche de page supplémentaires';
var TousLiens = VerifEval_PageRequete.getElementsByTagName('a');
var length = TousLiens.length;
var dernierLien = TousLiens[(length-1)].href;
if(dernierLien.indexOf("&from=")!=-1){
VerifEval_PagesCategorieCible++
AutrePageAdresse = dernierLien + '&action=render';
VerifEval_checkCategory(AutrePageAdresse);
}else{
VerifEval_checkPage( 0, VerifEval_TotalArticles)
}
}
}
}
}

// analyse la page : requête ajax, recopie les infos recherchées dans le tableau de bord sous chaque lien puis lancement de la fonction d'édition

function VerifEval_checkPage(Position, VerifEval_TotalArticles){
var Lien = VerifEval_ListeArticles.getElementsByTagName('a')[Position];
if(!Lien) {
VerifEval_editPage();
}
LiParent = Lien.parentNode;
TitrePage = Lien.innerHTML.replace(/&amp;/, "&");
TitrePage = TitrePage.split(mw.config.get('wgFormattedNamespaces')[1]+":").join("");
VerifEval_PageRequete.innerHTML = '';

var ajaxRequest = new XMLHttpRequest();
if (!ajaxRequest){
alert('Méthode ajax non supportée : new XMLHttpRequest()');
return;
}else{
var url = VerifEval_Adresse + mw.config.get('wgFormattedNamespaces')[1]+":" + decodeURIComponent(TitrePage).replace(/ /g, "_").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%27/g, "\'").replace(/&/g, "%26") + '&action=edit&section=0' ;
VerifEval_Informations.innerHTML = '<li>Requête ajax de la page ' + Position + ' sur ' + VerifEval_TotalArticles + '</li><li>'  + url + '</li>';
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ajaxResponse;
ajaxResponse = ajaxRequest.responseText;
VerifEval_PageRequete.innerHTML = ajaxResponse;
var ContenuPage = document.getElementById("wpTextbox1").value;

var Introduction = ContenuPage;
if(Introduction.indexOf("==")!=-1){
while((Introduction.indexOf("==")!=-1)){
Introduction = Introduction .substring(0, Introduction.indexOf("=="));
}
}
var bandeau = 'red';
var Evaluation = 'non';
var AvancementPage = '<!-- AVANCEMENT -- '+TitrePage+' -------------------------------------------------------- -->';
var ImportancePage = '<!-- IMPORTANCE -- '+TitrePage+' -------------------------------------------------------- -->';
var Croisement_1 = '<!-- AVANCEMENT & IMPORTANCE -- '+TitrePage+' -------------------------------------------------------- -->';
var Croisement_2 = '<!-- IMPORTANCE & AVANCEMENT -- '+TitrePage+' -------------------------------------------------------- -->';

if(Introduction.indexOf(VerifEval_WikiprojetModeleDebut)!=-1){
for(Avancement=0;Avancement<VerifEval_Avancement.length;Avancement++){  // -------------------- {{Wikiprojet}}
for(Importance=0;Importance<VerifEval_Importance.length;Importance++){
var Modele_1 = VerifEval_WikiprojetModele;
Modele_1 = Modele_1.split('$1').join(VerifEval_PortailReference);
Modele_1 = Modele_1.split('$2').join('avancement=' + VerifEval_Avancement[Avancement]);
Modele_1 = Modele_1.split('$3').join('importance=' + VerifEval_Importance[Importance]);
var Modele_2 = VerifEval_WikiprojetModele;
Modele_2 = Modele_2.split('$1').join(VerifEval_PortailReference);
Modele_2 = Modele_2.split('$2').join('importance=' + VerifEval_Importance[Importance]);
Modele_2 = Modele_2.split('$3').join('avancement=' + VerifEval_Avancement[Avancement]);
if( (Introduction.indexOf(Modele_1)!=-1)||(Introduction.indexOf(Modele_2)!=-1)){
bandeau = 'green';
Evaluation = 'oui';
AvancementPage = VerifEval_Avancement[Avancement];
Croisement_1 = VerifEval_Avancement[Avancement] + ' et ' + VerifEval_Importance[Importance];
ImportancePage = VerifEval_Importance[Importance];
Croisement_2 = VerifEval_Importance[Importance] + ' et ' +VerifEval_Avancement[Avancement] ;
}
}
}
}
if(Introduction.indexOf(VerifEval_MultiprojetModele)!=-1){   // -------------------- {{Évaluation multiprojet}}

bandeau = 'green';
Evaluation = 'oui';

for(Avancement=0;Avancement<VerifEval_Avancement.length;Avancement++){
if(Introduction.indexOf('|avancement=' + VerifEval_Avancement[Avancement])!=-1){
AvancementPage = VerifEval_Avancement[Avancement];
}
}
for(Importance=0;Importance<VerifEval_Importance.length;Importance++){
if(Introduction.indexOf('|' + VerifEval_PortailReference + '|' + VerifEval_Importance[Importance])!=-1){
ImportancePage = VerifEval_Importance[Importance];
}
}

Croisement_1 = AvancementPage + ' et ' + ImportancePage;
Croisement_2 = ImportancePage + ' et ' + AvancementPage ;
}

if(Introduction.indexOf(VerifEval_PropositionLabel+'|BA|')!=-1){   // -------------------- {{Intention de proposer au label}} 

if(Introduction.indexOf(VerifEval_PropositionLabel+'|BA|')!=-1){
Evaluation = Evaluation + " - BA ?";
}else {
Evaluation = Evaluation + " - AdQ ?";
}
}

VerifEval_Result[VerifEval_checkedPages] = '|-\n'
+ '| [[' + TitrePage + ']] - ([[Discussion:'+TitrePage+'|d]])\n'
+ '| \'\'\'{{coloré|'+bandeau+'|'+Evaluation+'}}\'\'\'\n'
+ '| ' + AvancementPage + '\n'
+ '| ' + Croisement_1 + '\n'
+ '| ' + ImportancePage + '\n'
+ '| ' + Croisement_2 + '\n'

LiParent.innerHTML =  LiParent.innerHTML + '<li style="color:'+bandeau+';" >' + VerifEval_Result[VerifEval_checkedPages] + '</li>';
VerifEval_checkedPages++
VerifEval_checkPage((Position+1), VerifEval_TotalArticles);
}
}
}
}

// édition de la page : cherche la présence d'un tableau précédent, crée un tableau et remplace le tableau existant

function  VerifEval_editPage(){
VerifEval_PageRequete.innerHTML = '';
var ajaxRequest = new XMLHttpRequest();
if (!ajaxRequest){
alert('Méthode ajax non supportée : new XMLHttpRequest()');
return;
}else{
url = VerifEval_Adresse + decodeURIComponent(VerifEval_PagePortail).replace(/ /g, "_").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%27/g, "\'").replace(/&/g, "%26") + '&action=edit';
VerifEval_Informations.innerHTML = '<li>Édition de la page : ' + VerifEval_PagePortail + '</li><li>' + url + '</li>';
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var ajaxResponse;
ajaxResponse = ajaxRequest.responseText;
VerifEval_PageRequete.innerHTML = ajaxResponse;

var NouveauModele = VerifEval_ModeleDefaut;

VerifEval_PortailReference = VerifEval_PortailReference.replace(/ /,"_");
NouveauModele = NouveauModele.split('$1').join(VerifEval_PagePortail);
NouveauModele = NouveauModele.split('$2').join(VerifEval_Categorie);
NouveauModele = NouveauModele.split('$3').join(VerifEval_PortailReference);

var NouveauTableau = VerifEval_DebutModele + VerifEval_DebutTableau;

var Aujourdhui = new Date();
var Minutes   = Aujourdhui.getMinutes()
if(Minutes<10){ var ZeroMinutes = "0" ; }else{ var ZeroMinutes = "";}
var Heures   = Aujourdhui.getHours()
if(Heures<10){ var ZeroHeures = "0" ; }else{ var ZeroHeures = "";}
var Jour   = Aujourdhui.getDate();
if(Jour<10){ var ZeroJour = "0" ; }else{ var ZeroJour = "";}
var Mois = Aujourdhui.getMonth() + 1;
if(Mois<10){ var ZeroMois = "0" ; }else{ var ZeroMois = "";}
var Annee  = Aujourdhui.getYear();
if (Annee < 2000){
Annee = Annee + 1900;
}
var VerifEval_miseAjour = 'le '+ZeroJour+Jour+'/'+ZeroMois+Mois+'/'+Annee+' à '+ZeroHeures+Heures+':'+ZeroMinutes+Minutes;

NouveauTableau = NouveauTableau.split('$1').join(VerifEval_Categorie);
NouveauTableau = NouveauTableau.split('$2').join(VerifEval_Categorie);
NouveauTableau = NouveauTableau.split('$3').join(VerifEval_checkedPages);
NouveauTableau = NouveauTableau.split('$4').join(VerifEval_miseAjour);


for(a=0;a<VerifEval_Result.length;a++){
NouveauTableau += VerifEval_Result[a];
}
NouveauTableau += '|-\n|}' + VerifEval_FinModele;

var ContenuPage = document.getElementById("wpTextbox1").value;
var AncienResumeModif = document.editform.wpSummary.value;

if( (ContenuPage.indexOf(VerifEval_DebutModele)!=-1)&&(ContenuPage.indexOf(VerifEval_FinModele)!=-1) ){         // ----------------- Déja le modèle : remplacement
var debutTexte = ContenuPage.substring(0, ContenuPage.indexOf(VerifEval_DebutModele));
var AncienModele = ContenuPage.substring(0, ContenuPage.indexOf(VerifEval_FinModele)) + VerifEval_FinModele;
AncienModele = AncienModele.replace(debutTexte, "");
var finTexte = ContenuPage.split(debutTexte).join('').split(AncienModele).join('');
var TexteFinal = debutTexte + NouveauTableau + finTexte;
}else{         // ------------------------------------------------Pas de modèle : ajout modèle
var TexteFinal = NouveauModele + NouveauTableau + VerifEval_ModeleDefautFin + ContenuPage;
}

// -----------------------------------------------------------------------------------------------------------------------

document.getElementById ("wpTextbox1").value = TexteFinal ;
document.editform.wpSummary.value = AncienResumeModif + VerifEval_ResumeModif ;

VerifEval_Informations.innerHTML = '<li>Sauvegarde de la page : ' + VerifEval_PagePortail + '</li>';
if(VerifEval_AutoProcess==false){
var SurEtCertain = confirm('Sauvegarder la modification ?');
if(SurEtCertain) document.editform.submit();
}else{
var action = document.getElementById ("editform").action;
LumiereSur_Informations.innerHTML += '<li>' + decodeURIComponent(action) +'</li>';

var boundary = '--------123xyz';
var data = '';

data += '--' + boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + TexteFinal + '\n'

data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSection"\n\n' + document.editform.wpSection.value + '\n'

data += '--' + boundary + '\nContent-Disposition: form-data; name="wpSummary"\n\n' + document.editform.wpSummary.value + '\n'

data += '--' + boundary + '\nContent-Disposition: form-data; name="wpStarttime"\n\n' + document.editform.wpStarttime.value + '\n'

data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEdittime"\n\n' + document.editform.wpEdittime.value + '\n'

data += '--' + boundary + '\nContent-Disposition: form-data; name="wpEditToken"\n\n' + document.editform.wpEditToken.value + '\n'

var ajaxSubmit = new XMLHttpRequest();

ajaxSubmit.open('POST', action, true);
ajaxSubmit.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
ajaxSubmit.send(data + '--' + boundary);
ajaxSubmit.onreadystatechange = function(){
if (ajaxSubmit.readyState == 4){
var ajaxResponse;
ajaxResponse = ajaxSubmit.responseText;
VerifEval_PageCible.innerHTML = ajaxResponse;
VerifEval_cleanContent(VerifEval_PageCible);
VerifEval_Informations.innerHTML = '<li>Page '+VerifEval_PagePortail+' sauvegardée avec succès.</li>';
VerifEval_PageRequete.innerHTML = '';
VerifEval_ListeArticles.innerHTML = '';
VerifEval_PagesCategorieCible = 1;
VerifEval_TotalArticles = 0;
VerifEval_checkedPages = 1;
VerifEval_checkCategory(VerifEval_Adresse + encodeURIComponent(VerifEval_Categorie) + '&action=render');
}
}
}
}
}
}
}

// * Recherche d'un élement dont on connait l'Id mais non unique, donc sans utiliser document.getElementById() 

function getElementWithId( elementParentNode , elementTagName , elementId ){
if(!elementParentNode) elementParentNode = document;
var TheElement = false;
var Elements = elementParentNode.getElementsByTagName(elementTagName);
var elementcount = 0;
while(elementcount<Elements.length){
var Id = Elements[elementcount].id;
if(Id){
if(Id.indexOf(elementId)!=-1){
TheElement = Elements[elementcount];
}
}
elementcount++
}
return TheElement;
}

function VerifEval_cleanContent(element){
if(!element) element = document;

var newContentWrapper = element.getElementsByTagName("div");
var div=0;
while(div<newContentWrapper.length){
if( ($(newContentWrapper[div]).hasClass("portlet")) || ($(newContentWrapper[div]).hasClass("printfooter"))){
newContentWrapper[div].style.display="none";
}
if (
($(newContentWrapper[div]).hasClass("NavFrame"))  // ************************************* Boîtes déroulantes
){
VerifEval_indexBoitesDeroulantes++;
var NavFrame = newContentWrapper[div];
NavFrame.title= VerifEval_Enrouler;
NavFrame.id =  'VerifEval_NavFrame_' + VerifEval_indexBoitesDeroulantes;
NavHead =  NavFrame.firstChild;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.id = 'LumiereSur_NavToggle_' + LumiereSur_indexBoitesDeroulantes;
NavToggle.href = 'javascript:VerifEval_toggleCollapsibleTables(' + VerifEval_indexBoitesDeroulantes + ');';
NavToggle.innerHTML = VerifEval_Enrouler;
newContentWrapper[div].insertBefore( NavToggle, NavHead );
var Content = newContentWrapper[div].getElementsByTagName("div");
for( var c=0;c<Content.length; c++ ) {
if ($(Content[c]).hasClass("NavContent")) {
Content[c].id = 'VerifEval_NavContent_' + VerifEval_indexBoitesDeroulantes;
}
}
VerifEval_toggleCollapsibleTables(LumiereSur_indexBoitesDeroulantes);
}

Div_Id = newContentWrapper[div].id;
if(Div_Id){
if((Div_Id=="globalWrapper")||(Div_Id=="column-content")||(Div_Id=="content")||(Div_Id=="bodyContent")||(Div_Id=="article")||(Div_Id=="mw_main")||(Div_Id=="mw_contentwrapper")||(Div_Id=="mmw_content")||(Div_Id=="mmw_contentholder")){
newContentWrapper[div].id = newContentWrapper[div].id + '_' + div;
}
if((Div_Id=="siteNotice")||(Div_Id=="p-personal")||(Div_Id=="topbar")||(Div_Id=="quickbar")||(Div_Id=="column-one")||(Div_Id=="mw_portlets")||(Div_Id=="page-base")||(Div_Id=="head-base")||(Div_Id=="head")||(Div_Id=="panel")||(Div_Id=="footer")||(Div_Id=="previewnote")){
newContentWrapper[div].style.display= "none";
}
}
div++
}
}

function VerifEval_toggleCollapsibleTables(index) {
var NavToggle = document.getElementById("VerifEval_NavToggle_" + index);
var NavContent = document.getElementById("VerifEval_NavContent_" + index);
var NavFrame = document.getElementById("VerifEval_NavFrame_" + index);

if( (!NavToggle) || (!NavContent) ) return;

var Caption = NavToggle.innerHTML;
if (Caption == VerifEval_Enrouler) {
NavContent.style.display = 'none';
NavToggle.innerHTML = VerifEval_Derouler;
NavFrame.title = VerifEval_Derouler;
} else if (Caption == VerifEval_Derouler) {
NavContent.style.display = 'block';
NavToggle.innerHTML = LumiereSur_Enrouler;
NavFrame.title = VerifEval_Enrouler;
}
}

// </nowiki>
//
// Modification de l'onglet Google de Dake par GôTô
function getArticleName()
{
        var strOut = document.title
        // case search
        if (strOut == "Rechercher - Wikipédia")
                return document.getElementById("lsearchbox").value
        // case article being modified
        strOut = strOut.replace("modification de ", "").replace(" - Modifier", "")

        strOut = strOut.replace(" - Prévisualiser", "")     
        strOut = strOut.replace(" - Wikipédia", "")
        return strOut
}

var whichWiki = "en"
function setWiki()
{
        var newWiki = document.getElementById("elmtWhichWiki").value
        // trim
        newWiki = newWiki.replace(/ /g, "")
        if (/com(mon)?/.test(newWiki))
                newWiki = "commons"
        else if (/méta/.test(newWiki))
                newWiki = "meta"
        // no need to change
        if (newWiki == whichWiki)
                return
        var elmt = document.getElementById("whichW")
        // it was a wikipedia and now it's a wikimedia (commons or meta)
        if (/commons|meta/.test(newWiki) && !(/commons|meta/.test(whichWiki)))
        {
                elmt.href = elmt.href.replace(".wikipedia.org", ".wikimedia.org")
                elmt.title = elmt.title.replace(".wikipedia.org", ".wikimedia.org")
        }
        // it was a wikimedia (commons or meta) and now it's a wikipedia
        else if (/commons|meta/.test(whichWiki) && !(/commons|meta/.test(newWiki)))
        {
                elmt.href = elmt.href.replace(".wikimedia.org", ".wikipedia.org")
                elmt.title = elmt.title.replace(".wikimedia.org", ".wikipedia.org")
        }
        // in any case
        elmt.href = elmt.href.replace("http://" + whichWiki, "http://" + newWiki)
        elmt.title = elmt.title.replace("sur " + whichWiki, "sur " + newWiki)
        whichWiki = newWiki
}

function searchLinks()
{
        var site = (/commons|meta/.test(whichWiki) ? 'wikimedia' : 'wikipedia')
        var a = document.getElementById("p-cactions")
        if (a)
        {
                var pageName = getArticleName()
                var ulElmt = a.getElementsByTagName("ul")

                if(ulElmt.length > 0)
                {
                        ulElmt[0].innerHTML += '<li><a id="whichW" onmousedown="setWiki()" onkeydown="setWiki()" href="http://' + whichWiki + '.' + site + '.org/wiki/Special:Search?search=' + pageName + '" title="Rechercher ' + pageName + '">'
                        + 'Recherche wp</a>'
                        + '<input type=text id="elmtWhichWiki" style="color : #002bb8; font: normal 8pt Arial; text-align: top; border: 0px; background: none; width: 50px" maxlength="7" value="' + whichWiki + '">'
                        + '<span style="color: #002bb8; font-weight: bold; padding-left: 0.5em; background: none">G:</span>'
                        + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Afr.wikipedia.org+' + pageName + '&btnG=Search" title="Rechercher sur Google dans fr.wikipédia.org">'
                        + 'wp-fr</a>'
                        + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Awikipedia.org+' + pageName + '&btnG=Search" title="Rechercher sur Google dans wikipédia.org">'
                        + 'wp</a>'
                        + '<a href="http://www.google.fr/search?num=20&hl=fr&safe=off&q=' + pageName + '&btnG=Search&meta=lr%3Dlang_fr" title="Rechercher sur Google dans tout le web en français">'
                        + 'web-fr</a>'
                        + '<a href="http://www.google.fr/search?num=20&hl=en&safe=off&q=' + pageName + '&btnG=Search" title="Rechercher sur Google dans tout le web">'
                        + 'web</a>'
                        + '</li>'
                }
        }
} 
$(searchLinks);

// Patrouille

importScript('User:EDUCA33E/LiveRC.js');
importScript('Utilisateur:Dr Brains/LiveAbuseLog.js');