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

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Fine test
Riga 1:
//<pre>
//<source lang=javascript>
// Elenco dei tool da caricare.
//Questa variabile contiene il nome del browser utilizzato. Molto utile per evitare problemi
// di incompatibilita' tra la varie funzioni Javascript
// Si autovalorizza. Le sottovariabili da usare sono "BrowserDetect.browser", "BrowserDetect.version"
// e "BrowserDetect.OS"
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
},
searchString: function (data) {
for (var i=0;i<data.length;i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
},
dataBrowser: [
{ string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
},
{ // for newer Netscapes (6+)
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ // for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS : [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]
 
var myButtons = new Array([2,'{{WIP|Jalo}}\\n{{UNESCO\\n|tipoBene = patrimonio\\n|nome = \\n|nomeInglese = \\n|immagine = \\n|anno = \\n|tipologia = Culturali\\n|pericolo= \\n|criterio = (i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) (xii)\\n|link = \\n|stato = \\n|linkCategoria= \\n}}\\n','','UNESCO tpl',245,''],[2,'{{WIP|Jalo}}\\n{{coord||display=title}}\\n{{UNESCO\\n|tipoBene = patrimonio\\n|nome = \\n|nomeInglese = \\n|immagine = \\n|anno = \\n|tipologia = Culturali\\n|pericolo= \\n|criterio = (i) (ii) (iii) (iv) (v) (vi) (vii) (viii) (ix) (x) (xi) (xii)\\n|link = \\n|stato = \\n|linkCategoria= \\n}}\\n\\n\\n==Collegamenti esterni==\\n\\n*[http://whc.unesco.org/en/list/ Scheda UNESCO]\\n\\n{{Patrimoni Unesco|}}\\n\\n[[Categoria:Patrimoni dell\'umanità in ]]\\n','','UNESCO voce',0,''],[2,'{{Bio\\n|Titolo = \\n|Nome = \\n|Cognome = \\n|PostCognome = \\n|ForzaOrdinamento = \\n|Sesso = \\n|LuogoNascita = \\n|GiornoMeseNascita = \\n|AnnoNascita = \\n|LuogoMorte = \\n|LuogoMorteLink = \\n|GiornoMeseMorte = \\n|AnnoMorte = \\n|Attività = \\n|Nazionalità = \\n|PostNazionalità =\\n|Immagine = \\n|Didascalia =\\n|FineIncipit = \\n|Categorie = \\n}}','','Bio',315,''],[2,'{{Conflitto\\n|nome del conflitto = \\n|parte_di = \\n|immagine = \\n|didascalia = \\n|data = \\n|luogo = \\n|casus = \\n|mutamenti_territoriali = \\n|esito = \\n|schieramento1 = \\n|schieramento2 = \\n|comandante1 = [[Immagine:White flag icon.svg|16px]]\\n|comandante2 = \\n|effettivi1 = \\n|effettivi2 = \\n|perdite1 = \\n|perdite2 = \\n|perdite3 = \\n|note = \\n}}\\n{{Campagnabox conquista spagnola del Perù}}\\n{{Campagnabox Arauco}}\\n{{Campagnabox Guerra civile Inca}}\\n','','Conflitto',0,''],[2,'{{Box successione\\n|carica = \\n|immagine = \\n|periodo = \\n|precedente = \\n|successivo = \\n}}','','Box successione',92,'']);
};
BrowserDetect.init();
 
var myLinks = new Array(['Voce su en.wiki','http://en.wikipedia.org/wiki/%TITOLO%'],['Voce su Commons','http://commons.wikimedia.org/wiki/Image:%TITOLO2%'],['Vecchio Edit-count','http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=Jalo&dbname=itwiki_p'],['Bold / No bold','javascript:bolda();'],['Logo / No logo','javascript:noLogo();']);
function fullescape(text)
{
return escape(text).replace(/\+/g,"%2B");
}
 
// Firefox
// Grazie a [[:en:User:Topaz]]
var toLoad = "purg led ns0 lks tabs mjs sand admin bot requi uec log whois unw allp wiki stu voto canc caut bpar edw wip sot small bar case fat nfat cwtch popup nms qed since edt vfol linkcomplete lrc elrc";
function xmlhttpreq()
{
if (window.XMLHttpRequest)
xmlhttpobj = new XMLHttpRequest()
else
{
try
{
xmlhttpobj = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttpobj = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlhttpobj = null;
}
}
}
return xmlhttpobj;
}
 
var nomeBot="JaloBot";
// Grazie a [[:en:User:Topaz]]
function doreq(url,postdata,headers)
{
var req = xmlhttpreq();
req.open(postdata?"POST":"GET", url, false);
for(header in headers)
req.setRequestHeader(header,headers[header]);
req.send(postdata||null);
return req;
}
 
// Grazie a [[:en:User:Topaz]]
function setpagecontent(pagename,content,summary,watch)
{
var prelimresp = doreq("/w/index.php?title="+pagename+"&action=submit");
var edittime = prelimresp.responseText.match(/\<input type='hidden' value="(\d+)" name="wpEdittime" \/\>/)[1];
var edittoken = prelimresp.responseText.match(/\<input type='hidden' value="([^"]+)" name="wpEditToken" \/\>/)[1];
doreq("/w/index.php?title="+pagename+"&action=submit",
"wpEdittime="+edittime+
"&wpEditToken="+fullescape(edittoken)+
"&wpTextbox1="+encodeURIComponent(content)+
"&wpSummary="+escape(summary)+
(watch?"&wpWatchthis=on":"")+
"&wpSection=&wpSave=Save+page",
{"Content-Type":"application/x-www-form-urlencoded"});
}
 
