var xmlDoc = null;

function loadXML(sXMLFile) {
 
    if(window.XMLHttpRequest){ //IE7+, FF, Chrome, Safari, etc
         
        var xmlhttp = new window.XMLHttpRequest();
        xmlhttp.open('GET',sXMLFile,false);
        xmlhttp.send('');
        xmlDoc = xmlhttp.responseXML;            
		
	} else if (window.ActiveXObject) { // MSIE 6
		
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.load(sXMLFile);
 
	}
	
}

function postalCodeLookup(sXMLFile, sPostalCode) { 
    
	loadXML(sXMLFile);

	sPostalCode = sPostalCode.substring(0, 5);
	
	//var xpath = "//postal_code[@id = '" + sPostalCode + "']/median_income[.>=60000]";
	var xpath = "//postal_code[@id = '" + sPostalCode + "']";

	var isfound = false;
	
	if (window.ActiveXObject) {
		
		var nodes = xmlDoc.selectNodes(xpath);
		isfound = (nodes.length > 0);	
		
	} else if (document.implementation && document.implementation.createDocument) {
		
		var nodes = xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
		var result = nodes.iterateNext();
		isfound = (result);

	}
	
	if (!isfound) {
		
		return false;
		
	} else {
		
		return true;	
		
	}

}


function postalCodeLevel(sXMLFile, sPostalCode) { 

	loadXML(sXMLFile);
	
	sPostalCode = sPostalCode.substring(0, 5);
	
	var xpath = "//postal_code[@id = '" + sPostalCode + "']/median_income[.>=60000]";

	var isfound = false;
	
	if (window.ActiveXObject) {
		
		var nodes = xmlDoc.selectNodes(xpath);
		isfound = (nodes.length > 0);	
		
	} else if (document.implementation && document.implementation.createDocument) {
		
		var nodes = xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
		var result = nodes.iterateNext();
		isfound = (result);

	}
	
	if (!isfound) {
		
		return false;
		
	} else {
		
		return true;	
		
	}

}

