Utente:Sanjilops/monobook.js: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Contenuto aggiunto Contenuto cancellato
mNessun oggetto della modifica
Nessun oggetto della modifica
 
(162 versioni intermedie di un altro utente non mostrate)
Riga 1: Riga 1:
//disableHideEdit = true;
//disablehideEdit=1;
disableAlert = true;
disablealertLoad=1;
disableaprilfish = 1;
disableaprilfish = true;
disableRefTooltip = false;






function Main() {
function Main() {
FastOpen();
FastOpen();
editcurrentid();
if (document.getElementById('alert-load')) alert("alert onload presenti");
if (document.getElementById('alert-load')) alert("alert onload presenti");
if (document.getElementById('alert-unload')) alert("alert onunload presenti");
if (document.getElementById('alert-unload')) alert("alert onunload presenti");

if (wgPageName == "Utente:Sanjilops/sandbox") gif_hack();


/* Funzioni dell'editor */
/* Funzioni dell'editor */
if ((wgAction == "edit" || wgAction == "submit") && document.getElementById("toolbar")) {
if ((wgAction == "edit" || wgAction == "submit") && document.getElementById("toolbar")) {

Quick_Editor();
hooks_user.push(sectionzero_editlink);

if (mwCustomEditButtons) {
if (mwCustomEditButtons) {
mwCustomEditButtons[0] = {
mwCustomEditButtons[0] = {
Riga 64: Riga 62:
mwEditButtons[9].tagOpen = '--~~' + '~~{{VF|}' + '}';
mwEditButtons[9].tagOpen = '--~~' + '~~{{VF|}' + '}';


if (getElementsByClass(document, "editpage-copywarn-tools", 'table')) collapseTable(1);
}
}
}
}
Riga 72: Riga 71:
if (!Box) return;
if (!Box) return;
var form = document.createElement("form");
var form = document.createElement("form");
Box.appendChild(form);
Box.appendChild(form);
form.style.position = "absolute";
form.style.top = "1px";
form.action = "/index.php";
form.action = "/index.php";
form.target = "_blank";
form.target = "_blank";
Riga 79: Riga 80:
c.type = "text";
c.type = "text";
c.setAttribute('name', "title");
c.setAttribute('name', "title");
c.size = "20";
c.size = "13";
var menu = document.createElement("select");
var menu = document.createElement("select");
form.appendChild(menu);
form.appendChild(menu);
Riga 90: Riga 91:
p.value = "vai";
p.value = "vai";
form.appendChild(p);
form.appendChild(p);
}


var disable_gif_hack = false;
function gif_hack () {
if (disable_gif_hack) return false;
var a_images = getElementsByClass(document.getElementById('bodyContent'), 'image', 'a');
if (!a_images.length) return;
var img, tmp;
var thumbs = new Array();
var names = new Array();
for (var i = 0; i < a_images.length; i++) {
img = a_images[i].getElementsByTagName('img')[0];
if (/\.gif$/i.test(img.src) && /\/images\/thumb\//.test(img.src) && /\bgif\b/i.test(img.alt)) {
thumbs.push(img);
tmp = img.src.split('/');
names.push("File:" + tmp[tmp.length - 1].replace(/\d+px-/, ''));
}
}
if (!thumbs.length) return;
var httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort();}, 30000);
var param = "format=xml&action=query&prop=imageinfo&iiprop=url&titles=" + names.join('|');
httpRequest.onreadystatechange = function () { Receive(httpRequest, id); return; }
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.setRequestHeader('Content-Length', param.length);
httpRequest.send(param);
return;
function Receive(o, id) {
if (o.readyState != 4) return;
clearTimeout(id);
if (o.status != 200) return;
var xml = o.responseXML;
if (xml == null) return;
if (xml.normalize) xml.normalize();
var ii = xml.getElementsByTagName('ii');
var i = 0;
for (var I = 0; I < ii.length; I++) {
for (i in thumbs) {
if (ii[I].getAttribute('url').indexOf(names[i].replace("File:", '')) != -1) thumbs[i].src = ii[I].getAttribute('url');
}
}
return;
}
}
}


function Quick_Editor() {
function Quick_Editor() {
quickdiff_load();
if (!/&?undo=\d+/.test(location.search) && !document.getElementsByName("wpSection")[0].value) quicksave_load();
var sect = $("[name=wpSection]");
/* if (!(/\.(j|cs)s$/.test(wgTitle) && wgNamespaceNumber % 2 == 0)) quickpreview_load();
if (!/&?undo=\d+/.test(location.search) && ((sect.length && !sect.val()) || !sect.length)) quicksave_load();
else document.getElementById('wpPreview').style.display = 'inline'; */
if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) == -1)
quickpreview_load();
$("#wpTextbox1").bind('mouseup keyup focus change', quickedit_switch);
var c = document.createElement('span');
c.id = "quickeditor_charactercount";
$(c).text($("#wpTextbox1").val().length.toString() + " caratteri");
$("#toolbar").append(c);
return;
return;
}
}

function quickedit_switch() {
$("#quicksaveButton").attr('disabled', this.value == quicksave_checktext ? 'disabled' : '');
if (!(/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0)) {
$("#quickpreviewButton").val(this.selectionStart < this.selectionEnd ? "Anteprima selezione" : "Visualizza anteprima");
}
$("#quickeditor_charactercount").text(this.value.length.toString() + " caratteri");
return;
}

var QS_waitforpreview = " Creazione anteprima della pagina in corso...";
var quicksave_checktext = '';
var quicksave_checktext = '';
function quicksave_load() {
function quicksave_load() {
var buttons = getElementsByClass(document, "editButtons", 'div')[0];
var b = document.createElement('input');
var b = document.createElement('input');
b.type = 'button';
b.type = 'button';
$("#wpSave").after(b);
b.value = "Salva";
b.value = "Salva";
b.id = "quicksaveButton";
b.id = "quicksaveButton";
$(b).click(quicksave);
b.marginRight = "4px";
b.accessKey = '1';
if (b.addEventListener) b.addEventListener('click', quicksave, false);
b.title = "Salva e continua a modificare la pagina [alt-shift-1]";
else if (b.attachEvent) b.attachEvent('onclick', quicksave);
b.disabled = true;
buttons.insertBefore(b, document.getElementById("wpPreview"));
quicksave_checktext = document.getElementById("wpTextbox1").value;
quicksave_checktext = $("#wpTextbox1").val();
return;
return;
}
}


