Cimitero:MediaWiki:Common.js: differenze tra le versioni

m
Annullata la modifica 1599428 di Sanjilops (discussione)
m (Annullata la modifica 1599426 di Sanjilops (discussione))
m (Annullata la modifica 1599428 di Sanjilops (discussione))
Riga 1 686:
 
addOnloadHook(facebooklikeboxTEST);
}
 
 
/************************** MONOBOOK.JS *******************************/
/************ SPOSTATO QUI FINO A RISOLUZIONE DEL PROBLEMA ************/
/************************ OnloadHooks ************/
/* Funzioni generali */
function hooks_monobook () {
addeditintro();
hooks_monobook_render ();
communitya ();
sharelinks();
search_thumb();
ShoutBox_load();
return;
}
addOnloadHook(hooks_monobook);
 
/* Funzioni del rendering - separate per richiamarle in anteprima rapida */
function hooks_monobook_render () {
addCss();
hideEdit();
rewriteTitle();
change_subtitle();
moveeditsection();
sectionzero_editlink();
 
jsLoading(); // dev'essere sempre l'ultima!!
return;
}
 
/* Funzioni dell'editor */
function hooks_monobook_edit () {
if (wgAction != 'edit' && wgAction != 'submit') return;
Quick_Editor();
// vandal_block_load();
return;
}
addOnloadHook(hooks_monobook_edit);
 
 
 
/* Codice per far scomparire tasto modifica in articoli da cancellare */
/* Per disabilitarlo: aggiungere nel proprio monobook.js la riga */
/* disablehideEdit = 1; */
var disablehideEdit = 0;
function hideEdit () {
if(disablehideEdit) return;
if (!document.getElementById('ca-edit') || !document.getElementById('hide-edit')) return;
editLink = document.getElementById('ca-edit').firstChild;
editLink.removeAttribute('href', 0);
editLink.style.color = 'gray';
editLink.innerHTML = 'X';
return;
}
 
 
/* Reskin parser */
/* Permette di personalizzare il foglio di stile di una pagina */
/* Utilizzato da Template:Css */
var disableaddCss = 0;
function addCss () {
if(disableaddCss) return;
var Css = document.getElementById('add-css');
if (!Css) return;
// aggiungo l'eventuale stile esterno (linked):
var linkElem = document.createElement( 'link' );
linkElem.type = 'text/css';
linkElem.rel = 'stylesheet';
linkElem.href = '/index.php?title=Nonciclopedia:Skin/' + Css.innerHTML + '.css&action=raw&ctype=text/css&smaxage=120';
linkElem.id = "add-css-link";
document.getElementsByTagName( 'head' )[0].appendChild( linkElem );
return;
}
 
/* Funzioni per impedire svuotamenti di massa da parte dei vandali */
var VB_code = false;
function vandal_block_load () {
if ((wgAction != 'edit' && wgAction != 'submit') || wgArticleId == 0 || wgPageName == "Nonciclopedia:Sandbox" || wgPageName == "Template:Prova" || ((wgNamespaceNumber == 2 || wgNamespaceNumber == 3) && RegExp("^" + wgUserName + "/?").test(wgTitle))) return false; /* non si attiva su pagine inesistenti, sandbox e sulle proprie pagine utenti e discussioni */
if (wgUserGroups) {
if(wgUserGroups.join().indexOf("emailconfirmed") != -1 && wgUserGroups.join().indexOf("autoconfirmed") != -1) return false;
}
VB_code = document.getElementById('wpTextbox1').value;
if (VB_code.length == 0) return false;
var button = document.getElementById('wpSave');
button.onclick = vandal_block;
return;
}
 
function vandal_block () {
var textbox = document.getElementById('wpTextbox1');
if (/\{\{\s*(cancellazione|scadenza|accusa).*\}\}\n/i.test(VB_code)) {
var template = /\{\{\s*(cancellazione|scadenza|accusa).*\}\}\n/i.exec(VB_code);
if (template != null && textbox.value.indexOf(template) == -1) textbox.value = template + '\n' + textbox.value; /* rimette i template quando vengono rimossi */
}
var is_section = /&section=\d/.test(location.search);
if (textbox.value.length/VB_code.length > 0.5 || (!is_section && /^#\s?REDIRECT/i.test(textbox.value))) return; /* il blocco scatta per riduzioni del testo superiori al 50%; eccezione per i redirect */
if (textbox.value.length/VB_code.length < 0.2 && !is_section) {
alert("Questo potrebbe essere un vandalismo. Il salvataggio verrà annullato");
textbox.value = VB_code;
return;
}
var n1 = Math.round(Math.random() * 9000) + 1000;
var n2 = Math.round(Math.random() * 9000) + 1000;
var answer = prompt("Attenzione: questo potrebbe essere un vandalismo. Rispondi correttamente alla domanda per continuare. Per evitare questo passaggio, registrati e conferma la registrazione via mail.\n\nQuanto fa " + n1 + " + " + n2 + " ?", '');
if (answer == null || answer.match(/\d+/) != n1 + n2) {
alert("Risposta non corretta. Il salvataggio verrà annullato");
textbox.value = VB_code;
return;
}
alert("Se sei un vandalo, sappi che la tua modifica verrà annullata entro un minuto. Lascia perdere e trovati un altro passatempo. Se invece non sei un vandalo, registrati, o conferma la registrazione con la mail.");
return;
}
 
 
/** Extra toolbar options ******************************************************
*
* Description: UNDOCUMENTED
* Maintainers: [[User:MarkS]]?, [[User:Voice of All]], [[User:R. Koot]]
*/
//This is a modified copy of a script by User:MarkS for extra features added by User:Voice of All.
// This is based on the original code on Wikipedia:Tools/Editing tools
// To disable this script, add <code>mwCustomEditButtons = [];<code> to [[Special:Mypage/monobook.js]]
if (mwCustomEditButtons) {
 
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/commons/0/0c/Button_P_template.png",
"speedTip": "Template",
"tagOpen": "{{",
"tagClose": "}" + "}",
"sampleText": "Template"};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "http://upload.wikimedia.org/wikipedia/commons/0/05/Button_Anf%C3%BChrung.png",
"speedTip": "Citazione",
"tagOpen": "{{Cit|",
"tagClose": "|Testo sotto}" + "}",
"sampleText": "Testo citazione"};
 
}
 
 
 
/*************** INIZIO CATEGORYTREE *****************/
 
