function _makeRPCObject() {
	xmlhttp = null;
	RPCTransports = new Array(
		function() {return new ActiveXObject('Msxml2.XMLHTTP.3.0')},
		function() {return new ActiveXObject('Msxml2.XMLHTTP')},
		function() {return new ActiveXObject('Microsoft.XMLHTTP')},
		function() {return new XMLHttpRequest()}
	)
	for (var i=0; i < RPCTransports.length; i++){
		try{
			xmlhttp = RPCTransports[i]();
			break;
		}catch(e){
			//pass
		}
	}
	return xmlhttp;
}

//--------------------------------------------------------------
function RPC(url,  func){
	var xmlhttp = _makeRPCObject();
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4){
			func(xmlhttp.responseText);
		}
	}

	xmlhttp.open('GET', url, true);
	xmlhttp.send(null);

}


function RPC_Post(url,  func, params){
	var xmlhttp = _makeRPCObject();
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4){
			func(xmlhttp.responseText);
		}
	}

	xmlhttp.open('POST', url, true);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	//alert(params)
	xmlhttp.send(params);

}