var quicksave_firstload = true;
function quicksave () {
function quicksave () {
var textbox = document.getElementById("wpTextbox1");
var textbox = $("#wpTextbox1")[0];
if (textbox.value == quicksave_checktext) return;
var Source = textbox.value;
document.getElementById("wpSave").disabled = true;
textbox.disabled = true;
document.getElementById("quicksaveButton").disabled = true;
$("#wpSummary, #wpSave, #quicksaveButton, #quickpreviewButton, #quickdiffButton").attr('disabled','disabled');
$('body').css('cursor','progress');
var Source = textbox.value.replace(/&/g, "%2" + "6");
Source = Source.replace(/\+/g, "%2" + "B");
var msg_box = document.getElementById("contentSub");
var temp = $("#quicksave_msgbox")[0];
if (!temp) {
msg_box.innerHTML = '';
if (!hasClass(msg_box, "quicksave_msgbox")) msg_box.className += " quicksave_msgbox";
temp = $(document.createElement('div')).insertBefore($("#editform")).attr('id', "quicksave_msgbox");
var msg_box = temp[0].appendChild(document.createElement('div'));
var temp = null;
temp.append(document.createElement('span')).attr('id', "quicksave_msgbox_close").text('×').click( function () { $("#quicksave_msgbox").hide("slow"); });
}
else {
temp.style.display = 'block';
var msg_box = temp.firstChild;
}
msg_box.innerHTML = "Salvataggio in corso...";
// msg_box.scrollIntoView();

var param = "action=edit&format=xml&title=" + encodeURIComponent(wgPageName);
param += "&token=" + $("[name=wpEditToken]:first").val().replace(/\+\\/, '%2' + 'B%5' + 'C');
param += "&summary=" + encodeURIComponent($("#wpSummary").val());
temp = $("#wpCaptchaId")[0];
if (temp) {
param += "&captchaid=" + temp.value + "&captchaword=" + encodeURIComponent($("#wpCaptchaWord").val());
$("#editform #captcha_box").remove();
}
if ($("#wpMinoredit")[0].checked) param += "&minor=";
var Watched = $("#wpWatchthis")[0].checked;
if ($("#ca-watch")[0] && Watched) {
$("#ca-watch a").text(wgAjaxWatch["watchingMsg"].toLowerCase());
param += "&watchlist=watch";
}
if ($("#ca-unwatch")[0] && !Watched) {
$("#ca-unwatch a").text(wgAjaxWatch["unwatchingMsg"].toLowerCase());
param += "&watchlist=unwatch";
}
param += "&basetimestamp=" + $("[name=wpEdittime]:first").val();
param += "&starttimestamp=" + $("[name=wpStarttime]:first").val();
param += "&md5=" + MD5(textbox.value);
param += "&text=" + encodeURIComponent(Source);
var httpRequest = createRequest();
var httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 30000);
var id = setTimeout(function() { httpRequest.abort(); msg_box.style.color = 'red'; $(msg_box).text("Salvataggio fallito: il server non risponde."); Finish(false); }, 15000);
httpRequest.onreadystatechange = function () { Response(httpRequest, id); return;};
httpRequest.onreadystatechange = function () { Response(httpRequest, id); return;};
var url = wgServer + wgScriptPath + "/api.php";
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true);
var param = "action=edit&format=xml&title=" + encodeURI(wgPageName).replace(/&/g, "%2" + "6").replace(/\+/g, "%2B");
param += "&token=" + document.getElementsByName("wpEditToken")[0].value.replace(/\+\\/, '%2' + "B%5" + 'C');
temp = document.getElementById("wpSummary").value;
temp += (document.getElementById("wpMinoredit").checked)? " - *min*" : "";
if (temp) param += "&summary=" + encodeURI(temp).replace(/&/g, "%2" + "6").replace(/\+/g, "%2" + "B");
temp = document.getElementById("wpCaptchaId");
if (temp) param += "&captchaid=" + temp.value + "&captchaword=" + encodeURI(document.getElementById("wpCaptchaWord").value);
if (document.getElementById("wpMinoredit").checked) param += "&minor";
/* disabilitato perché non funziona */
// param += (document.getElementById("wpWatchthis").checked)? "&watch":"&unwatch";
param += "&basetimestamp=" + document.getElementsByName("wpEdittime")[0].value;
param += "&starttimestamp=" + document.getElementsByName("wpStarttime")[0].value;
param += "&text=" + Source;
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.setRequestHeader('Content-Length', param.length);
httpRequest.setRequestHeader('Content-Length', param.length);
$("#wpSummary").attr('disabled','');
document.getElementsByTagName('body')[0].style.cursor = 'progress';
textbox.disabled = false;
httpRequest.send(param);
httpRequest.send(param);
return;
return; // fine quicksave
function Response (o, id) {
function Response (o, id) {
if (o.readyState != 4) return;
if (o.readyState != 4) return;
clearTimeout(id);
if (o.status != 200) {
if (o.status != 200) {
if (o.status && (o.status < 199 || o.status > 300)) {
if (o.status && (o.status < 200 || o.status > 299)) {
clearTimeout(id);
msg_box.innerHTML = "Salvataggio fallito. Risposta del server: ".fontcolor('Red') + o.status.fontcolor('Red');
msg_box.style.color = 'red';
$(msg_box).text("Salvataggio fallito. Risposta del server: " + o.status);
Finish(false);
Finish(false);
}
}
return;
return;
}
}
clearTimeout(id);
if (o.responseXML == null) {
if (o.responseXML == null) {
msg_box.style.color = 'rgb(100, 100, 100)';
msg_box.innerHTML = "Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto".fontcolor('Red');
$(msg_box).text("Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto");
Finish(false);
Finish(false);
return;
return;
Riga 168: Riga 255:
if (result && result[0] != undefined) {
if (result && result[0] != undefined) {
if (result[0].getAttribute('result') == "Success") {
if (result[0].getAttribute('result') == "Success") {
msg_box.innerHTML = "Salvataggio completato.".fontcolor('Blue');
$(msg_box).text("Salvataggio completato." + QS_waitforpreview);
wgCurRevisionId = result[0].getAttribute('newrevid');
wgCurRevisionId = result[0].getAttribute('newrevid');
setTimeout(function () {quickpreview(true); return; }, 100); // su un nuovo thread per non fermare la funzione
if (wgUserName) {
if (Watched) {
temp = $("#ca-watch")[0];
if (temp) {
temp.id = "ca-unwatch";
temp = temp.firstChild;
temp.href = temp.href.replace(/=watch$/, "=unwatch");
$(temp).text(wgAjaxWatch["unwatchMsg"].toLowerCase());
temp.title = wgAjaxWatch["tooltip-ca-unwatchMsg"];
}
}
else {
temp = $("#ca-unwatch")[0];
if (temp) {
temp.id = "ca-watch";
temp = temp.firstChild;
temp.href = temp.href.replace(/=unwatch$/, "=watch");
$(temp).text(wgAjaxWatch["watchMsg"].toLowerCase());
temp.title = wgAjaxWatch["tooltip-ca-watchMsg"];
}
}
}
$(msg_box).append('<br ' + '/>');
var request_ts = createRequest();
var request_ts = createRequest();
var ts_id = setTimeout(function() { request_ts.abort(); appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi."); return; }, 30000);
var ts_id = setTimeout(function() { request_ts.abort(); $(msg_box).append("Impossibile procedere ad ulteriori salvataggi. Il server non risponde"); Finish(true, false); return; }, 15000);
request_ts.onreadystatechange = function () { Get_Timestamp(request_ts, ts_id); return; }
request_ts.onreadystatechange = function () { Get_Timestamp(request_ts, ts_id); return; }
var param = "action=query&format=xml&" + "prop=revisions&rvprop=timestamp&rvlimit=1&rvdir=older&titles=" + encodeURI(wgPageName).replace(/&/g, "%2" + "6").replace(/\+/g, "%2" + "B");
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.open('POST', wgServer + wgScriptPath + "/api.php", true);
request_ts.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request_ts.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request_ts.setRequestHeader('Content-Length', param.length);
request_ts.setRequestHeader('Content-Length', param.length);
request_ts.send(param);
request_ts.send(param);
Finish(true);
return;
return;
}
}
Riga 184: Riga 294:
var captcha = result[0].getElementsByTagName('captcha')[0];
var captcha = result[0].getElementsByTagName('captcha')[0];
if (captcha == null) {
if (captcha == null) {
msg_box.innerHTML = "Salvataggio fallito: errore ignoto".fontcolor('Red');
msg_box.style.color = 'red';
$(msg_box).text("Salvataggio fallito: errore ignoto");
Finish(false);
Finish(false);
return;
return;
}
}
msg_box.style.display = 'none';
msg_box.innerHTML = '';
var captcha_id = document.createElement('input');
var captcha_id = document.createElement('input');
captcha_id.type = 'hidden';
captcha_id.type = 'hidden';
Riga 194: Riga 307:
var captcha_word = document.createElement('input');
var captcha_word = document.createElement('input');
captcha_word.id = "wpCaptchaWord";
captcha_word.id = "wpCaptchaWord";
captcha_word.style.marginBottom = "10px";
var captcha_img = document.createElement('img');
var captcha_img = document.createElement('img');
captcha_img.src = "/index.php?title=Speciale:Captcha/image&wpCaptchaId=" + captcha.getAttribute('id');
captcha_img.src = wgServer + wgScriptPath + "/index.php?title=Special:Captcha/image&wpCaptchaId=" + captcha_id.value;
var captcha_msg = document.createElement('p');
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' + '>';
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 toolbar = document.getElementById('toolbar');
var captcha_box = document.createElement('div');
captcha_box.id = "captcha_box";
document.insertBefore(captcha_msg, toolbar);
$("#toolbar").before(captcha_box);
document.insertBefore(captcha_img, toolbar);
document.insertBefore(captcha_word, toolbar);
$(captcha_box).append(captcha_msg,[captcha_img,captcha_word,captcha_id]);
Finish(false);
Finish(false);
return;
return;
Riga 208: Riga 322:
var error = o.responseXML.getElementsByTagName('error');
var error = o.responseXML.getElementsByTagName('error');
if (error == null) {
if (error == null) {
msg_box.style.color = 'rgb(100, 100, 100)';
msg_box.innerHTML = "Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto".fontcolor('Red');
$(msg_box).text("Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto");
Finish(false);
Finish(false);
return;
return;
}
}
msg_box.style.color = 'red';
switch (error[0].getAttribute('code')) {
switch (error[0].getAttribute('code')) {
case 'editconflict':
case 'editconflict':
document.getElementById("wpSave").disabled = false;
$("#wpSave").attr('disabled','').delay(100).click();
setTimeout(function () {document.getElementById('wpSave').click(); return;}, 1000);
return;
return;


case 'noedit':
case 'noedit':
case 'noedit-anon':
case 'noedit-anon':
case 'protectedtitle':
textbox.disabled = true;
$(msg_box).text("Non sei autorizzato a modificare questa pagina.");
Finish(false);
return;
default:
default:
msg_box.innerHTML = "Salvataggio fallito: ".fontcolor('Red') + error[0].getAttribute('info').fontcolor('Red');
$(msg_box).text("Salvataggio fallito: " + error[0].getAttribute('info'));
Finish(false);
Finish(false);
return;
return;
}
}

}
}


function Get_Timestamp (o, id) {
function Get_Timestamp (o, id) {
if (o.readyState != 4) return;
if (o.readyState != 4) return;
clearTimeout(id);
if (o.status != 200) {
if (o.status != 200) {
if (o.status && (o.status < 199 || o.status > 300)) {
if (o.status && (o.status < 200 || o.status > 299)) {
clearTimeout(id);
appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi.");
$(msg_box).append("Impossibile procedere ad ulteriori salvataggi. Risposta del server: " + o.status);
Finish(true, false);
}
}
return;
return;
}
}
clearTimeout(id);
if (o.responseXML == null) {
if (o.responseXML == null) {
appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi.");
$(msg_box).append("Impossibile procedere ad ulteriori salvataggi.");
Finish(true, false);
return;
return;
}
}
Riga 246: Riga 366:
var rev = o.responseXML.getElementsByTagName('rev');
var rev = o.responseXML.getElementsByTagName('rev');
if (!rev || rev[0] == undefined) {
if (!rev || rev[0] == undefined) {
appendText(msg_box, " Impossibile procedere ad ulteriori salvataggi.");
$(msg_box).append("Impossibile procedere ad ulteriori salvataggi.");
Finish(true, false, o);
return;
return;
}
}
document.getElementsByName("wpEdittime")[0].value = rev[0].getAttribute('timestamp');
var t = rev[0].getAttribute('timestamp');
$("[name=wpEdittime]:first").val(t.replace(/\D/g, ''));
var d = new Date();
var d = new Date(t.replace(/(\d\d\d\d)-(\d\d)-(\d\d)T(.+)Z/, "$1/$2/$3 $4"));
document.getElementsByName("wpStarttime")[0].value = d.getUTCFullYear().toString() + addzero(d.getUTCMonth()) + addzero(d.getUTCDate()) + addzero(d.getUTCHours()) + addzero(d.getUTCMinutes())+ addzero(d.getUTCSeconds() + 1);
d.setHours(d.getHours() - d.getTimezoneOffset()/60);
document.getElementById("wpSave").disabled = false;
$(msg_box).append("Ultima modifica: " + rev[0].getAttribute('user') + ' ' + d.toLocaleString());
document.getElementById("quicksaveButton").disabled = false;
d = new Date();
$("[name=wpStarttime]:first").val(d.getUTCFullYear().toString() + addzero(d.getUTCMonth()) + addzero(d.getUTCDate()) + addzero(d.getUTCHours()) + addzero(d.getUTCMinutes())+ addzero(d.getUTCSeconds() + 1));

Finish(true, true, o);
return;
return;
}
}




function Finish(success) {
function Finish(success, got_ts, o) {
if (success) {
if (success) {
quicksave_checktext = textbox.value;
quicksave_checktext = Source;
$("#wpSave, #quicksaveButton").attr('disabled', got_ts ? '': 'disabled'); // se il salvataggio è riuscito, senza timestamp non possiamo farne altri
if (quicksave_firstload) quicksave_firstload = false;

if (!(/\.(j|cs)s$/.test(wgTitle) && wgNamespaceNumber % 2 == 0)) {
/* nuovi messaggi in discussione? */
textbox.selectionStart = 0;
if (o == undefined) return;
textbox.selectionEnd = 0;
var temp = o.responseXML.getElementsByTagName('userinfo');
quickpreview();
if (!temp || temp[0] == undefined) return;
var $usermessage = $(".usermessage:not(#wikiPreview > *)");
if (!temp[0].hasAttribute('messages')) {
$usermessage.css('display', 'none');
return;
}
}
var name = (wgUserName)? wgUserName : temp[0].getAttribute('name');
else {
if (!$usermessage.length) {
document.getElementsByTagName('body')[0].style.cursor = 'auto';
$usermessage = $(document.createElement('div')).addClass("usermessage").insertBefore($("#wikiPreview")).html('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' + '>).');
}
}
else $usermessage.css('display', 'block');
}
}
else {
else {
$("#quickpreviewButton, #quickdiffButton").attr('disabled', '');
document.getElementById("wpSave").disabled = false;
$('body').css('cursor','auto');
document.getElementById("quicksaveButton").disabled = false;
document.getElementById("wikiPreview").innerHTML = '';
document.getElementsByTagName('body')[0].style.cursor = 'auto';
}
}
return;
return;
}
}
} // <- quicksave()

var QP_hiddencatlist;
var QP_hiddencats_cat = "Categorie nascoste";
function quickpreview_load() {
var b = document.createElement('input');
b.type = 'button';
b.value = (/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0) ? "Anteprima stile" : "Visualizza anteprima";
b.id = "quickpreviewButton";
$(b).click(quickpreview);
b.accessKey = '2';
b.title = "Anteprima delle modifiche (consigliata prima di salvare) [alt-shift-2]";
$("#wpPreview").css({'margin':'0px', 'padding':'0px', 'font-size':'0', 'width':'0px', 'border':'0px none'});
$("#wpPreview").before(b);
$("#quickpreview-hotkeysuggest").css({'visibility' : 'visible'});
QP_hiddencatlist = getCookie("QPhc");
if (QP_hiddencatlist == null) {
var request_hc = createRequest();
request_hc.onreadystatechange = function () { quickpreview_set_hc_cookie(request_hc); return;};
request_hc.open('GET', wgServer + wgScriptPath + "/api.php?format=xml&action=query&list=categorymembers&cmtitle=Category:" + encodeURI(QP_hiddencats_cat) + "&cmlimit=500", true);
request_hc.send(null);
}
return;

function quickpreview_set_hc_cookie (o) {
if (o.readyState != 4 || o.status != 200 || o.responseXML == null) return;
if (o.responseXML.normalize) o.responseXML.normalize();
var cm = o.responseXML.getElementsByTagName('categorymembers')[0].getElementsByTagName('cm');
var tmp = new Array();
for (i in cm) tmp.push(cm[i].getAttribute('title'));
QP_hiddencatlist = tmp.join('|');
document.cookie = "QPhc=" + escape(QP_hiddencatlist);
return;
}
}
}


function sectionzero_editlink() {
function quickpreview (after_save) {
if (wgNamespaceNumber == -1) return;
if (after_save == undefined) after_save = false;
$("#quickpreviewButton, #quickdiffButton").attr('disabled','disabled');
if (getElementsByClass(document.getElementById('bodyContent'), 'editsection', 'span').length == 0) return;
$('body').css('cursor','progress');
if (document.getElementById('no-sec0-edit')) return;
var temp;
// var title = document.getElementById('firstHeading');

var subtitle = document.getElementById('siteSub');
/* Pulizia dell'area di anteprima */
var link = document.createElement('a');
var $previewArea = $("#wikiPreview");
link.rel = 'nofollow';
$previewArea.html('').css('display', 'block');
link.title = "Modifica la sezione introduttiva";
link.href = wgServer + wgScriptPath + '/index.php?title=' + encodeURI(wgPageName) + '&action=edit&section=0&editintro=MediaWiki:Editintro';
$("#editintro, .mw-newarticletext:first, .mw-newarticletextanon:first, #mw-anon-edit-warning, #mw-warning-with-logexcerpt, #mw-edit-longpagewarning, #contentSub2, #explainconflict").remove();
link.innerHTML = "modifica";
$("#wikiDiff").css('display','none');
var span = document.createElement('span');
$("#contentSub").html('');
span.className = "editsection";
/***** Nonciclopedia only *****/
subtitle.insertBefore(span,subtitle.firstChild);
$("#wpTalkPageText").remove();
span.appendChild(link);
span.innerHTML = '[' + span.innerHTML + ']';
/* Rimuove eventuali css importati precedentemente; */
return;
$("#add-css-link").remove();
/**********/
$("#add-css-quickpreview").remove();

/* Imposta il titolo */
temp = wgPageName.replace(/_/g, ' ');
$("#firstHeading").html(temp);
$('title:first').html(temp + " {anteprima} - " + wgSiteName);

/* Anteprima css - non serve collegarsi al server */
if (/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0 && !after_save) {
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = $("#wpTextbox1").val();
style.id = "add-css-quickpreview";
$('head').append(style);
Finish(false);
return;
}

var param = "format=xml&action=parse&" + "prop=text%7" + "Ccategories%7" + "Ctemplates";
if (after_save) {
param += "&page=" + encodeURIComponent(wgPageName);
}
else {
var textbox = $("#wpTextbox1")[0];
textbox.disabled = true;
var start = textbox.selectionStart, end = textbox.selectionEnd;
if (start < end) temp = textbox.value.slice(start, end);
else {
temp = textbox.value + '\n';
if ($("[name=wpSection]:first").val() == 'new') temp = "== " + $("#wpSummary").val() + " ==\n" + temp;
}
textbox.disabled = false;
param += "&pst=&title=" + encodeURIComponent(wgPageName) + "&text=" + encodeURIComponent(temp);
}
var httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 15000);
httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;};
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", 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;
if (o.status != 200) {
if (o.status && (o.status < 200 || o.status > 299)) {
alert("Anteprima non riuscita. Risposta del server: " + o.status);
clearTimeout(id);
Finish(false);
}
return;
}
clearTimeout(id);
if (o.responseXML == null) {
alert("Anteprima non riuscita (errore del server?)");
Finish(false);
return;
}
if (o.responseXML.normalize) o.responseXML.normalize();
var R = o.responseXML.getElementsByTagName('text')[0].firstChild;
temp = R.data;
if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) != -1) {
temp = "<pre class='mw-code mw-" + /(?!\.)\w+$/.exec(wgTitle) + "'>" + temp + "<" + "/pre>";
}
$previewArea.html(temp);

/* aggiungi elenco template */
var templatesUsed = $(".templatesUsed")[0];
if (!templatesUsed) {
templatesUsed = document.createElement('div');
templatesUsed.className = "templatesUsed";
$("#editform").append(templatesUsed);
}
var templatesList = templatesUsed.getElementsByTagName('ul')[0];
if (!templatesList) {
templatesList = templatesUsed.appendChild(document.createElement('ul'));
}
else templatesList.innerHTML = '';
R = o.responseXML.getElementsByTagName('templates')[0].getElementsByTagName('tl');
if (R.length > 0) {
var name;
temp = '';
for (i in R) {
name = R.item(i).firstChild.nodeValue;
if (R.item(i).getAttribute('exists') != undefined)
temp += "<li" + "><a title='" + name + "' href='/wiki/" + encodeURI(name) + "'>" + name + "</a> (<a href='/index.php?title=" + encodeURI(name) + "&action=edit&editintro=Mediawiki:Editintro'>modifica</a>)</li>";
else
temp += "<li" + "><a title='" + name + " (la pagina non esiste)' class='new' href='/index.php?title=" + encodeURI(name) + "&action=edit&redlink=1&editintro=Mediawiki:Editintro'>" + name + "</a></li>";
}
templatesList.innerHTML = temp;
temp = getElementsByClass(templatesUsed, "mw-templatesUsedExplanation", 'div')[0];
if (!temp) {
temp = templatesUsed.insertBefore(document.createElement('div'), templatesList);
temp.className = "mw-templatesUsedExplanation";
temp.innerHTML = "<p" + ">Template utilizzati in questa anteprima: </p>";
}
}

/* aggiungi categorie */
var catlinksBox = $(".printfooter ~ #catlinks")[0];
R = o.responseXML.getElementsByTagName('categories')[0].getElementsByTagName('cl');
if (R.length > 0) {
if (catlinksBox != null) {
catlinksBox.innerHTML = '';
catlinksBox.style.display = 'block';
}
else {
catlinksBox = document.createElement('div');
catlinksBox.id = "catlinks";
catlinksBox.className = "catlinks";
$(".visualClear:first").before(catlinksBox);
}
var normal_cats = new Array();
var normalcatlinks = new Array();
var hiddencatlinks = new Array();
for (i in R) {
name = R.item(i).firstChild.nodeValue;
if (RegExp(name.replace(/_/g, ' ')).test(QP_hiddencatlist)) hiddencatlinks.push('<span dir="ltr"><a href="/wiki/Categoria:' + encodeURI(name) + '" title="Categoria:' + name.replace(/_/g, ' ') + '">' + name.replace(/_/g, ' ') + '</a></span>');
else {
normal_cats.push('[[:Categoria:' + name + '|' + name.replace(/_/g, ' ') + ']]');
normalcatlinks.push('<span dir="ltr"><a href="/wiki/Categoria:' + encodeURI(name) + '" title="Categoria:' + name.replace(/_/g, ' ') + '">' + name.replace(/_/g, ' ') + '</a>*</span>');
}
}
if (hiddencatlinks.length > 0) {
var hiddencatlinksBox = catlinksBox.appendChild(document.createElement('div'));
hiddencatlinksBox.id = "mw-hidden-catlinks";
hiddencatlinksBox.className = "mw-hidden-cats-hidden";
$(catlinksBox).toggleClass("catlinks-allhidden", (normal_cats.length == 0));
temp = "Categori" + (hiddencatlinks.length > 1? "e nascoste: " : "a nascosta: ") + hiddencatlinks.join(" | ");
hiddencatlinksBox.innerHTML = temp;
}
if (normal_cats.length > 0) {
$(catlinksBox).removeClass("catlinks-allhidden"); // CDW
var $normalcatlinksBox = $(document.createElement('div')).prependTo(catlinksBox).attr('id', "mw-normal-catlinks").html("<a title='Speciale:Categorie' href='/wiki/Speciale:Categorie'" + ">Categori" + (normalcatlinks.length > 1 ? "e" : "a") + "</a>: " + normalcatlinks.join(" | "));
$normalcatlinksBox.append('<br ' + '/>').append($(document.createElement('span')).css({'font-size':'8pt', 'font-style':'italic', 'font-family':'monospace'}).text("* NB. Operazione non completata: l'aspetto delle categorie potrebbe essere diverso."));
temp = "format=xml&action=parse&" + "prop=text&text=" + encodeURIComponent("[[Speciale:Categorie|Categori" + (normalcatlinks.length > 1 ? "e" : "a") + "]]: " + normal_cats.join(' | '));
var request_cat = createRequest();
var cat_id = setTimeout(function() { request_cat.abort(); Finish(true); }, 30000);
request_cat.onreadystatechange = function () { Show_Categories(request_cat, cat_id, $normalcatlinksBox); 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', temp.length);
setTimeout(function () { request_cat.send(temp); return; }, 10);
}
}
else $(catlinksBox).html('').css('display','none');
Finish(true);
return;
} /* <- Write */

function Show_Categories (o, id, box) {
if (o.readyState != 4) return;
if (o.status != 200) {
if (o.status && (o.status < 200 || o.status > 299)) {
clearTimeout(id);
}
return;
}
clearTimeout(id);
if (o.responseXML == null) {
return;
}
if (o.responseXML.normalize) o.responseXML.normalize();
box.html(o.responseXML.getElementsByTagName('text')[0].firstChild.data);
return;
}

function Finish(success) {
$("#quickpreviewButton, #quickdiffButton").attr('disabled', '');
$('body').css('cursor','auto');
if (after_save) {
var temp = $("#quicksave_msgbox");
$(temp).text($(temp).text().replace(QS_waitforpreview, ''));
}
if (success) {
if (!after_save) $("#p-logo")[0].scrollIntoView();

// mostra il toggle dell'indice
if (window.showTocToggle) { window.tocShowText = "mostra"; window.tocHideText = "nascondi"; showTocToggle();}

// carica onloadhooks
hooks_common_render();
hooks_monobook_render();
for (i in hooks_custom) hooks_custom[i]();
}
return;
}

} // <- quickpreview();

function quickdiff_load() {
var $buttons = $(".editButtons");
var b = document.createElement('input');
b.type = 'button';
b.value = "Mostra cambiamenti";
b.id = "quickdiffButton";
$(b).click(quickdiff);
b.accessKey = '3';
b.title = "Guarda le modifiche apportate al testo [alt-shift-3]";
$("#wpDiff").css({'margin':'0px', 'padding':'0px', 'font-size':'0', 'width':'0px', 'border':'0px none'});
$("#wpDiff").before(b);
$("#quickedit-hotkeysuggest").css({'left': (b.offsetLeft - 35).toString() + 'px', 'visibility' : 'visible'});
return;
}

function quickdiff () {
$("#quickdiffButton, #quickpreviewButton").attr('disabled','disabled');
$('body').css('cursor','progress');
if ($("#diff-css").length == 0)
$(document.createElement('link')).attr({'href': "h" + "ttp://images.wikia.com/common/__cb34808/skins/common/diff.css?34808", 'rel':'stylesheet', 'id':"diff-css"}).appendTo($('head'));

var $diffArea = $("#wikiDiff");
if ($diffArea.length == 0) {
$diffArea = $(document.createElement('div')).attr('id', "wikiDiff").insertBefore("#editform");
var $diffTable = $(document.createElement('table')).addClass("diff").appendTo($diffArea);
$diffTable.html("<colgroup><col class='diff-marker'><col class='diff-content'><col class='diff-marker'><col class='diff-content'></colgroup><tr valign='top'><td class='diff-otitle' colspan='2'>Versione attuale</td><td class='diff-ntitle' colspan='2'>Il tuo testo</td></tr>");
}
else {
$diffArea.css('display', 'block');
var $diffTable = $diffArea.children("table.diff");
$diffTable.find('tr:gt(0)').remove();
}
var param = "format=xml&action=query&" + "prop=revisions&revids=" + wgCurRevisionId;
var section = $("[name=wpSection]").val();
if (section && section != "new") param += "&rvsection=" + section;
param += "&rvdifftotext=" + encodeURIComponent($("#wpTextbox1").val());
var httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 15000);
httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;};
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true);
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.setRequestHeader('Content-Length', param.length);
httpRequest.send(param);
return; /* fine quickdiff */
function Write(o, id) {
if (o.readyState != 4) return;
if (o.status != 200) {
if (o.status && (o.status < 200 || o.status > 299)) {
$diffArea.html("Confronto versioni non riuscito. Risposta del server: " + o.status);
clearTimeout(id);
Finish(false);
}
return;
}
clearTimeout(id);
if (o.responseXML == null) {
$diffArea.html("Confronto versioni non riuscito (errore del server?)");
Finish(false);
return;
}
if (o.responseXML.normalize) o.responseXML.normalize();
$diffTable.append(o.responseXML.getElementsByTagName('diff')[0].firstChild.data);
Finish(true);
return;
}
function Finish(success) {
$("#quickdiffButton, #quickpreviewButton").attr('disabled','');
$('body').css('cursor','auto');
return;
}
}
}
addOnloadHook(sectionzero_editlink);

