function inhabit_provinces(country, insert_blank_province, has_area_field, province_to_select)
{

   var GB_names = ["England","Northern Ireland","Scotland","Wales"];
   var GB_codes = ["EN","NI","SC","WA"]
   var CA_names = ["Alberta","British Columbia","Manitoba","New Brunswick","Newfoundland and Labrador","Northwest Territories","Nova Scotia","Nunavut","Ontario","Prince Edward Island","Quebec","Saskatchewan","Yukon"];
   var CA_codes = ["AB","BC","MB","NB","NL","NT","NS","NU","ON","PE","QC","SK","YT"]
   var AU_names = ["Australian Capital Territory","New South Wales","Northern Territory","Queensland","South Australia","Tasmania","Victoria","Western Australia"];
   var AU_codes = ["CT","NS","NT","QL","SA","TS","VI","WA"]
   var NZ_names = ["Auckland","Bay of Plenty","Canterbury","Gisborne","Hawkes Bay","Manawatu-Wanganui","Marlborough","Nelson","Northland","Otago","Southland","Taranaki","Tasman","Waikato","Wellington","West Coast"];
   var NZ_codes = ["AU","BP","CB","GB","HB","MW","MB","NS","NL","OT","SL","TA","TS","WA","WL","WC"]
   var US_names = ["Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"];
   var US_codes = ["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"]
   var ZA_names = ["Eastern Cape", "Free State", "Gauteng", "Kwazulu-Natal", "Mpumalanga", "Northern Cape", "Limpopo", "North West Province", "Western Cape"];
   var ZA_codes = ["EC","FS","GT","NL","MP","NC","NP","NW","WC"]
   var IE_names = ["Carlow","Cavan","Clare","Cork","Donegal","Dublin","Galway","Kerry","Kildare","Kilkenny","Laois","Leitrim","Limerick","Longford","Louth","Mayo","Meath","Monaghan","Offaly","Roscommon","Sligo","Tipperary","Waterford","Westmeath","Wexford","Wicklow"];
   var IE_codes = ["CW","CN","CE","C","DL","D","G","KY","KE","KK","LS","LM","LK","LD","LH","MO","MH","MN","OY","RN","SO","TA","WD","WH","WX","WW"]
	 if (document.province_container.province) {
      document.province_container.province.options.length = 0;
	 }
	 if (document.province_container.area) {
      document.province_container.area.value = "";
			document.province_container.area.style.visibility = "hidden";
	 }
   if (has_area_field) {
      document.province_container.area.style.visibility = "hidden";
      document.province_container.province.style.visibility = "hidden";
   }
   if (insert_blank_province) {
      document.province_container.province.options[0] = new Option("-- select a province --","");
   }
   var province_count = document.province_container.province.length;
   switch (country) {
   case "GB" :
      for (var i=0; i < GB_names.length; i++ ) { 
         document.province_container.province.options[i+province_count] = new Option(GB_names[i], GB_codes[i]); 
      } 
      document.province_container.province.style.visibility = "visible";
      break;
   case "CA" :
      for (var i=0; i < CA_names.length; i++ ) { 
         document.province_container.province.options[i+province_count] = new Option(CA_names[i], CA_codes[i]); 
      } 
      document.province_container.province.style.visibility = "visible";
      break;
   case "AU" :
      for (var i=0; i < AU_names.length; i++ ) { 
         document.province_container.province.options[i+province_count] = new Option(AU_names[i], AU_codes[i]); 
      } 
      document.province_container.province.style.visibility = "visible";
      break;
   case "NZ" :
      for (var i=0; i < NZ_names.length; i++ ) { 
         document.province_container.province.options[i+province_count] = new Option(NZ_names[i], NZ_codes[i]); 
      } 
      document.province_container.province.style.visibility = "visible";
      break;
   case "US" :
      for (var i=0; i < US_names.length; i++ ) { 
         document.province_container.province.options[i+province_count] = new Option(US_names[i], US_codes[i]); 
      } 
      document.province_container.province.style.visibility = "visible";
      break;
   case "ZA" :
      for (var i=0; i < ZA_names.length; i++ ) { 
         document.province_container.province.options[i+province_count] = new Option(ZA_names[i], ZA_codes[i]); 
      } 
      document.province_container.province.style.visibility = "visible";
      break;
   case "IE" :
      for (var i=province_count; i < IE_names.length; i++ ) { 
         document.province_container.province.options[i+province_count] = new Option(IE_names[i], IE_codes[i]); 
      } 
      document.province_container.province.style.visibility = "visible";
      break;
   default:
      document.province_container.province.style.visibility  = "hidden";
      if ($has_area_field = true) {
         document.province_container.area.value = province_to_select;
         document.province_container.area.style.visibility = "visible";
      }
		 
   }
	 
	 for (var i=0; i < document.province_container.province.options.length; i++ ) { 
      if (document.province_container.province.options[i].value==province_to_select){document.province_container.province.options[i].selected=true}; 
   }

}

function Validate()
{
    if (document.province_container.email.value == document.province_container.email2.value)
        return true;
    alert('Your email addresses do not match - please check that you have entered them correctly');
		document.province_container.email.focus();
    return false;
}