var myXMLHTTP_ID = 1;
var myXMLHTTP_aXmlDocs = new Array();
var myXMLHTTP_aXmlDocsElt = function(url, fn2call) {
	this.url = url;
	this.fn2call = fn2call;
	if (typeof window.ActiveXObject != 'undefined' ) {
		this.obj = new ActiveXObject("Microsoft.XMLHTTP");
		this.obj.onreadystatechange = _myXMLHTTPprocess ;
	} else {
		this.obj = new XMLHttpRequest();
		this.obj.onload = _myXMLHTTPprocess ;
	}
}

var myXMLHTTP = function(url, fn2call)
{
	myXMLHTTP_aXmlDocs[myXMLHTTP_aXmlDocs.length] = new myXMLHTTP_aXmlDocsElt(url, fn2call);
	this.id = myXMLHTTP_ID++;
}

myXMLHTTP.prototype.call = function(method, params) {
	var elt = this.id-1;
	if (typeof window.ActiveXObject != 'undefined' ) {
		myXMLHTTP_aXmlDocs[elt].obj = new ActiveXObject("Microsoft.XMLHTTP");
		myXMLHTTP_aXmlDocs[elt].obj.onreadystatechange = _myXMLHTTPprocess;
	} else {
		myXMLHTTP_aXmlDocs[elt].obj = new XMLHttpRequest();
		myXMLHTTP_aXmlDocs[elt].obj.onload = _myXMLHTTPprocess;
	}
	myXMLHTTP_aXmlDocs[elt].obj.open( "GET", myXMLHTTP_aXmlDocs[elt].url + method + "&" + params, true );
	document.body.style.cursor = 'wait';
	myXMLHTTP_aXmlDocs[elt].obj.send( null );
}

function _myXMLHTTPprocess() {
	var myBlc;
	for (myBlc=0; myBlc < myXMLHTTP_aXmlDocs.length; myBlc++) {
		if ( myXMLHTTP_aXmlDocs[myBlc] ) {
			if ( myXMLHTTP_aXmlDocs[myBlc].obj.readyState == 4 ) {
				if (myXMLHTTP_aXmlDocs[myBlc].obj.status == 200) {
					var aRetour = myXMLHTTP_aXmlDocs[myBlc].obj.responseText.split("|");
					document.body.style.cursor = 'auto';
					if ( parseInt(aRetour[0], 10) ) {
						myXMLHTTP_aXmlDocs[myBlc].fn2call(aRetour[1]);
					} else {
						alert(aRetour[1]);
					}
				}
			}
		}
	}
}