Versione attuale delle 23:39, 26 set 2013

//disableHideEdit = true;
disableAlert = true;
disableaprilfish = true;
disableRefTooltip = false;


function Main() {
  FastOpen();
  editcurrentid();
  if (document.getElementById('alert-load')) alert("alert onload presenti");
  if (document.getElementById('alert-unload')) alert("alert onunload presenti");

  if (wgPageName == "Utente:Sanjilops/sandbox") gif_hack();

 /* Funzioni dell'editor */
 if ((wgAction == "edit" || wgAction == "submit") && document.getElementById("toolbar")) {
if (mwCustomEditButtons) {
   mwCustomEditButtons[0] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png",
     "speedTip": "A capo",
     "tagOpen": "<br />\n",
     "tagClose": "",
     "sampleText": ""};

   mwCustomEditButtons[1] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/0/05/Button_Anf%C3%BChrung.png",
     "speedTip": "Citazione",
     "tagOpen": "{" + "{Cit|",
     "tagClose": "}" + "}",
     "sampleText": "..."};

   mwCustomEditButtons[2] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/0/0c/Button_P_template.png",
     "speedTip": "Template",
     "tagOpen": "{{",
     "tagClose": "}" + "}",
     "sampleText": "Template"};

   mwCustomEditButtons[3] = {
     "imageFile": "http://images.wikia.com/nonciclopedia/images/f/f9/Button_box.png",
     "speedTip": "Box",
     "tagOpen": '{|width="100%" align="center" style="background: #FFFFFF; color: #000000; border: 1px solid #000000; text-align: left; margin-bottom: 0px; margin-top: 0px; padding-right: 4px; padding-left: 4px;"\n|',
     "tagClose": "\n|}\n",
     "sampleText": ""};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://images.wikia.com/nonciclopedia/images/0/0c/Button_Chuck.png",
     "speedTip": "tag generico",
     "tagOpen": "{{",
     "tagClose": "||firma=~~" + "~~{{VF|" + wgCurRevisionId + "}" + "}" + "}" + "}\n\n",
     "sampleText": ""};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://images2.wikia.nocookie.net/nonciclopedia/images/a/a5/Button_Samara.png",
     "speedTip": "scadenza",
     "tagOpen": "{" + "{scadenza|{" + "{subst:7g}" + "}|note=",
     "tagClose": "|firma=~~" + "~~{{VF|" + wgCurRevisionId + "}" + "}" + "}" + "}\n\n",
     "sampleText": ""};
}

  if(wgCurRevisionId)
    mwEditButtons[9].tagOpen = '--~~' + '~~{{VF|' + wgCurRevisionId + '}' + '}';
   else
    mwEditButtons[9].tagOpen = '--~~' + '~~{{VF|}' + '}';

