function CreateXmlRequestObject()
{
    if (typeof XMLHttpRequest != "undefined")
    {
        return function() { return new XMLHttpRequest(); }
    }
    
    var msv = 
    [
        "Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0",
        "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0",
        "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"
    ];
    
    for (var j = 0; j <= msv.length; j++)
    {
        try
        {
            A = new ActiveXObject(msv[j]);
            if (A)
            {
                return function() { return new ActiveXObject(msv[j]); }
            }
        }
        catch(e) { }
    }

    return false;
}

function send_user(temp_send,updtxt,updtxt2,updtxt3)
{
    var xmlHttp = CreateXmlRequestObject();

alert(temp_send);

    var t_send="update=1&"+temp_send;

    var url = "qlibin.php";
    xmlHttp.open('POST', url, true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlHttp.onreadystatechange = Delegate(this,updatePage,xmlHttp,updtxt,updtxt2,updtxt3);
    xmlHttp.send(t_send);
}

Delegate = function(targetObj, delegateFunction)
{ 
    var paramArr = new Array(); 
    for (var i = 2; i < arguments.length; i++)
    { 
        paramArr.push(arguments[i]); 
    }

    var proxy = function()
    { 
        var actualParameters = new Array(); 
        for (var i = 0; i < arguments.length;i++)
        { 
            actualParameters.push(arguments[i]); 
        } 
        actualParameters = actualParameters.concat(paramArr); 
        delegateFunction.apply(targetObj, actualParameters); 
    } 

    return proxy;
}

function updatePage(xmlHttp,updtxt,updtxt2,updtxt3)
{
    if (xmlHttp.readyState == 4)
    {
        if (xmlHttp.status == 200)
        {
            var response = xmlHttp.responseText;

            response=response.split("|QLIBIN|");

            if (Number(response[1])==1)
            {
                obj_color("update_agency","red");
            }
            else
            {
                if(response[3]!="") { obj_innerhtml(updtxt,response[3]);} else {if(updtxt=="t_street" || updtxt=="t_city_street") obj_innerhtml(updtxt, "---");}
            }
        }
        else
        {
            alert('ERROR');
        }
    }
}
