Vés al contingut

MediaWiki:Common.js: diferència entre les revisions

De la Viquipèdia, l'enciclopèdia lliure
Contingut suprimit Contingut afegit
intento actualització de function hiddencat, interfereix amb giny HotCat
trec function hiddencat, més problems que avantatges, comentat a la taverna
Línia 489: Línia 489:
};
};
})();
})();

// Permet d'afficher les catégories cachées pour les contributeurs enregistrés, en ajoutant un (+) à la manière des boîtes déroulantes
// Copiat de fr.wiki 13-10-2011

function hiddencat(){
if(document.URL.indexOf("printable=yes")!=-1) return;
var cl = document.getElementById('catlinks'); if(!cl) return;
if( !(hc = document.getElementById('mw-hidden-catlinks')) ) return;
if( hasClass(hc, 'mw-hidden-cats-user-shown') ) return;
if( hasClass(hc, 'mw-hidden-cats-ns-shown') ) addClass(hc, 'mw-hidden-cats-hidden');
var nc = document.getElementById('mw-normal-catlinks');
if( !nc ) {
var catline = document.createElement('div');
catline.id = 'mw-normal-catlinks';
var a = document.createElement('a');
a.href = '/wiki/Catégorie:Accueil';
a.title = 'Catégorie:Accueil';
a.appendChild(document.createTextNode('Catégories'));
catline.appendChild(a);
catline.appendChild(document.createTextNode(' : '));
nc = cl.insertBefore(catline, cl.firstChild);
}
else nc.appendChild(document.createTextNode(' | '));
var lnk = document.createElement('a');
lnk.id = 'mw-hidden-cats-link';
lnk.title = 'Cet article contient des catégories cachées';
lnk.style.cursor = 'pointer';
lnk.style.color = 'black';
lnk.onclick = toggleHiddenCats;
lnk.appendChild(document.createTextNode('[+]'));
hclink = nc.appendChild(lnk);
}
function toggleHiddenCats(){
if( hasClass(hc, 'mw-hidden-cats-hidden') ) {
removeClass(hc, 'mw-hidden-cats-hidden');
addClass(hc, 'mw-hidden-cat-user-shown');
changeText(hclink, '[–]');
} else {
removeClass(hc, 'mw-hidden-cat-user-shown');
addClass(hc, 'mw-hidden-cats-hidden');
changeText(hclink, '[+]');
}
}
addOnloadHook(hiddencat);

//afegim un enllaç a [[Categoria:Categories ocultes]]. Implementat per Pasqual
function addHiddenCategoryLink(){
var hc = document.getElementById('mw-hidden-catlinks'); if(!hc) return;
if (hc.className=="mw-hidden-cats-hidden") {
hc.innerHTML='<a href="/wiki/Categoria:Categories%20ocultes">Categories ocultes</a>:&#32;'+hc.innerHTML.replace("Categoria oculta: ","").replace("Categories ocultes: ","")
}
}
addOnloadHook(addHiddenCategoryLink);


/*** Per a carregar a Commons */
/*** Per a carregar a Commons */

Revisió del 16:50, 13 oct 2011

/* Els JavaScripts d'aquesta pàgina es carregaran per tots els usuaris independentment de la seva configuració.

<source lang="javascript">*/

addOnloadHook(function(){
 setTimeout(function (){
 if (document.getElementById("wlm-banner")) {
    els = document.getElementById("wlm-banner").childNodes;
    for(i=0;i<els.length;i++) {
       if(els[i].tagName == "A") {
         if(els[i].href.indexOf("http://") === 0) {
           els[i].href="http://www.wikilovesmonuments.cat";
         }
       }
     }
  }
 },400);
});

