
function AjaxConnection(uri, return_func) 
{
   this.connect=connect;
   this.uri=uri;
   this.return_func=return_func;

   this.x=init_object();

} 
function connect(params)
{
    with(this)
    {
        x.open("POST", uri, true);
        x.onreadystatechange = function() {
                if (x.readyState != 4)
                        return;
                eval(return_func + '(x.status, x.responseText)');
                //delete x;
        }
        x.setRequestHeader('Content-Type',
            'application/x-www-form-urlencoded');
        x.send(params);
    }
}

function init_object() {
        var x;
        try {
                x=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
                try {
                        x=new ActiveXObject("Microsoft.XMLHTTP");
                } catch (oc) {
                        x=null;
                }
        }
        if(!x && typeof XMLHttpRequest != "undefined")
                x = new XMLHttpRequest();
        if (x)
                return x;
}