//Lancia il vero monobook
// Grazie a [[:en:User:Topaz]]
// Vedi [[Wikipedia:Monobook.js/MonobookCompleto.js]]
function getpagecontent(pagename)
//
{
document.writeln('<script type="text/javascript" src="/w/index.php?title=Wikipedia:Monobook.js/MonobookCompleto.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
var req = doreq("/w/index.php?title="+pagename+"&action=edit");
var content = req.responseText.match(/\<textarea[\w\W]*?\>([\w\W]*?)\<\/textarea\>/)[1];
content = content.replace(/\&lt\;/gi, "<");
content = content.replace(/\&gt\;/gi, ">");
content = content.replace(/\&quot\;/gi, "\"");
content = content.replace(/\&amp\;/gi, "&");
return content;
}
 
//JUST FOR DEBUG
// Recupera il valore di un cookie
//document.writeln('<script type="text/javascript" src="/w/index.php?title=Utente:Jalo/monobook.js/test&action=raw&ctype=text/javascript&dontcountme=s"></script>');
function GetCookie(name)
{
var cookie = ' ' + document.cookie;
var search = ' ' + name + '=';
var setStr = '';
var offset = 0;
var end = 0;
offset = cookie.indexOf(search);
if (offset != -1)
{
offset += search.length;
end = cookie.indexOf(';', offset)
if (end == -1)
end = cookie.length;
setStr = cookie.substring(offset, end);
setStr = setStr.replace(/\\+/g, ' ');
setStr = decodeURIComponent(setStr);
}
return(setStr);
}
 
// Setta il valore di un cookie
function SetCookie(name, value, expires, path, ___domain, secure)
{
var cookie = name + '=' + encodeURIComponent(value);
if (expires != null)
cookie += '; expires=' + expires
if (path != null)
cookie += '; path=' + path;
if (___domain != null)
cookie += '; ___domain=' + ___domain;
if (secure != null)
cookie += '; secure';
document.cookie = cookie;
}
 
// Crea un nuovo portlet e lo aggiunge dopo "strumenti"
function createPortlet(id,title)
{
var newPortlet = document.createElement('div');
newPortlet.innerHTML = "<div class='portlet' id='"+id+"'><h5>"+title+"</h5><div class='pBody'><ul></ul></div>";
document.getElementById("p-tb").parentNode.insertBefore(newPortlet, document.getElementById("p-tb").nextSibling);
}
 
//CONFIGURAZIONE POPUP
//Aggiunge qualcosa ad un portlet.
popupDelay = 2; // aspetta 2 secondi
//PARAMS:
popupRedlinkRemoval = true; // elimina i collegamenti a link rossi
//* id: id del portlet.
popupQueriedRevertSummary = "Rollback da popup. Ripristinata la versione di $3";
//* obj: L'oggetto da aggiungere
popupRedlinkSummary = "Eliminato link rosso: %s";
function addToPortlet(id, obj)
popupOnEditSelection = false;
{
var f = document.getElementById(id);
 
//Mostra i Tatoo
f = f.getElementsByTagName("div")[0];
document.writeln('<script type="text/javascript" src="/w/index.php?title=Utente:Jalo/Tatoo&action=raw&ctype=text/javascript&dontcountme=s"></script>');
f.appendChild(obj);
}
 
//TASTI PERSONALI
//Elimina un Node
addLoadEvent ( function RemoveNode(id)
{
if var node = (document.getElementByIdtitle.indexOf(id"Modifica") == -1);
return;
node.parentNode.removeChild(node);
addToolbarButton('tb-firma', 'javascript:addTextAtCursor("~~~~","","",4)',
}
'http://upload.wikimedia.org/wikipedia/commons/d/d1/Button_mysignature.png', 'My sign', 'Jalo');
 
addToolbarButton('tb-commento', 'javascript:addTextAtCursor("<!"+"--","Tolgo immagine inesistente","-->",0)',
// Aggiunge un generico tab
'http://upload.wikimedia.org/wikipedia/commons/2/23/Quotes-Lithuanian.png', 'no-img', 'Tolgo immagine inesistente');
function addlilink(tabs, url, name, id)
{
var na = document.createElement('a');
na.href = url;
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.id = id;
li.appendChild(na);
tabs.appendChild(li);
return li;
}
 
daInserire = "==Cronologia precedente alla pulizia dai copyviol==\n{{cassetto\n|titolo=cronologia\n|testo=<pre>\n</pre>}}";
// Aggiunge un tab come menu
addToolbarButton('tb-cass', 'javascript:addText(daInserire, "Cronologia pre-pulizia copyviol", 1)',
function addlimenu(tabs, name, id)
'http://upload.wikimedia.org/wikipedia/commons/c/cd/Button_vote_deletion.png', '[pre-copyviol]', 'Cronologia pre-copyviol');
});
 
