MediaWiki:Common.js: Difference between revisions

m
adding the countdown clock javescripting from Bulbanews.
m (second fix. Should work now.)
m (adding the countdown clock javescripting from Bulbanews.)
Line 1: Line 1:
/* <pre> */
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


Line 11: Line 12:
   { new CollapsibleTables(); } );
   { new CollapsibleTables(); } );
}
}
function formatDate(t)
{
var month = new Array();
month[0] = 'January';
month[1] = 'February';
month[2] = 'March';
month[3] = 'April';
month[4] = 'May';
month[5] = 'June';
month[6] = 'July';
month[7] = 'August';
month[8] = 'September';
month[9] = 'October';
month[10] = 'November';
month[11] = 'December';
y = t.getUTCFullYear();
M = t.getUTCMonth();
D = t.getUTCDate();
h = t.getUTCHours();
m = t.getUTCMinutes();
s = t.getUTCSeconds();
if (h > 0 || m > 0 || s > 0)
{
hms = '';
if (s > 10)
hms = ':' + s;
else if (s > 0)
hms = ':0' + s;
if (m > 10)
hms = ':' + m + hms;
else if (m > 0)
hms = ':0' + m + hms;
if (h > 12)
hms = (h - 12) + hms + ' PM';
else if (h > 0)
hms = h + hms + ' AM';
else
hms = '12' + hms + ' AM';
return hms + ', ' + month[M] + ' ' + D + ', ' + y;
} else {
return month[M] + ' ' + D + ', ' + y;
}
}
function formatTime(h, m, s)
{
var o = '';
if (h != 1)
{
o = h + ' hours ';
} else {
o = '1 hour ';
}
if (m != 1)
{
o += m + ' minutes ';
} else {
o += '1 minute ';
}
if (s != 1)
{
o += s + ' seconds';
} else {
o += '1 second';
}
return o;
}
function updateClocks()
{
var t = new Date();
setTimeout(updateClocks, 1000);
D = t.getUTCDate();
M = t.getUTCMonth();
y = t.getUTCFullYear();
h = t.getUTCHours();
m = t.getUTCMinutes();
s = t.getUTCSeconds();
t = Date.UTC(y, M, D, h, m, s);
t = (T - t) / 1000;
if (t < 0 && t > -86400 && (h > 0 || m > 0 || s > 0))
{
document.getElementById('countdown-big').innerHTML = 'Today';
document.getElementById('countdown-small').innerHTML = '';
document.getElementById('countdown-target').innerHTML = 'is ' + formatDate(new Date(T + tzOffset)) + ' ' + tz;
return;
} else if (t < 0) {
document.getElementById('countdown-big').innerHTML = 'Past';
document.getElementById('countdown-target').innerHTML = formatDate(new Date(T + tzOffset)) + ' ' + tz;
return;
}
D = Math.floor(t / 86400.0);
h = Math.floor(t % 86400.0 / 3600.0);
m = Math.floor(t % 3600.0 / 60.0);
s = Math.floor(t % 60.0)
if (D == 1)
{
document.getElementById('countdown-big').innerHTML = '1 day';
} else if (D == 0) {
document.getElementById('countdown-big').innerHTML = '';
} else {
document.getElementById('countdown-big').innerHTML = D + ' days';
}
document.getElementById('countdown-small').innerHTML = formatTime(h, m, s);
}
if (document.getElementById('countdown'))
{
updateClocks();
document.getElementById('countdown-target').innerHTML = 'to ' + formatDate(new Date(T + tzOffset)) + ' ' + tz;
}
/* </pre> */
2,743

edits