function replaceDates(ignore, time, day, month, year) {
var then = new Date(month + " " + day + ", " + year + " " + time + ":" + "00 UTC");
var diff = getDaysSince1970(now) - getDaysSince1970(then);
var lhour = then.getHours();
var merdian = 'am';
if(lhour > 11) merdian = 'pm';
if(lhour == 0) lhour = 12;
if(lhour > 12) lhour -= 12;
var ltime = lhour + ":" + pad(then.getMinutes()) + " " + merdian; // local
if(diff == 0) {
return "Today, " + ltime;
} else if(diff == 1) {
return "Yesterday, " + ltime;
} else if(diff > 1 && diff < 7) {
return days[then.getDay()] + ", " + ltime;
} else {
return ltime + ", " + then.getDate() + " " + months[then.getMonth()] + " " + (then.getYear() + 1900);
}
}
function getDaysSince1970(date_obj) {
var msecs = date_obj.valueOf(); // in UTC
msecs -= date_obj.getTimezoneOffset() * 60 * 1000; // local time
var day = msecs / (24 * 60 * 60 * 1000);
day -= day % 1;
return day;
}
function pad(date_obj) {
if(date_obj.valueOf() < 10) return "0" + date_obj.valueOf();
else return "" + date_obj.valueOf();
}
function loopThroughTextNodes(node) {
if(node.childNodes && node.childNodes.length && node.childNodes.length > 0) {
var i;
for (i=0; i<node.childNodes.length; i++) {
loopThroughTextNodes(node.childNodes[i]);
}
} else if(node.nodeType == 3 && node.textContent && node.length > 0) {
node.textContent = node.textContent.replace(/(\d\d:\d\d), (\d\d?) ([a-z]{3,9}) (\d\d\d\d) \(UTC\)/ig, replaceDates);
}
}
var now = new Date();
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October",
"November", "December"];
var days = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var talk_page = false;
var content_id = '';
var wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
var wgAction = mw.config.get('wgAction');
if(wgNamespaceNumber > 0 && (wgNamespaceNumber < 6 || wgNamespaceNumber % 2 == 1) &&
( wgAction == "view" || wgAction == "edit" || wgAction == "submit") ) {
if(document.getElementById('wpTextbox1') || document.getElementById('wpTextbox2')) {
if(document.getElementById('wikiPreview')) {
talk_page = true;
content_id = 'wikiPreview';
}
} else {
talk_page = true;
content_id = 'bodyContent';
}
}
if(talk_page && document.getElementById(content_id)) {
loopThroughTextNodes(document.getElementById(content_id));
}