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
 
(53 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 9: Riga 8:
FastOpen();
FastOpen();
editcurrentid();
editcurrentid();
if (wgPageName == "Utente:Sanjilops/sandbox") gif_hack();
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 */
Riga 73: Riga 73:
Box.appendChild(form);
Box.appendChild(form);
form.style.position = "absolute";
form.style.position = "absolute";
form.style.top = "60px";
form.style.top = "1px";
form.action = "/index.php";
form.action = "/index.php";
form.target = "_blank";
form.target = "_blank";
Riga 94: Riga 94:




var disable_gif_hack = false;
/* addOnloadHook(function () {
function gif_hack () {
var b = document.getElementById("quicksaveButton");
if (!b) return;
if (disable_gif_hack) return false;
var a_images = getElementsByClass(document.getElementById('bodyContent'), 'image', 'a');
b.removeEventListener('click', quicksave, false);
if (!a_images.length) return;
b.addEventListener('click', quicksaveX, false);
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;
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;
}
}


addOnloadHook(function () {
function Quick_Editor() {
quickdiff_load();
var b = document.getElementById("quickpreviewButton");
var sect = $("[name=wpSection]");
if (!b) return;
if (!/&?undo=\d+/.test(location.search) && ((sect.length && !sect.val()) || !sect.length)) quicksave_load();
b.removeEventListener('click', quickpreview, false);
if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) == -1)
b.addEventListener('click', quickpreviewX, false);
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...";
function quicksaveX () {
var quicksave_checktext = '';
var textbox = document.getElementById("wpTextbox1");
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;
textbox.disabled = true;
$("#wpSummary, #wpSave, #quicksaveButton, #quickpreviewButton, #quickdiffButton").attr('disabled','disabled');
document.getElementById("wpSave").disabled = true;
$('body').css('cursor','progress');
document.getElementById("quicksaveButton").disabled = true;
var temp = null;
temp = document.getElementById("quickpreviewButton");
var temp = $("#quicksave_msgbox")[0];
if (temp) temp.disabled = true;
if (!temp) {
temp = $(document.createElement('div')).insertBefore($("#editform")).attr('id', "quicksave_msgbox");
var Source = encodeURIComponent(textbox.value);
var msg_box = document.getElementById("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"); });
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 = '';
else {
temp.style.display = 'block';
var httpRequest = createRequest();
var msg_box = temp.firstChild;
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;};
msg_box.innerHTML = "Salvataggio in corso...";
var url = wgServer + wgScriptPath + "/api.php";
// msg_box.scrollIntoView();
var param = "action=edit&format=txt&title=" + encodeURIComponent(wgPageName);

param += "&token=" + document.getElementsByName("wpEditToken")[0].value.replace(/\+\\/, '%2' + "B%5" + 'C');
var param = "action=edit&format=xml&title=" + encodeURIComponent(wgPageName);
temp = document.getElementById("wpSummary");
param += "&token=" + $("[name=wpEditToken]:first").val().replace(/\+\\/, '%2' + 'B%5' + 'C');
if (temp) param += "&summary=" + encodeURIComponent(temp.value);
param += "&summary=" + encodeURIComponent($("#wpSummary").val());
temp = document.getElementById("wpCaptchaId");
temp = $("#wpCaptchaId")[0];
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) {
if (temp) {
param += "&captchaid=" + temp.value + "&captchaword=" + encodeURIComponent($("#wpCaptchaWord").val());
var Watched = temp.checked;
$("#editform #captcha_box").remove();
if (document.getElementById('ca-watch') && Watched) param += "&watch=";
if (document.getElementById('ca-unwatch') && !Watched) param += "&unwatch=";
}
}
if ($("#wpMinoredit")[0].checked) param += "&minor=";
param += "&basetimestamp=" + document.getElementsByName("wpEdittime")[0].value;
var Watched = $("#wpWatchthis")[0].checked;
param += "&starttimestamp=" + document.getElementsByName("wpStarttime")[0].value;
if ($("#ca-watch")[0] && Watched) {
param += "&text=" + Source;
$("#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 += "&md5=" + MD5(textbox.value);
param += "&text=" + encodeURIComponent(Source);
httpRequest.open('POST', url, true);
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-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);
msg_box.scrollIntoView();
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);
msg_box.innerHTML = o.responseText;
if (o.responseXML == null) {
Finish(true);
msg_box.style.color = 'rgb(100, 100, 100)';
return;
$(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 Finish(success) {
function Get_Timestamp (o, id) {
if (o.readyState != 4) return;
document.getElementById("wpSave").disabled = false;
if (o.status != 200) {
document.getElementById("quicksaveButton").disabled = false;
if (o.status && (o.status < 200 || o.status > 299)) {
document.getElementsByTagName('body')[0].style.cursor = 'auto';
clearTimeout(id);
textbox.disabled = false;
$(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;
}
}
} // <-quicksaveX()




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

var a_images = getElementsByClass(document.getElementById('bodyContent'), 'image', 'a');
/* nuovi messaggi in discussione? */
if (!a_images.length) return;
if (o == undefined) return;
var gif_thumbs = new Array();
var temp = o.responseXML.getElementsByTagName('userinfo');
var img;
if (!temp || temp[0] == undefined) return;
for (var i = 0; i < a_images.length; i++) {
var $usermessage = $(".usermessage:not(#wikiPreview > *)");
img = a_images[i].getElementsByTagName('img')[0];
if (!temp[0].hasAttribute('messages')) {
if (/\.gif$/i.test(img.src) && /\/images\/thumb\//.test(img.src)) gif_thumbs.push(img)
$usermessage.css('display', 'none');
}
if (!gif_thumbs.length) return;
return;
var ani_gif_urls;
get_urls();
var thumb_name, gif_name, tmp;
for (var I = 0; I < gif_thumbs.length; I++) {
tmp = gif_thumbs[I].src.split('/');
thumb_name = tmp[tmp.length - 1];
thumb_name = thumb_name.replace(/\d+px-/, '');
document.getElementById("debug").innerHTML += '<br />' + thumb_name;
for (i = 0; i < ani_gif_urls.length; i++) {
tmp = ani_gif_urls[i].split('/');
gif_name = tmp[tmp.length - 1] + ".gif";
if (thumb_name.toLowerCase() == gif_name.toLowerCase()) {
gif_thumbs[I].src = "http://images.wikia.com/nonciclopedia/images/" + ani_gif_urls[i] + ".gif";
break;
}
}
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;
function get_urls() {
var cookie = getCookie("ani_gif_urls_0");
if (cookie == null) {
ani_gif_urls = new Array ();
Request(null);
return;
return;
}
var tmp;
for (var i = 1; i < MAX_GIFHACK_COOKIES; i++) {
tmp = getCookie("ani_gif_urls_" + i.toString());
if (tmp = null) break;
cookie += tmp;
}
ani_gif_urls = cookie.split('|');
return;
}
}
} // <- quicksave()

function Request(gcmcontinue) {
var QP_hiddencatlist;
var httpRequest = createRequest();
var QP_hiddencats_cat = "Categorie nascoste";
var id = setTimeout(function() { httpRequest.abort();}, 30000);
function quickpreview_load() {
var param = "/api.php?action=query&format=xml&generator=categorymembers&gcmtitle=Category:Immagini_gif&gcmnamespace=6&gcmprop=title&gcmlimit=500&prop=imageinfo&iiprop=url";
var b = document.createElement('input');
if (gcmcontinue) param += "&gcmcontinue=" + encodeURIComponent(gcmcontinue);
b.type = 'button';
httpRequest.onreadystatechange = function () { Receive(httpRequest, id); return; }
b.value = (/\.css$/.test(wgTitle) && wgNamespaceNumber % 2 == 0) ? "Anteprima stile" : "Visualizza anteprima";
httpRequest.open('GET', wgServer + wgScriptPath + param, true);
b.id = "quickpreviewButton";
httpRequest.send('');
$(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;
return;
}


function Receive(o, id) {
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.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);
clearTimeout(id);
if (o.status != 200) return;
if (o.responseXML == null) {
alert("Anteprima non riuscita (errore del server?)");
var xml = o.responseXML;
Finish(false);
if (xml == null) return;
return;
if (xml.normalize) xml.normalize();
var ii = xml.getElementsByTagName('ii');
for (var i = 0; i < ii.length; i++) {
ani_gif_urls.push(ii[i].getAttribute('url').replace("http://images.wikia.com/nonciclopedia/images/", ''));
}
}
if (o.responseXML.normalize) o.responseXML.normalize();
if (xml.getElementsByTagName('query-continue').length) Request(xml.getElementsByTagName('categorymembers')[0].getAttribute('gcmcontinue'));
var R = o.responseXML.getElementsByTagName('text')[0].firstChild;
else { // lista finita: salva cookie;
temp = R.data;
var exp = new Date();
if (["MediaWiki:Common.css", "MediaWiki:Monobook.css", "MediaWiki:Common.js", "MediaWiki:Monobook.js", "Utente:" + wgUserName + "/monobook.css", "Utente:" + wgUserName + "/monobook.js"].indexOf(wgPageName) != -1) {
exp.setDate(exp.getDate() + 7);
temp = "<pre class='mw-code mw-" + /(?!\.)\w+$/.exec(wgTitle) + "'>" + temp + "<" + "/pre>";
exp = ";expires=" + exp.toUTCString();
}
var t = escape(ani_gif_urls.join('|'));
$previewArea.html(temp);
t = t.replace(/\.gif/i, '');

var l = 3200;
/* aggiungi elenco template */
var m = Math.floor(t.length / l) + 1;
var templatesUsed = $(".templatesUsed")[0];
if (m > MAX_GIFHACK_COOKIES) m = MAX_GIFHACK_COOKIES;
if (!templatesUsed) {
for (var i = 0; i < m; i++) {
templatesUsed = document.createElement('div');
document.cookie = "ani_gif_urls_" + i.toString() + '=' + t.substr(i*l, l) + exp;
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;
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;
 }
}