var GET = "GET";
var POST = "POST";
var HEAD = "HEAD";

function newHttpReq() {
	if (window.XMLHttpRequest) { // native XMLHttpRequest object
		return new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE/Windows ActiveX version
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}
function Ajax() {
	var self = this;
	var req = newHttpReq(); //private, see "json crockford"
	this.handleRequest = function handleRequest(httpMethod, serverPage,
	
	
	contentHandler, progressHandler, key1, key2, key3, key4, key5,key6, post, async) {//good defaults!
			
		req.open(httpMethod, serverPage, (async==null)?true:async);
		req.onreadystatechange = function() {
			switch (req.readyState){
			case 4:
			
                if(contentHandler) contentHandler(req, key1, key2, key3, key4, key5,key6);
			default:
			
                if(progressHandler) progressHandler(req.readyState, key1);
                
				break;
			}
		};
		req.send(post);
	}
}
function handleRequest(httpMethod, serverPage,
		contentHandler, progressHandler, key1, key2, key3, key4, key5,key6, post, async) {
	var ajax = new Ajax();
	ajax.handleRequest(httpMethod, serverPage,
	        contentHandler, progressHandler, key1, key2, key3, key4, key5,key6, post, async);
}
