MediaWiki:Common.js
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
- Opera: premi Ctrl-F5.
/** Al JavaScript ché dèinter al vîn carghê per tót i utèint e tót al pâgini */
/*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
}
$(MetaCaixaInit);
/*HERE FINISHES THE WORKING-CODE OF "METABOXES"*/
/** Acsé a's slounga la lésta di lavòur da fêr quând e's chêrga na pâgina */
function DaFerSubet(incaregh) {
if (!window.onload) { window.onload = incaregh; return; }
var f = window.onload; window.onload = function () { f(); incaregh(); } }
/** Cusché al lōga / al fa vèder còl ch'a gh'é dèintr int al casèt */
function movAlCaset(nomer) {
var Scatla = document.getElementById('ScatlaDalTastein' + nomer);
var Caset = document.getElementById('Caset' + nomer);
if (!Caset || !Scatla) { return false; } // al casèt nómer "nomer" an gh'é mìa
if (Scatla.cundisioun == 'avert') { // quând l'é avèrt
Scatla.cundisioun = 'saree';
Caset.style.display = 'none';
jostaAlTetol(); }
else if (Scatla.cundisioun == 'saree') { // quând l'é sarê ...
Scatla.cundisioun = 'avert';
Caset.style.display = 'block';
jostaAlTetol(Caset.getAttribute('title')); } }
/** Cusché al sêra al casèt ch'l'é avèrt e a'n arvés un êter */
function cambiaCaset(nomer) {
var ScatlaDiDialet = document.getElementById('ScatlaDiDialet');
movAlCaset(ScatlaDiDialet.CasetAvert);
ScatlaDiDialet.CasetAvert = nomer;
movAlCaset(ScatlaDiDialet.CasetAvert); }
/** Cusché al câmbia la bandēra sòt a la scâtla di dialèt */
function cambiaBandera(nomer) {
var ScatlaDiDialet = document.getElementById('ScatlaDiDialet');
var LestaDalBanderi = ScatlaDiDialet.LestaDalBanderi;
var Pagina = document.getElementById('content');
if (ScatlaDiDialet.bandera) Pagina.removeChild(ScatlaDiDialet.bandera);
ScatlaDiDialet.bandera = LestaDalBanderi[nomer];
Pagina.insertBefore(ScatlaDiDialet.bandera, ScatlaDiDialet.nextSibling); }
/** Cusché al jósta al tétol generêl */
function jostaAlTetol(tetol) {
var Tetol = document.getElementsByTagName('h1');
for(var i=0; i < Tetol.length; i++) {
if ( Tetol[i].className != 'firstHeading' ) continue;
if (! Tetol[i].prem) Tetol[i].prem = Tetol[i].firstChild.nodeValue;
if (tetol == null) tetol = Tetol[i].prem;
Tetol[i].firstChild.nodeValue = tetol; } }
/** Cusché al fa vèder sōl al scréti d'un dialèt */
function faVeder(dialet) {
var Mesag = document.getElementsByTagName('span');
for(var i=0; i<Mesag.length; i++) {
if (Mesag[i].className != 'traduz') continue;
var screta = Mesag[i].tradusioun[dialet];
var difet = Mesag[i].tradusioun['DIFET'];
Mesag[i].replaceChild(screta ? screta : difet, Mesag[i].firstChild); } }
/** Cusché al fa tót còl ch'a gh'é da fêr per na scâtla nōva */
function cambiaDialet(nomer, dialet) {
cambiaCaset(nomer);
cambiaBandera(nomer);
faVeder(dialet); }
/** Cusché al fa vèder sōl al scréti giósti ânch quând an gh'é gnân un casèt */
function seinsaCaset() {
var Divisioun = document.getElementsByTagName('div');
for(var i=0; i < Divisioun.length; i++) {
if ( Divisioun[i].className != 'variant' ) continue;
// quând a gh'é na bandēra, e'gh la pròm cavêr
var dialet = Divisioun[i].getAttribute('lang');
faVeder(dialet); } }
/** Cusché al fâbrica na scâtla da tastèin (per "preparerITastein") */
function faNaScatlaDaTastein(Caset, nomer) {
var Dialet = Caset.getAttribute('lang');
Caset.setAttribute('id', 'Caset' + nomer);
Caset.setAttribute('lang', 'eml-' + Dialet);
var ScatlaDalTastein = document.createElement('span');
var Tastein = document.createElement('a');
var ScretaDalTastein = document.createTextNode(
Dialet=='ARZ'?'arzân' : Dialet=='BLG'?'bulgnais': Dialet=='CAR'?'cararìn' :
Dialet=='FRA'?'frarés' : Dialet=='MAN'?'mantuan' : Dialet=='MUD'?'mudnés' :
Dialet=='PIA'?'piasintëin': Dialet=='PRA'?'pramzàn' : Dialet=='RUM'?'rumagnòl':
Dialet=='ITA'?'italiano' : '???');
Tastein.className = 'Tastein';
Tastein.setAttribute('id', 'Tastein' + nomer);
Tastein.setAttribute('href', 'javascript:cambiaDialet(' + nomer + ',"' + Dialet + '");');
Tastein.appendChild(ScretaDalTastein);
ScatlaDalTastein.className = 'ScatlaDalTastein';
ScatlaDalTastein.setAttribute('id', 'ScatlaDalTastein' + nomer);
ScatlaDalTastein.appendChild(Tastein);
ScatlaDalTastein.cundisioun = 'avert';
ScatlaDalTastein.dialet = Dialet;
return ScatlaDalTastein; }
/** Cusché al prepâra un recipîjnt per tóti al scâtli di tastéin (per "preparerITastein") */
function faLaScatlaPriDialet(nomer, LestaDiDialet, LestaDalBanderi) {
var ScatlaDiDialet = document.createElement('div');
ScatlaDiDialet.className = 'ScatlaDiDialet';
ScatlaDiDialet.setAttribute('id', 'ScatlaDiDialet');
ScatlaDiDialet.CasetAvert = 0;
ScatlaDiDialet.appendChild(document.createTextNode("★ Sta pâgina la gh'é in dialèt: ★"));
ScatlaDiDialet.appendChild(document.createElement('br'));
for (var i=0; i<nomer; i++) {
if (i > 0) ScatlaDiDialet.appendChild(document.createTextNode('·'));
ScatlaDiDialet.appendChild(LestaDiDialet[i]); }
ScatlaDiDialet.LestaDalBanderi = LestaDalBanderi;
ScatlaDiDialet.bandera = null;
return ScatlaDiDialet; }
/** Cusché al fâbrica tót i tastèin pr'i casèt */
function preparerITastein() {
var LestaDiDialet = new Array();
var LestaDalBanderi = new Array();
var nomer = 0; var Div;
var Divisioun = document.getElementsByTagName('div');
for(var i=0; i < Divisioun.length; i++) {
if ( Divisioun[i].className != 'Caset' ) continue;
var Caset = Divisioun[i];
// preparêr n'êtra scâtla da tastèin e infrucêrla int la lésta di dialèt
LestaDiDialet[nomer] = faNaScatlaDaTastein(Caset, nomer);
// tōr via al bandēri e lughêri int un sît
var Fio = Caset.getElementsByTagName('div');
for(var j=0; j < Fio.length; j++) {
if ( Fio[j].className != 'variant' ) continue;
LestaDalBanderi[nomer] = Caset.removeChild(Fio[j]); break; }
nomer++; }
// se la lésta di dialèt l'é vōda, lêsa stêr
if (nomer == 0) { seinsaCaset(); return; }
var Pagina = document.getElementById('content');
// sistemêr al recipîjnt per tóti al scâtli di tastéin
var ScatlaDiDialet = faLaScatlaPriDialet(nomer, LestaDiDialet, LestaDalBanderi);
Pagina.insertBefore(ScatlaDiDialet, Pagina.firstChild);
// pr'adèsa, lughêr ânca la TOC, ch'l'an funsiòuna mìa
var TOC = document.getElementById('toc');
if (TOC) TOC.style.display = 'none';
// sarêr só tót i casèt, mo mìa al prém
for(var i=1; i<nomer; i++) { movAlCaset(i); }
// tirêr só al prém dialèt
cambiaDialet(0, LestaDiDialet[0].dialet); }
/** Cusché al mèt só al sistēma dal tradusiòun dal scrèti */
function preparerAlTradusioun() {
var Mesag = document.getElementsByTagName('span');
for(var i=0; i<Mesag.length; i++) {
if (Mesag[i].className != 'traduz') continue;
var tradusioun = new Array();
while (Mesag[i].lastChild) {
var fio = Mesag[i].lastChild;
var lengua = fio.getAttribute('lang');
tradusioun[lengua] = fio;
if (lengua == 'DIFET') break;
Mesag[i].removeChild(fio);
fio.style.display = null; }
Mesag[i].tradusioun = tradusioun; } }
/** êter lavòur da fêr quând e's chêrga na pâgina */
DaFerSubet(preparerAlTradusioun);
DaFerSubet(preparerITastein);