if (getElementsByClass(document, "editpage-copywarn-tools", 'table')) collapseTable(1);
  }
}
addOnloadHook(Main);

function FastOpen() {
 var Box = document.getElementById("searchBody");
 if (!Box) return;
 var form = document.createElement("form");
 Box.appendChild(form);
 form.style.position = "absolute";
 form.style.top = "1px";
 form.action = "/index.php";
 form.target = "_blank";
 var c = document.createElement("input");
 form.appendChild(c);
 c.type = "text";
 c.setAttribute('name', "title");
 c.size = "13";
 var menu = document.createElement("select");
 form.appendChild(menu);
 menu.setAttribute('name', "action");
 menu.options[menu.length] = new Option("Modifica", "edit", true);
 menu.options[menu.length] = new Option("Cronol", "history");
 menu.options[menu.length] = new Option("Elimina", "delete");
 var p = document.createElement("input");
 p.type = "submit";
 p.value = "vai"; 
 form.appendChild(p);
}


var disable_gif_hack = false;
function gif_hack () {
 if (disable_gif_hack) return false;
 var a_images = getElementsByClass(document.getElementById('bodyContent'), 'image', 'a');
 if (!a_images.length) return;
 var img, tmp;
 var thumbs = new Array();
 var names = new Array();
 for (var i = 0; i < a_images.length; i++) {
	img = a_images[i].getElementsByTagName('img')[0];
	if (/\.gif$/i.test(img.src) && /\/images\/thumb\//.test(img.src) && /\bgif\b/i.test(img.alt)) {
		thumbs.push(img);
		tmp = img.src.split('/');
		names.push("File:" + tmp[tmp.length - 1].replace(/\d+px-/, ''));
	 }
  }
 if (!thumbs.length) return;
 var httpRequest = createRequest();
 var id = setTimeout(function() { httpRequest.abort();}, 30000);
 var param = "format=xml&action=query&prop=imageinfo&iiprop=url&titles=" + names.join('|');
 httpRequest.onreadystatechange = function () { Receive(httpRequest, id); return; }
 httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true);
 httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 httpRequest.setRequestHeader('Content-Length', param.length);
 httpRequest.send(param);
 return;
 
 function Receive(o, id) {
	if (o.readyState != 4) return;
	clearTimeout(id);
	if (o.status != 200) return;
	var xml = o.responseXML;
	if (xml == null) return;
	if (xml.normalize) xml.normalize();
	var ii = xml.getElementsByTagName('ii');
	var i = 0;
	for (var I = 0; I < ii.length; I++) {
		for (i in thumbs) {
			if (ii[I].getAttribute('url').indexOf(names[i].replace("File:", '')) != -1) thumbs[i].src = ii[I].getAttribute('url');
		 }
	 }
	return;
  }
}

