/*
	author: www.mschopman.demon.nl
*/

function getXmlHttpPrefix() {
	if (getXmlHttpPrefix.prefix)
		return getXmlHttpPrefix.prefix;
	
	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
	var o;
	for (var i = 0; i < prefixes.length; i++) {
		try {
			// try to create the objects
			o = new ActiveXObject(prefixes[i] + ".XmlHttp");
			return getXmlHttpPrefix.prefix = prefixes[i];
		}
		catch (ex) {};
	}
	
	throw new Error("Could not find an installed XML parser");
}

// XmlHttp factory
function XmlHttp() {}

XmlHttp.create = function () {
	try {
		if (window.XMLHttpRequest) {
			
			var req = new XMLHttpRequest();
			
			// some versions of Moz do not support the readyState property
			// and the onreadystate event so we patch it!
			if (req.readyState == null) {
				req.readyState = 1;
				req.addEventListener("load", function () {
					req.readyState = 4;
					if (typeof req.onreadystatechange == "function")
						req.onreadystatechange();
				}, false);
			}
			
			return req;
		}
		if (window.ActiveXObject) {
			return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
		}
	}
	catch (ex) {}
	// fell through
	throw new Error("Your browser does not support XmlHttp objects");
};

function openURL(url){
	
	var xmlHttp = XmlHttp.create();

	// prevent caching by browser, add &nocache if ? exists, else ?nocache
	if(url.indexOf('?') < 0){
		url += '?nocache='+new Date().getTime();
	}else{
		url += '&nocache='+new Date().getTime();
	}

	xmlHttp.open("GET", url, true);
/*	xmlHttp.onreadystatechange = function () {
		if (xmlHttp.readyState == 4) {
			onXMLLoaded(xmlHttp,parentNode);
		}
	};
*/	
	//window.setTimeout(function () {
		xmlHttp.send(null);
	//}, 10);
}