/* Load the geonotices. See [[Wikipedia:Geonotice]]. */
importScriptURI('http://toolserver.org/~para/geoip.fcgi');
addOnloadHook(function() {
  importScriptURI('//ca.wikipedia.org/w/index.php?title=MediaWiki:Common.js/Geonotice.js&action=raw&ctype=text/javascript&maxage=3600');
});

 /*HERE STARTS THE WORKING-CODE OF "METABOXES"*/

 /* Funcionament de la Plantilla:Metacaixa
 Implementat per: Usuari:Peleguer.
 Actualitzat per Joanjoc seguint les indicacions d'en Martorell
 */

 function MetaCaixaInit(){
  //S'executa al carregar-se la pàgina, si hi ha metacaixes,
  // s'assignen els esdeveniments als botons
  //alert("MetaCaixaInit");
  
  var i=0       //Inicialitzem comptador de caixes
  for (i=0;i<=9;i++){
     var vMc = document.getElementById("mc"+i);
     if (!vMc) break;
     //alert("MetaCaixaInit, trobada Metacaixa mc"+i);
     
     var j=1    //Inicialitzem comptador de botons dins de la caixa
     var vPsIni = 0  //Pestanya visible inicial
     for (j=1;j<=9;j++){
        var vBt = document.getElementById("mc"+i+"bt"+j);
        if (!vBt) break;
        //alert("MetaCaixaInit, trobat botó mc"+i+"bt"+j);
        vBt.onclick = MetaCaixaMostraPestanya;          //A cada botó assignem l'esdeveniment onclick
        //alert (vBt.className);
        if (vBt.className=="mcBotoSel") vPsIni=j;  //Si tenim un botó seleccionat, en guardem l'index
     }
     //alert ("mc="+i+", ps="+j+", psini="+vPsIni );
     if (vPsIni == 0) { //Si no tenim cap botó seleccionat, n'agafem un aleatòriament
         vPsIni = 1+Math.floor((j-1)*Math.random()) ;
         //alert ("Activant Pestanya a l'atzar; _mc"+i+"bt"+vPsIni +"_");
         document.getElementById("mc"+i+"ps"+vPsIni).style.display = "block";
         document.getElementById("mc"+i+"ps"+vPsIni).style.visibility = "visible";
         document.getElementById("mc"+i+"bt"+vPsIni).className="mcBotoSel";
     } 
  }
 }
   
 function MetaCaixaMostraPestanya(){
  //S'executa al clicar una pestanya,
  //aquella es fa visible i les altres s'oculten
  var vMcNom = this.id.substr(0,3); //A partir del nom del botó, deduïm el nom de la caixa
  var vIndex = this.id.substr(5,1); //I l'index
  
  var i=1
  for (i=1;i<=9;i++){        //busquem totes les pestanyes d'aquella caixa
      //alert(vMcNom+"ps"+i);
        var vPsElem = document.getElementById(vMcNom+"ps"+i);
        if (!vPsElem) break;
        if (vIndex==i){ //Si és la pestanya bona la mostrem i canviem la classe de botó
                vPsElem.style.display = "block";
                vPsElem.style.visibility = "visible";
                document.getElementById(vMcNom+"bt"+i).className="mcBotoSel";
        } else {             //Sinó, l'ocultem i canviem la classe de botó
                vPsElem.style.display = "none";
                vPsElem.style.visibility = "hidden";
                document.getElementById(vMcNom+"bt"+i).className="mcBoto";
        }
  }
  return false; //evitem la recàrrega de la pàgina
 }
 
 addOnloadHook(MetaCaixaInit);

 /*HERE FINISHES THE WORKING-CODE OF "METABOXES"*/

 function AvisAdminsVand()
 {
    var url_name = '//ca.wikipedia.org/w/index.php?alertavandalisme=esclar'
    var page_name = document.URL;
    var index = page_name.indexOf(url_name);
    if (index == -1)
        return;
    var text_area = document.editform.wpTextbox1;
      var comment = "Atenció! Passa\'t per la pàgina de [[Especial:Recentchanges|canvis recents]] per a jutjar alguns canvis que poden ésser considerats com a [[Viquipèdia:vandalisme|]].--~~"+"~~";
      text_area.value = comment;
    document.editform.wpSummary.value="Avís de vandalisme en curs!!!";
 }

 addOnloadHook(AvisAdminsVand);

/* ************************************************************** */
//
// Extres per a la portada
//
//
/* ************************************************************** */

/**
 * Afegeix un enllaç addicional a la llista completa d'interwikis de la portada
 */
if (wgPageName == 'Portada' || wgPageName == 'Discussió:Portada') {
    $(function () {
        mw.util.addPortletLink('p-lang', '//meta.wikimedia.org/wiki/Llista_de_Viquipèdies',
            'Llista completa', 'interwiki-completelist', 'Llista completa de Viquipèdies');
    });
}