function Quick_Editor() {
 quickdiff_load();
 var sect = $("[name=wpSection]");
 if (!/&?undo=\d+/.test(location.search) && ((sect.length && !sect.val()) || !sect.length)) quicksave_load();
 if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) == -1)
  quickpreview_load();
 $("#wpTextbox1").bind('mouseup keyup focus change', quickedit_switch);
 
 var c = document.createElement('span');
 c.id = "quickeditor_charactercount";
 $(c).text($("#wpTextbox1").val().length.toString() + " caratteri");
 $("#toolbar").append(c);
 return;
}

function quickedit_switch() {
 $("#quicksaveButton").attr('disabled', this.value == quicksave_checktext ? 'disabled' : '');
 if (!(/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0)) {
	$("#quickpreviewButton").val(this.selectionStart < this.selectionEnd ? "Anteprima selezione" : "Visualizza anteprima");
  }
 
 $("#quickeditor_charactercount").text(this.value.length.toString() + " caratteri");
 return;
}

var QS_waitforpreview = " Creazione anteprima della pagina in corso...";
var quicksave_checktext = '';
function quicksave_load() {
 var b = document.createElement('input');
 b.type = 'button';
 $("#wpSave").after(b);
 b.value = "Salva";
 b.id = "quicksaveButton";
 $(b).click(quicksave);
 b.accessKey = '1';
 b.title = "Salva e continua a modificare la pagina [alt-shift-1]";
 b.disabled = true;
 quicksave_checktext = $("#wpTextbox1").val();
 return;
}