//NASCONDI IL COPYWARN SOTTO LA CASELLA DI MODIFICA
addLoadEvent ( function ()
{
if var na = (document.createElementgetElementById('a'"editpage-copywarn"));
document.getElementById("editpage-copywarn").style.display="none";
na.href = '#';
})
var mn = document.createElement('ul');
na.appendChild(document.createTextNode(name));
var li = document.createElement('li');
li.id = id;
li.className = 'tabmenu';
li.appendChild(na);
li.appendChild(mn);
tabs.appendChild(li);
return li;
}
 
//Bolda il "wpTextbox1"
// recupera un parametro dall'URL
function getParambolda(name)
{
//Inverte BOLD/NO BOLD
if(___location.search)
var cookieExpire = new Date(); // scadenza del cookie
{
cookieExpire.setTime(cookieExpire.getTime() + (30 * 24 * 60 * 60 * 1000)); // il cookie scade dopo un mese
for(var x in ___location.search.substring(1).split('&'))
{
var eq = x.indexOf('=');
if(x.substring(0, eq) == name) return x.substring(eq + 1);
}
}
return '';
}
 
var boldare = GetCookie('wikiBolda');
function getParamValue(paramName, h) {
if (typeof hboldare == 'undefinedsi' )
SetCookie('wikiBolda', 'no', cookieExpire.toGMTString(), '/');
{
else
h = document.___location.href;
SetCookie('wikiBolda', 'si', cookieExpire.toGMTString(), '/');
}
var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)');
var m=cmdRe.exec(h);
if (m) {
try
{
return decodeURI(m[1]);
}
catch (someError) {}
}
return null;
}
 
if (wgAction == "edit")
//Aggiunge un pulsante generico alla Toolbar
addLoadEvent ( function ()
function addToolbarButton(id, href, src, alt, title)
{
var toolbarboldare = document.getElementByIdGetCookie("toolbar"'wikiBolda');
if (!toolbar)boldare return;== 'si')
$("wpTextbox1").style.fontWeight = "bold";
var today = new Date();
})
 
var tmp = document.createElement("a");
tmp.id = id;
tmp.href = href;
var imag = document.createElement("img");
imag.setAttribute('src', src);
imag.setAttribute('alt', alt);
imag.setAttribute('title', title);
tmp.appendChild(imag);
toolbar.appendChild(tmp);
}
 