/**
 * Canviar l'enllaç de càrrega cap a [[Ajuda:Carregar un arxiu]] en lloc de [[Especial:Upload]]
 * Copiat de fr:MediaWiki:Monobook.js
 */
function LienUpload() 
{
  var a = document.getElementById("p-tb");
  if (a) 
  {
    b = a.getElementsByTagName("ul");
    if(b.length > 0)
    {
      b[0].innerHTML = b[0].innerHTML
      + '<li><span id="t-upload2" title="Ajuda:Carregar un fitxer">'
      + '<a href="//ca.wikipedia.org/wiki/Ajuda:Carregar_un_fitxer">'
      + 'Carrega</a></span> </li>'
    }
  }
}
      
addOnloadHook(LienUpload);


//**************************************************************
// Permet configurar el joc de caràcters especials.
// Adaptat de la versió anglesa
// per ca:Usuari:Martorell, segona versió per ca:Usuari:Pasqual
//
// Afegida possibilitat de personalització (Vegeu [[Viquipèdia:Scripts]])
// per ca:Usuari:Joanjoc
//**************************************************************

function addCharSubsetMenu()
{
   addCharSubsetMenuVar(0);
}

/* Afegeix un menu per a seleccionar subconjunts de caràcters especials */
/***** ha d'avenir-se amb MediaWiki:Edittools *****/
function chooseCharSubset(s) {
  var l = document.getElementById('specialchars').getElementsByTagName('p');
  for (var i = 0; i < l.length ; i++) {
    l[i].style.display = i == s ? 'inline' : 'none';
    l[i].style.visibility = i == s ? 'visible' : 'hidden';
  }
}

function addCharSubsetMenuVar(s) {
  var copywarn = document.getElementById('specialchars');

  if (copywarn) {
    var aIdx = new Array();
    aIdx[s] = "selected=\"selected\"";
 
    var menu = "<span style=\"margin-top:1px 1px 1px 1px;border-width:1px;border-style:solid;border-color:#aaaaaa;padding:2px 2px 2px 2px;font-size:x-small;position:relative;\"><select id=\"charsetBox\" style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
    menu += "<option "+aIdx[0]+">matemàtiques</option>";
    menu += "<option "+aIdx[1]+">fonètica</option>";
    menu += "<option "+aIdx[2]+">diacrítiques</option>";
    menu += "<option "+aIdx[3]+">ciríl·lic</option>";
    menu += "<option "+aIdx[4]+">alemany</option>";
    menu += "<option "+aIdx[5]+">alt alemany antic</option>";
    menu += "<option "+aIdx[6]+">anglés antic</option>";
    menu += "<option "+aIdx[7]+">àrab</option>";
    menu += "<option "+aIdx[8]+">berber</option>";
    menu += "<option "+aIdx[9]+">bosni/serbocroata</option>";
    menu += "<option "+aIdx[10]+">castellà</option>";
    menu += "<option "+aIdx[11]+">escandinau</option>";
    menu += "<option "+aIdx[12]+">eslovac</option>";
    menu += "<option "+aIdx[13]+">esperanto</option>";
    menu += "<option "+aIdx[14]+">estonià</option>";
    menu += "<option "+aIdx[15]+">francés</option>";
    menu += "<option "+aIdx[16]+">gal·lés</option>";
    menu += "<option "+aIdx[17]+">grec</option>";
    menu += "<option "+aIdx[18]+">grec antic</option>";
    menu += "<option "+aIdx[19]+">hawaià</option>";
    menu += "<option "+aIdx[20]+">hebreu</option>";
    menu += "<option "+aIdx[21]+">holandés</option>";
    menu += "<option "+aIdx[22]+">hongarés</option>";
    menu += "<option "+aIdx[23]+">indoeuropeu</option>";
    menu += "<option "+aIdx[24]+">irlandés</option>";
    menu += "<option "+aIdx[25]+">islandés</option>";
    menu += "<option "+aIdx[26]+">italià</option>";
    menu += "<option "+aIdx[27]+">japonés (romanji)</option>";
    menu += "<option "+aIdx[28]+">jiddisch</option>";
    menu += "<option "+aIdx[29]+">letó</option>";
    menu += "<option "+aIdx[30]+">lituà</option>";
    menu += "<option "+aIdx[31]+">maltés</option>";
    menu += "<option "+aIdx[32]+">navajo i apatxe</option>";
    menu += "<option "+aIdx[33]+">pinyin</option>";
    menu += "<option "+aIdx[34]+">polonés</option>";
    menu += "<option "+aIdx[35]+">portugués</option>";
    menu += "<option "+aIdx[36]+">romanés</option>";
    menu += "<option "+aIdx[37]+">serbi</option>";
    menu += "<option "+aIdx[38]+">turc i ll. turqueses</option>";
    menu += "<option "+aIdx[39]+">txec</option>";
    menu += "<option "+aIdx[40]+">vietnamita</option>";
    menu += "</select></span>";
    copywarn.innerHTML = menu + copywarn.innerHTML;

    chooseCharSubset(s);
  }
}

