function change_country (country_field,prov_field,prov_field2) {
	var selected = country_field.selectedIndex;
	var country_id = country_field.options[selected].value;

	var len = prov_field.length;
	for (i=len; i>=0; i--) {
		prov_field.options[i] = null;
	}

	display_prov (country_field, prov_field, prov_field2, '');
}


function display_prov (country_field, prov_field, prov_field2, current_prov) 
{
	var country_id = country_field.options[country_field.selectedIndex].value;
	var url = httpUrl + '?get_regions&country_id='+country_id;

	BuildXmlHttpReference ();
	var counter = 0;

	if (xmlHttp)
	{
		xmlHttp.open ("GET", url, false);
		xmlHttp.send (null);
		var xmldoc = xmlHttp.responseXML;

		var regions = xmldoc.selectNodes ("/country/region");
		var code, region_name;

		for (i=0; i<regions.length; i++)
		{
			var node = regions[i];
			if( document.implementation.hasFeature("XPath", "3.0") ) 
			{
				code = node.selectSingleNode ("code").textContent;
				region_name = node.selectSingleNode ("name").textContent;
			}
			else
			{
				code = node.selectSingleNode ("code").text;
				region_name = node.selectSingleNode ("name").text;
			}

			var option = new Option (region_name, code);
			prov_field.options[counter] = option;

			if (current_prov == code)
				prov_field.selectedIndex = counter;

			counter++;
		}
	}

	if (counter > 0)
	{
		prov_field.style.display = "block";
		if (typeof (prov_field2) != "undefine")
		{
			prov_field2.style.display = "none";
			prov_field2.value = "";
		}
	}
	else 
	{
		prov_field.style.display = "none";
		if (typeof (prov_field2) != "undefine")
			prov_field2.style.display = "block";
	}
}