/* Messaggi in italiano */
var categoryTreeCollapseMsg = "comprimi";
var categoryTreeExpandMsg = "espandi";
var categoryTreeCollapseBulletMsg = "[\x3cb\x3e−\x3c/b\x3e]";
var categoryTreeExpandBulletMsg = "[\x3cb\x3e+\x3c/b\x3e]";
var categoryTreeLoadMsg = "carica";
var categoryTreeLoadingMsg = "caricamento in corso";
var categoryTreeNothingFoundMsg = "nessun risultato";
var categoryTreeNoSubcategoriesMsg = "nessuna sottocategoria.";
var categoryTreeNoParentCategoriesMsg = "nessuna categoria superiore";
var categoryTreeNoPagesMsg = "nessuna voce né sottocategoria.";
var categoryTreeErrorMsg = "Problema nel caricamento dei dati.";
var categoryTreeRetryMsg = "Attendere un momento e riprovare.";
 
/* Codice */
 
function categoryTreeNextDiv(e) {
var n= e.nextSibling;
while ( n && ( n.nodeType != 1 || n.nodeName != 'DIV') ) {
//alert('nodeType: ' + n.nodeType + '; nodeName: ' + n.nodeName);
n= n.nextSibling;
}
 
return n;
}
 
function categoryTreeExpandNode(cat, options, lnk) {
var div= categoryTreeNextDiv( lnk.parentNode.parentNode );
 
div.style.display= 'block';
lnk.innerHTML= categoryTreeCollapseBulletMsg;
lnk.title= categoryTreeCollapseMsg;
lnk.onclick= function() { categoryTreeCollapseNode(cat, options, lnk) }
 
if (!lnk.className.match(/(^| )CategoryTreeLoaded($| )/)) {
categoryTreeLoadNode(cat, options, lnk, div);
}
}
 
function categoryTreeCollapseNode(cat, options, lnk) {
var div= categoryTreeNextDiv( lnk.parentNode.parentNode );
 
div.style.display= 'none';
lnk.innerHTML= categoryTreeExpandBulletMsg;
lnk.title= categoryTreeExpandMsg;
lnk.onclick= function() { categoryTreeExpandNode(cat, options, lnk) }
}
 
function categoryTreeLoadNode(cat, options, lnk, div) {
div.style.display= 'block';
lnk.className= 'CategoryTreeLoaded';
lnk.innerHTML= categoryTreeCollapseBulletMsg;
lnk.title= categoryTreeCollapseMsg;
lnk.onclick= function() { categoryTreeCollapseNode(cat, options, lnk) }
 
categoryTreeLoadChildren(cat, options, div)
}
 
