function RemoveAll(ListBox)
{
	if (ListBox == null) return;		
	ListBox.selectedIndex = -1;
	var iListBoxLength = ListBox.options.length;
	ListBox.length = 0;
	ListBox.length = 1;
	
}

function GetXMLData(surl)
{
	 var xmlDoc; 
 		var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined'); 
 		var ie = (typeof window.ActiveXObject != 'undefined'); 
	 if (moz) { 
  		xmlDoc = new XMLHttpRequest();
         if (xmlDoc.overrideMimeType) {
            xmlDoc.overrideMimeType('text/xml');
         }

 	} else if (ie) { 
  		try {
	  		xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
	 
		 } catch (e) {
	 		try {
	   			xmlDoc = new ActiveXObject("Msxml2.XMLHTTP");
	  		} catch (E) {
	  			xmlDoc = false;
	  		}
	 	}		
 	}	
	
	 xmlDoc.open("GET",surl, false);
     xmlDoc.send(null);
	return xmlDoc.responseXML;
}
function PopulateTowns(FormBox,affect,msg){
	
	if (FormBox == null) return;
	RemoveAll(FormBox);
	var surl = "geoData.aspx?Type=town";
	
	var xml_cat = GetXMLData(surl);
		var nodes_id = xml_cat.getElementsByTagName("name");
		var nodes_name = xml_cat.getElementsByTagName("name");
		if(nodes_name.length==0){	
			FormBox.options[0].value="";
			FormBox.options[0].text = "No Towns Available";

		}else{		
			FormBox.options[0].value="";
			FormBox.options[0].text = (msg == undefined)? "Please select a city":msg;
		}
		for (var i = 0; i < nodes_name.length; i++)
		{	
			FormBox.length++;
			FormBox.options[FormBox.options.length-1].value= nodes_id[i].firstChild.nodeValue;
			FormBox.options[FormBox.options.length-1].text = nodes_name[i].firstChild.nodeValue;
		}

}
function PopulateSuburb(FormBox,town_id,msg){
	
	if (FormBox == null) return;
	RemoveAll(FormBox);
	var surl = "geoData.aspx?Type=suburb";
	
	if(town_id != undefined){
		surl = surl + "&Town="+town_id;
	}
	
	var xml_cat = GetXMLData(surl);
		var nodes_id = xml_cat.getElementsByTagName("name");
		var nodes_name = xml_cat.getElementsByTagName("name");
		if(nodes_name.length==0){	
			FormBox.options[0].value="";
			FormBox.options[0].text = "No Towns Available";

		}else{		
			FormBox.options[0].value="";
			FormBox.options[0].text = (msg == undefined)? "Please select a suburb":msg;
		}
		for (var i = 0; i < nodes_name.length; i++)
		{	
			FormBox.length++;
			FormBox.options[FormBox.options.length-1].value= nodes_id[i].firstChild.nodeValue;
			FormBox.options[FormBox.options.length-1].text = nodes_name[i].firstChild.nodeValue;

		}

}