
function sajax_init_object()
{

 	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();

	return A;
}

function sajax_do_call(func_name, args, uri)
{
    var i, x, n;
	var post_data;

    if (typeof(uri) != "string")
    	uri = "/pub/nh/sajax_js.php";

	if (uri.indexOf("?") == -1) 
		uri = uri + "?rs=" + escape(func_name);
	else
		uri = uri + "&rs=" + escape(func_name);
	for (i = 0; i < args.length-1; i++) 
		uri = uri + "&rsargs[]=" + escape(args[i]);
	uri = uri + "&rsrnd=" + new Date().getTime();
	post_data = null;

	x = sajax_init_object();

    // If object not exists, the return function receives false, this is good
    // to detect when a browser does not support Ajax.
    if (!x)
	    args[args.length-1](false);

	x.open("GET", uri, true);

    x.onreadystatechange = function() {
        if (x.readyState != 4) 
	        return;

    	var status;
	    var data;
    	status = x.responseText.charAt(0);
	    data = x.responseText.substring(2);
    	if (status == "-")
	    	alert("Error: " + data);
    	else
	    	args[args.length-1](data);
    }
    x.send(post_data);

	delete x;
}