function categoryTreeEncodeValue(value) {
switch (typeof value) {
case 'function':
throw new Error("categoryTreeEncodeValue encountered a function");
break;
 
case 'string':
s = '"' + value.replace(/([\\"'])/g, "\\$1") + '"';
break;
 
case 'number':
case 'boolean':
case 'null':
s = String(value);
break;
 
case 'object':
if ( !value ) {
s = 'null';
}
else if (typeof value.length === 'number' && !(value.propertyIsEnumerable('length'))) {
s = '';
for (i = 0; i<value.length; i++) {
v = value[i];
if ( s!='' ) s += ', ';
s += categoryTreeEncodeValue( v );
}
s = '[' + s + ']';
}
else {
s = '';
for (k in value) {
v = value[k];
if ( s!='' ) s += ', ';
s += categoryTreeEncodeValue( k );
s += ': ';
s += categoryTreeEncodeValue( v );
}
s = '{' + s + '}';
}
break;
default:
throw new Error("categoryTreeEncodeValue encountered strange variable type " + (typeof value));
}
 
return s;
}
 
function categoryTreeLoadChildren(cat, options, div) {
div.innerHTML= '<i class="CategoryTreeNotice">' + categoryTreeLoadingMsg + '</i>';
 
if ( typeof options == "string" ) { //hack for backward compatibility
options = { mode : options };
}
 
function f( request ) {
if (request.status != 200) {
div.innerHTML = '<i class="CategoryTreeNotice">' + categoryTreeErrorMsg + ' </i>';
var retryLink = document.createElement('a');
retryLink.innerHTML = categoryTreeRetryMsg;
retryLink.onclick = function() {
categoryTreeLoadChildren(cat, options, div, enc);
}
div.appendChild(retryLink);
return;
}
 
result= request.responseText;
result= result.replace(/^\s+|\s+$/, '');
 
if ( result == '' ) {
result= '<i class="CategoryTreeNotice">';
 
if ( options.mode == 0 ) result= categoryTreeNoSubcategoriesMsg;
else if ( options.mode == 10 ) result= categoryTreeNoPagesMsg;
else if ( options.mode == 100 ) result= categoryTreeNoParentCategoriesMsg;
else result= categoryTreeNothingFoundMsg;
 
result+= '</i>';
}
 
result = result.replace(/##LOAD##/g, categoryTreeExpandMsg);
div.innerHTML= result;
if(wgAction == 'edit' || wgAction == 'submit') {
var links = div.getElementsByTagName('a');
var l, i=0;
for (i in links) {
l = links[i];
if (!(/CategoryTreeLabelCategory/.test(l.className))) continue;
l.setAttribute('onclick', "this.href='javascript:void(0)'; insertTags('[[Categoria:" + l.innerHTML + "]]', '', '');");
l.title = "Clicca per inserire";
}
}
}
 
var opt = categoryTreeEncodeValue(options);
sajax_do_call( "efCategoryTreeAjaxWrapper", [cat, opt, 'json'] , f );
}
 
 
/************ FINE CATEGORYTREE ****************/
 
 
 
 
/*
== Tooltips and access keys ==
*/
ta = new Object();
ta['pt-userpage'] = new Array('.','La tua pagina utente');
ta['pt-anonuserpage'] = new Array('.','La pagina utente di questo indirizzo IP');
ta['pt-mytalk'] = new Array('n','La tua pagina di discussione');
ta['pt-anontalk'] = new Array('n','Discussioni sulle modifiche fatte da questo indirizzo IP');
ta['pt-preferences'] = new Array('','Le tue preferenze');
ta['pt-watchlist'] = new Array('l','La lista delle pagine che stai tenendo sotto osservazione');
ta['pt-mycontris'] = new Array('y','L\'elenco dei tuoi contributi');
ta['pt-login'] = new Array('o','La registrazione è consigliata, anche se non obbligatoria');
ta['pt-anonlogin'] = new Array('o','La registrazione è consigliata, anche se non obbligatoria');
ta['pt-logout'] = new Array('o','Uscita (logout)');
ta['ca-talk'] = new Array('t','Vedi le discussioni relative a questa pagina');
ta['ca-edit'] = new Array('e','Puoi modificare questa pagina. Per favore usa il pulsante di anteprima prima di salvare');
ta['ca-addsection'] = new Array('+','Aggiungi un commento a questa discussione');
ta['ca-viewsource'] = new Array('e','Questa pagina è protetta, ma puoi vedere il suo codice sorgente');
ta['ca-history'] = new Array('h','Versioni precedenti di questa pagina');
ta['ca-protect'] = new Array('=','Proteggi questa pagina');
ta['ca-unprotect'] = new Array('=','Sblocca questa pagina');
ta['ca-delete'] = new Array('d','Cancella questa pagina');
ta['ca-undelete'] = new Array('d','Ripristina la pagina com\'era prima della cancellazione');
ta['ca-move'] = new Array('m','Sposta questa pagina (cambia titolo)');
ta['ca-watch'] = new Array('w','Aggiungi questa pagina alla tua lista di osservati speciali');
ta['ca-unwatch'] = new Array('w','Elimina questa pagina dalla tua lista di osservati speciali');
ta['search'] = new Array('f','Cerca all\'interno del sito');
ta['p-logo'] = new Array('','Pagina principale');
ta['n-mainpage'] = new Array('z','Visita la pagina principale');
ta['n-portal'] = new Array('','Descrizione del progetto, cosa puoi fare, dove trovare le cose');
ta['n-currentevents'] = new Array('','Informazioni sugli eventi di attualità');
ta['n-recentchanges'] = new Array('r','Elenco delle ultime modifiche del sito');
ta['n-randompage'] = new Array('x','Mostra una pagina a caso');
ta['n-help'] = new Array('a','Pagine di aiuto');
ta['n-sitesupport'] = new Array('','Aiutaci');
ta['t-whatlinkshere'] = new Array('j','Elenco di tutte le pagine che sono collegate a questa');
ta['t-recentchangeslinked'] = new Array('k','Elenco delle ultime modifiche alle pagine collegate a questa');
ta['feed-rss'] = new Array('','Feed RSS per questa pagina');
ta['feed-atom'] = new Array('','Feed Atom per questa pagina');
ta['t-contributions'] = new Array('','Lista dei contributi di questo utente');
ta['t-emailuser'] = new Array('','Invia un messaggio e-mail a questo utente');
ta['t-upload'] = new Array('u','Carica immagini o file multimediali');
ta['t-specialpages'] = new Array('q','Lista di tutte le pagine speciali');
ta['ca-nstab-main'] = new Array('c','Vedi la voce');
ta['ca-nstab-user'] = new Array('c','Vedi la pagina utente');
ta['ca-nstab-media'] = new Array('c','Vedi la pagina del file multimediale');
ta['ca-nstab-special'] = new Array('','Questa è una pagina speciale, non può essere modificata');
ta['ca-nstab-wp'] = new Array('c','Vedi la pagina di servizio');
ta['ca-nstab-image'] = new Array('c','Vedi la pagina dell\'immagine');
ta['ca-nstab-mediawiki'] = new Array('c','Vedi il messaggio di sistema');
ta['ca-nstab-template'] = new Array('c','Vedi il template');
ta['ca-nstab-help'] = new Array('c','Vedi la pagina di aiuto');
ta['ca-nstab-category'] = new Array('c','Vedi la pagina della categoria');
 
 
 
/*
 
==Routine per il cambio del titolo e del sottotitolo==
*/
/* "Technical restrictions" title fix *****************************************
*
* copiato da :it:MediaWiki:Common.js, a sua volta copiato da :en:MediaWiki:Common.js
*/
// The function looks for span like this:
// <span id="TitleText">title</span>
//
var disableAssignTitle = 0; // un utente può disabilitare l'assegnazione del titolo dal suo monobook.js
var disableAssignSubTitle = 0; // un utente può disabilitare l'assegnazione del sottotitolo dal suo monobook.js
function rewriteTitle() {
try {
if (!disableAssignTitle) {
var titleTextElement = document.getElementById("TitleText");
if (titleTextElement) {
var titleTextHTML = titleTextElement.innerHTML;
titleText = pickUpText(titleTextElement);
// assegno il testo completo di HTML come titolo della pagina:
var h1 = document.getElementsByTagName("h1")[0];
if (h1) {
h1.innerHTML = titleTextHTML;
}
// assegno il testo senza HTML come titolo della finestra del browser:
if (titleText == "") {
document.title = "Nonciclopedia";
}
else {
document.title = titleText + " - Nonciclopedia";
}
// nascondo l'elemento "TitleText" perché serve solo per il javascript:
titleTextElement.style.display = "none";
// se è presente la specifica del colore, lo assegno al titolo della pagina:
var titleColorElement = document.getElementById("TitleColor");
if (titleColorElement) {
titleColorText = pickUpText(titleColorElement);
if (h1) {
h1.style.color = titleColorText;
}
// nascondo l'elemento "TitleColor" perché serve solo per il javascript:
titleColorElement.style.display = "none";
}
// se è presente la specifica dello stile del bordo inferiore, lo assegno al titolo della pagina:
var titleBorderBottomElement = document.getElementById("TitleBorderBottom");
if (titleBorderBottomElement) {
titleBorderBottomText = pickUpText(titleBorderBottomElement);
if (h1) {
h1.style.borderBottom = titleBorderBottomText;
}
// nascondo l'elemento "TitleBorderBottom" perché serve solo per il javascript:
titleBorderBottomElement.style.display = "none";
}
// se è presente la specifica del font-family, lo assegno al titolo della pagina:
var titleFontFamilyElement = document.getElementById("TitleFontFamily");
if (titleFontFamilyElement) {
titleFontFamilyText = pickUpText(titleFontFamilyElement);
if (h1) {
h1.style.fontFamily = titleFontFamilyText;
}
// nascondo l'elemento "TitleFontFamily" perché serve solo per il javascript:
titleFontFamilyElement.style.display = "none";
}
}
}
} catch (e) {
/* Something went wrong. */
}
}
 
// similar to innerHTML, but only returns the text portions of the insides, excludes HTML
function pickUpText(aParentElement) {
var str = "";
function pickUpTextInternal(aElement) {
var child = aElement.firstChild;
while (child) {
if (child.nodeType == 1) // ELEMENT_NODE
pickUpTextInternal(child);
else if (child.nodeType == 3) // TEXT_NODE
str += child.nodeValue;
child = child.nextSibling;
}
}
pickUpTextInternal(aParentElement);
return str;
}
 
var disableRandomSubTitle = 0;
 
// routine per l'eventuale assegnazione del sottotitolo (default: random):
function change_subtitle() {
var subTitleTextElement = document.getElementById("SubTitleText");
if ((subTitleTextElement) && (!disableAssignSubTitle)) {
var subTitleTextHTML = subTitleTextElement.innerHTML;
subTitleText = pickUpText(subTitleTextElement);
// assegno il testo completo di HTML come sottotitolo della pagina:
var h3 = document.getElementsByTagName("h3")[0];
if (h3) {
h3.innerHTML = subTitleTextHTML;
}
// nascondo l'elemento "SubTitleText" perché serve solo per il javascript:
subTitleTextElement.style.display = "none";
} else {
sottotitoloRandom();
}
}
 
 
 
function sottotitoloRandom() {
if (disableRandomSubTitle) return;
var sottotitoli = new Array();
//attenzione, il testo non può contenere nessun tag o collegamento
sottotitoli[0] = "Da Nonciclopedia, l'enciclopedia libera su cauzione";
sottotitoli[1] = "Da Nonciclopedia, l'enciclopedia libera con l'indulto";
sottotitoli[2] = "Da Nonciclopedia, l'enciclopedia libera dagli inestetismi";
sottotitoli[3] = "Dà Noncicloppedia, lenciclopedia l'ibbera dal'orttografia";
sottotitoli[4] = "Da Nonciclopedia, l'enciclopedia che libera la gola e calma la tosse";
sottotitoli[5] = "Da Nonciclopedia, l'enciclopedia libera... finché non ci beccano!";
sottotitoli[6] = "Da Nonciclopedia, l'enciclopedia in libertà vigilata";
sottotitoli[7] = "Da Nonciclopedia, l'enciclopedia libera da qualsivoglia contenuto";
sottotitoli[8] = "Da Nonciclopedia, l'enciclopedia libidinosa";
sottotitoli[9] = "Da Nonciclopedia, l'enciclopedia libertina";
sottotitoli[10] = "Da Nonciclopedia, l'enciclopedia liberatoria";
sottotitoli[11] = "Da Nonciclopedia, l'enciclopedia libera dal pudore. 8====D";
sottotitoli[12] = "Da Nonciclopedia, l'enciclopedia liberalizzata (ma solo in Olanda)";
sottotitoli[13] = "Da Nonciclopedia, l'enciclopedia liberamente ispirata all'Osservatore Romano";
sottotitoli[14] = "Da Nonciclopedia, l'enciclopedia VM 18 e libera dai bambini";
var n = Math.round(Math.random() * (sottotitoli.length - 1)); //scelta random
// assegno il testo come sottotitolo della pagina:
subtitle = document.getElementById("siteSub");
subtitle.innerHTML = sottotitoli[n];
}
 
/* Apre la shoutbox */
function ShoutBox_load() {
if(wgPageName != "Nonciclopedia:ShoutBox" || wgAction !="view") return false;
window.open('http://nonciclopedia.wikia.com/index.php?title=Speciale:WidgetDashboard&action=render&useskin=monaco', '_blank','directories=no, location=no, menubar=no, toolbar=no, titlebar=no, width=250, height=300', false);
return;
}
 
 
/******************* QUICK EDITOR ********************/
/* Functions for rapid saving and previewing without need of reloading the page: basically a hack on api.php */
/* Created and mantained by Sanjilops (http://nonciclopedia.wikia.com/wiki/Utente:Sanjilops) */
/* Feel free to copy and adapt it on your wiki. Check also MediaWiki:Monobook.css */
 
/**
*
* MD5 (Message-Digest Algorithm)
* http://www.webtoolkit.info/
*
**/
var MD5 = function (string) {
function RotateLeft(lValue, iShiftBits) {
return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
}
function AddUnsigned(lX,lY) {
var lX4,lY4,lX8,lY8,lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
}
function F(x,y,z) { return (x & y) | ((~x) & z); }
function G(x,y,z) { return (x & z) | (y & (~z)); }
function H(x,y,z) { return (x ^ y ^ z); }
function I(x,y,z) { return (y ^ (x | (~z))); }
function FF(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
};
function GG(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
};
function HH(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
};
function II(a,b,c,d,x,s,ac) {
a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
return AddUnsigned(RotateLeft(a, s), b);
};
function ConvertToWordArray(string) {
var lWordCount;
var lMessageLength = string.length;
var lNumberOfWords_temp1=lMessageLength + 8;
var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
var lWordArray=Array(lNumberOfWords-1);
var lBytePosition = 0;
var lByteCount = 0;
while ( lByteCount < lMessageLength ) {
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount-(lByteCount % 4))/4;
lBytePosition = (lByteCount % 4)*8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
lWordArray[lNumberOfWords-2] = lMessageLength<<3;
lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
return lWordArray;
};
function WordToHex(lValue) {
var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
for (lCount = 0;lCount<=3;lCount++) {
lByte = (lValue>>>(lCount*8)) & 255;
WordToHexValue_temp = "0" + lByte.toString(16);
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
}
return WordToHexValue;
};
function Utf8Encode(string) {
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
}
else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
};
var x=Array();
var k,AA,BB,CC,DD,a,b,c,d;
var S11=7, S12=12, S13=17, S14=22;
var S21=5, S22=9 , S23=14, S24=20;
var S31=4, S32=11, S33=16, S34=23;
var S41=6, S42=10, S43=15, S44=21;
string = Utf8Encode(string);
x = ConvertToWordArray(string);
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
for (k=0;k<x.length;k+=16) {
AA=a; BB=b; CC=c; DD=d;
a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
d=GG(d,a,b,c,x[k+10],S22,0x2441453);
c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
a=II(a,b,c,d,x[k+0], S41,0xF4292244);
d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
c=II(c,d,a,b,x[k+6], S43,0xA3014314);
b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
a=AddUnsigned(a,AA);
b=AddUnsigned(b,BB);
c=AddUnsigned(c,CC);
d=AddUnsigned(d,DD);
}
var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
return temp.toLowerCase();
}
 
 
function Quick_Editor() {
var sect = document.getElementsByName("wpSection");
if (!/&?undo=\d+/.test(location.search) && ((sect.length && !sect[0].value) || !sect.length)) quicksave_load();
if (!(/\.(j|cs)s$/.test(wgTitle) && wgNamespaceNumber % 2 == 0)) quickpreview_load();
var t = document.getElementById("wpTextbox1");
if (!t) return;
if (t.addEventListener) {
t.addEventListener('mouseup', quickedit_switch, false);
t.addEventListener('keyup', quickedit_switch, false);
}
else if (t.attachEvent) {
t.attachEvent('onmouseup', quickedit_switch);
t.attachEvent('onmouseup', quickedit_switch);
}
return;
}
 
var quicksave_checktext = '';
function quicksave_load() {
var buttons = getElementsByClass(document, "editButtons", 'div')[0];
var b = document.createElement('input');
b.type = 'button';
b.value = "Salva";
b.id = "quicksaveButton";
if (b.addEventListener) b.addEventListener('click', quicksave, false);
else if (b.attachEvent) b.attachEvent('onclick', quicksave);
b.accessKey = '1';
b.title = "Salva e resta nell'editor [alt-shift-1]";
buttons.insertBefore(b, document.getElementById("wpPreview"));
quicksave_checktext = document.getElementById("wpTextbox1").value;
return;
}
 
function quicksave () {
var textbox = document.getElementById("wpTextbox1");
textbox.disabled = true;
document.getElementById("wpSave").disabled = true;
document.getElementById("quicksaveButton").disabled = true;
var temp = null;
temp = document.getElementById("quickpreviewButton");
if (temp) temp.disabled = true;
var Source = encodeURIComponent(textbox.value);
var msg_box = document.getElementById("quicksave_msgbox");
if (msg_box == null) {
msg_box = document.createElement('div');
msg_box.id = "quicksave_msgbox";
document.getElementById('content').insertBefore(msg_box, document.getElementById('firstHeading'));
}
else msg_box.innerHTML = '';
var httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort(); msg_box.innerHTML = "Salvataggio fallito: il server non risponde.".fontcolor('Red'); Finish(false); }, 30000);
httpRequest.onreadystatechange = function () { Response(httpRequest, id); return;};
var url = wgServer + wgScriptPath + "/api.php";
var param = "action=edit&format=xml&title=" + encodeURIComponent(wgPageName);
param += "&token=" + document.getElementsByName("wpEditToken")[0].value.replace(/\+\\/, '%2' + "B%5" + 'C');
temp = document.getElementById("wpSummary");
if (temp) param += "&summary=" + encodeURIComponent(temp.value);
temp = document.getElementById("wpCaptchaId");
if (temp) {
param += "&captchaid=" + temp.value + "&captchaword=" + encodeURIComponent(document.getElementById("wpCaptchaWord").value);
document.getElementById('editform').removeChild(document.getElementById("captcha_box"));
}
temp = document.getElementById("wpMinoredit");
if (temp && temp.checked) param += "&minor=";
temp = document.getElementById("wpWatchthis");
if (temp) {
var Watched = temp.checked;
if (document.getElementById('ca-watch') && Watched) param += "&watch=";
if (document.getElementById('ca-unwatch') && !Watched) param += "&unwatch=";
}
param += "&basetimestamp=" + document.getElementsByName("wpEdittime")[0].value;
param += "&starttimestamp=" + document.getElementsByName("wpStarttime")[0].value;
param += "&text=" + Source;
param += "&md5=" + MD5(textbox.value);
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.setRequestHeader('Content-Length', param.length);
document.getElementsByTagName('body')[0].style.cursor = 'progress';
httpRequest.send(param);
return;
function Response (o, id) {
if (o.readyState != 4) return;
clearTimeout(id);
msg_box.scrollIntoView();
if (o.status != 200) {
if (o.status && (o.status < 199 || o.status > 300)) {
msg_box.innerHTML = "Salvataggio fallito. Risposta del server: ".fontcolor('Red') + o.status.fontcolor('Red');
Finish(false);
}
return;
}
if (o.responseXML == null) {
msg_box.innerHTML = "Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto".fontcolor('Red');
Finish(false);
return;
}
if (o.responseXML.normalize) o.responseXML.normalize();
var result = o.responseXML.getElementsByTagName('edit');
if (result && result[0] != undefined) {
if (result[0].getAttribute('result') == "Success") {
msg_box.innerHTML = "Salvataggio completato.";
wgCurRevisionId = result[0].getAttribute('newrevid');
var request_ts = createRequest();
var ts_id = setTimeout(function() { request_ts.abort(); appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi."); return; }, 30000);
request_ts.onreadystatechange = function () { Get_Timestamp(request_ts, ts_id); return; }
var param = "action=query&format=xml&" + "prop=revisions&meta=userinfo&uiprop=hasmsg&rvprop=timestamp%" + "7Cuser&rvlimit=1&rvdir=older&titles=" + encodeURIComponent(wgPageName);
request_ts.open('POST', url, true);
request_ts.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request_ts.setRequestHeader('Content-Length', param.length);
request_ts.send(param);
Finish(true);
return;
}
if (result[0].getAttribute('result') == "Failure") {
var captcha = result[0].getElementsByTagName('captcha')[0];
if (captcha == null) {
msg_box.innerHTML = "Salvataggio fallito: errore ignoto".fontcolor('Red');
Finish(false);
return;
}
var captcha_id = document.createElement('input');
captcha_id.type = 'hidden';
captcha_id.id = "wpCaptchaId";
captcha_id.value = captcha.getAttribute('id');
var captcha_word = document.createElement('input');
captcha_word.id = "wpCaptchaWord";
captcha_word.style.marginBottom = "10px";
var captcha_img = document.createElement('img');
captcha_img.src = wgServer + wgScriptPath + "/index.php?title=Special:Captcha/image&wpCaptchaId=" + captcha_id.value;
var captcha_msg = document.createElement('p');
captcha_msg.innerHTML = 'La modifica richiesta aggiunge dei collegamenti esterni alla pagina; come misura precauzionale contro l\'inserimento automatico di spam, si prega di inserire nella casella sottostante la parola che compare distorta in questa immagine (<' + 'a href="/wiki/Speciale:Captcha/help" title="Speciale:Captcha/help">come funziona?</' + 'a>)';
var captcha_box = document.createElement('div');
captcha_box.id = "captcha_box";
document.getElementById('editform').insertBefore(captcha_box, document.getElementById('toolbar'));
captcha_box.appendChild(captcha_msg);
captcha_box.appendChild(captcha_img);
captcha_box.appendChild(captcha_word);
captcha_box.appendChild(captcha_id);
Finish(false);
return;
}
}
var error = o.responseXML.getElementsByTagName('error');
if (error == null) {
msg_box.innerHTML = "Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto".fontcolor('Red');
Finish(false);
return;
}
switch (error[0].getAttribute('code')) {
case 'editconflict':
document.getElementById("wpSave").disabled = false;
setTimeout(function () {document.getElementById('wpSave').click(); return;}, 1000);
return;
 
case 'noedit':
case 'noedit-anon':
msg_box.innerHTML = "Non sei autorizzato a modificare questa pagina.".fontcolor('Red');
Finish(false);
return;
default:
msg_box.innerHTML = "Salvataggio fallito: ".fontcolor('Red') + error[0].getAttribute('info').fontcolor('Red');
Finish(false);
return;
}
 
}
 
function Get_Timestamp (o, id) {
if (o.readyState != 4) return;
clearTimeout(id);
if (o.status != 200) {
if (o.status && (o.status < 199 || o.status > 300)) {
appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi.");
}
return;
}
if (o.responseXML == null) {
appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi.");
return;
}
if (o.responseXML.normalize) o.responseXML.normalize();
var rev = o.responseXML.getElementsByTagName('rev');
if (!rev || rev[0] == undefined) {
appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi.");
return;
}
var t = rev[0].getAttribute('timestamp');
document.getElementsByName("wpEdittime")[0].value = t.replace(/\D/g, '');
var d = new Date(t.replace(/(\d\d\d\d)-(\d\d)-(\d\d)T(.+)Z/, "$1/$2/$3 $4"));
d.setHours(d.getHours() - d.getTimezoneOffset()/60);
appendText(msg_box, " Ultima modifica: " + rev[0].getAttribute('user') + ' ' + d.toLocaleString());
d = new Date();
document.getElementsByName("wpStarttime")[0].value = d.getUTCFullYear().toString() + addzero(d.getUTCMonth()) + addzero(d.getUTCDate()) + addzero(d.getUTCHours()) + addzero(d.getUTCMinutes())+ addzero(d.getUTCSeconds() + 1);
document.getElementById("wpSave").disabled = false;
 
temp = o.responseXML.getElementsByTagName('userinfo');
if (!temp || temp[0] == undefined) return;
var orange = getElementsByClass(document.getElementById('bodyContent'), 'usermessage', 'div');
if (orange) orange = orange[0];
if (!temp[0].hasAttribute('messages')) {
if (orange) orange.style.display = 'none';
return;
}
var name = (wgUserName)? wgUserName : temp[0].getAttribute('name');
if (!orange) {
orange = document.createElement('div');
orange.className = 'usermessage';
document.getElementById('bodyContent').insertBefore(orange, document.getElementById('wikiPreview'));
}
else orange.style.display = 'block';
orange.innerHTML = 'Hai <a title="Discussioni utente:' + name + '" href="/index.php?title=Discussioni_utente:' + encodeURI(name) + '&redirect=no">nuovi messaggi</a' + '> (<a title="Discussioni utente:' + name + '" href="/index.php?title=Discussioni_utente:' + encodeURI(name) + '&diff=cur">differenza con la revisione precedente</a' + '>).';
return;
}
 
 
function Finish(success) {
if (success) {
document.getElementById("wpSummary").value = '';
quicksave_checktext = textbox.value;
if (!(/\.(j|cs)s$/.test(wgTitle) && wgNamespaceNumber % 2 == 0)) {
textbox.selectionStart = 0;
textbox.selectionEnd = 0;
quickpreview(true);
}
else {
document.getElementsByTagName('body')[0].style.cursor = 'auto';
}
if (wgUserName) {
if (Watched) {
temp = document.getElementById('ca-watch');
if (temp) {
temp.id = 'ca-unwatch';
temp = temp.firstChild;
temp.href = temp.href.replace(/=watch$/, "=unwatch");
setText(temp, "non seguire");
temp.title = temp.title.replace(/^Aggiungi/, "Rimuovi");
appendText(msg_box, " Pagina aggiunta agli osservati speciali.")
}
}
else {
temp = document.getElementById('ca-unwatch');
if (temp) {
temp.id = 'ca-watch';
temp = temp.firstChild;
temp.href = temp.href.replace(/=unwatch$/, "=watch");
setText(temp, "segui");
temp.title = temp.title.replace(/^Rimuovi/, "Aggiungi");
appendText(msg_box, " Pagina rimossa dagli osservati speciali.")
}
}
}
}
else {
document.getElementById("wpSave").disabled = false;
document.getElementById("quicksaveButton").disabled = false;
temp = document.getElementById("quickpreviewButton");
if (temp) temp.disabled = false;
document.getElementById("wikiPreview").innerHTML = '';
document.getElementsByTagName('body')[0].style.cursor = 'auto';
}
textbox.disabled = false;
return;
}
} // <-quicksave()
 
 
var quickpreview_firstLoad = true;
var QP_hiddencatlist;
var QP_cat_ns = "Categoria:";
var QP_hiddencats_cat = "Categorie nascoste";
function quickpreview_load() {
if (/\.(j|cs)s$/.test(wgTitle)) return;
var buttons = getElementsByClass(document, "editButtons", 'div')[0];
if (buttons == null) return;
var b = document.createElement('input');
b.type = 'button';
b.value = "Visualizza anteprima";
b.id = "quickpreviewButton";
if (b.addEventListener) b.addEventListener('click', quickpreview1, false);
else if (b.attachEvent) b.attachEvent('onclick', quickpreview1);
b.accessKey = '2';
b.title = "Anteprima delle modifiche (consigliata prima di salvare) [alt-shift-2]";
var wpButton = document.getElementById('wpPreview');
wpButton.style.margin = '0px';
wpButton.style.padding = '0px';
wpButton.style.fontSize = '0';
wpButton.style.width = '0px';
wpButton.style.borderWidth = '0pt';
buttons.insertBefore(b, wpButton);
var hotkey = document.getElementById("quickpreview-hotkeysuggest");
hotkey.style.left = (b.offsetLeft - 15) + 'px';
hotkey.style.visibility = 'visible';
 
QP_hiddencatlist = getCookie("QPhc");
if (QP_hiddencatlist == null) {
var request_hc = createRequest();
request_hc.onreadystatechange = function () { set_hc_cookie(request_hc); return;};
request_hc.open('GET', wgServer + wgScriptPath + "/api.php?action=query&list=categorymembers&cmtitle=Category:" + encodeURI(QP_hiddencats_cat) + "&cmlimit=500&format=xml", true);
request_hc.send(null);
}
return;
 
function set_hc_cookie (o) {
if (o.readyState != 4) return false;
if (o.status != 200) return false;
if (o.responseXML == null) return false;
if(o.responseXML.normalize) o.responseXML.normalize();
var cm = o.responseXML.getElementsByTagName('categorymembers')[0].getElementsByTagName('cm');
var tmp = new Array();
var i = 0;
for (i; i < cm.length; i++) tmp.push(cm[i].getAttribute('title'));
QP_hiddencatlist = tmp.join('|');
document.cookie = "QPhc=" + escape(QP_hiddencatlist);
return true;
}
}
 
function quickpreview1() { quickpreview(false); return; }
 
function quickpreview (after_save) {
 
/* Pulizia dell'area di anteprima */
var previewArea = document.getElementById("wikiPreview");
if (previewArea == null) return false;
previewArea.innerHTML = '';
var temp;
if (quickpreview_firstLoad) {
previewArea.style.display = 'block';
temp = document.getElementById("editintro");
if (temp) temp.style.display = 'none';
temp = getElementsByClass(document, "mw-newarticletext")[0];
if (temp) temp.style.display = 'none';
temp = getElementsByClass(document, "mw-newarticletextanon")[0];
if (temp) temp.style.display = 'none';
temp = document.getElementById(document, "mw-anon-edit-warning");
if (temp) temp.style.display = 'none';
temp = getElementsByClass(document, "mw-warning-with-logexcerpt")[0];
if (temp) temp.style.display = 'none';
temp = document.getElementById("contentSub2");
if (temp) temp.style.display = 'none';
temp = document.getElementById("wpTalkPageText");
if (temp) temp.style.display = 'none';
temp = document.getElementById("explainconflict");
if (temp) temp.style.display = 'none';
quickpreview_firstLoad = false;
}
else {
/* Rimuove eventuali css importati precedentemente; */
temp = document.getElementById("add-css-link");
if (temp) document.getElementsByTagName('head')[0].removeChild(temp);
}
 
/* Imposta il titolo */
document.getElementById("firstHeading").innerHTML = wgPageName.replace(/_/g, ' ');
 
document.getElementById("quickpreviewButton").disabled = true;
document.getElementsByTagName('body')[0].style.cursor = 'progress';
 
var httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 30000);
httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;};
var url = wgServer + wgScriptPath + "/api.php";
var param = "action=parse&format=xml&" + "prop=text%7" + "Ccategories";
if (after_save) {
param += "&page=" + encodeURIComponent(wgPageName);
}
else {
var textbox = document.getElementById("wpTextbox1");
var Source;
var start = textbox.selectionStart, end = textbox.selectionEnd;
if (start < end) Source = textbox.value.slice(start, end);
else {
Source = textbox.value + '\n';
if (document.getElementsByName("wpSection")[0].value == 'new') Source = "== " + document.getElementById('wpSummary').value + " ==\n" + Source;
}
Source = encodeURIComponent(Source);
param += "&pst=&title=" + encodeURIComponent(wgPageName) + "&text=" + Source;
}
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.setRequestHeader('Content-Length', param.length);
httpRequest.send(param);
return; /* fine quickpreview */
 
function Write(o, id) {
if (o.readyState != 4) return;
clearTimeout(id);
if (o.status != 200) {
if (o.status && (o.status < 199 || o.status > 300)) {
alert("Anteprima non riuscita. Risposta del server: " + o.status);
Finish(false);
}
return;
}
if (o.responseXML == null) {
alert("Anteprima non riuscita (errore del parser?)");
Finish(false);
return;
}
if(o.responseXML.normalize) o.responseXML.normalize();
var R = o.responseXML.getElementsByTagName('text')[0].firstChild;
var code = R.data;
previewArea.innerHTML += code;
 
/* aggiungi categorie */
var show_cat = false;
var catlinksBox = document.getElementById("catlinks");
R = o.responseXML.getElementsByTagName('categories')[0].getElementsByTagName('cl');
if (R.length > 0) {
if (catlinksBox != null) catlinksBox.innerHTML = '';
else {
catlinksBox = document.createElement('div');
catlinksBox.id = "catlinks";
catlinksBox.className = "catlinks";
document.getElementById("bodyContent").insertBefore(catlinksBox, getElementsByClass(document.getElementById("bodyContent"), "visualClear", 'div')[0]);
}
var catname;
var normalcatlinks = new Array();
var hiddencatlinks = new Array();
for (i=0; i<R.length; i++) {
catname = R.item(i).firstChild.nodeValue;
if (RegExp(catname.replace(/_/g, ' ')).test(QP_hiddencatlist)) hiddencatlinks.push('<span dir="ltr"><a href="/wiki/' + QP_cat_ns + encodeURI(catname) + '" title="' + QP_cat_ns + catname.replace(/_/g, ' ') + '">' + catname.replace(/_/g, ' ') + '</a></span>');
else normalcatlinks.push('[[:' + QP_cat_ns + catname + '|' + catname.replace(/_/g, ' ') + ']]');
}
var tmp = '';
if (hiddencatlinks.length > 0) {
var hiddencatlinksBox = document.createElement('div');
hiddencatlinksBox.id = "mw-hidden-catlinks";
hiddencatlinksBox.className = "mw-hidden-cats-hidden";
if (normalcatlinks.length == 0) catlinksBox.className += " catlinks-allhidden";
catlinksBox.appendChild(hiddencatlinksBox);
tmp = "Categori" + ((hiddencatlinks.length > 1)? "e nascoste: " + hiddencatlinks.join(" | ") : "a nascosta: " + hiddencatlinks[0]);
hiddencatlinksBox.innerHTML = tmp;
}
if (normalcatlinks.length > 0) {
show_cat = true;
var normalcatscode = '<div id="mw-normal-catlinks">[[Speciale:Categorie|Categori' + ((normalcatlinks.length > 1)? 'e]]: ' + normalcatlinks.join(' | ') : 'a]]: ' + normalcatlinks[0]) + '</div>';
var request_cat = createRequest();
var cat_id = setTimeout(function() { request_cat.abort(); alert("Errore del server. Impossibile visualizzare le categorie"); Finish(true); }, 30000);
normalcatscode = normalcatscode.replace(/&/g, "%2" + "6");
normalcatscode = normalcatscode.replace(/\+/g, "%2" + "B");
normalcatscode = "action=parse&format=xml&" + "prop=text&text=" + normalcatscode;
request_cat.onreadystatechange = function () { Show_Cat(request_cat, cat_id, catlinksBox); return;};
request_cat.open('POST', wgServer + wgScriptPath + "/api.php", true);
request_cat.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request_cat.setRequestHeader('Content-Length', normalcatscode.length);
request_cat.send(normalcatscode);
}
}
else {
if (catlinksBox != null) document.getElementById("bodyContent").removeChild(catlinksBox);
}
if (!show_cat) Finish(true) // caricamento terminato
return;
} /* <- Write */
 
function Show_Cat (o, id, box) {
if (o.readyState != 4) return;
clearTimeout(id);
if (o.status != 200) {
if (o.status && (o.status < 199 || o.status > 300)) {
alert("Impossibile visualizzare le categorie: errore del server " + o.status);
}
Finish(true);
return;
}
if (o.responseXML == null) {
alert("Impossibile visualizzare le categorie: errore del parser?");
}
if (o.responseXML.normalize) o.responseXML.normalize();
box.innerHTML = o.responseXML.getElementsByTagName('text')[0].firstChild.data + box.innerHTML;
Finish(true);
return;
}
 
function Finish(success) {
document.getElementById("quickpreviewButton").disabled = false;
if (success) {
document.getElementById('p-logo').scrollIntoView();
// mostra il toggle dell'indice
if (window.showTocToggle) { window.tocShowText = "mostra"; window.tocHideText = "nascondi"; showTocToggle();}
 
// carica onloadhooks
hooks_common_render();
hooks_monobook_render();
var i = 0;
for (i; i < hooks_custom.length; i++) hooks_custom[i]();
 
}
document.getElementsByTagName('body')[0].style.cursor = 'auto';
return;
}
 
} // <- quickpreview();
 
function quickedit_switch() {
var bs = document.getElementById("quicksaveButton");
if (bs) {
if (this.value == quicksave_checktext) bs.disabled = true;
else bs.disabled = false;
}
var bp = document.getElementById("quickpreviewButton");
if (bp) {
if (this.selectionStart < this.selectionEnd) bp.value = "Anteprima selezione";
else bp.value = "Visualizza anteprima";
}
return;
}
 
/* Aggiunge link di modifica per la sezione 0 */
var nosectionzeroedit = false;
function sectionzero_editlink() {
if (wgNamespaceNumber == -1) return;
if (nosectionzeroedit) return;
if (getElementsByClass(document.getElementById('bodyContent'), 'editsection', 'span').length == 0) return;
if (document.getElementById('no-sec0-edit')) return;
// var title = document.getElementById('firstHeading');
var subtitle = document.getElementById('siteSub');
var link = document.createElement('a');
link.rel = 'nofollow';
link.title = "Modifica la sezione introduttiva";
link.href = wgServer + wgScriptPath + '/index.php?title=' + encodeURI(wgPageName) + '&action=edit&section=0&editintro=MediaWiki:Editintro';
link.innerHTML = "modifica";
var span = document.createElement('span');
span.className = "editsection";
subtitle.insertBefore(span,subtitle.firstChild);
span.appendChild(link);
span.innerHTML = '[' + span.innerHTML + ']';
return;
}
 
/* Perfeziona i link di condivisione nella sidebar */
function sharelinks() {
var box = document.getElementById("p-condividi");
if (box == null) return false;
var links = box.getElementsByTagName('a');
for (var i=0; i < links.length; i++) links[i].target = '_blank';
return;
}
 
 
/* Mostra thumbnail delle immagini nella ricerca */
function search_thumb() {
if (wgPageName != "Speciale:Ricerca") return false;
var ul = getElementsByClass(document, 'mw-search-results', 'ul');
if (ul == null || ul[0] == undefined) return false;
var li = ul[0].getElementsByTagName('li');
if (li.length == 0) return false;
var a, title, i;
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName('a')[0];
if (/^File:/i.test(a.title) && !/\.ogg$/i.test(a.title)) addThumb(a, a.title);
}
return;
 
function addThumb (link, file) {
var httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort();}, 30000);
httpRequest.onreadystatechange = function () { Do(httpRequest, id, link, file); return; }
httpRequest.open('GET', wgServer + wgScriptPath + "/api.php?action=imagethumb&format=xml&tiwidth=50&tiimage=" + encodeURIComponent(file.replace(/^File:/i, '')), true);
httpRequest.send('');
return;
}
 
