User:Blue-Haired Lawyer/localise dates.js

In today's world, User:Blue-Haired Lawyer/localise dates.js has become a topic of great importance and interest to a wide spectrum of people. From experts in the field to those simply looking for general information, User:Blue-Haired Lawyer/localise dates.js is a topic that has captured the attention of many. With the growing impact that User:Blue-Haired Lawyer/localise dates.js has had on different areas of society, it is crucial to further understand its relevance and how it directly affects our lives. In this article, we will explore different aspects related to User:Blue-Haired Lawyer/localise dates.js, with the aim of providing a broader and more complete vision of this topic that has generated so much debate and interest today.
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 + ", " + ltime;
	} else {
		return ltime + ", " +  then.getDate() + " " + months + " " + (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);
		}
	} else if(node.nodeType == 3 && node.textContent && node.length > 0) {
		node.textContent = node.textContent.replace(/(\d\d:\d\d), (\d\d?) ({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 = ;

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));
}