var isIE = false;
var req;
var functionName = '';
var thisObj;

var liabilityID = '';

function loadXMLDoc(url, fnName, fnObj) { 
	functionName = fnName;
	thisObj = fnObj;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
        req.send(null);
    } else if (window.ActiveXObject) { 
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
			req.open("GET", url, false);
            req.send();
        }
    }
}

function processReqChange() {
    if (req.readyState == 4) {
        if (req.status == 200) { 
			switch (functionName) {
			
			}
			return true; // block form submits
         } else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
			return false;
         }
    }
}

function getXMLNode(local, parentElem, index) {
    var result = parentElem.getElementsByTagName(local)[index];
    if (result) {
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else if (result.childNodes.length == 1) {
            return result.firstChild.nodeValue;    		
        } else {
			return "";
		}
    } else {
		return false;
	}
}

function convertXMLToObject(node){
	var obj = new Object();
	
	for(var i=0; i < node.childNodes.length; i++){
		currNode = node.childNodes[i];
		obj[currNode.nodeName] = currNode.firstChild.nodeValue
	}

	return obj;
}

function checkResponse() {
	var message = req.responseXML.getElementsByTagName("response")[0];
	if (message) {
		var response = getXMLNode("message", message, 0);
	}
	return response;
}

function getCDATAValue(req){
	if(req.responseXML.firstChild.firstChild){
		// This is how FF finds the value
		return req.responseXML.firstChild.firstChild.nodeValue;
	}else{
		// This is how IE finds the value
		return req.responseXML.lastChild.lastChild.nodeValue;
	}
}

function getResponseBody(req){
    if (document.all) {
		return req.responseXML.lastChild;
	} else {
		return req.responseXML.firstChild;
	}
}

