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

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




Riga 92: Riga 92:
form.appendChild(p);
form.appendChild(p);
}
}


/* addOnloadHook(function () {
var b = document.getElementById("quicksaveButton");
if (!b) return;
b.removeEventListener('click', quicksave, false);
b.addEventListener('click', quicksaveX, false);
return;
});

addOnloadHook(function () {
var b = document.getElementById("quickpreviewButton");
if (!b) return;
b.removeEventListener('click', quickpreview, false);
b.addEventListener('click', quickpreviewX, false);
return;
});

*/

function quicksaveX () {
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=txt&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);
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;
}
msg_box.innerHTML = o.responseText;
Finish(true);
return;
}

function Finish(success) {
document.getElementById("wpSave").disabled = false;
document.getElementById("quicksaveButton").disabled = false;
document.getElementsByTagName('body')[0].style.cursor = 'auto';
textbox.disabled = false;
return;
}
} // <-quicksaveX()




Riga 228: Riga 139:
}
}


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() {
var captchaId = "6LfMi8ISAAAAAEHGqimcbeDqz4qameKCUOszTC-J";
$("#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...";
function showRecaptcha() {
var quicksave_checktext = '';
if (wgPageName != "Utente:Sanjilops/sandbox") return;
function quicksave_load() {
var scriptElem = document.createElement( 'script' );
var b = document.createElement('input');
scriptElem.type = 'text/javascript';
scriptElem.language = 'javascript';
b.type = 'button';
$("#wpSave").after(b);
scriptElem.src = "http://www.google.com/recaptcha/api/js/recaptcha_ajax.js";
b.value = "Salva";
document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
b.id = "quicksaveButton";
var form = document.getElementById("captchaform");
$(b).click(quicksave);
var div = document.createElement('div');
b.accessKey = '1';
form.appendChild(div);
b.title = "Salva e continua a modificare la pagina [alt-shift-1]";
var button = document.createElement('input');
b.disabled = true;
form.appendChild(button);
quicksave_checktext = $("#wpTextbox1").val();
button.disabled = true;
return;
button.type = 'button';
}
button.value = "Invia";

var d = new Date();
function quicksave () {
var start_time = d.getTime();
var c = true;
var textbox = $("#wpTextbox1")[0];
var Source = textbox.value;
do {
textbox.disabled = true;
try {
$("#wpSummary, #wpSave, #quicksaveButton, #quickpreviewButton, #quickdiffButton").attr('disabled','disabled');
Recaptcha.create(captchaId, div, {
$('body').css('cursor','progress');
theme: "red",
callback: Recaptcha.focus_response_field,
var temp = $("#quicksave_msgbox")[0];
custom_translations : {
if (!temp) {
instructions_visual : "Scrivi le due parole:",
temp = $(document.createElement('div')).insertBefore($("#editform")).attr('id', "quicksave_msgbox");
instructions_audio : "Trascrivi ci\u00f2 che senti:",
var msg_box = temp[0].appendChild(document.createElement('div'));
play_again : "Riascolta la traccia audio",
temp.append(document.createElement('span')).attr('id', "quicksave_msgbox_close").text('×').click( function () { $("#quicksave_msgbox").hide("slow"); });
cant_hear_this : "Scarica la traccia in formato MP3",
}
visual_challenge : "Modalit\u00e0 visiva",
else {
audio_challenge : "Modalit\u00e0 auditiva",
temp.style.display = 'block';
refresh_btn : "Chiedi due nuove parole",
var msg_box = temp.firstChild;
help_btn : "Aiuto",
}
incorrect_try_again : "Scorretto. Riprova.",
msg_box.innerHTML = "Salvataggio in corso...";
},
// msg_box.scrollIntoView();
lang : 'it',

});
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;
catch (e) {
}
if ((d.getTime() - start_time > 30000) || e.name.toString() != 'ReferenceError') c = false;
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;
}
}
} while (c)
}
var error = o.responseXML.getElementsByTagName('error');
button.onclick = sendRecaptcha();
if (error == null) {
button.disabled = false;
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;
return;
}
}


var IP = "80.181.196.219";
function sendRecaptcha () {
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 httpRequest = createRequest();
var id = setTimeout(function() { httpRequest.abort(); alert("Errore: il server non risponde"); Finish(false); }, 15000);
/* var userpage = document.getElementById("pt-anonuserpage");
httpRequest.onreadystatechange = function () { Write(httpRequest, id); return;};
if (userpage != null) {
httpRequest.open('POST', wgServer + wgScriptPath + "/api.php", true);
var IP = getText(userpage.getElementsByTagName('a')[0]);
if (IP == null) return;
} */
var param = encodeURIComponent("privatekey=6LfMi8ISAAAAAO1MIU43eaDRhv_8UM8naTGl0-Gn&remoteip=" + IP + "&challenge=" + Recaptcha.get_challenge() + "&response=" + Recaptcha.get_response());
httpRequest.open('POST', "http://www.google.com/recaptcha/api/verify", 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);
var id = setTimeout(function() { httpRequest.abort();}, 30000);
httpRequest.send(param);
return; /* fine quickpreview */
httpRequest.onreadystatechange = function () {

if (httpRequest.readyState != 4) return;
function Write(o, id) {
clearTimeout(id);
if (httpRequest.status != 200) return;
if (o.readyState != 4) return;
if (o.status != 200) {
var t = httpRequest.responseText;
if (o.status && (o.status < 200 || o.status > 299)) {
if (t == null) return;
alert("Anteprima non riuscita. Risposta del server: " + o.status);
alert(t);
t = t.split('\n');
clearTimeout(id);
Finish(false);
}
return;
return;
}
}
clearTimeout(id);
httpRequest.send(param);
if (o.responseXML == null) {
Recaptcha.destroy();
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;
return;
}
}


} // <- quickpreview();
addOnloadHook(showRecaptcha);

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;
}
}

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;
 }
}