function getRegions() {

	var province = $F('province');
	var url = 'ajax';
	var pars = 'act=get_regions&province=' + province;

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: getRegions_callback
		});
}



function getRegions_callback(originalRequest) {
	//put returned XML in the textarea
	var res = originalRequest.responseText;
	if (res != 'EMPTY') {

		var regions = res.split('||');
		$('region').options.length = 1; //empty fields, only keep the first

		$('region').options.length = regions.length + 1;
		for (i = 1; i <= regions.length ; i++) {
			$('region').options[i].value = $('region').options[i].text = regions[i-1];

			if ($F('region_hidden') == regions[i-1]) {
				$('region').selectedIndex = i;
			}
		}

		emptyTowns();
		emptySuburbs();

	} else {
		emptyRegions();
	}

	getTowns();

}


function emptyRegions() {
	$('region').options.length = 1;
}











function getTowns() {

	var province = $F('province');
	var region = $F('region');
	var url = 'ajax';
	var pars = 'act=get_towns&province=' + province + '&region=' + region;

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: getTowns_callback
		});
}




function getTowns_callback(originalRequest) {
	//put returned XML in the textarea
	var res = originalRequest.responseText;
	if (res != 'EMPTY') {

		var towns = res.split('||');
		$('town').options.length = 1; //empty fields, only keep the first

		$('town').options.length = towns.length + 1;
		for (i = 1; i <= towns.length ; i++) {
			$('town').options[i].value = $('town').options[i].text = towns[i-1];

			if ($F('town_hidden') == towns[i-1]) {
				$('town').selectedIndex = i;
			}
		}

		emptySuburbs();

	} else {
		emptyTowns();
	}

	getSuburbs();

}


function emptyTowns() {
	$('town').options.length = 1;
}











function getSuburbs() {

	var province = $F('province');
	var region = $F('region');
	var town = $F('town');
	var url = 'ajax';
	var pars = 'act=get_suburbs&province=' + province + '&region=' + region + '&town=' + town;

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: getSuburbs_callback
		});
}




function getSuburbs_callback(originalRequest) {
	//put returned XML in the textarea
	var res = originalRequest.responseText;
	if (res != 'EMPTY') {

		var suburbs = res.split('||');
		$('suburb').options.length = 1; //empty fields, only keep the first

		$('suburb').options.length = suburbs.length + 1;
		for (i = 1; i <= suburbs.length ; i++) {
			$('suburb').options[i].value = $('suburb').options[i].text = suburbs[i-1];

			if ($F('suburb_hidden') == suburbs[i-1]) {
				$('suburb').selectedIndex = i;
			}
		}

	} else {
		emptySuburbs();
	}

}


function emptySuburbs() {
	$('suburb').options.length = 1;
}








function switchCombo() {

	Element.hide('search_combo');
	Element.hide('search_suburb');
	Element.show('search_zip');

	Element.hide('zip-tip');
	Element.hide('suburb-tip');
	Element.show('combo-tip');



	Element.hide('div-zip');
	Element.hide('div-suburb');
	Element.show('div-combo');

}


function switchZip() {

	Element.hide('search_zip');
	Element.hide('search_suburb');
	Element.show('search_combo');

	Element.hide('combo-tip');
	Element.hide('suburb-tip');
	Element.show('zip-tip');



	Element.hide('div-combo');
	Element.hide('div-suburb');
	Element.show('div-zip');

}









function switchSub() {

	Element.hide('search_zip');
	Element.hide('search_combo');
	Element.show('search_suburb');

	Element.hide('combo-tip');
	Element.hide('zip-tip');
	Element.show('suburb-tip');



	Element.hide('div-combo');
	Element.hide('div-zip');
	Element.show('div-suburb');

}






function repeatSuburbSearch(province, suburb) {
	$('province_name').value = province;
	$('suburb_name').value = suburb;
	$('suburb_search_form').submit();
}




function searchSuburbs() {
	if ($F('zip').length >= 4 ) {

		var zip = $F('zip');
		var url = 'ajax';
		var pars = 'act=search_suburbs&zip=' + zip;

		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: pars, 
				onComplete: searchSuburbs_callback
			});
	}
}



function searchSuburbs_callback(originalRequest) {

	//put returned XML in the textarea
	var res = originalRequest.responseText;

	if (res != 'EMPTY') {

		var suburbs = res.split('||');
		$('suburb2').options.length = 1; //empty fields, only keep the first

		$('suburb2').options.length = suburbs.length + 1;
		for (i = 1; i <= suburbs.length ; i++) {
			$('suburb2').options[i].value = $('suburb2').options[i].text = suburbs[i-1];

			if ($F('suburb2_hidden') == suburbs[i-1]) {
				$('suburb2').selectedIndex = i;
			}
		}

	}

}