var uri;
var return_type = 'bool';

function initObject() {
	var A;
	try {
		A = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			A = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (oc) {
			A = null;
		}
	}
	if(!A && typeof XMLHttpRequest != "undefined") A = new XMLHttpRequest();
	if (!A) alert("Could not create connection object.");
	return A;
}

function checkResponse(data) {
	if(return_type == 'bool') {
		if(data > 0) obj_call(false);
		else obj_call(true);
	} else obj_call(data);
}

var obj_call;
function sendMsg(args) {
	var data = '';
	for(var i=0;i<args.length-1;i++) {
		if(data != '') data += "&";
		data += "data"+i+"="+escape(args[i]);
	}
	obj_call = args[args.length-1];
	do_call(new Array(true, data, checkResponse));
}

function do_call(args) {
	var post_data = (args[0] == true) ? args[1] : null;
	var x = initObject();

	x.open("POST", uri, true);
	x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
	x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	x.onreadystatechange = function() {
		if (x.readyState != 4) return;
		var data = x.responseText;
		args[args.length-1](data);
	}
	x.send(post_data);
	delete x;
}