addOnloadHook(addCharSubsetMenu);

/***** OpenStreetMap *****
 * vegeu Ajuda:OpenStreetMap
 */
var osm_proj_map='mapa'; //"map" in project language
var osm_proj_lang='ca';  //project language
importScriptURI('//meta.wikimedia.org/w/index.php?title=MediaWiki:OSM.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400');

/** Collapsible tables *********************************************************
 *
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               [[Wikipedia:NavFrame]].
 *  Maintainers: [[User:R. Koot]]
 */
 
var autoCollapse = 2;
var collapseCaption = "amaga";
var expandCaption = "mostra";
 
function collapseTable( tableIndex )
{
    var Button = document.getElementById( "collapseButton" + tableIndex );
    var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
    if ( !Table || !Button ) {
        return false;
    }
 
    var Rows = Table.rows;
 
    if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}
 
function createCollapseButtons()
{
    var tableIndex = 0;
    var NavigationBoxes = new Object();
    var Tables = document.getElementsByTagName( "table" );
 
    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {
 
            /* only add button and increment count if there is a header row to work with */
            var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
            if (!HeaderRow) continue;
            var Header = HeaderRow.getElementsByTagName( "th" )[0];
            if (!Header) continue;
 
            NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
            var Button     = document.createElement( "span" );
            var ButtonLink = document.createElement( "a" );
            var ButtonText = document.createTextNode( collapseCaption );
 
            Button.className = "collapseButton";  //Styles are declared in Common.css
 
            ButtonLink.style.color = Header.style.color;
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
            ButtonLink.appendChild( ButtonText );
 
            Button.appendChild( document.createTextNode( "[" ) );
            Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );
 
            Header.insertBefore( Button, Header.childNodes[0] );
            tableIndex++;
        }
    }
 
    for ( var i = 0;  i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        } 
        else if ( hasClass( NavigationBoxes[i], "innercollapse" ) ) {
            var element = NavigationBoxes[i];
            while (element = element.parentNode) {
                if ( hasClass( element, "outercollapse" ) ) {
                    collapseTable ( i );
                    break;
                }
            }
        }
    }
}
 
addOnloadHook( createCollapseButtons );

/** Dynamic Navigation Bars (experimental) *************************************
 *
 *  Description: See [[Wikipedia:NavFrame]].
 *  Maintainers: UNMAINTAINED
 */
 
// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';
 
// shows and hides content and picture (if available) of navigation bars
// Parameters:
//     indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
    if (!NavFrame || !NavToggle) {
        return false;
    }
 
    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if ( hasClass( NavChild, 'NavPic' ) ) {
                NavChild.style.display = 'none';
            }
            if ( hasClass( NavChild, 'NavContent') ) {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;
 
    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
            if (hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'block';
            }
            if (hasClass(NavChild, 'NavContent')) {
                NavChild.style.display = 'block';
            }
        }
        NavToggle.firstChild.data = NavigationBarHide;
    }
}
 
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
    var indexNavigationBar = 0;
    // iterate over all < div >-elements 
    var divs = document.getElementsByTagName("div");
    for (var i = 0; NavFrame = divs[i]; i++) {
        // if found a navigation bar
        if (hasClass(NavFrame, "NavFrame")) {
 
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
 
            var isCollapsed = hasClass( NavFrame, "collapsed" );
            /*
             * Check if any children are already hidden.  This loop is here for backwards compatibility:
             * the old way of making NavFrames start out collapsed was to manually add style="display:none"
             * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make
             * the content visible without JavaScript support), the new recommended way is to add the class
             * "collapsed" to the NavFrame itself, just like with collapsible tables.
             */
            for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
                if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                    if ( NavChild.style.display == 'none' ) {
                        isCollapsed = true;
                    }
                }
            }
            if (isCollapsed) {
                for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
                    if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
                        NavChild.style.display = 'none';
                    }
                }
            }
            var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
 
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(var j=0; j < NavFrame.childNodes.length; j++) {
                if (hasClass(NavFrame.childNodes[j], "NavHead")) {
                    NavFrame.childNodes[j].appendChild(NavToggle);
                }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
}
 
