// 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; };
	};
};

// Create AJAX object
function ajaxCounter() {
	var xmlHttp;
	try { 
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
    	try {
			// Internet Explorer
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) { return false; };
		};
	};
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4 && xmlHttp.responseXML.documentElement) {
			var xmlDoc  = xmlHttp.responseXML.documentElement;
			var counter = tag("counter", xmlDoc)[0].childNodes[0].nodeValue;
			tag("div", id("footer"))[0].appendChild(document.createTextNode(" " + counter));
		};
	};
	try {
		xmlHttp.open("GET", "ipages/counter.xml?" + new Date().getTime(), true);
		xmlHttp.send(null);
	} catch(e) {};
};
	  
// 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);
addDOMLoadEvent(ajaxCounter);