function Do(o, id, link, file) {
if (o.readyState != 4) return;
clearTimeout(id);
if (o.status != 200) return;
if (o.responseXML == null) return;
if (o.responseXML.normalize) o.responseXML.normalize();
if (o.responseXML.getElementsByTagName('thumb')[0] == undefined) return false;
var url = o.responseXML.getElementsByTagName('thumb')[0].getAttribute("url");
if (url == null) return false;
var img = document.createElement('img');
img.src = url;
img.alt = file;
img.width = o.responseXML.getElementsByTagName('thumb')[0].getAttribute("width");
img.height = o.responseXML.getElementsByTagName('thumb')[0].getAttribute("height");
img.style.marginRight = "3px";
link.insertBefore(img, link.firstChild);
return;
}
}
 
/* Aggiunge l'editintro nei link di modifica anche per gli utenti registrati */
function addeditintro()
{
if (wgUserName == null) return false;
if (document.getElementById('ca-talk')) {
if (document.getElementById('ca-talk').getAttribute('class')=='new')
{
document.getElementById('ca-talk').getElementsByTagName('a')[0].href = document.getElementById('ca-talk').getElementsByTagName('a')[0].href.concat('&editintro=MediaWiki:Editintro');
}
}
if (document.getElementById('ca-edit'))
{
var link = document.getElementById('ca-edit').getElementsByTagName('a')[0];
if(link==null) return false; /*non sono sicuro che serva, ma nel dubbio lo lascio*/
}
else
{
return false;
}
if (wgCurRevisionId)
{
if(link==null) return false;
link.href = link.href.concat('&editintro=MediaWiki:Editintro');
}
function sections () {
var spans = document.getElementsByTagName('span');
var i = 0, l;
for (i in spans) {
if (/editsection/.test(spans[i].className)) {
l = spans[i].getElementsByTagName('a')[0];
if (l == null) continue;
l.href = l.href.concat('&editintro=MediaWiki:Editintro');
}
}
return;
}
sections();
}
 
function communitya () {
setText(document.getElementById('p-community').getElementsByTagName('h5')[0], "comunità");
return;
}
 
 
/* Template:Caricamento */
function jsLoading () {
var i = 0, array1 = document.getElementsByClass('jsloading-pre'), array2 = document.getElementsByClass('jsloading-post');
for (i; i < array1.length; i++)
array1[i].style.display = 'none';
for (i=0; i < array1.length; i++)
array2[i].style.display = '';
return;
}
 
/* Rende il link di modifica sezione identico a quello di wikipedia italiana */
function moveeditsection () {
var el = getElementsByClass(document, 'editsection', 'span');
if (el.length == 0) return;
var tmp, parent;
for (var i=0; i < el.length; i++) {
el[i].className += " editsection-it_wiki";
parent = el[i].parentNode;
tmp = parent.removeChild(el[i]);
parent.appendChild(tmp);
}
return;
}
0

contributi