	function init_object() {
		var A;
		var msxmlhttp = new Array(
			'Msxml2.XMLHTTP.5.0',
			'Msxml2.XMLHTTP.4.0',
			'Msxml2.XMLHTTP.3.0',
			'Msxml2.XMLHTTP',
			'Microsoft.XMLHTTP');
		for (var i = 0; i < msxmlhttp.length; i++) {
			try {
				A = new ActiveXObject(msxmlhttp[i]);
			} catch (e) {
				A = null;
			}
		}
		if(!A && typeof XMLHttpRequest != "undefined")
			A = new XMLHttpRequest();
		return A;
	}
	function call_server(url, call_back, data)	{
		var serviceCaller;
		var postData;
		serviceCaller = init_object();
		serviceCaller.open("POST", url, true);	
		postData = data;
		serviceCaller.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		serviceCaller.onreadystatechange = function()	{
			if(serviceCaller.readyState != 4)	{
				return;
			}
			var data;
			data = serviceCaller.responseText.substring(0);
				call_back(data);
				return true;	
		}
		serviceCaller.send(postData);
		delete serviceCaller;
	}
	
	