//Nascondi il logo di wikipedia
//Aggiunge del testo alla pagina
function noLogo()
//text: testo da aggiungere
//summary: oggetto della modifica
//n: 0=aggiungi in cima; 1=aggiungi in coda
//offset = spostamento del cursore rispetto all'inizio del testo inserito
function addText(text, summary, n, offset)
{
//Inverte LOGO/NO LOGO
// copia il frame di wikEd (http://en.wikipedia.org/wiki/User:Cacycle/wikEd.js) nella wpTextbox1 textarea
var cookieExpire = new Date(); // scadenza del cookie
if (typeof(wikEdUseWikEd) != 'undefined')
cookieExpire.setTime(cookieExpire.getTime() + (30 * 24 * 60 * 60 * 1000)); // il cookie scade dopo un mese
if (wikEdUseWikEd == true)
WikEdUpdateTextarea();
 
var nologo = GetCookie('wikiLogo');
wpTextbox1=document.getElementById("wpTextbox1");
if (nologo == 'si')
 
SetCookie('wikiLogo', 'no', cookieExpire.toGMTString(), '/');
//ricorda la lunghezza della pagina
var lunghezza=wpTextbox1.value.length;
 
if (n == 0)
wpTextbox1.value=text + "\n" +wpTextbox1.value;
else
wpTextbox1.value=wpTextbox1.value + text;
var summ=document.getElementById("wpSummary");
if (summ)
summ.value=summ.value+summary;
 
// copia la wpTextbox1 textarea nel frame di wikEd
if (typeof(wikEdUseWikEd) != 'undefined')
if (wikEdUseWikEd == true)
WikEdUpdateFrame();
// Setta la posizione del cursore aggiungendo l'offset
if (offset == null) offset=0;
if (n == 0)
setCurPos(offset,offset);
else
SetCookie('wikiLogo', 'si', cookieExpire.toGMTString(), '/');
{
setCurPos(lunghezza+offset,lunghezza+offset);
wpTextbox1.scrollTop = 1000; //1000 pixel = goToEnd
}
}
 
addLoadEvent ( function ()
//Aggiunge del testo alla pagina (nella posizione del cursore)
//myValue: testo da aggiungere
//summary: oggetto della modifica
//myValue2: se non e' vuoto il testo diventa <myValue><testo evidenziato><myValue2>
// se e' vuoto il <testo evidenziato> viene sostituito da <myValue>
//offset: prima di uscire, di quanti caratteri devo spostare il cursore rispetto al punto di partenza?
function addTextAtCursor(myValue,summary,myValue2,offset)
{
var nologo = GetCookie('wikiLogo');
wpTextbox1=document.getElementById("wpTextbox1");
if (nologo == 'si')
// se stiamo usando anche il wikEd sfrutto la sua funzione per la sostituzione del testo
$("p-logo").style.display = "none";
var wikEdited="no";
})
if (typeof(wikEdUseWikEd) != 'undefined')
if (wikEdUseWikEd == true)
{
insertTags(myValue, myValue2, "");
wikEdSummaryText.value = wikEdSummaryText.value+summary;
wikEdited="yes";
}
 
// TRADOTTO DA
//se e' stato usato wikEd abbiamo gia' finito
function addTradottoDa()
if (wikEdited=="yes") return;
{
enArticle = getpagecontent(wgTitle);
enArticle = enArticle.substr(enArticle.indexOf("[[en:")+5);
enArticle = enArticle.substr(0,enArticle.indexOf("]]"));
 
var my_date = new Date();
//ricorda la posizione del cursore
dataOggi = my_date.getDate()+" "+arrayMese[my_date.getMonth()+1]+" "+(1900+my_date.getYear());
var curPos=getCurPos();
var selDim=0;
addTextAtCursor("{{Tradotto da|en|"+enArticle+"|"+dataOggi+"|id}}\n~~"+"~~","+Tradotto da","",0);
//IE e Opera support
if (document.selection)
{
wpTextbox1.focus();
sel = document.selection.createRange();
selDim = sel.text.length;
if (myValue2=="")
sel.text = myValue;
else
{
//la selezione partira' dalla fine del primo tag
curPos += myValue.length;
 
// piccola aggiustatina per Opera
if (BrowserDetect.browser == "Opera")
curPos -= selDim;
sel.text = myValue + sel.text + myValue2;
}
}
//MOZILLA/NETSCAPE support
else if (wpTextbox1.selectionStart || wpTextbox1.selectionStart == '0')
{
// ricorda la posizione dello scroll della textarea
var scrollTop, scrollLeft;
if (wpTextbox1.type == 'textarea' && typeof wpTextbox1.scrollTop != 'undefined')
{
scrollTop = wpTextbox1.scrollTop;
scrollLeft = wpTextbox1.scrollLeft;
}
 
var startPos = wpTextbox1.selectionStart;
var endPos = wpTextbox1.selectionEnd;
selDim = endPos - startPos;
if (myValue2=="")
{
wpTextbox1.value = wpTextbox1.value.substring(0, startPos)
+ myValue
+ wpTextbox1.value.substring(endPos, wpTextbox1.value.length);
}
else
{
curPos += myValue.length; //la selezione partira' dalla fine del primo tag
wpTextbox1.value = wpTextbox1.value.substring(0, startPos)
+ myValue + wpTextbox1.value.substring(startPos,endPos) + myValue2
+ wpTextbox1.value.substring(endPos, wpTextbox1.value.length);
}
// torna alla posizione di scroll di partenza
if (typeof scrollTop != 'undefined')
{
wpTextbox1.scrollTop = scrollTop;
wpTextbox1.scrollLeft = scrollLeft;
}
}
else
wpTextbox1.value += myValue;
 
var summ=document.getElementById("wpSummary");
if (summ)
summ.value=summ.value+summary;
// Setta la posizione del cursore aggiungendo l'offset
if (offset == null) offset=0;
setCurPos(curPos+offset,curPos+offset+selDim);
}
 
