function ChangeSuburbs(Country, PostCode)
{
	var values = ("?Country=" + Country + '&PostCode=' + PostCode);
	doAjax('services/Suburbs.asp', 'Suburbs', values, '<center>Loading<img src=Working.gif></center>'
		, 'Suburbs', 'GET', '');
}
function ChangeSuburbs2(Country, PostCode)
{
	var values = ("?Country=" + Country + '&PostCode=' + PostCode);
	doAjax('services/Suburbs2.asp', 'Suburbs2', values, '<center>Loading<img src=Working.gif></center>'
		, 'Suburbs2', 'GET', '');
}

function ChangeStates(Country, State)
{
	var values = ("?Country=" + Country + '&State=' + State);
	doAjax('services/States.asp', 'States', values, '<center>Loading<img src=Working.gif></center>'
		, 'States', 'GET', '');
}

function openAjax() {

	var ajax;
	try{
		ajax = new XMLHttpRequest();
	}catch(ee){
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(E){
				ajax = false;
			}
		}
	}
	return ajax;
}

function getFormVars(FormName){
	comp = "document." + FormName;
	var frm = eval(comp);
	formVars = "";
	for (i=0; i<frm.length; i++){
		formVars += frm.elements[i].name + "=" + frm.elements[i].value + "&";
	}
	formVars = formVars.substring(0,formVars.length -1);
	return formVars;
}

function doAjax(page,target,values,msg,loadingDiv,method,diffMsgLoc) { //(String(Page with details),String(div id to change),String(QueryString),String(Busy Message),String(Load div if different else ''),String(GET or POST),boolean)
	//alert("Page = " + page + "\nTarget = " + target + "\nValues = " + values + "\nMsg = " + msg + "\nLoading Div = " + loadingDiv + "\nMethod = " + method + "\ndiffMsgLoc = " + diffMsgLoc);
	if(document.getElementById) {
		var ajax = openAjax();
		if(diffMsgLoc){
			var loadingTarget = document.getElementById(loadingDiv);
		}
		var resultTarget = document.getElementById(target);
		if(method=='POST')
		{
			ajax.open("POST", page, true);
			ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
			ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
			ajax.setRequestHeader("Pragma", "no-cache");
			vals = getFormVals(values);
		}
		else
		{
			vals = null;
			ajax.open("GET", page + values, true);
		}
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 1) {
				if(diffMsgLoc){
					loadingTarget.style.display = 'inline';
					loadingTarget.innerHTML = msg
				}else{
					resultTarget.innerHTML = msg
				}
			}
			if(ajax.readyState == 4) {
				if(diffMsgLoc=='1'){
					loadingTarget.innerHTML = ""
					loadingTarget.style.display = 'none';
				}else{
					resultTarget.innerHTML = ""
				}
				//alert (ajax.status);
				if(ajax.status == 200) {
					var result = null;
					result = ajax.responseText;
					result = result.replace(/\+/g," ");
					result = unescape(result);
					//alert (result);
					resultTarget.innerHTML = result;
				} else {
					resultTarget.innerHTML = ("<br><center>An error occurred:<br><br>Result = " + result 
						+ "<br>Status = " + ajax.status + " - " + ajax.statusText + "<br><br>Address = " 
						+ page + values + "</center>");
				}
			}
		}
		ajax.send(vals);
	}
	//alert(values);
}