function quicksave () {
	var textbox = $("#wpTextbox1")[0];
	var Source = textbox.value;
	textbox.disabled = true;
	$("#wpSummary, #wpSave, #quicksaveButton, #quickpreviewButton, #quickdiffButton").attr('disabled','disabled');	
	$('body').css('cursor','progress');
	
	var temp = $("#quicksave_msgbox")[0];
	if (!temp) {
		temp = $(document.createElement('div')).insertBefore($("#editform")).attr('id', "quicksave_msgbox");
		var msg_box = temp[0].appendChild(document.createElement('div'));
		temp.append(document.createElement('span')).attr('id', "quicksave_msgbox_close").text('×').click( function () { $("#quicksave_msgbox").hide("slow"); });
	 }
	 else {
		temp.style.display = 'block';
		var msg_box = temp.firstChild;
	 }
	msg_box.innerHTML = "Salvataggio in corso...";
	// msg_box.scrollIntoView();

	var param = "action=edit&format=xml&title=" + encodeURIComponent(wgPageName);
	param += "&token=" + $("[name=wpEditToken]:first").val().replace(/\+\\/, '%2' + 'B%5' + 'C');
	param += "&summary=" + encodeURIComponent($("#wpSummary").val());
	temp = $("#wpCaptchaId")[0];
	if (temp) {
		param += "&captchaid=" + temp.value + "&captchaword=" + encodeURIComponent($("#wpCaptchaWord").val());
		$("#editform #captcha_box").remove();
	 }
	if ($("#wpMinoredit")[0].checked) param += "&minor=";
	var Watched = $("#wpWatchthis")[0].checked;
	if ($("#ca-watch")[0] && Watched) {
		$("#ca-watch a").text(wgAjaxWatch["watchingMsg"].toLowerCase());
		param += "&watchlist=watch";
	 }
	if ($("#ca-unwatch")[0] && !Watched) {
		$("#ca-unwatch a").text(wgAjaxWatch["unwatchingMsg"].toLowerCase());
		param += "&watchlist=unwatch";
	 }
	param += "&basetimestamp=" + $("[name=wpEdittime]:first").val();
	param += "&starttimestamp=" + $("[name=wpStarttime]:first").val();
	param += "&md5=" + MD5(textbox.value);
	param += "&text=" + encodeURIComponent(Source);
	var httpRequest = createRequest();
	var id = setTimeout(function() { httpRequest.abort(); msg_box.style.color = 'red'; $(msg_box).text("Salvataggio fallito: il server non risponde."); Finish(false); }, 15000);
	httpRequest.onreadystatechange = function () { Response(httpRequest, id); return;};
	httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true);
	httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	httpRequest.setRequestHeader('Content-Length', param.length);
	$("#wpSummary").attr('disabled','');
	textbox.disabled = false;
	httpRequest.send(param);
	return; // fine quicksave
	
 function Response (o, id) {
	if (o.readyState != 4) return;
	if (o.status != 200) {
		if (o.status && (o.status < 200 || o.status > 299)) {
			clearTimeout(id);
			msg_box.style.color = 'red';
			$(msg_box).text("Salvataggio fallito. Risposta del server: " + o.status);
			Finish(false);
		 }
		return;
	 }
	clearTimeout(id);
	if (o.responseXML == null)  {
		msg_box.style.color = 'rgb(100, 100, 100)';
		$(msg_box).text("Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto");
		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).text("Salvataggio completato." + QS_waitforpreview);
			wgCurRevisionId = result[0].getAttribute('newrevid');
			setTimeout(function () {quickpreview(true); return; }, 100); // su un nuovo thread per non fermare la funzione
			if (wgUserName) {
				if (Watched) {
					temp = $("#ca-watch")[0];
					if (temp) {
						temp.id = "ca-unwatch";
						temp = temp.firstChild;
						temp.href = temp.href.replace(/=watch$/, "=unwatch");
						$(temp).text(wgAjaxWatch["unwatchMsg"].toLowerCase());
						temp.title = wgAjaxWatch["tooltip-ca-unwatchMsg"];
					 }
				 }
				 else {
					temp = $("#ca-unwatch")[0];
					if (temp) {
						temp.id = "ca-watch";
						temp = temp.firstChild;
						temp.href = temp.href.replace(/=unwatch$/, "=watch");
						$(temp).text(wgAjaxWatch["watchMsg"].toLowerCase());
						temp.title = wgAjaxWatch["tooltip-ca-watchMsg"];
					 }
				 }
			 }
			$(msg_box).append('<br ' + '/>');
			var request_ts = createRequest();
			var ts_id = setTimeout(function() { request_ts.abort(); $(msg_box).append("Impossibile procedere ad ulteriori salvataggi. Il server non risponde"); Finish(true, false); return; }, 15000);
			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', wgServer + wgScriptPath + "/api.php", true);
			request_ts.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			request_ts.setRequestHeader('Content-Length', param.length);
			request_ts.send(param);
			return;
	 	 }
		if (result[0].getAttribute('result') == "Failure") {
			var captcha = result[0].getElementsByTagName('captcha')[0];
			if (captcha == null) {
				msg_box.style.color = 'red';
				$(msg_box).text("Salvataggio fallito: errore ignoto");
				Finish(false);
				return;
			 }
			msg_box.style.display = 'none';
			msg_box.innerHTML = '';
			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";
			$("#toolbar").before(captcha_box);
			$(captcha_box).append(captcha_msg,[captcha_img,captcha_word,captcha_id]);
			Finish(false);
			return;
		 }
	 }
	var error = o.responseXML.getElementsByTagName('error');
	if (error == null)  {
		msg_box.style.color = 'rgb(100, 100, 100)';
		$(msg_box).text("Errore nella risposta del server. Controlla nella cronologia se il salvataggio è avvenuto");
		Finish(false);
		return;
	 }
	msg_box.style.color = 'red';
	switch (error[0].getAttribute('code')) {
		case 'editconflict':
		 $("#wpSave").attr('disabled','').delay(100).click();
		 return;

		case 'noedit':
		case 'noedit-anon':
		case 'protectedtitle':
		 $(msg_box).text("Non sei autorizzato a modificare questa pagina.");
		 Finish(false);
		 return;
		
		default:
		 $(msg_box).text("Salvataggio fallito: " + error[0].getAttribute('info'));
		 Finish(false);
		 return;
	 }
 }

 function Get_Timestamp (o, id) {
	if (o.readyState != 4) return;
	if (o.status != 200) {
		if (o.status && (o.status < 200 || o.status > 299)) {
			clearTimeout(id);
			$(msg_box).append("Impossibile procedere ad ulteriori salvataggi. Risposta del server: " + o.status);
			Finish(true, false);
		 }
		return;
	 }
	clearTimeout(id);
	if (o.responseXML == null) {
		$(msg_box).append("Impossibile procedere ad ulteriori salvataggi.");
		Finish(true, false);
		return;
	 }
	if (o.responseXML.normalize) o.responseXML.normalize();
	var rev = o.responseXML.getElementsByTagName('rev');
	if (!rev || rev[0] == undefined) {
		$(msg_box).append("Impossibile procedere ad ulteriori salvataggi.");
		Finish(true, false, o);
		return;
	 }
	var t = rev[0].getAttribute('timestamp');
	$("[name=wpEdittime]:first").val(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);
	$(msg_box).append("Ultima modifica: " + rev[0].getAttribute('user') + ' ' + d.toLocaleString());
	d = new Date();
	$("[name=wpStarttime]:first").val(d.getUTCFullYear().toString() + addzero(d.getUTCMonth()) + addzero(d.getUTCDate()) + addzero(d.getUTCHours()) + addzero(d.getUTCMinutes())+ addzero(d.getUTCSeconds() + 1));

	Finish(true, true, o);
	return;
 }


 function Finish(success, got_ts, o) {
	if (success) {
		quicksave_checktext = Source;
		$("#wpSave, #quicksaveButton").attr('disabled', got_ts ? '': 'disabled'); // se il salvataggio è riuscito, senza timestamp non possiamo farne altri

 /* nuovi messaggi in discussione? */
		if (o == undefined) return;
		var temp = o.responseXML.getElementsByTagName('userinfo');
		if (!temp || temp[0] == undefined) return;
		var $usermessage = $(".usermessage:not(#wikiPreview > *)");
		if (!temp[0].hasAttribute('messages')) {
			$usermessage.css('display', 'none');
			return;
		 }
		var name = (wgUserName)? wgUserName : temp[0].getAttribute('name');
		if (!$usermessage.length) {
			$usermessage = $(document.createElement('div')).addClass("usermessage").insertBefore($("#wikiPreview")).html('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' + '>).');
		 }
		 else $usermessage.css('display', 'block');
	 }
	 
	 else {
		$("#quickpreviewButton, #quickdiffButton").attr('disabled', '');
		$('body').css('cursor','auto');
	 }
	return;
 }
} // <- quicksave()