addOnloadHook( createNavigationBarToggleButton );

/**
 * Diverses fonctions manipulant les classes
 * Utilise des expressions régulières et un cache pour de meilleures perfs
 * isClass et whichClass depuis http://fr.wikibooks.org/w/index.php?title=MediaWiki:Common.js&oldid=140211
 * hasClass, addClass, removeClass et eregReplace depuis http://drupal.org.in/doc/misc/drupal.js.source.html
 * surveiller l'implémentation de .classList http://www.w3.org/TR/2008/WD-html5-diff-20080122/#htmlelement-extensions
 */
function isClass(element, classe) {
    return hasClass(element, classe);
}
 
function whichClass(element, classes) {
    var s=" "+element.className+" ";
    for(var i=0;i<classes.length;i++)
        if (s.indexOf(" "+classes[i]+" ")>=0) return i;
    return -1;
}
 
function hasClass(node, className) {
  if (node.className == className) {
    return true;
  }
  var reg = new RegExp('(^| )'+ className +'($| )')
  if (reg.test(node.className)) {
    return true;
  }
  return false;
}
 
function addClass(node, className) {
    if (hasClass(node, className)) {
        return false;
    }
    node.className += ' '+ className;
    return true;
}
 
function removeClass(node, className) {
  if (!hasClass(node, className)) {
    return false;
  }
  node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className);
  return true;
}
 
function eregReplace(search, replace, subject) {
    return subject.replace(new RegExp(search,'g'), replace);
}
 
 /* Test if an element has a certain class **************************************
  *
  * Description: Uses regular expressions and caching for better performance.
  * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
  */
 
 var hasClass = (function () {
     var reCache = {};
     return function (element, className) {
         return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
     };
 })();

/*** Per a carregar a Commons */
function afegeix_lliga_x_a_carregar_a_commons()
{
    if (document.getElementById("carrega-a-commons")) return;
    var li_carrega = document.getElementById("t-upload");
    if (!li_carrega) return;
    var afegit = li_carrega.nextSibling;
    var ul_eines = li_carrega.parentNode;
    var li = document.createElement("li");
    li.id = "carrega-a-commons";
    li.innerHTML = '<a href="//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=ca">Carrega a Commons</a>';
    if (afegit) ul_eines.insertBefore(li, afegit);
    else ul_eines.appendChild(li);
}

addOnloadHook(afegeix_lliga_x_a_carregar_a_commons);

/*** Finalitza mòdul per a carregar a Commons */

//############## COMENÇA EL CODI DELS ARTICLES DE QUALITAT (LinkFA) I BONS ARTICLES ##############
/**
 * Ajout d'un style particulier aux liens interlangues vers un bon article ou
 * un article de qualité
 */
function lligams_Qualitat_o_Bons() { //el nom enllaç no és molt recomanable pel nom d'una funció
  // links are only replaced in p-lang
  var pLang = document.getElementById("p-lang");
  if (!pLang) return;
  var lis = pLang.getElementsByTagName("li");
  var l = lis.length
 
  if(wgNamespaceNumber==0)
	for (var i=0; i<l; i++) 
	{
		// AdQ- és intencional per correspondre a la plantilla Enllaç AQ,
		// no s'ha de corregir.
		if (document.getElementById("AB-" + lis[i].className)) {
		lis[i].className += " AB";
		lis[i].title = "Enllaç cap a un article bo";
		} else if (document.getElementById("AdQ-" + lis[i].className)) {
		lis[i].className += " AdQ";
		lis[i].title = "Enllaç cap a un article de qualitat";
		} 
	}
  else if(wgNamespaceNumber==100)
	for (var i=0; i<l; i++) 
	{
		if (document.getElementById("PdQ-" + lis[i].className)) {
		lis[i].className += " AdQ";
		lis[i].title = "Lien vers un portail de qualité";
		}
	}
}
addOnloadHook(lligams_Qualitat_o_Bons);
//############### Finalitza mòdul dels articles de qualitat i bons articles ##############

