MediaWiki:Monobook.js

De Viquinotícies

Nota: Després de desar, heu de posar al dia la memòria cau del vostre navegador per veure els canvis. Mozilla / Firefox / Safari: Premeu Shift mentre cliqueu Actualitza (Reload), o premeu Ctrl+Shift+R (Cmd+Shift+R en un Mac Apple); Internet Explorer: premeu Ctrl mentre cliqueu Actualtiza (Refresh), o premeu Ctrl+F5; Konqueror:: simplement cliqueu el botó Recarregar (Reload), o premeu F5; Opera haureu d'esborrar completament la vostra memòria cau (caché) a Tools→Preferences.

/*** Per a amagar títol de portada*/

function trobaElementXSelectorCSS(selName)
{
        var arr = new Array();
        var elems = document.getElementsByTagName("*");
        for ( var cls, i = 0; ( elem = elems[i] ); i++ )
        {
                if (( elem.className == selName ) || ( elem.idName == selName ))
                {
                        arr[arr.length] = elem;
                }
        }
        return arr;
}

function AmagaTitolPortada()
{
    if(document.title.search("Usuari:Martorell/Laboratori/Reforma portada 2") != -1)
    {
        trobaElementXSelectorCSS('firstHeading')[0].style.display = 'none';
        trobaElementXSelectorCSS('firstHeading')[0].style.visibility = 'hidden';
        trobaElementXSelectorCSS('subpages')[0].style.display = 'none';
        trobaElementXSelectorCSS('subpages')[0].style.visibility = 'hidden';
    }

    if((document.title.search("Portada") != -1) && (document.title.search("Discussió:Portada") == -1))
    {
        trobaElementXSelectorCSS('firstHeading')[0].style.display = 'none';
        trobaElementXSelectorCSS('firstHeading')[0].style.visibility = 'hidden';
        trobaElementXSelectorCSS('subpages')[0].style.display = 'none';
        trobaElementXSelectorCSS('subpages')[0].style.visibility = 'hidden';
    } else if (document.title.search("Discussió:Portada") != -1)
      {
          for(var i=0; etiqueta = document.getElementsByTagName("div")[i]; i++)
          {
              if (etiqueta.IDName == "contentSub")
              { etiqueta.setAttribute('style', 'display:none; visibility:hidden;'); }
          }
       }
}

$(document).ready(AmagaTitolPortada);


//---------------------------------------------------------
// 
// CODI PER AL FUNCIONAMENT DE LA NOVA METACAIXA
//
// Implementat per: Usuari:Peleguer.
//
//---------------------------------------------------------
    

function MetaCaixa() {
    //---------------------------------------------------------
    // FUNCIONS D'AJUDA
    //---------------------------------------------------------
    
    // Pren tots els subelements de 'element' ignorant altres
    // subelements que no ens interessen (com comentaris o text).
    // Torna una llista de subelements.
    function PrendreSubElements(element) {
        var resultat = [];                      // llista per al resultat;
        var childNodes = element.childNodes;    // llista de subelements
        var n = childNodes.length;              // nombre de subelements
        
        for (var i = 0; i < n; i++) {
            // si el subelement 'i' es un element dels que busquem
            if (childNodes[i].nodeType == 1) {
                // el guardem en la llista
                resultat.push(childNodes[i] );
            }
        }
        
        return resultat; // tornem la llista de subelements que volem
    }
    
    // Afegix codi a tots els botons per a que es cride a la funció
    // MostrarPestanya quan es faça click sobre un botó.
    function AfegirEventsBotons() {
        var n = botons.length;
        for (var i = 0; i < n; i++) {
            botons[i].onclick = MostrarPestanya;
            botons[i].contingut = continguts[i];
        }
    }

    // Mostra una pestanya amagant la resta. 'this' conté
    // el botó sobre el que se ha fet click.
    function MostrarPestanya() {
        // amaguem totes les pestanyes
        var n = continguts.length;
        for (var i = 0; i < n; i++) {
            botons[i].className = "Boto-mc";
            continguts[i].style.display = "none";
        }
        // mostrem la pestanya corresponent
        this.contingut.style.display = "";
        this.className = "BotoSeleccionat-mc";
    }
    
    //---------------------------------------------------------
    // CODI PRINCIPAL
    //---------------------------------------------------------
    
    // Buscar l'element pel seu ID. De moment, solament podem tindre
    // UNA caixa, ja que els ID han de ser únics al codi html.
    var MetaCaixa = document.getElementById("MetaCaixa");
    // si no existeix, eixim del programa
    if (!MetaCaixa) return;
    
    // Asociar els subelements amb variables. Este codi depén de 
    // l'estructura dels DIV. Dóna per suposat que el DIV principal 
    // conté dos DIV:
    //     el primer conté els DIV botons
    //     el segon els DIV de contingut
    var subElements = PrendreSubElements(MetaCaixa);
    var capaBotons      = subElements[0]; // primer subelement
    var capaContinguts  = subElements[1]; // segon subelement
    // tornem a repetir la faena per a trobar els botons i els continguts
    var botons      = PrendreSubElements(capaBotons);
    var continguts  = PrendreSubElements(capaContinguts);
    
    // afegim el codi necessari als botons
    AfegirEventsBotons();
    // fem click sobre el primer botó
    
    if(document.title.search("Plantilla:Metacaixa") != -1)    
    { var psNum = Math.round(3*Math.random()); }
    else
    { var psNum = 0; }

    MostrarPestanya.call(botons[psNum]);
}
$(document).ready(MetaCaixa);

/********************************************************************/
/*                                                                  */
/*                     Previsualització Instantània                 */
/*                                                                  */
/********************************************************************/

importScript('w:Usuari:Coet/scripts/PrevInst.js');