var QP_hiddencatlist;
var QP_hiddencats_cat = "Categorie nascoste";
function quickpreview_load() {
	var b = document.createElement('input');
	b.type = 'button';
	b.value = (/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0) ? "Anteprima stile" : "Visualizza anteprima";
	b.id = "quickpreviewButton";
	$(b).click(quickpreview);
	b.accessKey = '2';
	b.title = "Anteprima delle modifiche (consigliata prima di salvare) [alt-shift-2]";
	$("#wpPreview").css({'margin':'0px', 'padding':'0px', 'font-size':'0', 'width':'0px', 'border':'0px none'});
	$("#wpPreview").before(b);
	$("#quickpreview-hotkeysuggest").css({'visibility' : 'visible'});
	QP_hiddencatlist = getCookie("QPhc");
	if (QP_hiddencatlist == null) {
		var request_hc = createRequest();
		request_hc.onreadystatechange = function () { quickpreview_set_hc_cookie(request_hc); return;};
		request_hc.open('GET', wgServer + wgScriptPath + "/api.php?format=xml&action=query&list=categorymembers&cmtitle=Category:" + encodeURI(QP_hiddencats_cat) + "&cmlimit=500", true);
		request_hc.send(null);
	 }
	return;

 function quickpreview_set_hc_cookie (o) {
	 if (o.readyState != 4 || o.status != 200 || o.responseXML == null) return;
	 if (o.responseXML.normalize) o.responseXML.normalize();
	 var cm = o.responseXML.getElementsByTagName('categorymembers')[0].getElementsByTagName('cm');
	 var tmp = new Array();
	 for (i in cm) tmp.push(cm[i].getAttribute('title'));
	 QP_hiddencatlist = tmp.join('|');
	 document.cookie = "QPhc=" + escape(QP_hiddencatlist);
	 return;
  }
}

function quickpreview (after_save) {
	if (after_save == undefined) after_save = false;
	$("#quickpreviewButton, #quickdiffButton").attr('disabled','disabled');
	$('body').css('cursor','progress');
	var temp;

/* Pulizia dell'area di anteprima */
	var $previewArea = $("#wikiPreview");
	$previewArea.html('').css('display', 'block');
	
	$("#editintro, .mw-newarticletext:first, .mw-newarticletextanon:first, #mw-anon-edit-warning, #mw-warning-with-logexcerpt, #mw-edit-longpagewarning, #contentSub2, #explainconflict").remove();
	$("#wikiDiff").css('display','none');
	$("#contentSub").html('');
/***** Nonciclopedia only *****/
		$("#wpTalkPageText").remove();
		
/* Rimuove eventuali css importati precedentemente; */
		$("#add-css-link").remove();
/**********/
	$("#add-css-quickpreview").remove();

/* Imposta il titolo */
	temp = wgPageName.replace(/_/g, ' ');
	$("#firstHeading").html(temp);
	$('title:first').html(temp + " {anteprima} - " + wgSiteName);

/* Anteprima css - non serve collegarsi al server */	
	if (/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0 && !after_save) {
		var style = document.createElement('style');
		style.type = 'text/css';
		style.innerHTML = $("#wpTextbox1").val();
		style.id = "add-css-quickpreview";
		$('head').append(style);
		Finish(false);
		return;
	 }
	

	var param = "format=xml&action=parse&" + "prop=text%7" + "Ccategories%7" + "Ctemplates";
	if (after_save) {
		param += "&page=" + encodeURIComponent(wgPageName);
	 }
	 else {
		var textbox = $("#wpTextbox1")[0];
		textbox.disabled = true;
		var start = textbox.selectionStart, end = textbox.selectionEnd;
		if (start < end) temp = textbox.value.slice(start, end);
		 else {
			temp = textbox.value + '\n';
			if ($("[name=wpSection]:first").val() == 'new') temp = "== " + $("#wpSummary").val() + " ==\n" + temp;
		 }
		textbox.disabled = false;
		param += "&pst=&title=" + encodeURIComponent(wgPageName) + "&text=" + encodeURIComponent(temp);
	 }
	var httpRequest = createRequest();
	var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 15000);
	httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;};
	httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", 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;
	if (o.status != 200) {
		if (o.status && (o.status < 200 || o.status > 299)) {
			alert("Anteprima non riuscita. Risposta del server: " + o.status);
			clearTimeout(id);
			Finish(false);
		 }
		return;
	 }
	clearTimeout(id);
	if (o.responseXML == null)  {
		alert("Anteprima non riuscita (errore del server?)");
		Finish(false);
		return;
	 }
	if (o.responseXML.normalize) o.responseXML.normalize();
	var R = o.responseXML.getElementsByTagName('text')[0].firstChild;
	temp = R.data;
	if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) != -1) {
		temp = "<pre class='mw-code mw-" + /(?!\.)\w+$/.exec(wgTitle) + "'>" + temp + "<" + "/pre>";
	 }
	$previewArea.html(temp);

/* aggiungi elenco template */
	var templatesUsed = $(".templatesUsed")[0];
	if (!templatesUsed) {
		templatesUsed = document.createElement('div');
		templatesUsed.className = "templatesUsed";
		$("#editform").append(templatesUsed);
	 }
	var templatesList = templatesUsed.getElementsByTagName('ul')[0];
	if (!templatesList) {
		templatesList = templatesUsed.appendChild(document.createElement('ul'));
	 }
	 else templatesList.innerHTML = '';
	R = o.responseXML.getElementsByTagName('templates')[0].getElementsByTagName('tl');
	if (R.length > 0) {
		var name;
		temp = '';
		for (i in R) {
			name = R.item(i).firstChild.nodeValue;
			if (R.item(i).getAttribute('exists') != undefined)
				temp += "<li" + "><a title='" + name + "' href='/wiki/" + encodeURI(name) + "'>" + name + "</a> (<a href='/index.php?title=" + encodeURI(name) + "&action=edit&editintro=Mediawiki:Editintro'>modifica</a>)</li>";
			 else
				temp += "<li" + "><a title='" + name + " (la pagina non esiste)' class='new' href='/index.php?title=" + encodeURI(name) + "&action=edit&redlink=1&editintro=Mediawiki:Editintro'>" + name + "</a></li>";
		 }
		templatesList.innerHTML = temp;
		temp = getElementsByClass(templatesUsed, "mw-templatesUsedExplanation", 'div')[0];
		if (!temp) {
			temp = templatesUsed.insertBefore(document.createElement('div'), templatesList);
			temp.className = "mw-templatesUsedExplanation";
			temp.innerHTML = "<p" + ">Template utilizzati in questa anteprima: </p>";
		 }
	 }

