<!--start ajax-->
// global variables
var req;
var target ;
function executeXhr_lm(callback, url) {
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = callback;
		req.open("GET", url, true);
		req.send(null);
	} // branch for IE/Windows ActiveX version
	else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = callback;
			req.open("GET", url, true);
			req.send();
		}
	}
}
function populateCountries() {
	var dd=document.getElementById("country");
	var country = dd.options[dd.selectedIndex].value ;
	var country_name = dd.options[dd.selectedIndex].text ;
	if(country!=""){
	var url = "/get_countries.php?countries_id=" + country ;
	target = "state";
	var callback = processAjaxResponse_lm;
	dd=document.getElementById("state");
	dd.options.length=0;
	dd.options[0] = new Option("Loading..., please wait...","");
	executeXhr_lm(callback, url);
	}else{
		dd=document.getElementById("state");
		dd.options.length=0;
		dd.options[0] = new Option("select state/province","");
	}
}
function processAjaxResponse_lm() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			response  = req.responseXML.documentElement;
			var ids = response.getElementsByTagName('id');
			var list = response.getElementsByTagName('name');
			// target is the global variable.
			var dd=  document.getElementById(target) ;
			dd.options.length=0;
			//dd.options[0] = new Option("Please select a " + target,"");
			if(list.length==0){
				dd.options[0] = new Option("No state/Province","no");
			}else{
					dd.options[0] = new Option("select state/province","");
					for (var i = 0; i < list.length; i++)
					{
						var item1 = ids.item(i);
						var item2 = list.item(i);
						dd.options[i+1] = new Option(item2.firstChild.data, item1.firstChild.data);
					}
			}
		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}
