Utilisateur:Dr Brains/WatchUsers.js
Apparence
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) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.///////////////////////////////////////////////////////////////// VARIABLES ////////////////////////////////////////////
//// ### PERSONNALISABLES ### ////
/* Textes */
// En-tête de la liste de suivi
var WatchUsers_Text_Title = "<b>Suivi d\'utilisateurs :</b> "
var WatchUsers_Text_WatchUser = "Ajouter l\'utilisateur « $1 » à la liste de suivi";
var WatchUsers_Text_WatchNewUser = "Ajouter un utilisateur à la liste de suivi";
var WatchUsers_Text_Hide = "[Enrouler]";
var WatchUsers_Text_Show = "[Dérouler]";
var WatchUsers_Text_AutoToggleText = "(+)";
var WatchUsers_Text_AutoToggleTitle = "Afficher/Masquer automatiquement au chargement de la page";
// Formulaire d'ajout d'un utilisateur à la liste de suivi
var WatchUsers_Text_WatchNewUserCancel = "Annuler";
var WatchUsers_Text_WatchNewUserOK = "Confirmer";
var WatchUsers_Text_UnwatchUserConfirm = "Voulez-vous vraiment retirer l\'utilisateur « $1 » de la liste de suivi ?";
// Lignes de modification
var WatchUsers_Text_UnwatchUser = "Retirer l\'utilisateur « $1 » de la liste de suivi";
var WatchUsers_Text_UserContribs = "Contributions de l\'utilisateur « $1 »";
var WatchUsers_Text_DiffLinkTitle = "Changements dans la page « $1 »";
var WatchUsers_Text_DiffLinkText = "diff";
var WatchUsers_Text_HistLinkTitle = "Historique de la page « $1 »";
var WatchUsers_Text_HistLinkText = "hist";
var WatchUsers_Text_Last = "Dernière";
// Fenêtre de prévisualisation
var WatchUsers_Text_CloseText = "Fermer";
var WatchUsers_Text_CloseTitle = "Fermer la fenêtre de prévisualisation";
var WatchUsers_Text_DirectLinkText = "Lien direct";
var WatchUsers_Text_DirectLinkTitle = "Accéder directement à la page";
/* Variables */
// Format des lignes de modification
var WatchUsers_Text_Format = "$PAGE$ ($DIFF$|$HIST$) | « $COMMENT$ » | $TIME$$LAST$";
// Délai de rafraichissement, en secondes
var WatchUsers_Delay = 10;
// Activer la prévisualisation
var WatchUsers_EnablePreview = true;
//// ### NON PERSONNALISABLES ### ////
var WatchUsers_TempAutoToggle = parseInt(WatchUsers_getCookie("SuiviUsersAutoToggle"));
if(WatchUsers_TempAutoToggle!=1){
WatchUsers_AutoToggle = false;
}else{
WatchUsers_AutoToggle = true;
}
var WatchUsers_ListUser = WatchUsers_getCookie("SuiviUsers");
if((WatchUsers_ListUser=="false")||(WatchUsers_ListUser=="null")||(!WatchUsers_ListUser)){
WatchUsers_ListUser = new Array();
}else{
WatchUsers_ListUser = WatchUsers_ListUser.split(';');
}
if((mw.config.get('wgNamespaceNumber')==2)||(mw.config.get('wgNamespaceNumber')==3)){
var WatchUsers_UserName = mw.config.get('wgTitle').split('/')[0];
}else if(mw.config.get('wgCanonicalSpecialPageName')=="Contributions"){
if(document.URL.indexOf(mw.config.get('wgScript'))!=-1){
var WatchUsers_UserName = decodeURIComponent(document.URL).split('&target=')[1].split('&')[0];
WatchUsers_UserName = WatchUsers_UserName.split('+').join(' ');
WatchUsers_UserName = WatchUsers_UserName.split('+').join(' ');
}else{
var WatchUsers_UserName = decodeURIComponent(document.URL).replace(/.*Contributions\//, "");
WatchUsers_UserName = WatchUsers_UserName.split('_').join(' ');
}
}
///////////////////////////////////////////////////////////////// GESTION COOKIE ////////////////////////////////////////////
// MISE A JOUR DU COOKIE
function WatchUsers_setCookie(cookieName, cookieValue) {
var now = new Date();
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
document.cookie = escape(cookieName) + '=' + escape(cookieValue) + '; EXPIRES=' + nextYear.toGMTString() + "; PATH=/" ;
}
// INTERROGATION DU COOKIE
function WatchUsers_getCookie(cookieName) {
var cookieValue = "false";
var posName = document.cookie.indexOf(escape(cookieName) + '=' );
if (posName != -1) {
var posValue = posName + (escape(cookieName) + '=' ).length;
var endPos = document.cookie.indexOf(';', posValue) ;
if (endPos != -1) {
cookieValue = unescape(document.cookie.substring(posValue, endPos));
} else {
cookieValue = unescape(document.cookie.substring(posValue));
}
}
return decodeURIComponent(cookieValue);
}
// AJOUT D'UN UTILISATEUR A LA LISTE
function WatchUsers_AddUser(User){
User = User.replace(/ZAPOSTROPHE/g, "'");
if(WatchUsers_ListUser.indexOf(User)!=-1) return;
WatchUsers_ListUser.push(User);
var CookieValue = WatchUsers_ListUser.join(';')
WatchUsers_setCookie("SuiviUsers", CookieValue);
if((mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit"))
window.location.reload();
}
// RETRAIT D'UN UTILISATEUR DE LA LISTE
function WatchUsers_RemoveUser(User){
User = User.replace(/ZAPOSTROPHE/g, "'");
if(WatchUsers_ListUser.indexOf(User)==-1) return;
var SurEtCertain = confirm(WatchUsers_Text_UnwatchUserConfirm.split('$1').join(User));
if(!SurEtCertain) return;
var CookieValue ='';
for(var a=0;a<WatchUsers_ListUser.length;a++){
if(WatchUsers_ListUser[a]!=User) CookieValue += WatchUsers_ListUser[a] + ';';
}
CookieValue = CookieValue.replace(/;$/, "");
WatchUsers_setCookie("SuiviUsers", CookieValue);
if((mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit"))
window.location.reload();
}
///////////////////////////////////////////////////////////////// LANCEMENT ////////////////////////////////////////////
addOnloadHook(WatchUsers_CreateControlPanel);
importStylesheet('Utilisateur:Dr Brains/WatchUsers.css');
///////////////////////////////////////////////////////////////// SUIVI D'UTILISATEURS ////////////////////////////////////////////
// CRÉATION CADRE DE SUIVI
function WatchUsers_CreateControlPanel(){
var DivRepere = document.getElementById("siteNotice");
if(!DivRepere) return;
if(typeof(WatchUsers_LangCustom)=="function")
WatchUsers_LangCustom();
if(typeof(WatchUsers_UserCustom)=="function")
WatchUsers_UserCustom();
var DivWatchUser = document.createElement('div');
DivWatchUser.id = "DivWatchUser";
DivRepere.parentNode.insertBefore(DivWatchUser, DivRepere);
DivRepere.style.display = "none";
var DivWatchUserContent = '<div id="DivWatchUser_Top">'
DivWatchUserContent += '<span id="WatchUsers_Title">' + WatchUsers_Text_Title + '</span>';
if((WatchUsers_UserName)&&(WatchUsers_ListUser.indexOf(WatchUsers_UserName)==-1)){
DivWatchUserContent += '<a id="AddThisUserLink" '
+ 'href="javascript:WatchUsers_AddUser(\''+WatchUsers_UserName.replace(/'/g, "ZAPOSTROPHE")+'\');" '
+ 'title="'+WatchUsers_Text_WatchUser.split('$1').join(WatchUsers_UserName)+'">'
+ WatchUsers_Text_WatchUser.split('$1').join('<b>'+WatchUsers_UserName+'</b>')+'</a> • ';
}
DivWatchUserContent += '<a id="AddNewUserLink" '
+ 'href="javascript:WatchUsers_AddAnotherUser();" '
+ 'title="'+WatchUsers_Text_WatchNewUser+'">'
+ WatchUsers_Text_WatchNewUser + '</a>';
DivWatchUserContent += '<span id="WatchUserToggleSpan">';
DivWatchUserContent += '<a id="WatchUserToggleLink" '
+ 'href="javascript:WatchUsers_ToggleControlPanel();" '
+ 'title="'+WatchUsers_Text_Hide+'">'
+ WatchUsers_Text_Hide + '</a>';
DivWatchUserContent += ' ';
DivWatchUserContent += '<a id="WatchUserAutoToggleLink" '
+ 'href="javascript:WatchUsers_AutoToggleControlPanel();" '
+ 'title="'+WatchUsers_Text_AutoToggleTitle+'">'
+ WatchUsers_Text_AutoToggleText + '</a>';
DivWatchUserContent += '</span>';
DivWatchUserContent += '</div>'
+ '<div id="DivWatchUser_Content">'
+ '<ul id="DivWatchUser_List">';
for(var a=0;a<WatchUsers_ListUser.length;a++){
DivWatchUserContent += '<li>'
+ '<a class="WatchUsers_RemoveUserLink" href="'
+ 'javascript:WatchUsers_RemoveUser(\''+WatchUsers_ListUser[a].replace(/'/g, "ZAPOSTROPHE")+'\');" '
+ 'title="'+WatchUsers_Text_UnwatchUser.split('$1').join(WatchUsers_ListUser[a])+'" >'
+ '[-]</a>'
+ ' '
+ '<a class="ContribLink" href="'
+ mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join('Special:Contributions/'+WatchUsers_ListUser[a])+'" '
+ 'title="'+WatchUsers_Text_UserContribs.split('$1').join(WatchUsers_ListUser[a])+'" >'
+ WatchUsers_ListUser[a]
+ '</a>'
+ ' : '
+ '<span class="LastModif"></span>'
+ '</li>';
}
DivWatchUserContent += '</ul><div id="DivWatchUser_Preview" style="display:none;"></div></div>';
DivWatchUser.innerHTML = DivWatchUserContent;
if(WatchUsers_AutoToggle) WatchUsers_ToggleControlPanel();
WatchUsers_UpdateControlPanel();
}
// AFFICHAGE/MASQUAGE DU CADRE DE SUIVI
function WatchUsers_ToggleControlPanel(){
var ToggleLink = document.getElementById("WatchUserToggleLink");
var DivContent = document.getElementById("DivWatchUser_Content");
if((!ToggleLink)||(!DivContent)) return;
if(ToggleLink.innerHTML == WatchUsers_Text_Hide){
ToggleLink.innerHTML = WatchUsers_Text_Show;
ToggleLink.title = WatchUsers_Text_Show;
DivContent.style.display = "none";
}else{
ToggleLink.innerHTML = WatchUsers_Text_Hide;
ToggleLink.title = WatchUsers_Text_Hide;
DivContent.style.display = "block";
}
}
// CHANGEMENT DE L'OPTION D'AFFICHAGE/MASQUAGE DU CADRE DE SUIVI AU CHARGEMENT DE LA PAGE
function WatchUsers_AutoToggleControlPanel(){
var CookieValue = ( WatchUsers_AutoToggle ? 0 : 1 );
WatchUsers_setCookie("SuiviUsersAutoToggle", CookieValue);
if((mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit"))
window.location.reload();
}
// SUIVI D'UN UTILISATEUR PARTICULIER (formulaire)
function WatchUsers_AddAnotherUser(){
var TopDiv = document.getElementById("DivWatchUser_Top");
var OldDiv = document.getElementById("DivAddNewUser");
if((OldDiv)||(!TopDiv)) return;
var NewDiv = document.createElement('div');
NewDiv.id = "DivAddNewUser";
var DivContent = '<form>'
+ '<input id="AddUserInput" type="text" '
+ 'value="'+(((WatchUsers_UserName)&&(WatchUsers_ListUser.indexOf(WatchUsers_UserName)==-1)) ? WatchUsers_UserName : '' )+'" />'
+ '<input type="button" '
+ 'onselect="WatchUsers_AddAnotherUserConfirm();"'
+ 'onclick="WatchUsers_AddAnotherUserConfirm();"'
+ 'value="'+WatchUsers_Text_WatchNewUserOK+'" />'
+ '<input type="button" '
+ 'onselect="WatchUsers_AddAnotherUserCancel();"'
+ 'onclick="WatchUsers_AddAnotherUserCancel();"'
+ 'value="'+WatchUsers_Text_WatchNewUserCancel+'" />'
+ '</form>'
NewDiv.innerHTML = DivContent;
TopDiv.appendChild(NewDiv);
}
// SUIVI D'UN UTILISATEUR PARTICULIER (confirmation)
function WatchUsers_AddAnotherUserConfirm(){
var Input = document.getElementById("AddUserInput");
if(!Input) return;
var User = Input.value;
if(User=='') return;
WatchUsers_AddUser(User);
}
// SUIVI D'UN UTILISATEUR PARTICULIER (annulation)
function WatchUsers_AddAnotherUserCancel(){
var OldDiv = document.getElementById("DivAddNewUser");
if(OldDiv) OldDiv.parentNode.removeChild(OldDiv);
}
// MISE A JOUR SUIVI
function WatchUsers_UpdateControlPanel(){
var UlUserList = document.getElementById("DivWatchUser_List");
if(!UlUserList) return;
var Lis = UlUserList.getElementsByTagName('li');
if(!Lis[0]) return;
var UserList = new Array();
for(var a=0;a<Lis.length;a++){
var User = Lis[a].getElementsByTagName('a')[1].innerHTML;
UserList.push(User);
}
WatchUsers_UpdateUsersLastContrib(0, UserList, Lis);
}
// REQUÊTE API
function WatchUsers_UpdateUsersLastContrib(position, UserList, Lis){
var User = UserList[position];
var Li = Lis[position];
if((!User)||(!Li)){
var UlUserList = document.getElementById("DivWatchUser_List");
if((UlUserList)&&(WatchUsers_EnablePreview)) WatchUsers_ModifyLinkTargets(UlUserList);
setTimeout("WatchUsers_UpdateControlPanel();", (1000*WatchUsers_Delay));
return;
}
var AdresseRequete = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php?action=query&list=usercontribs&uclimit=1&ucprop=ids|title|timestamp|comment|parsedcomment|size|flags&ucuser='+encodeURIComponent(User);
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState != 4 || NouvelleRequete.status != 200) return;
//alert('Reçu');
var ElementTraitement = document.createElement('div');
ElementTraitement.innerHTML = NouvelleRequete.responseText;
var Informations = ElementTraitement.getElementsByTagName('span');
//alert('Traitement');
for(var a=0;a<Informations.length;a++){
var ContenuInformation = Informations[a].innerHTML;
if(ContenuInformation.indexOf('title=')!=-1){
var Page = WatchUsers_Clean(ContenuInformation.split('title="')[1].split('"')[0]);
var Revid = ContenuInformation.split('revid="')[1].split('"')[0];
var Comment = WatchUsers_Clean(ContenuInformation.split('parsedcomment="')[1].split('"')[0]);
var Timestamp = ContenuInformation.split('timestamp="')[1].split('"')[0];
Timestamp = Timestamp.split('Z').join('');
Timestamp = Timestamp.split('T').join(' ');
var Top = (ContenuInformation.indexOf('top=""')!=-1);
}
}
EncodedPage = encodeURIComponent(Page).replace(/&/g, "%26");
if(WatchUsers_EnablePreview) EncodedPage = EncodedPage.replace(/'/g, "ZAPOSTROPHE")
var PageLink = '<a href="'+mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(EncodedPage)+'" title="'+Page+'">'+Page+'</a>';
var HistLink = '<a href="'+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +EncodedPage+'&action=history" title="'+WatchUsers_Text_HistLinkTitle.split('$1').join(Page)+'">'+WatchUsers_Text_HistLinkText+'</a>';
var DiffLink = '<a href="'+mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' +EncodedPage+'&diff=prev&oldid='+Revid+'" title="'+WatchUsers_Text_DiffLinkTitle.split('$1').join(Page)+'">'+WatchUsers_Text_DiffLinkText+'</a>';
var Last = '';
if(Top) Last = ' <b>('+WatchUsers_Text_Last+')</b>';
// var WatchUsers_Text_Format = "$PAGE$ ($DIFF$|$HIST$) | « $COMMENT$ » | $TIME$$LAST$"
var NewLiContent = WatchUsers_Text_Format;
NewLiContent = NewLiContent.split('$PAGE$').join(PageLink);
NewLiContent = NewLiContent.split('$DIFF$').join(DiffLink);
NewLiContent = NewLiContent.split('$HIST$').join(HistLink);
NewLiContent = NewLiContent.split('$COMMENT$').join(Comment);
NewLiContent = NewLiContent.split('$TIME$').join(Timestamp);
NewLiContent = NewLiContent.split('$LAST$').join(Last);
var Span = Li.getElementsByTagName('span')[0];
Span.innerHTML = NewLiContent;
WatchUsers_UpdateUsersLastContrib((position+1), UserList, Lis)
}
NouvelleRequete.send(null);
}
// NETTOYAGE REQUÊTES API
function WatchUsers_Clean(text){
while(text.indexOf('&')!=-1){
text = text.split('&').join("&");
if(text.indexOf('&')==-1) break;
}
while(text.indexOf(''')!=-1){
text = text.split(''').join("'");
if(text.indexOf(''')==-1) break;
}
while(text.indexOf('"')!=-1){
text = text.split('"').join('"');
if(text.indexOf('"')==-1) break;
}
while(text.indexOf(' ')!=-1){
text = text.split(' ').join(' ');
if(text.indexOf(' ')==-1) break;
}
while(text.indexOf('<')!=-1){
text = text.split('<').join('<');
if(text.indexOf('<')==-1) break;
}
while(text.indexOf('>')!=-1){
text = text.split('>').join('>');
if(text.indexOf('>')==-1) break;
}
return text;
}
///////////////////////////////////////////////////////////////// PRÉVISUALISATION ////////////////////////////////////////////
// MODIFICATION DES LIENS
function WatchUsers_ModifyLinkTargets(Element){
if(!Element) return;
var AllLinks = Element.getElementsByTagName('a');
for(var a=0;a<AllLinks.length;a++){
var Href = AllLinks[a].href;
if(Href.indexOf('javascript:')!=-1) continue;
AllLinks[a].href = "javascript:WatchUsers_PreviewPage(\'"+decodeURIComponent(Href).replace(/'/g, "ZAPOSTROPHE")+"\');";
AllLinks[a].title = AllLinks[a].title + " (prévisualisation)";
}
}
// LANCEMENT DE LA PRÉVISUALISATION
function WatchUsers_PreviewPage(Adresse){
var DivPreview = document.getElementById("DivWatchUser_Preview");
if(!DivPreview) return;
WatchUsers_ClosePreview();
var DecodedAdresse = decodeURIComponent(Adresse).replace(/ZAPOSTROPHE/g, "'");
DivPreview.style.display = "block";
var Links = '<h2 class="Loading">'
+ '<span class="UrlText">' + DecodedAdresse + '</span> : '
+ '<a href="javascript:WatchUsers_ClosePreview();" '
+ 'title="'+WatchUsers_Text_CloseTitle+'" >'
+ WatchUsers_Text_CloseText
+ '</a>'
+ ' • '
+ '<a href="'+DecodedAdresse+'" '
+ 'title="'+WatchUsers_Text_DirectLinkTitle+'" >'
+ WatchUsers_Text_DirectLinkText
+ '</a>'
+ '</h2>';
var TopPreviewContent = document.createElement('div');
TopPreviewContent.id = "WatchUsers_TopPreviewContent";
DivPreview.appendChild(TopPreviewContent);
TopPreviewContent.innerHTML = Links;
var PreviewContent = document.createElement('div');
PreviewContent.id = "WatchUsers_PreviewContent";
DivPreview.appendChild(PreviewContent);
var BottomPreviewContent = document.createElement('div');
BottomPreviewContent.id = "WatchUsers_BottomPreviewContent";
DivPreview.appendChild(BottomPreviewContent);
BottomPreviewContent.innerHTML = Links;
var Page = DecodedAdresse.replace(/.*\/wiki\//, "");
Page = Page.replace(/.*?title=/, "");
Page = Page.replace(/&action=.*/, "");
Page = Page.replace(/&diff.*/, "");
Page = Page.replace(/&oldid.*/, "");
var NouvelleRequete = new XMLHttpRequest();
NouvelleRequete.open("GET", Adresse.replace(/ZAPOSTROPHE/g, "'"), true);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState != 4 || NouvelleRequete.status != 200) return;
var TheDivPreview = document.getElementById("WatchUsers_PreviewContent");
if(!TheDivPreview) return;
var TempElement = document.createElement('div');
TempElement.innerHTML = NouvelleRequete.responseText;
var Content = WatchUsers_getElementWithId( TempElement, 'div', 'bodyContent');
if(!Content) Content = WatchUsers_getElementWithId( TempElement, 'div', 'mw_contentholder');
if(!Content) Content = WatchUsers_getElementWithId( TempElement, 'div', 'article');
TheDivPreview.innerHTML = Content.innerHTML;
WatchUsers_CleanPreviewContent();
WatchUsers_ModifyLinkTargets(TheDivPreview);
var TopDiv = document.getElementById("WatchUsers_TopPreviewContent");
if(TopDiv) $(TopDiv.getElementsByTagName('h2')[0]).removeClass("Loading");
var BottomDiv = document.getElementById("WatchUsers_BottomPreviewContent");
if(BottomDiv) $(BottomDiv.getElementsByTagName('h2')[0]).removeClass("Loading");
}
NouvelleRequete.send(null);
}
// FERMETURE DE LA PRÉVISUALISATION
function WatchUsers_ClosePreview(){
var DivPreview = document.getElementById("DivWatchUser_Preview");
if(!DivPreview) return;
while(DivPreview.firstChild){ DivPreview.removeChild(DivPreview.firstChild);}
DivPreview.style.display = "none";
}
// NETTOYAGE DE LA PRÉVISUALISATION (sommaire, boîtes déroulantes, palettes, etc...)
var WatchUsers_Enrouler = '[enrouler]';
var WatchUsers_Derouler = '[dérouler]';
var WatchUsers_EnroulerBis = '[-]';
var WatchUsers_DeroulerBis = '[+]';
var WatchUsers_indexSummary = 0;
var WatchUsers_indexNavigationBars = 5000;
var WatchUsers_indexCollapsibleTables = 5000;
function WatchUsers_CleanPreviewContent(){
var element = document.getElementById("DivWatchUser_Preview");
if(!element){ alert('Pas OK'); return; }
var newContentWrapper = element.getElementsByTagName("div");
var div=0;
while(div<newContentWrapper.length){
if (
($(newContentWrapper[div]).hasClass("NavFrame")) // ************************************* Boîtes déroulantes
){
WatchUsers_indexCollapsibleTables++;
NavHead = newContentWrapper[div].firstChild;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.id = 'NavToggle' + WatchUsers_indexCollapsibleTables;
NavToggle.href = 'javascript:WatchUsers_toggleCollapsibleTables(' + WatchUsers_indexCollapsibleTables + ');';
NavToggle.innerHTML = WatchUsers_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 = 'NavContent' + WatchUsers_indexCollapsibleTables;
}
}
WatchUsers_toggleCollapsibleTables(WatchUsers_indexCollapsibleTables);
}
Div_Id = newContentWrapper[div].id;
if(Div_Id){
if(
(Div_Id=="toctitle") // ************************************* Sommaire
){
WatchUsers_indexSummary = (WatchUsers_indexSummary+1);
newContentWrapper[div].id = 'toctitle_'+WatchUsers_indexSummary;
var TitreSommaire = newContentWrapper[div].getElementsByTagName('h2')[0];
TitreSommaire.innerHTML = TitreSommaire.innerHTML + ' <a href="javascript:WatchUsers_afficherSommaire(\'toc_'+WatchUsers_indexSummary
+'\',\'toctitle_'+WatchUsers_indexSummary
+'\', \''+TitreSommaire.innerHTML
+'\');" >'+WatchUsers_DeroulerBis+'</a>';
var Conteneur = newContentWrapper[div].parentNode;
var Sommaire = Conteneur.getElementsByTagName('ul')[0];
Sommaire.id = 'toc_'+WatchUsers_indexSummary;
Sommaire.style.display="none";
}
if(
(Div_Id=="mw-hidden-catlinks") // ****************************** Catégories cachées
){
newContentWrapper[div].style.display = "block";
}
}
div++
}
var Tables = element.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if( $(Tables[i]).hasClass("collapsible") ){ // ************************************* Palettes de navigation
NavigationBar = Tables[i];
NavigationBar.id = "collapsibleTable" + WatchUsers_indexNavigationBars ;
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( WatchUsers_Enrouler );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.id = "collapseButton" + WatchUsers_indexNavigationBars ;
ButtonLink.href = "javascript:WatchUsers_collapseNavigationBar(" + WatchUsers_indexNavigationBars + ");" ;
ButtonLink.appendChild( ButtonText );
Button.appendChild( ButtonLink );
var Header = NavigationBar.getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
if (Header) {
Header.insertBefore( Button, Header.firstChild );
}
if ( $( NavigationBar ).hasClass( "collapsed" ) ) WatchUsers_collapseNavigationBar( WatchUsers_indexNavigationBars );
WatchUsers_indexNavigationBars++;
}
}
}
// ###################################################### FONCTIONS SUBALTERNES A LA GESTION DU CONTENU
// -------------------------------------------- Sommaire
function WatchUsers_afficherSommaire(IDSommaire, IdTitre, TitreInitial){
var Sommaire = document.getElementById(IDSommaire);
Sommaire.style.display="block";
var Titre = document.getElementById(IdTitre).getElementsByTagName('h2')[0];
Titre.innerHTML = TitreInitial + ' <a href="javascript:WatchUsers_masquerSommaire(\''+IDSommaire+'\',\''+IdTitre+'\', \''+TitreInitial+'\');" >'+WatchUsers_EnroulerBis+'</a>';
}
function WatchUsers_masquerSommaire(IDSommaire, IdTitre, TitreInitial){
var Sommaire = document.getElementById(IDSommaire);
Sommaire.style.display="none";
var Titre = document.getElementById(IdTitre).getElementsByTagName('h2')[0];
Titre.innerHTML = TitreInitial + ' <a href="javascript:WatchUsers_afficherSommaire(\''+IDSommaire+'\',\''+IdTitre+'\', \''+TitreInitial+'\');" >'+WatchUsers_DeroulerBis+'</a>';
}
// -------------------------------------------- Palettes de navigation
function WatchUsers_collapseNavigationBar( tableIndex ) {
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) return false;
var Rows = Table.getElementsByTagName( "tr" );
if ( Button.firstChild.data == WatchUsers_Enrouler ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = WatchUsers_Derouler;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = WatchUsers_Enrouler ;
}
}
// -------------------------------------------- Boîtes déroulantes
function WatchUsers_toggleCollapsibleTables(index) {
var NavToggle = document.getElementById("NavToggle" + index);
var NavContent = document.getElementById("NavContent" + index);
if( (!NavToggle) || (!NavContent) ) return;
var Caption = NavToggle.innerHTML;
if (Caption == WatchUsers_Enrouler) {
NavContent.style.display = 'none';
NavToggle.innerHTML = WatchUsers_Derouler;
} else if (Caption == WatchUsers_Derouler) {
NavContent.style.display = 'block';
NavToggle.innerHTML = WatchUsers_Enrouler;
}
}
function WatchUsers_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;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////