﻿var Provinces = 
  [
        { Country:"CA", ID:"AB", Name: "Alberta"},
        { Country:"CA", ID:"MB", Name:"Manitoba"},
        { Country:"CA", ID:"AB", Name:"Alberta"},
        { Country:"CA", ID:"BC", Name:"British Columbia"},
        { Country:"CA", ID:"MB", Name:"Manitoba"},
        { Country:"CA", ID:"NB", Name:"New Brunswick"},
        { Country:"CA", ID:"NL", Name:"Newfoundland and Labrador"},
        { Country:"CA", ID:"NS", Name:"Nova Scotia"},
        { Country:"CA", ID:"NT", Name:"Northwest Territories"},
        { Country:"CA", ID:"NU", Name:"Nunavut"},
        { Country:"CA", ID:"ON", Name:"Ontario"},
        { Country:"CA", ID:"PE", Name:"Prince Edward Island"},
        { Country:"CA", ID:"QC", Name:"Quebec"},
        { Country:"CA", ID:"SK", Name:"Saskatchewan"},
        { Country:"CA", ID:"YT", Name:"Yukon Territory"},
        { Country:"US", ID:"AK", Name:"Alaska"},
        { Country:"US", ID:"AL", Name:"Alabama"},
        { Country:"US", ID:"AR", Name:"Arkansas"},
        { Country:"US", ID:"AS", Name:"American Samoa"},
        { Country:"US", ID:"AZ", Name:"Arizona"},
        { Country:"US", ID:"CA", Name:"California"},
        { Country:"US", ID:"CO", Name:"Colorado"},
        { Country:"US", ID:"CT", Name:"Connecticut"},
        { Country:"US", ID:"DC", Name:"D.C."},
        { Country:"US", ID:"DE", Name:"Delaware"},
        { Country:"US", ID:"FL", Name:"Florida"},
        { Country:"US", ID:"FM", Name:"Micronesia"},
        { Country:"US", ID:"GA", Name:"Georgia"},
        { Country:"US", ID:"GU", Name:"Guam"},
        { Country:"US", ID:"HI", Name:"Hawaii"},
        { Country:"US", ID:"IA", Name:"Iowa"},
        { Country:"US", ID:"ID", Name:"Idaho"},
        { Country:"US", ID:"IL", Name:"Illinois"},
        { Country:"US", ID:"IN", Name:"Indiana"},
        { Country:"US", ID:"KS", Name:"Kansas"},
        { Country:"US", ID:"KY", Name:"Kentucky"},
        { Country:"US", ID:"LA", Name:"Louisiana"},
        { Country:"US", ID:"MA", Name:"Massachusetts"},
        { Country:"US", ID:"MD", Name:"Maryland"},
        { Country:"US", ID:"ME", Name:"Maine"},
        { Country:"US", ID:"MH", Name:"Marshall Islands"},
        { Country:"US", ID:"MI", Name:"Michigan"},
        { Country:"US", ID:"MN", Name:"Minnesota"},
        { Country:"US", ID:"MO", Name:"Missouri"},
        { Country:"US", ID:"MP", Name:"Marianas"},
        { Country:"US", ID:"MS", Name:"Mississippi"},
        { Country:"US", ID:"MT", Name:"Montana"},
        { Country:"US", ID:"NC", Name:"North Carolina"},
        { Country:"US", ID:"ND", Name:"North Dakota"},
        { Country:"US", ID:"NE", Name:"Nebraska"},
        { Country:"US", ID:"NH", Name:"New Hampshire"},
        { Country:"US", ID:"NJ", Name:"New Jersey"},
        { Country:"US", ID:"NM", Name:"New Mexico"},
        { Country:"US", ID:"NV", Name:"Nevada"},
        { Country:"US", ID:"NY", Name:"New York"},
        { Country:"US", ID:"OH", Name:"Ohio"},
        { Country:"US", ID:"OK", Name:"Oklahoma"},
        { Country:"US", ID:"OR", Name:"Oregon"},
        { Country:"US", ID:"PA", Name:"Pennsylvania"},
        { Country:"US", ID:"PR", Name:"Puerto Rico"},
        { Country:"US", ID:"PW", Name:"Palau"},
        { Country:"US", ID:"RI", Name:"Rhode Island"},
        { Country:"US", ID:"SC", Name:"South Carolina"},
        { Country:"US", ID:"SD", Name:"South Dakota"},
        { Country:"US", ID:"TN", Name:"Tennessee"},
        { Country:"US", ID:"TX", Name:"Texas"},
        { Country:"US", ID:"UT", Name:"Utah"},
        { Country:"US", ID:"VA", Name:"Virginia"},
        { Country:"US", ID:"VI", Name:"Virgin Islands"},
        { Country:"US", ID:"VT", Name:"Vermont"},
        { Country:"US", ID:"WA", Name:"Washington"},
        { Country:"US", ID:"WI", Name:"Wisconsin"},
        { Country:"US", ID:"WV", Name:"West Virginia"},
        { Country:"US", ID:"WY", Name:"Wyoming"},
        { Country:"US", ID:"AA", Name:"Military Americas"},
        { Country:"US", ID:"AE", Name:"Military Europe/ME/Canada"},
        { Country:"US", ID:"AP", Name:"Military Pacific"},
        { Country:"AU", ID:"AAT", Name:"Australian Antarctic Territory"},
        { Country:"AU", ID:"ACT", Name:"Australian Capital Territory"},
        { Country:"AU", ID:"NT", Name:"Northern Territory"},
        { Country:"AU", ID:"NSW", Name:"New South Wales"},
        { Country:"AU", ID:"QLD", Name:"Queensland"},
        { Country:"AU", ID:"SA", Name:"South Australia"},
        { Country:"AU", ID:"TAS", Name:"Tasmania"},
        { Country:"AU", ID:"VIC", Name:"Victoria"},
        { Country:"AU", ID:"WA", Name:"Western Australia"},
        { Country:"BR", ID:"AC", Name:"Acre"},
        { Country:"BR", ID:"AL", Name:"Alagoas"},
        { Country:"BR", ID:"AM", Name:"Amazonas"},
        { Country:"BR", ID:"AP", Name:"Amapa"},
        { Country:"BR", ID:"BA", Name:"Baia"},
        { Country:"BR", ID:"CE", Name:"Ceara"},
        { Country:"BR", ID:"DF", Name:"Distrito Federal"},
        { Country:"BR", ID:"ES", Name:"Espirito Santo"},
        { Country:"BR", ID:"FN", Name:"Fernando de Noronha"},
        { Country:"BR", ID:"GO", Name:"Goias"},
        { Country:"BR", ID:"MA", Name:"Maranhao"},
        { Country:"BR", ID:"MG", Name:"Minas Gerais"},
        { Country:"BR", ID:"MS", Name:"Mato Grosso do Sul"},
        { Country:"BR", ID:"MT", Name:"Mato Grosso"},
        { Country:"BR", ID:"PA", Name:"Para"},
        { Country:"BR", ID:"PB", Name:"Paraiba"},
        { Country:"BR", ID:"PE", Name:"Pernambuco"},
        { Country:"BR", ID:"PI", Name:"Piaui"},
        { Country:"BR", ID:"PR", Name:"Parana"},
        { Country:"BR", ID:"RJ", Name:"Rio de Janeiro"},
        { Country:"BR", ID:"RN", Name:"Rio Grande do Norte"},
        { Country:"BR", ID:"RO", Name:"Rondonia"},
        { Country:"BR", ID:"RR", Name:"Roraima"},
        { Country:"BR", ID:"RS", Name:"Rio Grande do Sul"},
        { Country:"BR", ID:"SC", Name:"Santa Catarina"},
        { Country:"BR", ID:"SE", Name:"Sergipe"},
        { Country:"BR", ID:"SP", Name:"Sao Paulo"},
        { Country:"BR", ID:"TO", Name:"Tocatins"},
        { Country:"NL", ID:"DR", Name:"Drente"},
        { Country:"NL", ID:"FL", Name:"Flevoland"},
        { Country:"NL", ID:"FR", Name:"Friesland"},
        { Country:"NL", ID:"GL", Name:"Gelderland"},
        { Country:"NL", ID:"GR", Name:"Groningen"},
        { Country:"NL", ID:"LB", Name:"Limburg"},
        { Country:"NL", ID:"NB", Name:"Noord Brabant"},
        { Country:"NL", ID:"NH", Name:"Noord Holland"},
        { Country:"NL", ID:"OV", Name:"Overijssel"},
        { Country:"NL", ID:"UT", Name:"Utrecht"},
        { Country:"NL", ID:"ZH", Name:"Zuid Holland"},
        { Country:"NL", ID:"ZL", Name:"Zeeland"},
        { Country:"UK", ID:"AVON", Name:"Avon"},
        { Country:"UK", ID:"BEDS", Name:"Bedfordshire"},
        { Country:"UK", ID:"BERKS", Name:"Berkshire"},
        { Country:"UK", ID:"BUCKS", Name:"Buckinghamshire"},
        { Country:"UK", ID:"CAMBS", Name:"Cambridgeshire"},
        { Country:"UK", ID:"CHESH", Name:"Cheshire"},
        { Country:"UK", ID:"CLEVE", Name:"Cleveland"},
        { Country:"UK", ID:"CORN", Name:"Cornwall"},
        { Country:"UK", ID:"CUMB", Name:"Cumbria"},
        { Country:"UK", ID:"DERBY", Name:"Derbyshire"},
        { Country:"UK", ID:"DEVON", Name:"Devon"},
        { Country:"UK", ID:"DORSET", Name:"Dorset"},
        { Country:"UK", ID:"DURHAM", Name:"Durham"},
        { Country:"UK", ID:"ESSEX", Name:"Essex"},
        { Country:"UK", ID:"GLOUS", Name:"Gloucestershire"},
        { Country:"UK", ID:"GLONDON", Name:"Greater London"},
        { Country:"UK", ID:"GMANCH", Name:"Greater Manchester"},
        { Country:"UK", ID:"HANTS", Name:"Hampshire"},
        { Country:"UK", ID:"HERWOR", Name:"Hereford & Worcestershire"},
        { Country:"UK", ID:"HERTS", Name:"Hertfordshire"},
        { Country:"UK", ID:"HUMBER", Name:"Humberside"},
        { Country:"UK", ID:"IOM", Name:"Isle of Man"},
        { Country:"UK", ID:"IOW", Name:"Isle of Wight"},
        { Country:"UK", ID:"KENT", Name:"Kent"},
        { Country:"UK", ID:"LANCS", Name:"Lancashire"},
        { Country:"UK", ID:"LEICS", Name:"Leicestershire"},
        { Country:"UK", ID:"LINCS", Name:"Lincolnshire"},
        { Country:"UK", ID:"MERSEY", Name:"Merseyside"},
        { Country:"UK", ID:"NORF", Name:"Norfolk"},
        { Country:"UK", ID:"NHANTS", Name:"Northamptonshire"},
        { Country:"UK", ID:"NTHUMB", Name:"Northumberland"},
        { Country:"UK", ID:"NOTTS", Name:"Nottinghamshire"},
        { Country:"UK", ID:"OXON", Name:"Oxfordshire"},
        { Country:"UK", ID:"SHROPS", Name:"Shropshire"},
        { Country:"UK", ID:"SOM", Name:"Somerset"},
        { Country:"UK", ID:"STAFFS", Name:"Staffordshire"},
        { Country:"UK", ID:"SUFF", Name:"Suffolk"},
        { Country:"UK", ID:"SURREY", Name:"Surrey"},
        { Country:"UK", ID:"SUSS", Name:"Sussex"},
        { Country:"UK", ID:"WARKS", Name:"Warwickshire"},
        { Country:"UK", ID:"WMID", Name:"West Midlands"},
        { Country:"UK", ID:"WILTS", Name:"Wiltshire"},
        { Country:"UK", ID:"YORK", Name:"Yorkshire"},
        { Country:"EI", ID:"CO ANTRIM", Name:"County Antrim"},
        { Country:"EI", ID:"CO ARMAGH", Name:"County Armagh"},
        { Country:"EI", ID:"CO DOWN", Name:"County Down"},
        { Country:"EI", ID:"CO FERMANAGH", Name:"County Fermanagh"},
        { Country:"EI", ID:"CO DERRY", Name:"County Londonderry"},
        { Country:"EI", ID:"CO TYRONE", Name:"County Tyrone"},
        { Country:"EI", ID:"CO CAVAN", Name:"County Cavan"},
        { Country:"EI", ID:"CO DONEGAL", Name:"County Donegal"},
        { Country:"EI", ID:"CO MONAGHAN", Name:"County Monaghan"},
        { Country:"EI", ID:"CO DUBLIN", Name:"County Dublin"},
        { Country:"EI", ID:"CO CARLOW", Name:"County Carlow"},
        { Country:"EI", ID:"CO KILDARE", Name:"County Kildare"},
        { Country:"EI", ID:"CO KILKENNY", Name:"County Kilkenny"},
        { Country:"EI", ID:"CO LAOIS", Name:"County Laois"},
        { Country:"EI", ID:"CO LONGFORD", Name:"County Longford"},
        { Country:"EI", ID:"CO LOUTH", Name:"County Louth"},
        { Country:"EI", ID:"CO MEATH", Name:"County Meath"},
        { Country:"EI", ID:"CO OFFALY", Name:"County Offaly"},
        { Country:"EI", ID:"CO WESTMEATH", Name:"County Westmeath"},
        { Country:"EI", ID:"CO WEXFORD", Name:"County Wexford"},
        { Country:"EI", ID:"CO WICKLOW", Name:"County Wicklow"},
        { Country:"EI", ID:"CO GALWAY", Name:"County Galway"},
        { Country:"EI", ID:"CO MAYO", Name:"County Mayo"},
        { Country:"EI", ID:"CO LEITRIM", Name:"County Leitrim"},
        { Country:"EI", ID:"CO ROSCOMMON", Name:"County Roscommon"},
        { Country:"EI", ID:"CO SLIGO", Name:"County Sligo"},
        { Country:"EI", ID:"CO CLARE", Name:"County Clare"},
        { Country:"EI", ID:"CO CORK", Name:"County Cork"},
        { Country:"EI", ID:"CO KERRY", Name:"County Kerry"},
        { Country:"EI", ID:"CO LIMERICK", Name:"County Limerick"},
        { Country:"EI", ID:"CO TIPPERARY", Name:"County Tipperary"},
        { Country:"EI", ID:"CO WATERFORD", Name:"County Waterford"}
  ];

