Utilisateur:Dr Brains/CategoriesBandeauxPortail.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.
if(mw.config.get('wgNamespaceNumber')==0) addOnloadHook(CategoriesBandeauxPortail);

var CategoriesBandeauxPortail_ImagePortails = '<img height="18" width="20" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Portal.svg/20px-Portal.svg.png" alt="Portails">';

var CategoriesBandeauxPortail_ImageCategories = '<img height="20" width="20" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Nuvola_apps_kpager.svg/20px-Nuvola_apps_kpager.svg.png" alt="Catégories">';

var CategoriesBandeauxPortail_ToggleHidden_titleShow = 'Afficher les catégories cachées';
var CategoriesBandeauxPortail_ToggleHidden_HTMLShow = '[+]';
var CategoriesBandeauxPortail_ToggleHidden_titleHide = 'Masquer les catégories cachées';
var CategoriesBandeauxPortail_ToggleHidden_HTMLHide = '[-]';

function CategoriesBandeauxPortail(){
     var BandeauxPortail = document.getElementById('bandeau-portail');
     var VisibleCats = document.getElementById('mw-normal-catlinks');
     var HiddenCats = document.getElementById('mw-hidden-catlinks');
     if((BandeauxPortail)||(VisibleCats)||(HiddenCats) ){
          var NewUl = document.createElement('div');
          NewUl.className='catlinks';
          var Cats = document.getElementById('catlinks')
          if(Cats){
                   Cats.parentNode.insertBefore(NewUl, Cats);
          }else if(BandeauxPortail){
                   BandeauxPortail.parentNode.insertBefore(NewUl, BandeauxPortail);
          }
          if(BandeauxPortail) BandeauxPortail.parentNode.removeChild(BandeauxPortail);
          if(VisibleCats) VisibleCats.parentNode.removeChild(VisibleCats);
          if(HiddenCats) HiddenCats.parentNode.removeChild(HiddenCats);
          if(Cats) Cats.parentNode.removeChild(Cats);
          if(BandeauxPortail){
                    var NewLiPortail = document.createElement('div');
                    NewLiPortail.id = 'Categories_BandeauxPortails_Bandeaux';
                    NewUl.appendChild(NewLiPortail);
                    NewLiPortail.innerHTML = CategoriesBandeauxPortail_ImagePortails + ' <b><a href="' + mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join('Portail:Accueil') + '" title="Portail:Accueil">Portails</a></b> : ';
                    var Spans = BandeauxPortail.getElementsByTagName('span');
                    var SpansCount=-1;
                    for(var a=0;a<Spans.length;a++){
                              if($(Spans[a]).hasClass('bandeau-portail-texte') ){
                                        SpansCount++
                                        if(SpansCount>0) NewLiPortail.innerHTML += ' | ';
                                        Link = Spans[a].getElementsByTagName('a')[0].title;
                                        NewLiPortail.innerHTML += '<a href="' + mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join(Link) + '" title="'+Link+'">'+Link.split('Portail:').join('')+'</a>'; 
                              }
                    }
          }
          if((VisibleCats)||(HiddenCats)){
                    var NewLiCats = document.createElement('div');
                    NewLiCats.id = 'Categories_BandeauxPortails_CategoriesVisibles';
                    NewUl.appendChild(NewLiCats);
                    NewLiCats.innerHTML = CategoriesBandeauxPortail_ImageCategories + ' <b><a href="' + mw.config.get('wgServer') + mw.config.get('wgArticlePath').split('$1').join('Catégorie:Accueil') + '" title="Catégorie:Accueil">Catégories</a></b> : ';
                    if(VisibleCats){
                              var Spans = VisibleCats.getElementsByTagName('li');
                              for(var a=0;a<Spans.length;a++){
                                        if(a>0) NewLiCats.innerHTML += ' | ';
                                        NewLiCats.innerHTML += Spans[a].innerHTML; 
                              }
                    }
                    if(HiddenCats) NewLiCats.innerHTML += ' | <b><a id="CatToggle" href="javascript:CategoriesBandeauxPortail_ToggleHidden()" title="' + CategoriesBandeauxPortail_ToggleHidden_titleHide + '">'+CategoriesBandeauxPortail_ToggleHidden_HTMLHide+'</a></b>';
          }
          if(HiddenCats){
                    var NewLiCatsH = document.createElement('div');
                    NewLiCatsH.id = "Categories_BandeauxPortails_CategoriesCachees";
                    NewUl.appendChild(NewLiCatsH);
                    NewLiCatsH.innerHTML = CategoriesBandeauxPortail_ImageCategories + ' <b>Catégories cachées</b> : ';
                    var Spans = HiddenCats.getElementsByTagName('li');
                    for(var a=0;a<Spans.length;a++){
                              if(a>0) NewLiCatsH.innerHTML += ' | ';
                              NewLiCatsH.innerHTML += Spans[a].innerHTML; 
                    }
          }
          CategoriesBandeauxPortail_ToggleHidden();

     }
}

function CategoriesBandeauxPortail_ToggleHidden(){
          var HiddenCatsLi = document.getElementById('Categories_BandeauxPortails_CategoriesCachees');
          var HiddenCatsLink = document.getElementById('CatToggle');
          if((HiddenCatsLi)&&(HiddenCatsLink)){
                    if(HiddenCatsLi.style.display == 'none'){
                              HiddenCatsLink.innerHTML = CategoriesBandeauxPortail_ToggleHidden_HTMLHide;
                              HiddenCatsLink.title = CategoriesBandeauxPortail_ToggleHidden_titleHide;
                              HiddenCatsLi.style.display = 'block';
                    }else{
                              HiddenCatsLink.innerHTML = CategoriesBandeauxPortail_ToggleHidden_HTMLShow;
                              HiddenCatsLink.title = CategoriesBandeauxPortail_ToggleHidden_titleShow;
                              HiddenCatsLi.style.display = 'none';
                    }
          }
}