/* aggiungi categorie */
	var catlinksBox = $(".printfooter ~ #catlinks")[0];
	R = o.responseXML.getElementsByTagName('categories')[0].getElementsByTagName('cl');
	if (R.length > 0) {
		if (catlinksBox != null) {
			catlinksBox.innerHTML = '';
			catlinksBox.style.display = 'block';
		 }
		 else {
			catlinksBox = document.createElement('div');
			catlinksBox.id = "catlinks";
			catlinksBox.className = "catlinks";
			$(".visualClear:first").before(catlinksBox);
		 }
		var normal_cats = new Array();
		var normalcatlinks = new Array();
		var hiddencatlinks = new Array();
		for (i in R) {
			name = R.item(i).firstChild.nodeValue;
			if (RegExp(name.replace(/_/g, ' ')).test(QP_hiddencatlist)) hiddencatlinks.push('<span dir="ltr"><a href="/wiki/Categoria:' + encodeURI(name) + '" title="Categoria:' + name.replace(/_/g, ' ') + '">' + name.replace(/_/g, ' ') + '</a></span>');
			 else {
				normal_cats.push('[[:Categoria:' + name + '|' + name.replace(/_/g, ' ') + ']]');
				normalcatlinks.push('<span dir="ltr"><a href="/wiki/Categoria:' + encodeURI(name) + '" title="Categoria:' + name.replace(/_/g, ' ') + '">' + name.replace(/_/g, ' ') + '</a>*</span>');
			 }
		 }
		if (hiddencatlinks.length > 0) {
			var hiddencatlinksBox = catlinksBox.appendChild(document.createElement('div'));
			hiddencatlinksBox.id = "mw-hidden-catlinks";
			hiddencatlinksBox.className = "mw-hidden-cats-hidden";
			$(catlinksBox).toggleClass("catlinks-allhidden", (normal_cats.length == 0));
			temp =  "Categori" + (hiddencatlinks.length > 1? "e nascoste: " : "a nascosta: ") + hiddencatlinks.join(" | ");
			hiddencatlinksBox.innerHTML = temp;
		 }
		if (normal_cats.length > 0) {
			$(catlinksBox).removeClass("catlinks-allhidden"); // CDW
			var $normalcatlinksBox = $(document.createElement('div')).prependTo(catlinksBox).attr('id', "mw-normal-catlinks").html("<a title='Speciale:Categorie' href='/wiki/Speciale:Categorie'" + ">Categori" + (normalcatlinks.length > 1 ? "e" : "a") + "</a>: " + normalcatlinks.join(" | "));
			$normalcatlinksBox.append('<br ' + '/>').append($(document.createElement('span')).css({'font-size':'8pt', 'font-style':'italic', 'font-family':'monospace'}).text("* NB. Operazione non completata: l'aspetto delle categorie potrebbe essere diverso."));
			temp = "format=xml&action=parse&" + "prop=text&text=" + encodeURIComponent("[[Speciale:Categorie|Categori" + (normalcatlinks.length > 1 ? "e" : "a") + "]]: " + normal_cats.join(' | '));
			var request_cat = createRequest();
			var cat_id = setTimeout(function() { request_cat.abort(); Finish(true); }, 30000);
			request_cat.onreadystatechange = function () { Show_Categories(request_cat, cat_id, $normalcatlinksBox); 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', temp.length);
			setTimeout(function () { request_cat.send(temp); return; }, 10);
		 }
	 }
	 else $(catlinksBox).html('').css('display','none');
	
	Finish(true);
	return;
 } /* <- Write */

 function Show_Categories (o, id, box) {
	if (o.readyState != 4) return;
	if (o.status != 200) {
		if (o.status && (o.status < 200 || o.status > 299)) {
			clearTimeout(id);
		 }
		return;
	 }
	clearTimeout(id);
	if (o.responseXML == null)  {
		return;
	 }
	if (o.responseXML.normalize) o.responseXML.normalize();
	box.html(o.responseXML.getElementsByTagName('text')[0].firstChild.data);
	return;
}

 function Finish(success) {
	$("#quickpreviewButton, #quickdiffButton").attr('disabled', '');
	$('body').css('cursor','auto');
	if (after_save) {		
		var temp = $("#quicksave_msgbox");
		$(temp).text($(temp).text().replace(QS_waitforpreview, ''));
	 }
	if (success) {
		if (!after_save) $("#p-logo")[0].scrollIntoView();

// mostra il toggle dell'indice
		if (window.showTocToggle) { window.tocShowText = "mostra"; window.tocHideText = "nascondi"; showTocToggle();}

// carica onloadhooks
		hooks_common_render();
		hooks_monobook_render();
		for (i in hooks_custom) hooks_custom[i]();
	 }
	return;
 }

} // <- quickpreview();

function quickdiff_load() {
	var $buttons = $(".editButtons");
	var b = document.createElement('input');
	b.type = 'button';
	b.value = "Mostra cambiamenti";
	b.id = "quickdiffButton";
	$(b).click(quickdiff);
	b.accessKey = '3';
	b.title = "Guarda le modifiche apportate al testo [alt-shift-3]";
	$("#wpDiff").css({'margin':'0px', 'padding':'0px', 'font-size':'0', 'width':'0px', 'border':'0px none'});
	$("#wpDiff").before(b);
	$("#quickedit-hotkeysuggest").css({'left': (b.offsetLeft - 35).toString() + 'px', 'visibility' : 'visible'});
	return;
}

function quickdiff () {
	$("#quickdiffButton, #quickpreviewButton").attr('disabled','disabled');	
	$('body').css('cursor','progress');
	if ($("#diff-css").length == 0)
		$(document.createElement('link')).attr({'href': "h" + "ttp://images.wikia.com/common/__cb34808/skins/common/diff.css?34808", 'rel':'stylesheet', 'id':"diff-css"}).appendTo($('head'));

	var $diffArea = $("#wikiDiff");
	if ($diffArea.length == 0) {
		$diffArea = $(document.createElement('div')).attr('id', "wikiDiff").insertBefore("#editform");
		var $diffTable = $(document.createElement('table')).addClass("diff").appendTo($diffArea);
		$diffTable.html("<colgroup><col class='diff-marker'><col class='diff-content'><col class='diff-marker'><col class='diff-content'></colgroup><tr valign='top'><td class='diff-otitle' colspan='2'>Versione attuale</td><td class='diff-ntitle' colspan='2'>Il tuo testo</td></tr>");
	 }
	 else {
		$diffArea.css('display', 'block');
		var $diffTable = $diffArea.children("table.diff");
		$diffTable.find('tr:gt(0)').remove();
	 }
	
	var param = "format=xml&action=query&" + "prop=revisions&revids=" + wgCurRevisionId;
	var section = $("[name=wpSection]").val();
	if (section && section != "new") param += "&rvsection=" + section;
	param += "&rvdifftotext=" + encodeURIComponent($("#wpTextbox1").val());
	var httpRequest = createRequest();
	var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 15000);
	httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;};
	httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true);
	httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	httpRequest.setRequestHeader('Content-Length', param.length);
	httpRequest.send(param);
	return; /* fine quickdiff */
	
 function Write(o, id) {
	if (o.readyState != 4) return;
	if (o.status != 200) {
		if (o.status && (o.status < 200 || o.status > 299)) {
			$diffArea.html("Confronto versioni non riuscito. Risposta del server: " + o.status);
			clearTimeout(id);
			Finish(false);
		 }
		return;
	 }
	clearTimeout(id);
	if (o.responseXML == null)  {
		$diffArea.html("Confronto versioni non riuscito (errore del server?)");
		Finish(false);
		return;
	 }
	if (o.responseXML.normalize) o.responseXML.normalize();
	$diffTable.append(o.responseXML.getElementsByTagName('diff')[0].firstChild.data);
	Finish(true);
	return;
 }
 
 function Finish(success) {
	$("#quickdiffButton, #quickpreviewButton").attr('disabled','');	
	$('body').css('cursor','auto');
	return;
 }
}