var reqCount = 0;
var debug = 0;

function AjaxCall(method, url, params, callback) {

	var req = init();
	req.onreadystatechange = processRequest;
        
	function init() {
		if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
    
	function processRequest () {
		if (req.readyState == 4)
			if (req.status == 200) {
				if (debug)
					alert(req.responseText);
				if (callback) {
					callback(req.responseText);
					reqCount--;
					//if (reqCount==0)
						//hideNotify();
				}
			}
	}

	this.execute = function() {
		if (method=="GET") {
			if (params)
				url = url+'?'+params;
			req.open("GET", url, true);
			req.send(null);
		} else if (method=="POST") {
			req.open("POST", url, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.send(params);
		}
		reqCount++;
		//showNotify('Loading...');
    }
}
