function createAJAX() {
	try {
		return window.XMLHttpRequest?new XMLHttpRequest():
				 new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {
		alert('Object creation falied');
		return false;
	}
}

function createAJAXNEW() {
	try {
		return window.XMLHttpRequest?new XMLHttpRequest():
				 new ActiveXObject("MSXML2.ServerXMLHTTP");
	} catch (e) {
		alert('Object creation falied');
		return false;
	}
}

function loadAJAX(sURL, sProcessor) {
	var aHTTP = createAJAX();
	var sNewURL = sURL;
	var sTime = 'ms=' + new Date().getTime();

	if ( sNewURL.indexOf("?") == -1 )
		sNewURL = sNewURL + "?" + sTime;
	else
		sNewURL = sNewURL + "&" + sTime;
	
	aHTTP.onreadystatechange = function() {
		if ((aHTTP.readyState == 4) && (aHTTP.status == 200))
			eval(sProcessor + '(aHTTP.responseXML);');
	}
	aHTTP.open("GET", sNewURL, true);
	aHTTP.send(null);
}

/*function handleAJAX() {
}

function loadAJAX(sURL) {
	if (window.ActiveXObject) {
		aHTTP.onreadystatechange = processAJAX;
		aHTTP.open("GET", sURL);
		aHTTP.send(null);
		
		return aResponse.value;	
	} else {
		var oXML = createXML();
		var bLoaded = oXML.load(sURL);
		
		return oXML.xml;
	}
}*/
/*function loadAJAX(sURL, sProcessor) {
	aResponse.value = 'loadAJAX started';

	aHTTP.onreadystatechange = processAJAX;
	aHTTP.open("GET", sURL);
	aHTTP.send(null);
		
	return aResponse.value;	
}
function processAJAX() {
	// if the readyState code is 4 (Completed)
	// and http status is 200 (OK) we go ahead and get the responseText
	// other readyState codes:
	// 0=Uninitialised 1=Loading 2=Loaded 3=Interactive
	if ((aHTTP.readyState == 4) && (aHTTP.status == 200)) {
		writeProductTable(aHTTP.responseXML);
	}
}


var aHTTP = createAJAX();
var aResponse = new handleAJAX();*/