// Configurazione HOTKEYS
function getCurPos()
var tastiHotkeys = new Array();
{
tastiHotkeys["firma"] = 'F';
wpTextbox1=document.getElementById("wpTextbox1");
tastiHotkeys["cate"] = 'C';
wpTextbox1.focus(); // altrimenti lo 'stored_range' si rifersce al testo esterno alla finestra
tastiHotkeys["obj"] = 'Z';
var CaretPos = 0;
 
pulsantiComandoPers = new Array();
//Opera Support
pulsantiHotkeyPers = new Array();
if (BrowserDetect.browser == "Opera")
pulsantiDescrPers = new Array();
{
var Sel = document.selection.createRange ();
//PATRIMONIO
Sel.moveStart ('character', -wpTextbox1.value.length);
pulsantiComandoPers["patrimonio"] = 'javascript:addTextAtCursor("[[patrimonio dell\'umanità|patrimoni dell\'umanità]]","","",50)';
CaretPos = Sel.text.length;
pulsantiHotkeyPers["patrimonio"] = 'P';
}
pulsantiDescrPers["patrimonio"] = 'Patrimonio';
// IE Support
else if (document.selection)
{
// IE non possiede metodi per recuperare la posizione del cursore in una textarea
// Quello che segue e' un metodo scamuzzo creato per aggirare il problema
 
//UNESCO
// La selezione corrente
pulsantiComandoPers["unesco"] = 'javascript:addTextAtCursor("[[Organizzazione delle Nazioni Unite per l\'Educazione, la Scienza e la Cultura|UNESCO]]","","",87)';
var range = document.selection.createRange();
pulsantiHotkeyPers["unesco"] = 'U';
pulsantiDescrPers["unesco"] = 'Unesco';
 
//SUP 2
// la usaremo ome selezine 'farlocca'
pulsantiComandoPers["sup2"] = 'javascript:addTextAtCursor("²","","",1)';
var stored_range = range.duplicate();
pulsantiHotkeyPers["sup2"] = '2';
pulsantiDescrPers["sup2"] = 'Alla seconda';
 
//CITA
// Seleziona tutto il testo
pulsantiComandoPers["cita"] = 'javascript:addTextAtCursor("<ref>{{Cita||}}</ref>","","",12)';
stored_range.moveToElementText(wpTextbox1);
pulsantiHotkeyPers["cita"] = 'R';
pulsantiDescrPers["cita"] = '{{Cita}}';
 
//PORTALE ANTICA ROMA
// Ora sposta il termine del 'farlocco' al punto finale della selezione originale
pulsantiComandoPers["roma"] = 'javascript:addTextAtCursor("{{Portale|Antica Roma|Germani|Storia}}","","",0)';
stored_range.setEndPoint('EndToEnd', range);
pulsantiHotkeyPers["roma"] = 'A';
pulsantiDescrPers["roma"] = 'Portali';
 
//SOVRAIMMAGINE
// Ora calcola il punto iniziale e finale
pulsantiComandoPers["simm"] = 'javascript:addTextAtCursor("{{Sovraimmagine\\n | allineamento = right\\n | sotto = Germania Magna jpg.jpg\\n | sotto_larghezza = 300px\\n | sotto_didascalia = Mappa delle tribù germaniche (Nell ovale rosso gli Angrivari)\\n | sopra = Red oval.svg\\n | sopra_larghezza = 40px\\n | sopra_didascalia = Angrivari\\n | x = 80\\n | y = 55\\n}}","","",0)';
CaretPos = stored_range.text.length - range.text.length;
pulsantiHotkeyPers["simm"] = 'S';
pulsantiDescrPers["simm"] = 'Sovraimmagine';
 
//INTERPROGETTO
// Il punto finale e', al momento, inutile
pulsantiComandoPers["ipro2"] = 'javascript:addTextAtCursor("==Altri progetti==\\n\\n\\n\\n","","",20)';
//element.selectionEnd = element.selectionStart + range.text.length;
pulsantiHotkeyPers["ipro2"] = 'I';
pulsantiDescrPers["ipro2"] = 'Interprogetto + titolo';
// Non so perche', ma questo metodo conta doppio i caratteri '\n'
// Bisogna taroccare il risultato per renderlo esatto
conteggioCR = 0; // conta i 'Carriage Return'
 
//CATEGORY:
for (var i=0;i<CaretPos;i++)
pulsantiComandoPers["category"] = 'javascript:addTextAtCursor("Category:","","",9)';
if (wpTextbox1.value.charAt(i) == '\n')
pulsantiHotkeyPers["category"] = 'X';
conteggioCR++;
pulsantiDescrPers["category"] = 'Category:';
 
//FOTO RICHIESTE:
CaretPos -= conteggioCR; //aggiusta la posizione della selezione
pulsantiComandoPers["foto"] = 'javascript:addTextAtCursor("{{Richiesta"+" foto|}}","","",17)';
pulsantiHotkeyPers["foto"] = 'N';
pulsantiDescrPers["foto"] = 'Richiesta foto';
 
//TRADOTTO DA:
}
pulsantiComandoPers["mytradda"] = 'javascript:addTradottoDa()';
// Firefox support
pulsantiHotkeyPers["mytradda"] = 'T';
else if (wpTextbox1.selectionStart || wpTextbox1.selectionStart == '0')
pulsantiDescrPers["mytradda"] = 'Tradotto da';
CaretPos = wpTextbox1.selectionStart;
 
//CARICA IMMAGINE EDP:
return (CaretPos);
pulsantiComandoPers["edp"] = 'javascript:$("wpUploadDescription").value=$("wpUploadDescription").value + "Foto di [[John Howland Rowe]], archeologo ed antropologo statunitense dell\'[[Università della California (Berkeley)]].\\n\\nL\'immagine è stata presa [http://www.mnsu.edu/emuseum/information/biography/pqrst/rowe_john_howland.html da questo sito] e i diritti sul suo sfruttamento sono di [http://www.universityofcalifornia.edu/senate/inmemoriam/johnhowlandrowe.htm].\\n\\nIl file va considerato accettabile per l\'[[Wikipedia:EDP per it.wiki|EDP]] in quanto la persona è morta.\\n\\n{{EDP}}"';
}
pulsantiHotkeyPers["edp"] = 'E';
pulsantiDescrPers["edp"] = 'Carica imamgine EDP';
 
