function showTowns(str)
	{
		var q = str.substr(0,2);

		var temp = new Array();
		if (str !=='')
		{
			temp = str.split(',');
			var s = temp[1];
		}
		
		var xmlDoc=new ActiveXObject("MSXML2.DOMDocument.3.0");

		xmlDoc.setProperty('SelectionLanguage', 'XPath');
		xmlDoc.async="false";
		xmlDoc.load('../towns.xml');
		//if loading from root folder then try below - this way we only maintain one copy of xml file
		if(xmlDoc.parseError.errorCode != 0)
		{
			xmlDoc.load('towns.xml');
		}
		if(s=='')
			{
				var xPath="PROPERTIES/PROPERTY[starts-with(CODE," + "'" + q + "')]";
			}
		else
			{
				var xPath="PROPERTIES/PROPERTY[starts-with(CODE," + "'" + q + "," + s + "')]";
			}
		
		var nodes=xmlDoc.selectNodes(xPath);   

		var output = ('<table cellspacing=0 border=0><tr><td width=115>Town:<\/td><td>');


		if(nodes.length==0 || q=='')
			{
				output = output + ('<select name=selTowns WIDTH=200 STYLE=width:200px><option>please select</option></select></td></tr></table>');
				document.getElementById("txtTowns").innerHTML=output;
				return;
			}
		else
			{
				output = output + ('<select name=selTowns WIDTH=200 STYLE=width:200px> <option>please select</option>>');
			}


		for(x=1; x<=nodes.length-1; x++)
		{
			//alert(nodes.item(x).childNodes(1).nodeName);
			for(y=0; y<=1; y++)
			{
				if(nodes.item(x).childNodes(y).nodeName=='CODE')
				{
					str=  '<option value=' + nodes.item(x).childNodes(y).text + '>' 
				}
				else if(nodes.item(x).childNodes(y).nodeName=='TOWN')
				{
					str = str + nodes.item(x).childNodes(y).text + '</option>'
					output = output + str;
				}
			}
					
		}
		output = output + ('</select></td></tr></table>');

		document.getElementById("txtTowns").innerHTML=output;
	
	}

		

