// Replace getElementById and getElementByTagName functions
function id(elem) { return document.getElementById(elem); };
function tag(tag, elem) { return (elem || document).getElementsByTagName(tag); };

// Replace 'new window' links
function linkReplace() {
	var As = tag("a");
	for(var i = 0; i < As.length; i++) {
		if(As[i].className.indexOf("_blank") > -1) As[i].onclick = function() { window.open(this.getAttribute("href")); return false; };
	};
};

// Add new function to run when DOM loaded
function addDOMLoadEvent(func) {
	var oldOnDOMLoadEvents = window.onDOMLoadEvents;
	if(typeof window.onDOMLoad == "function") {
		window.onDOMLoadEvents = function() {
			if(oldOnDOMLoadEvents) {
				oldOnDOMLoadEvents();
			};
			func();
		};
	} else {
		window.onDOMLoadEvents = func;
	};
};

// DOM loaded function
function onDOMLoad() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	if(typeof(window.onDOMLoad == "function")) onDOMLoadEvents();
};

// Setup call to onDOMLoad() after DOM is loaded
if(document.addEventListener) document.addEventListener("DOMContentLoaded", onDOMLoad, false);
/*@cc_on @*/ /*@if (@_win32) document.write("<script id=\"IE_onDOMLoad\" defer=\"defer\" src=\"javascript:void(0)\;\"><\/script>"); document.getElementById("IE_onDOMLoad").onreadystatechange = function() { if (this.readyState == "complete") onDOMLoad(); }; /*@end @*/
if (/KHTML|WebKit/i.test(navigator.userAgent)) { var _timer = setInterval(function() { if (/loaded|complete/.test(document.readyState)) onDOMLoad(); }, 1); };
window.onload = onDOMLoad;

// Add DOMLoaded functions
addDOMLoadEvent(linkReplace);