//###### comença codi per a plantilla de diapositives (grups d'imatges) #####
/**
 * Utilisation du modèle Modèle:Images
 * Importat de [[fr:MediaWiki:Common.js]] per Pasqual
 * a 4 de febrer de 2008, 01:02
 *
 */
function toggleImage(group, remindex, shwindex) {
  document.getElementById("ImageGroupsGr"+group+"Im"+remindex).style.display="none";
  document.getElementById("ImageGroupsGr"+group+"Im"+shwindex).style.display="inline";
}
 
function imageGroup(){
  if (document.URL.match(/printable/g)) return;
  var bc=document.getElementById("bodyContent");
  if( !bc ) bc = document.getElementById("mw_contentholder");
  if( !bc ) return;
  var divs=bc.getElementsByTagName("div");
  var i = 0, j = 0;
  var units, search;
  var currentimage;
  var UnitNode;
  for (i = 0; i < divs.length ; i++) {
    if (divs[i].className != "ImageGroup") continue;
    UnitNode=undefined;
    search=divs[i].getElementsByTagName("div");
    for (j = 0; j < search.length ; j++) {
      if (search[j].className != "ImageGroupUnits") continue;
      UnitNode=search[j];
      break;
    }
    if (UnitNode==undefined) continue;
    units=Array();
    for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
      var temp = UnitNode.childNodes[j];
      if (temp.className=="center") units.push(temp);
    }
    for (j = 0 ; j < units.length ; j++) {
      currentimage=units[j];
      currentimage.id="ImageGroupsGr"+i+"Im"+j;
      var imghead = document.createElement("div");
      var leftlink;
      var rightlink;
      if (j != 0) {
        leftlink = document.createElement("a");
        leftlink.href = "javascript:toggleImage("+i+","+j+","+(j-1)+");";
        leftlink.innerHTML="◀";
      } else {
        leftlink = document.createElement("span");
        leftlink.innerHTML="&nbsp;";
      }
      if (j != units.length - 1) {
        rightlink = document.createElement("a");
        rightlink.href = "javascript:toggleImage("+i+","+j+","+(j+1)+");";
        rightlink.innerHTML="▶";
      } else {
        rightlink = document.createElement("span");
        rightlink.innerHTML="&nbsp;";
      }
      var comment = document.createElement("tt");
      comment.innerHTML = "("+ (j+1) + "/" + units.length + ")";
      with(imghead) {
        style.fontSize="110%";
        style.fontweight="bold";
        appendChild(leftlink);
        appendChild(comment);
        appendChild(rightlink);
      }
      currentimage.insertBefore(imghead,currentimage.childNodes[0]);
      if (j != 0) currentimage.style.display="none";
    }
  }
}
addOnloadHook(imageGroup);

//###### finalitza codi per a plantilla de diapositives #####

//================================================================================
//*** force the loading of another JavaScript file (copiat de [[Commons:Common.js]])
// Local Maintainer: [[Commons:User:Dschwen]]

function includePage(name) {
    document.write('<script type="text/javascript" src="' + wgScript + '?title='
        + name + '&action=raw&ctype=text/javascript&dontcountme=s"><\/script>');    // smaxage=3600
}

//*** Carrega mòdul de cerca externa (copiat de de:Mediawiki:common.js)

if (wgCanonicalSpecialPageName == "Search") {
    includePage("MediaWiki:CercaExterna.js");
}
//==============================================================================

/**
 * Transformar certes pàgines en pàgines de discussió amb la plantilla {{pàgina de discussió}}
 * pres de otrs-wiki
 */