//</pre>
function setCurPos(newPos,newPos2)
{
wpTextbox1=document.getElementById("wpTextbox1");
 
if (wpTextbox1.createTextRange)
{
var range = wpTextbox1.createTextRange();
range.collapse(true);
range.moveEnd('character', newPos2);
range.moveStart('character', newPos);
range.select();
}
else if (wpTextbox1.setSelectionRange)
{
wpTextbox1.focus();
wpTextbox1.setSelectionRange(newPos, newPos2);
}
}
 
// aggiungi tutti i bottoni alla toolbar
function ToolbarButton() {
var toolbar = null;
toolbar = document.getElementById("toolbar");
if (toolbar == null)
return;
 
// pulsante ESEMPIO (aggiunge il testo in cima o in fondo alla voce)
addToolbarButton('tb-xxx', 'javascript:addText("Testo da inserire", "Oggetto della modifica", Dove inserirlo, Offset)', "http://upload.wikimedia.org/wikipedia/it/d/dc/Pulsante_small.png", 'Testo alternativo', 'Titolo immagine');
 
// SPAZIO TRA PULSANTI (QUESTO NON VA MODIFICATO!!!)
addToolbarButton('tb-farlocco', 'javascript:;', 'http://upload.wikimedia.org/wikipedia/it/5/53/Pulsante_Vuoto.png', '', '');
 
// pulsante ESEMPIO2 (aggiunge il testo al posto del cursore)
addToolbarButton('tb-xxx', 'javascript:addTextAtCursor("Prima","Oggetto","Dopo",offset)', "http://upload.wikimedia.org/wikipedia/it/d/dc/Pulsante_small.png", 'Testo alternativo', 'Titolo immagine');
}
addLoadEvent(ToolbarButton);
//</source>