Differenze tra le versioni di "MediaWiki:Common.js"

Pagina sostituita con '→‎non più necessario: '
(Pagina sostituita con '→‎non più necessario: ')
/* COUNTDOWNnon più necessario */
/* sorgente originale e utilizzo: http://dev.wikia.com/wiki/Countdown */
function updatetimer(i) {
var now = new Date();
var then = timers[i].eventdate;
var diff = count=Math.floor((then.getTime()-now.getTime())/1000);
var userconfig = (window.CountdownConfig) ? window.CountdownConfig : {};
var config = $.extend(true, {
'en': {
and: "and",
second: "second",
seconds: "seconds",
minute: "minute",
minutes: "minutes",
hour: "hour",
hours: "hours",
day: "day",
days: "days"
},
'fr': {
and: "et",
second: "seconde",
seconds: "secondes",
minute: "minute",
minutes: "minutes",
hour: "heure",
hours: "heures",
day: "jour",
days: "jours"
},
'es': {
and: "y",
second: "segundo",
seconds: "segundos",
minute: "minuto",
minutes: "minutos",
hour: "hora",
hours: "horas",
day: "día",
days: "días"
},
'de': {
and: "und",
second: "Sekunde",
seconds: "Sekunden",
minute: "Minute",
minutes: "Minuten",
hour: "Stunde",
hours: "Stunden",
day: "Tag",
days: "Tage"
},
'it': {
and: "e",
second: "secondo",
seconds: "secondi",
minute: "minuto",
minutes: "minuti",
hour: "ora",
hours: "ore",
day: "giorno",
days: "giorni"
},
'pl': {
and: "i",
second: "sekund(y)",
seconds: "sekund(y)",
minute: "minut(y)",
minutes: "minut(y)",
hour: "godzin(y)",
hours: "godzin(y)",
day: "dni",
days: "dni"
},
'hu': {
and: "és",
second: "másodperc",
seconds: "másodpercek",
minute: "perc",
minutes: "percek",
hour: "óra",
hours: "órák",
day: "nap",
days: "napok"
}
}, userconfig);
// define language
function msg(name) {
if ( wgContentLanguage in config && name in config[wgContentLanguage] ) {
return config[wgContentLanguage][name];
}
return config.en[name];
}
// catch bad date strings
if(isNaN(diff)) {
timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **' ;
return;
}
// determine plus/minus
if(diff<0) {
diff = -diff;
}
// calculate the diff
if ((diff%60) == 1) {
left = (diff%60) + ' ' + msg('second');
} else {
left = (diff%60) + ' ' + msg('seconds');
}
diff=Math.floor(diff/60);
if(diff > 0) {
if ((diff%60) == 1) {
left = (diff%60) + ' ' + msg('minute') + ' ' + msg('and') + ' ' + left;
} else {
left = (diff%60) + ' ' + msg('minutes') + ' ' + msg('and') + ' ' + left;
}
}
diff=Math.floor(diff/60);
if(diff > 0) {
if ((diff%24) == 1) {
left = (diff%24) + ' ' + msg('hour') + ', ' + left;
} else {
left = (diff%24) + ' ' + msg('hours') + ', ' + left;
}
}
diff=Math.floor(diff/24);
if(diff > 0) {
if (diff == 1) {
left = diff + ' ' + msg('day') + ', ' + left;
} else {
left = diff + ' ' + msg('days') + ', ' + left;
}
}
timers[i].firstChild.nodeValue = left;
// a setInterval() is more efficient, but calling setTimeout()
// makes errors break the script rather than infinitely recurse
timeouts[i] = setTimeout('updatetimer(' + i + ')',1000);
}
function checktimers() {
// hide 'nocountdown' and show 'countdown'
var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown');
for(var i in nocountdowns) nocountdowns[i].style.display = 'none'
var countdowns = getElementsByClassName(document, 'span', 'countdown');
for(var i in countdowns) countdowns[i].style.display = 'inline'
// set up global objects timers and timeouts.
timers = getElementsByClassName(document, 'span', 'countdowndate'); //global
timeouts = new Array(); // generic holder for the timeouts, global
if(timers.length == 0) return;
for(var i in timers) {
timers[i].eventdate = new Date(timers[i].firstChild.nodeValue);
updatetimer(i); //start it up
}
}
addOnloadHook(checktimers);