var ProvinceLabels = 
  [
        { Country:"CA", Label: "Province"},
        { Country:"US", Label: "State"}
  ];
  
// stuff selected value into TB since SelectedValue doesnt seem to work?
function SelectProvince( formName, provinceDDLName, provinceTBName )
{
  var f_provinceDDL = document.forms[formName].elements[provinceDDLName];
  var f_provinceTB = document.forms[formName].elements[provinceTBName];
  var selectedValue=f_provinceDDL.options[f_provinceDDL.selectedIndex].value;
  f_provinceTB.value = selectedValue; // setAttribute("value", selectedValue); 
}

function UpdateProvince( formName,provinceDDLID, provinceDDLName, provinceTBID, provinceTBName, countryName, provinceLBLID ) 
{
//  diag("UpdateProvince( "+formName+", "+provinceDDLID+", "+provinceDDLName+", "+provinceTBID+", "+provinceTBName+", "+countryName+" )...");
  var f_countryDDL = document.forms[formName].elements[countryName];
  var provinceDDL = document.getElementById(provinceDDLID);
  var provinceTB = document.getElementById(provinceTBID);
  var f_provinceDDL = document.forms[formName].elements[provinceDDLName];
  var f_provinceTB = document.forms[formName].elements[provinceTBName];
  var provinceLBL = document.getElementById(provinceLBLID);
  var foundProvince = false;
  
  var selectedValue = "";
  if ( provinceTB.style.display=="inline" ) 
    selectedValue=provinceTB.value;
  else
    selectedValue=f_provinceDDL.options[f_provinceDDL.selectedIndex].value;
//  diag("UpdateProvince:selectedValue = "+selectedValue);

  // Empty options just in case new drop down is shorter
  if ( provinceDDL.style.display=="inline" ) 
  {
    f_provinceDDL.options.length = 0;
    f_provinceDDL.options[0] = new Option('','');
    f_provinceDDL.selectedIndex = 0;
  }

	var found99=false;
	for ( var loop99=0;loop99<ProvinceLabels.length;loop99++)
	{
		if ( ProvinceLabels[loop99].Country == f_countryDDL.options[f_countryDDL.selectedIndex].value )
		{
			provinceLBL.innerHTML=ProvinceLabels[loop99].Label;
			found99=true;
			break;
		}
	}
	if (!found99)
	{
		provinceLBL.innerHTML="Province";
	}
	
  // Populate the drop down with states from the selected country
  var optionCntr = 1;
  for (var loop = 0; loop < Provinces.length; loop++) 
  {
    if (  f_countryDDL.options[f_countryDDL.selectedIndex].value == Provinces[loop].Country && 
          Provinces[loop].Country != '' && Provinces[loop].ID ) 
    {

      // If it's a input element, change it to a select
      if ( provinceTB.style.display == "inline" ) 
      {
//        diag("provinceDDL.options[0] = new Option(,)...");
        f_provinceDDL.options.length = 0;
        f_provinceDDL.options[0] = new Option('','');
        f_provinceDDL.selectedIndex = 0;
        provinceTB.style.display = "none";
        provinceDDL.style.display = "inline";
      }

//      diag("f_provinceDDL.options["+optionCntr+"] = new Option("+Provinces[loop].Name+", "+Provinces[loop].ID+")...");
      f_provinceDDL.options[optionCntr] = new Option(Provinces[loop].Name, Provinces[loop].ID);

      // See if it's selected from a previous post
      if (  Provinces[loop].ID == selectedValue && 
            Provinces[loop].Country == f_countryDDL.options[f_countryDDL.selectedIndex].value )  //defaultCountry 
        f_provinceDDL.selectedIndex = optionCntr;

      foundProvince = true;
      optionCntr++
    }
  }

  // If the country has no states, change the select to a text box
  if ( !foundProvince ) 
  {
    provinceTB.style.display = "inline";
    provinceDDL.style.display = "none";
  }   
  else
  {
    provinceTB.style.display = "none";
    provinceDDL.style.display = "inline";
  }
  f_provinceTB.value = selectedValue; // setAttribute("value", selectedValue); 
  
}