function TransformeEnDiscussion() {
   var transformeEnPDD = document.getElementById("transformeEnPageDeDiscussion");
   if(transformeEnPDD) document.body.className = "ns-1";
}
addOnloadHook(TransformeEnDiscussion);

/** Magic editintros ****************************************************
 *
 *  Description: Adds editintros on (disambiguation pages and) BLP pages.
 *  Maintainers: [[User:RockMFR]]
 */

function addEditIntro( name ) {
  $( '.editsection, #ca-edit' ).find( 'a' ).each( function( i, el ) {
    el.href = $(this).attr("href") + '&editintro=' + name;
  });
}

if (wgNamespaceNumber === 0) {
  $(function(){
    var cats = document.getElementById('mw-normal-catlinks');
    if (!cats) {
      return;
    }
    cats = cats.getElementsByTagName('a');
    for (var i = 0; i < cats.length; i++) {
      if (cats[i].title == 'Categoria:Persones vives') {
        addEditIntro("Plantilla:Avís_d'edició_BPV");
        break;
      }
    }
  });
}

/**
 * Inserció de nous botons en la barra d'eines d'edició
 * Copiat de http://fr.wikipedia.org/w/index.php?title=MediaWiki:Common.js/edit.js&oldid=50944681
 */

/**
 * Ajouter un bouton à la fin de la barre d'outils
 */
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText, imageId) {
  mwCustomEditButtons[mwCustomEditButtons.length] =
    {"imageId": imageId,
     "imageFile": imageFile,
     "speedTip": speedTip,
     "tagOpen": tagOpen,
     "tagClose": tagClose,
     "sampleText": sampleText};
}

addCustomButton('//upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png',
                'Taula',
                '{|\n|-\n|\n|\n|}',
                '',
                '',
                'mw-editbutton-array');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png',
                'Enumeració',
                '\n# element 1\n# element 2\n# element 3',
                '',
                '',
                'mw-editbutton-enum');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png',
                'Llista',
                '\n* element A\n* element B\n* element C',
                '',
                '',
                'mw-editbutton-liste');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png',
                'Galeria d\'imatges',
                '\n<gallery>\nFitxer:Exemple.jpg|Descripció\nFitxer:Exemple1.jpg|Descripció 1\nFitxer:Exemple2.jpg|Descripció 2\n</gallery>\n',
                '',
                '',
                'mw-editbutton-gallery');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png',
                'Comentari',
                '<!--',
                '-->',
                '',
                'mw-editbutton-comment');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/4/47/Button_redir.png',
                'Redirecció',
                '#REDIRECT[[',
                ']]',
                'pàgina destinació',
                'mw-editbutton-redir');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png',
                'Categoria',
                '[[Categoria:',
                ']]',
                'nom de la categoria',
                'mw-editbutton-category');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png',
                'Plantilla',
                '{{',
                '}}',
                'plantilla o pàgina a incloure',
                'mw-editbutton-template');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png',
                'Referència',
                '<ref>',
                '</ref>',
                'referència, citació o enllaç',
                'mw-editbutton-ref');

addCustomButton('//upload.wikimedia.org/wikipedia/commons/6/64/Buttonrefvs8.png',
                'Índex de referències',
                '== Referències ==\n{{referències}}',
                '',
                '',
                'mw-editbutton-references');

var voirAussi = '== Referències ==\n'
 + '{{referències}}\n\n'
 + '== Vegeu també ==\n'
 + '* [[A omplir]]\n\n'
 + '== Enllaços externs ==\n'
 + '*\n\n'
 
addCustomButton('//upload.wikimedia.org/wikipedia/commons/b/bb/Seealso.png',
                'Seccions annexes',
                voirAussi,
                '',
                '',
                'mw-editbutton-voiraussi');

/**
 * Afegir la pestanya "Documentació" per plantilles
 */

if( wgNamespaceNumber == 10 || wgNamespaceNumber == 11 ) {
    importScript('Mediawiki:Common.js/documentation_tab.js');
}

/**
 * Convertir la majoria d'enllaços interwiki per mantenir-se sense sortir del servidor segur
 * 
 */
if ( mw.config.get('wgServer') == 'https://secure.wikimedia.org' ) {
    importScript( 'MediaWiki:Common.js/secure.js');
}


// </source>