MediaWiki:Mobile.js
Vai alla navigazione
Vai alla ricerca
Nota: Dopo aver salvato le preferenze, perché i cambi abbiano effetto, devi bypassare la cache del tuo browser. Mozilla / Firefox / Safari: tieni premuto Shift mentre clicchi Reload, o premi Ctrl-Shift-R (Cmd-Shift-R per Apple Mac); Google Chrome: premi Ctrl o Shift mentre clicchi F5; IE: premi Ctrl mentre clicchi Refresh, o premi Ctrl-F5; Konqueror:: clicca semplicemente il pulsante di Reload, o premi F5; se usi Opera devi cancellare completamente la chache nel menu Tools→Preferences.
/* Il codice JavaScript inserito qui viene caricato da ciascuna pagina, per tutti gli utenti. */
/* <pre> */
//============================================================
// Menu caratteri speciali
// ---> non so perché, ma se si inserisce qualcosa prima non funziona più...
//============================================================
/**
* Aggiunge il menu a tendina per selezionare un sottoinsieme di caratteri speciali
* Attenzione: l'ordine della lista deve corrispondere a quello di MediaWiki:Edittools !
*/
function aggiungiMenuSubsetCaratteri()
{
var specialchars = document.getElementById('specialchars');
if (specialchars) {
var menu = "<select style=\"display:inline\" onChange=\"scegliSubsetCaratteri(selectedIndex)\">";
menu += "<option>Latino esteso</option>";
menu += "<option>Wiki</option>";
menu += "<option>Greco antico</option>";
menu += "<option>Greco moderno</option>";
menu += "<option>Cirillico</option>";
menu += "<option>Arabo</option>";
menu += "<option>Ebraico e yiddish</option>";
menu += "<option>Armeno</option>";
menu += "<option>Geroglifico</option>";
menu += "<option>Vietnamita</option>";
menu += "<option>IPA</option>";
menu += "<option>Matematica</option>";
menu += "</select>";
specialchars.innerHTML = menu + specialchars.innerHTML;
/* default subset - try to use a cookie some day */
scegliSubsetCaratteri(0);
}
}
/* select subsection of special characters */
function scegliSubsetCaratteri(s)
{
var l = document.getElementById('specialchars').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
l[i].style.display = i == s ? 'inline' : 'none';
l[i].style.visibility = i == s ? 'visible' : 'hidden';
}
}
addLoadEvent(aggiungiMenuSubsetCaratteri);
// END Menu caratteri speciali
// BEGIN Enable multiple onload functions
// setup onload functions this way:
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!
if (!window.aOnloadFunctions)
{
var aOnloadFunctions = new Array();
}
window.onload = function()
{
if (window.aOnloadFunctions) {
for (var _i=0; _i<aOnloadFunctions.length; _i++) {
aOnloadFunctions[_i]();
}
}
};
// END Enable multiple onload functions
function addLoadEvent(func)
{
if (window.addEventListener)
window.addEventListener("load", func, false);
else if (window.attachEvent)
window.attachEvent("onload", func);
}
// Serve per far funzionare il Cassetto2 con IE6.
if (window.attachEvent && !window.XMLHttpRequest)
{
window.attachEvent(
"onload",
function()
{
var x=document.getElementById("bodyContent").getElementsByTagName("div");
for (var i=0; i<x.length; i++) {
if (x[i].className != "HopFrame") continue;
var y=x[i].getElementsByTagName("div"); var j;
for (j=0; j<y.length; j++)
if (y[j].className == "HopContent") {x[i].hopContent = y[j]; break;}
if (j<y.length) {
x[i].onmouseover=function() { this.hopContent.style.display="block"; };
x[i].onmouseout=function() { this.hopContent.style.display="none"; };
}
}
}
);
}
// BEGIN Dynamic Navigation Bars
/* Test if an element has a certain class **************************************
*
* Description: Uses regular expressions and caching for better performance.
* Maintainers: User:Mike Dillon, User:R. Koot, User:SG
*/
var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();
// set up the words in your language
var NavigationBarHide = '▲ nascondi';
var NavigationBarShow = '▼ espandi';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (hasClass(NavChild, 'NavPic')) {
NavChild.style.display = 'none';
}
if (hasClass(NavChild, 'NavContent')) {
NavChild.style.display = 'none';
}
if (hasClass(NavChild, 'NavToggle')) {
NavChild.firstChild.data = NavigationBarShow;
}
}
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (hasClass(NavChild, 'NavPic')) {
NavChild.style.display = 'block';
}
if (hasClass(NavChild, 'NavContent')) {
NavChild.style.display = 'block';
}
if (hasClass(NavChild, 'NavToggle')) {
NavChild.firstChild.data = NavigationBarHide;
}
}
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (hasClass(NavFrame, 'NavFrame')) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in < div class="NavFrame" >
NavFrame.insertBefore(
NavToggle,
NavFrame.firstChild
);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
// END Dynamic Navigation Bars
/*** Codice per il Template:Galleria ***/
function updateImageGroup( currImg, $images, $countInfo, $prevLink, $nextLink ) {
$images.hide().eq( currImg ).show();
$countInfo.html( '(' + ( currImg + 1 ) + '/' + $images.length + ')' );
$prevLink.toggle( currImg !== 0 );
$nextLink.toggle( currImg !== $images.length - 1 );
}
function initImageGroup() {
$( 'div.ImageGroup > div.ImageGroupUnits' ).each( function ( i, imageGroupUnits ) {
var $images, $prevLink, $nextLink, $countInfo, currImg = 0;
$images = $( imageGroupUnits ).children( '.center' );
$countInfo = $( '<tt>' ).css( 'font-size', '110%' );
$prevLink = $( '<a>' )
.attr( 'href', '#' ).attr( 'title', 'Immagine precedente' )
.text( '◀' ).css( 'text-decoration', 'none' )
.click( function ( e ) {
e.preventDefault();
updateImageGroup( currImg -= 1, $images, $countInfo, $prevLink, $nextLink );
} );
$nextLink = $( '<a>' )
.attr( 'href', '#' ).attr( 'title', 'Immagine successiva' )
.text( '▶' ).css( 'text-decoration', 'none' )
.click( function ( e ) {
e.preventDefault();
updateImageGroup( currImg += 1, $images, $countInfo, $prevLink, $nextLink );
} );
updateImageGroup( currImg, $images, $countInfo, $prevLink, $nextLink );
$( imageGroupUnits ).prepend( $prevLink, $countInfo, $nextLink );
} );
}
$( initImageGroup );
/** Collapsible tables *********************************************************
*
* Taken from http://en.wikipedia.org/wiki/MediaWiki:Common.js
* Description: Allows tables to be collapsed, showing only the header. See
* Wikipedia:NavFrame.
* Maintainers: User:R. Koot
*/
var autoCollapse = 2;
var collapseCaption = "▲ nascondi";
var expandCaption = "▼ espandi";
function collapseTable( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.getElementsByTagName( "tr" );
if ( Button.firstChild.data == collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
function createCollapseButtons()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( hasClass( Tables[i], "collapsible" ) ) {
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "7em";
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
/* only add button and increment count if there is a header row to work with */
if (Header) {
Header.insertBefore( Button, Header.childNodes[0] );
tableIndex++;
}
}
}
for ( i = 0; i < tableIndex; i++ ) {
if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
collapseTable( i );
}
}
}
$( createCollapseButtons );
//END Collapsible tables
//HIDDENCAT (mostra le categorie nascoste). Scippato ai francesi
function addClass(node, className)
{
if (hasClass(node, className)) {
return false;
}
node.className += ' '+ className;
return true;
}
function eregReplace(search, replace, subject)
{
return subject.replace(new RegExp(search,'g'), replace);
}
function removeClass(node, className)
{
if (!hasClass(node, className)) {
return false;
}
node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className);
return true;
}
function isClass(element, classe)
{
return hasClass(element, classe);
}
function hiddencat()
{
var cl = document.getElementById('catlinks'); if(!cl) return;
var hc = document.getElementById('mw-hidden-catlinks'); if(!hc) return;
var nc = document.getElementById('mw-normal-catlinks');
if(!nc)
{
removeClass(cl, 'catlinks-allhidden');
addClass(cl, 'catlinks-allhidden-mostra');
var ahc = '<div id="mw-normal-catlinks"><a href="/wiki/Categoria:Categorie" title="Categoria:Categorie">Categorie</a> : <span dir="ltr"><a onclick="javascript:toggleHiddenCats();" id="mw-hidden-cats-link" style="cursor:pointer; color:#002BB8;" title="Questa voce contiene categorie nascoste">[<span style="font-style:italic;">altre</span>]</a></span></div>';
document.getElementById('catlinks').innerHTML = ahc + cl.innerHTML;
}
else if( isClass(hc, 'mw-hidden-cats-hidden') )
{
var ahc = ' | <a onclick="javascript:toggleHiddenCats();" id="mw-hidden-cats-link" style="cursor:pointer; color:#002BB8;" title="Questa voce contiene categorie nascoste">[<span style="font-style:italic;">altre</span>]</a>';
document.getElementById('mw-normal-catlinks').innerHTML += ahc;
}
}
function toggleHiddenCats()
{
var hc = document.getElementById('mw-hidden-catlinks');
if( isClass(hc, 'mw-hidden-cats-hidden') )
{
removeClass(hc, 'mw-hidden-cats-hidden');
addClass(hc, 'mw-hidden-cat-user-shown');
document.getElementById('mw-hidden-cats-link').innerHTML = '[<span style="font-style:italic;">nascondi</span>]';
}
else
{
removeClass(hc, 'mw-hidden-cat-user-shown');
addClass(hc, 'mw-hidden-cats-hidden');
document.getElementById('mw-hidden-cats-link').innerHTML = '[<span style="font-style:italic;">altre</span>]';
}
}
$(hiddencat);
/* Layout pagina di modifica */
addLoadEvent ( function ()
{
if (wgAction == "edit")
{
/* Allarga l'edittools a tutta pagina */
document.getElementById("Standard").style.width = "100%";
}
});
/* Avvisa quando si tenta di creare una voce con titolo non valido ("Scrivi qui il titolo")*/
$( function ()
{
if (wgTitle == "Scrivi qui il titolo" && wgAction == "edit")
{
dopoDi = document.getElementById("contentSub");
if (!dopoDi) return;
var daInserire = document.createElement('div');
daInserire.innerHTML = "<b>Stai creando una pagina senza specificare un titolo valido per la voce. Per favore torna indietro e inserisci un titolo valido.</b>";
daInserire.className = "toccolours itwiki_template_avviso rad";
daInserire.style.marginBottom = "0.5em";
daInserire.style.background = "#FC9";
daInserire.style.borderColor = "red";
daInserire.style.textAlign = "center";
dopoDi.parentNode.insertBefore(daInserire, dopoDi.nextSibling);
}
});
//============================================================
// Funzione per gestire i cookies
function SetCookie(cookieName,cookieValue,nDays)
{
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)
+ ";expires="+expire.toGMTString();
}
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
//============================================================
// Funzione per la variazione della dimensione del font
function resizeText(multiplier, boolPulsante)
{
var coockieNameMultiplier = "CathopediaMultiplier";
var Correction = 10;
var bodyContent = document.getElementById("mw-content-text");
var cookieValueNewText;
cookieValue = parseFloat(bodyContent.style.fontSize) * 100 / Correction;
if (! cookieValue)
cookieValue = parseFloat(getCookie(coockieNameMultiplier));
if (! cookieValue)
cookieValue = 100;
var cookieValueNew = Math.round(cookieValue * multiplier / 100 / 5) * 5;
if (cookieValueNew < 50)
cookieValueNew = 50;
if (cookieValueNew > 200)
cookieValueNew = 200;
if (! multiplier || ( mw.config.get( "wgNamespaceNumber" ) && mw.config.get( "wgNamespaceNumber" ) !== 4 ) )
cookieValueNew = 100;
bodyContent.style.fontSize = (cookieValueNew * Correction / 100) + "pt";
cookieValueNewText = cookieValueNew.toString();
if (boolPulsante)
SetCookie(coockieNameMultiplier, cookieValueNewText, 1000);
//if (cookieValue < 100)
//cookieValue = "<span style='color: white'>0</span>" + cookieValue;
textPerCentElement = document.getElementById("textpercent");
if (textPerCentElement)
textPerCentElement.innerText = cookieValueNew + "%";
}
window.onload(resizeText(100, false));
if (document.getElementById('selettoreriti'))
{
// funzioni per scambiare i riti romano e ambrosiano in pagina principale
function AttivaRomano()
{
//~ document.getElementById('selettoreambrosiano').style.display = '';
//~ document.getElementById('selettoreromano').style.display = 'none';
document.getElementById('ambrosiano').style.display = 'none';
document.getElementById('romano').style.display = '';
document.getElementById('selettoreromano').className = 'BottoneSelettoreRitoSelezionato';
document.getElementById('selettoreambrosiano').className = 'BottoneSelettoreRitoNonSelezionato';
document.getElementById('selettoreambrosiano').title = 'Passa al Rito Ambrosiano';
document.getElementById('selettoreromano').title = '';
SetCookie('rito', '', 1000);
document.getElementById('selettoreambrosiano').onclick = AttivaAmbrosiano;
document.getElementById('selettoreromano').onclick = null;
}
function AttivaAmbrosiano()
{
//~ document.getElementById('selettoreambrosiano').style.display = 'none';
//~ document.getElementById('selettoreromano').style.display = '';
document.getElementById('ambrosiano').style.display = '';
document.getElementById('romano').style.display = 'none';
document.getElementById('selettoreromano').className = 'BottoneSelettoreRitoNonSelezionato';
document.getElementById('selettoreambrosiano').className = 'BottoneSelettoreRitoSelezionato';
document.getElementById('selettoreambrosiano').title = '';
document.getElementById('selettoreromano').title = 'Passa al Rito Romano';
SetCookie('rito', 'ambrosiano', 1000);
document.getElementById('selettoreromano').onclick = AttivaRomano;
document.getElementById('selettoreambrosiano').onclick = null;
}
if ( getCookie('rito') == 'ambrosiano')
AttivaAmbrosiano();
else
AttivaRomano();
}
document.getElementById('textminus').onclick = function(){resizeText(90, true);}
document.getElementById('textstandard').onclick = function(){resizeText(0, true);}
document.getElementById('textplus').onclick = function(){resizeText(111, true);}