function AJAXRequest(params,script,callback)
{
    var XMLHttpRequestObject = false;
            
    try
    {
        XMLHttpRequestObject = new ActiveXObject("MSXML2.XMLHTTP");
    }
    catch (e1)
    {
        try
        {
            XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e2)
        {
            XMLHttpRequestObject = false;
        }
    }//catch
    
    if ((!XMLHttpRequestObject) && (window.XMLHttpRequest))
    {
        XMLHttpRequestObject = new XMLHttpRequest();
    }

    if (XMLHttpRequestObject)
    {
        XMLHttpRequestObject.open('POST',script,true);
        XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        
        XMLHttpRequestObject.onreadystatechange = function()
        {
            if ((XMLHttpRequestObject.readyState == 4) && (XMLHttpRequestObject.status == 200))
            {
                if (typeof(callback) == 'function')
                {
                    callback(XMLHttpRequestObject.responseXML);
                } 
            }//if ((XMLHttpRequestObject.readyState == 4) ...
        }
        
        XMLHttpRequestObject.send(params);
    }//if (XMLHttpRequestObject)
}//AJAXRequest

function ProcessErrors(xml)
{
    var error = $(xml).find('error');
    
    if (error.find('data_validity').get(0))
    {
        ShowMsg('error',error.find('data_validity').text());
    }
    
    if (error.find('db').get(0))
    {
        console.error(error.find('db').text());
    }
}//ProcessErrors