var READYSTATE_UNINITIALIZED = 0;
var READYSTATE_LOADING = 1;
var READYSTATE_LOADED = 2;
var READYSTATE_INTERACTIVE = 3;
var READYSTATE_COMPLETE = 4;

var RESPONSE_STATUS_OK = 200;
var RESPONSE_STATUS_MOVED_TEMPORARILY = 302;
var RESPONSE_STATUS_BAD_REQUEST = 400;
var RESPONSE_STATUS_UNAUTHORIZED = 401;
var RESPONSE_STATUS_FORBIDDEN = 403;
var RESPONSE_STATUS_NOT_FOUND = 404;
var RESPONSE_STATUS_INTERNAL_SERVER_ERROR = 500;


function CreateXMLHttpRequest()
{
    var req;

	if (window.XMLHttpRequest)
	{
	    try
	    {
	        // Try to create the XMLHttpRequest object the "standard" way (i.e. IE 7 / Firefox / Safari etc.)
	        req = new XMLHttpRequest();
	    }
	    catch(e)
	    {
            // It doesn't look like the XMLHttpRequest is available. Return null.
	    	req = null;
	    }
    }
    else if (window.ActiveXObject)
    {
        try
        {
            // Try to create the XMLHttpRequest object the IE 6 and earlier way
            req = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            try
            {                    
                req = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e)
            {
                // It doesn't look like the XMLHttpRequest is available. Return null.
                req = null;
            }
        }
    }

    return req;
}

function getResponseXMLValue(XMLHttpRequest, fieldName) {
	var fieldValue;
	
    try {
		fieldValue = XMLHttpRequest.responseXML.getElementsByTagName(fieldName)[0].firstChild.nodeValue;								
	}
	catch(e) {
		fieldValue = "";
	}
	
	return fieldValue;
}

function getChildElementValue(parentElement, childElementName) {
    var result = "";
    try {
        result = parentElement.getElementsByTagName(childElementName)[0].firstChild.nodeValue;
    }
    catch(e) {
        result = "";
    }
    
    return result;
}
