var AJAXManager = function() {
	var xRequest=null;
	var READY_STATE_UNINITIALIZED=0;
	var READY_STATE_LOADING=1;
	var READY_STATE_LOADED=2;
	var READY_STATE_INTERACTIVE=3;
	var READY_STATE_COMPLETE=4;
	var customFunction = null;
	var customFunctionParams = null;

	var getXMLHTTPRequest = function() {
		if (window.XMLHttpRequest) {
			xRequest = new XMLHttpRequest();
		} else if (typeof ActiveXObject != "undefined"){
			xRequest = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	var onReadyStateChange = function(){
		var ready=xRequest.readyState;
		var data=null;
		if (ready==READY_STATE_COMPLETE){
			//alert(xRequest.responseText);
			customFunction(xRequest.responseText, customFunctionParams);
		}else{
			data="loading...["+ready+"]";
		}
	}

	var sendRequest = function(url,params,HttpMethod,fn, fnparams) {
		customFunction = fn;
		customFunctionParams = fnparams;
		if (!HttpMethod){
			HttpMethod="GET";
		}
		
		getXMLHTTPRequest();
		
		if (xRequest){
			xRequest.onreadystatechange=onReadyStateChange;
			xRequest.open(HttpMethod,url,true);
			xRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			xRequest.send(params);
		}
	}

	return {
		sendRequest:sendRequest
	}
}

document.AJAXManagerLoaded = true;