var CountryArray = new  Array("AUS","AUT","BEL","CAN","CYM","CRI","DNK","SLV","FIN","FRA","HND","DEU","GTM","IND","IRL","ITA","LUX","MEX","NLD","NZL","NIC","NOR","PAN","PRT","ESP","ZAF","SWE","CHE","ARE","GBR","USA","VIR","Other");

var CountryNameArray = new Array(
"('Australia','AUS')",
"('Austria','AUT')",
"('Belgium','BEL')",
"('Canada','CAN')",
"('Cayman Islands','CYM')",
"('Costa Rica','CRI')",
"('Denmark','DNK')",
"('El Salvador','SLV')",
"('Finland','FIN')",
"('France','FRA')",
"('Honduras','HND')",
"('Germany','DEU')",
"('Guatemala','GTM')",
"('India','IND')",
"('Ireland','IRL')",
"('Italy','ITA')",
"('Luxembourg','LUX')",
"('Mexico','MEX')",
"('Netherlands','NLD')",
"('New Zealand','NZL')",
"('Nicaragua','NIC')",
"('Norway','NOR')",
"('Panama','PAN')",
"('Portugal','PRT')",
"('Spain','ESP')",
"('South Africa','ZAF')",
"('Sweden','SWE')",
"('Switzerland','CHE')",
"('United Arab Emirates','ARE')",
"('United Kingdom','GBR')",
"('United States of America','USA',true,true)",
"('US Virgin Islands','VIR')",
"('Other, not listed','Other')");  

//Austria States
var AUTSelArray =  new Array("('Select State','',true,true)",
"('Do Not Know')",
"('Burgenland')",
"('Carinthia')",
"('Lower Austria')",
"('Upper Austria')",
"('Salzburg')",
"('Styria')",
"('Tyrol')",
"('Vorarlberg')",
"('Vienna')");

//Belgium States   
var BELSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Antwerp')",
"('Limburg')",
"('Flemish Brabant')",
"('East Flanders')",
"('West Flanders')",
"('Hainaut')",
"('Walloon Brabant')",
"('Namur')",
"('Liège')",
"('Luxembourg')");

//Denmark Region
var DNKSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Midtjylland')",
"('Nordjylland')",
"('Sjælland')",
"('Syddanmark')",
"('Denmark')");

//El Salvador Region
var SLVSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Ahuachapan')",
"('Cabanas')",
"('Chalatenango')",
"('Cuscatlan')",
"('La Libertad')",
"('La Paz')",
"('La Union')",
"('Morazan')",
"('San Miguel')",
"('San Salvador')",
"('San Vicente')",
"('Santa Ana')",
"('Sonsonate')",
"('Usulutan')");

//Honduras Region
var HNDSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Atlantida')",
"('Choluteca')",
"('Colon')",
"('Comayagua')",
"('Copan')",
"('Cortes')",
"('El Paraiso')",
"('Francisco Morazan')",
"('Gracias a Dios')",
"('Intibuca')",
"('Islas de la Bahia')",
"('La Paz')",
"('Lempira')",
"('Ocotepeque')",
"('Olancho')",
"('Santa Barbara')",
"('Valle')",
"('Yoro')");
	   
//Guatemala Region
var GTMSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Alta Verapaz')",
"('Baja Verapaz')",
"('Chimaltenango')",
"('Chiquimula')",
"('El Progreso')",
"('Escuintla')",
"('Guatemala')",
"('Huehuetenango')",
"('Izabal')",
"('Jalapa')",
"('Jutiapa')",
"('Peten')",
"('Quetzaltenango')",
"('Quiche')",
"('Retalhuleu')",
"('Sacatepequez')",
"('San Marcos')",
"('Santa Rosa')",
"('Solola')",
"('Suchitepequez')",
"('Totonicapan')",
"('Zacapa')");

//Nicaragua Region
var NICSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Atlantico Norte')",
"('Atlantico Sur')",
"('Boaco')",
"('Carazo')",
"('Chinandega')",
"('Chontales')",
"('Esteli')",
"('Granada')",
"('Jinotega')",
"('Leon')",
"('Madriz')",
"('Managua')",
"('Masaya')",
"('Matagalpa')",
"('Nueva Segovia')",
"('Rio San Juan')",
"('Rivas')");

//Panama Region
var PANSelArray =  new Array("('Select Province','',true,true)",
"('Do Not Know')",
"('Bocas del Toro')",
"('Chiriqui')",
"('Cocle')",
"('Darien')",
"('Herrera')",
"('Los Santos')",
"('Panama')",
"('San Blas (Kuna Yala)')",
"('Veraguas')");

//Finland Provinces
var FINSelArray =  new Array("('Select Province','',true,true)",
"('Do Not Know')",
"('Southern Finland')",
"('Western Finland')",
"('Eastern Finland')",
"('Oulu')",
"('Lapland')",
"('Åland')");

//France Regions						 
var FRASelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Alsace')",
"('Aquitaine')",
"('Auvergne')",
"('Bourgogne')",
"('Bretagne')",
"('Centre')",
"('Champagne-Ardenne')",
"('Corsica')",
"('Franche-Comté')",
"('Île-de-France')",
"('Languedoc-Roussillon')",
"('Limousin')",
"('Lorraine')",
"('Midi-Pyrénées')",
"('Nord-Pas de Calais')",
"('Basse-Normandie')",
"('Haute-Normandie')",
"('Pays de la Loire')",
"('Picardie')",
"('Poitou-Charentes')",
"('Provence-Alpes-Côte d'Azur')",
"('Rhône-Alpes')",
"('French Guiana')",
"('Guadeloupe')",
"('Martinique')",
"('Réunion')");

//Germany State
var DEUSelArray =  new Array("('Select State','',true,true)",
"('Do Not Know')",
"('Baden-Württemberg')",
"('Free State of Bavaria')",
"('Berlin')",
"('Brandenburg')",
"('Free Hanseatic City of Bremen')",
"('Free and Hanseatic City of Hamburg')",
"('Hesse')",
"('Mecklenburg-Western Pomerania')",
"('Lower Saxony')",
"('North Rhine-Westphalia')",
"('Rhineland-Palatinate')",
"('Saarland')",
"('Free State of Saxony')",
"('Schleswig-Holstein')",
"('Free State of Thuringia')");

//Ireland Region  
var IRLSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Border')",
"('West')",
"('Midland')",
"('Mid-East')",
"('Dublin')",
"('South-East')",
"('South-West')",
"('Mid-West')");

//Italy Region 
var ITASelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Abruzzo')",
"('Aosta Valley')",
"('Apulia')",
"('Basilicata')",
"('Calabria')",
"('Campania Naples')",
"('Emilia-Romagna')",
"('Friuli-Venezia Giulia')",
"('Lazio')",
"('Liguria Genoa')",
"('Lombardy')",
"('Marches')",
"('Molise')",
"('Piedmont')",
"('Sardinia')",
"('Sicily')",
"('Trentino-Alto Adige/Südtirol')",
"('Tuscany')",
"('Umbria')",
"('Veneto')");

//Luxembourg Cantons
var LUXSelArray =  new Array("('Select Canton','',true,true)",
"('Do Not Know')",
"('Capellen')",
"('Clervaux')",
"('Diekirch')",
"('Echternach')",
"('Esch-sur-Alzette')",
"('Grevenmacher')",
"('Luxembourg')",
"('Mersch')",
"('Redange')",
"('Remich')",
"('Vianden')",
"('Wiltz')");	   

//Netherlands Region 
var NLDSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Artois')",
"('Flanders')",
"('Mechelen')",
"('Namur')",
"('Zeeland')",
"('Holland')",
"('Brabant')",
"('Limburg')",
"('Luxemburg')",
"('Utrecht')",
"('West-Frisia')",
"('Guelders')",
"('Groningen')",
"('Ommelanden')",
"('Drenthe')",
"('Overijssel')");	

// New Zealand Region 
var NZLSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Northland')",
"('Auckland')",
"('Waikato')",
"('Bay of Plenty')",
"('East Cape')",
"('Hawkes Bay')",
"('Taranaki')",
"('Manawatu-Wanganui')",
"('Wellington')",
"('Tasman')",
"('Nelson')",
"('Marlborough')",
"('West Coast')",
"('Canterbury')",
"('Otago')",
"('Southland')");	
   

//Norway Counties	 
var NORSelArray =  new Array("('Select County','',true,true)",
"('Do Not Know')",
"('Akershus')",
"('Aust-Agder')",
"('Buskerud')",
"('Finnmark')",
"('Hedmark')",
"('Hordaland')",
"('Møre og Romsdal')",
"('Nordland')",
"('Nord-Trøndelag')",
"('Oppland')",
"('Oslo')",
"('Østfold')",
"('Rogaland')",
"('Sogn og Fjordane')",
"('Sør-Trøndelag')",
"('Telemark')",
"('Troms')",
"('Vest-Agder')",
"('Vestfold')");	   

//Portugal States 
var PRTSelArray =  new Array("('Select State','',true,true)",
"('Do Not Know')",
"('Aveiro')",
"('Azores')",
"('Beja')",
"('Braga')",
"('Braganca')",
"('Castelo Branco')",
"('Coimbra')",
"('Evora')",
"('Faro')",
"('Guarda')",
"('Leiria')",
"('Lisboa')",
"('Madeira Islands')",
"('Portalegre')",
"('Porto')",
"('Santarem')",
"('Setubal')",
"('Viana do Castelo')",
"('Vila Real')",
"('Viseu')");	   

//Spain States	  
var ESPSelArray =  new Array("('Select State','',true,true)",
"('Do Not Know')",
"('A Coruna')",
"('La Coruna')",
"('Alava')",
"('Albacete')",
"('Alicante')",
"('Almeria')",
"('Asturias')",
"('Avila')",
"('Badajoz')",
"('Balearic Islands')",
"('Barcelona')",
"('Biscay')",
"('Burgos')",
"('Caceres')",
"('Cadiz')",
"('Cantabria')",
"('Castellón')",
"('Ceuta')",
"('Ciudad Real')",
"('Cordoba')",
"('Cuenca')",
"('Gerona/Girona')",
"('Granada')",
"('Guadalajara')",
"('Guipuscoa')",
"('Huelva')",
"('Huesca')",
"('Jaen')",
"('Las Palmas de Gran Canaria')",
"('Leon')",
"('Lerida/Lleida')",
"('Lugo')",
"('Madrid')",
"('Malaga')",
"('Melilla')",
"('Murcia')",
"('Navarre')",
"('Orense/Ourense')",
"('Palencia')",
"('Pontevedra')",
"('La Rioja')",
"('Salamanca')",
"('Santa Cruz de Tenerife')",
"('Segovia')",
"('Seville')",
"('Soria')",
"('Tarragona')",
"('Teruel')",
"('Toledo')",
"('Valencia')",
"('Valladolid')",
"('Zamora')",
"('Zaragoza')");	   

//Sweden Counties							 
var SWESelArray =  new Array("('Select County','',true,true)",
"('Do Not Know')",
"('Stockholm')",
"('Västerbotten')",
"('Norrbotten')",
"('Uppsala')",
"('Södermanland')",
"('Östergötland')",
"('Jönköping')",
"('Kronoberg')",
"('Kalmar')",
"('Gotland')",
"('Blekinge')",
"('Skåne')",
"('Halland')",
"('Västra Götaland')",
"('Värmland')",
"('Örebro')",
"('Västmanland')",
"('Dalarna')",
"('Gävleborg')",
"('Västernorrland')",
"('Jämtland')");	   

//Switzerland Cantons   
var CHESelArray =  new Array("('Select Canton','',true,true)",
"('Do Not Know')",
"('Zürich')",
"('Bern/Berne')",
"('Luzern')",
"('Uri')",
"('Schwyz')",
"('Unterwalden')",
"('Glarus')",
"('Zug')",
"('Freiburg/Fribourg ')",
"('Basel')",
"('Schaffhausen')",
"('Appenzell')",
"('Sankt Gallen')",
"('Graubünden')",
"('Aargau')",
"('Thurgau')",
"('Ticino')",
"('Vaud')",
"('Valais/Wallis')",
"('Neuchâtel')",
"('Genève')",
"('Jura')");	   

//United Arab Emirates States 
var ARESelArray =  new Array("('Select State','',true,true)",
"('Do Not Know')",
"('None')",
"('Abu Zaby')",
"('Ajman')",
"('Dubayy')",
"('Al Fujayrah')",
"('Ras al Khaymah')",
"('Ash Shariqah')",
"('Umm al Qaywayn')");	   

var USASelArray =  new Array("('Select State','',true,true)",
"('Do Not Know')",
"('Alabama','AL')",
"('Alaska','AK')",
"('Arizona','AZ')",
"('Arkansas','AR')",
"('California','CA')",
"('Colorado','CO')",
"('Connecticut','CT')",
"('Delaware','DE')",
"('District of Columbia','DC')",
"('Florida','FL')",
"('Georgia','GA')",
"('Hawaii','HI')",
"('Idaho','ID')",
"('Illinois','IL')",
"('Indiana','IN')",
"('Iowa','IA')",
"('Kansas','KS')",
"('Kentucky','KY')",
"('Louisiana','LA')",
"('Maine','ME')",
"('Maryland','MD')",
"('Massachusetts','MA')",
"('Michigan','MI')",
"('Minnesota','MN')",
"('Mississippi','MS')",
"('Missouri','MO')",
"('Montana','MT')",
"('Nebraska','NE')",
"('Nevada','NV')",
"('New Hampshire','NH')",
"('New Jersey','NJ')",
"('New Mexico','NM')",
"('New York','NY')",
"('North Carolina','NC')",
"('North Dakota','ND')",
"('Ohio','OH')",
"('Oklahoma','OK')",
"('Oregon','OR')",
"('Pennsylvania','PA')",
"('Rhode Island','RI')",
"('South Carolina','SC')",
"('South Dakota','SD')",
"('Tennessee','TN')",
"('Texas','TX')",
"('Utah','UT')",
"('Vermont','VT')",
"('Virginia','VA')",
"('Washington','WA')",
"('West Virginia','WV')",
"('Wisconsin','WI')",
"('Wyoming','WY')");

var VIRSelArray =  new Array("('Select Island','',true,true)",
"('Do Not Know')",
"('Saint Croix')",
"('Saint John')",
"('Saint Thomas')",
"('Water Island')");

var CANSelArray =  new Array("('Select Province/Territory','',true,true)",
"('Do Not Know')",
"('Alberta')",
"('British Columbia')",
"('Manitoba')",
"('New Brunswick')",
"('Newfoundland & Labrador')",
"('Northwest Territories')",
"('Nova Scotia')",
"('Nunavut')",
"('Ontario')",
"('Prince Edward Island')",
"('Quebec')",
"('Saskatchewan')",
"('Yukon Territory')");	 

var INDSelArray =  new Array("('Select State/Territory','',true,true)",
"('Do Not Know')",
"('Andhra Pradesh')",
"('Arunachal Pradesh')",
"('Assam')",
"('Bihar')",
"('Chhattisgarh')",
"('Goa')",
"('Gujarat')",
"('Haryana')",
"('Himachal Pradesh')",
"('Jammu and Kashmir')",
"('Jharkhand')",
"('Karnataka')",
"('Kerala')",
"('Madhya Pradesh')",
"('Maharashtra')",
"('Manipur')",
"('Meghalaya')",
"('Mizoram')",
"('Nagaland')",
"('Orissa')",
"('Punjab')",
"('Rajasthan')",
"('Sikkim')",
"('Tamil Nadu')",
"('Tripura')",
"('Uttar Pradesh')",
"('Uttarakhand')",
"('West Bengal')",
"('Andaman and Nicobar Islands')",
"('Chandigarh')",
"('Dadra and Nagar Haveli')",
"('Daman and Diu')",
"('Lakshadweep')",
"('National Capital Territory of Delhi')",
"('Puducherry')");	 

var MEXSelArray =  new Array("('Select State','',true,true)",
"('Do Not Know')",
"('Aguascalientes')",
"('Baja California')",
"('Baja California Sur')",
"('Campeche')",
"('Chiapas')",
"('Chihuahua')",
"('Coahuila')",
"('Colima')",
"('Distrito Federal')",
"('Durango')",
"('Guanajuato')",
"('Guerrero')",
"('Hidalgo')",
"('Jalisco')",
"('México')",
"('Michoacán')",
"('Morelos')",
"('Nayarit')",
"('Nuevo León')",
"('Oaxaca')",
"('Puebla')",
"('Querétaro')",
"('Quintana Roo')",
"('San Luis Potosí')",
"('Sinaloa')",
"('Sonora')",
"('Tabasco')",
"('Tamaulipas')",
"('Veracruz')",
"('Yucatán')",
"('Zacatecas')");

var GBRSelArray =  new Array("('Select Area','',true,true)",
"('Do Not Know')",
"('England')",
"('Northern Ireland')",
"('Scotland')",
"('Wales')");

var AUSSelArray =  new Array("('Select State/Territory','',true,true)",
"('Do Not Know')",
"('Victoria')",
"('New South Wales')",
"('Tasmania')",
"('Queensland')",
"('South Australia')",
"('Western Australia')",
"('Northern Territory')",
"('Australian Capital Territory')");

var CRISelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Alajuela')",
"('Cartago')",
"('Guanacaste')",
"('Heredia')",
"('Limon')",
"('Puntarenas')",
"('San Jose')");

var ZAFSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Eastern Cape - Bhisho')",
"('Free State - Bloemfontein')",
"('Gauteng - Johannesburg')",
"('KwaZulu-Natal - Pietermaritzburg')",
"('Limpopo - Polokwane')",
"('Mpumalanga - Nelspruit')",
"('Northern Cape - Kimberley')",
"('North West - Mafikeng')",
"('Western Cape - Cape Town')");

var CYMSelArray =  new Array("('Select Region','',true,true)",
"('Do Not Know')",
"('Cayman Brad Island')",
"('Grand Cayman Island')",
"('Little Cayman Island')");

var OtherSelArray =  new Array("('State/Province/Territory','',true,true)",
"('Other')");

var SelArray =  new Array("('State/Province/Territory','',true,true)",
"('Other')");

function srchArray( searchString, arraySA ) {
 var I = 0;
 var minI = 0;
 var maxI = arraySA.length - 1;
 var s = "";
 var foundB = false;
 I = minI - 1;
 while ( ( I <= maxI ) && ( !( foundB ) ) ) {
  I = I + 1;
  s = arraySA[ I ];
  foundB = ( searchString == s );
  }
 if ( foundB ) { return( I ); } else { return( -1);} // some negative number indicating not found
} 

function initcountry(inForm) {
  if (inForm.PreferredCountry != null) {
  for (var i=0; i < CountryNameArray.length; i++) {eval("inForm.PreferredCountry.options[i]=" + "new Option" + CountryNameArray[i]);}
  for (var i=0; i < USASelArray.length; i++) {eval("inForm.PreferredState.options[i]=" + "new Option" + USASelArray[i]);}
  }
  if (inForm.Country != null) {
  for (var i=0; i < CountryNameArray.length; i++) {eval("inForm.Country.options[i]=" + "new Option" + CountryNameArray[i]);}
  for (var i=0; i < USASelArray.length; i++) {eval("inForm.State.options[i]=" + "new Option" + USASelArray[i]);}
  }
}

function populatePreferredState(inForm,selected) {
	if (selected == 'Other') {
	   newCountry = "";
	   while (newCountry == ""){
	   		 newCountry=prompt ("Please enter the name of your country.", "");
		}
		if (newCountry != null) {
		   inForm.PreferredCountry.options[(inForm.PreferredCountry.options.length-1)]=new Option(newCountry,newCountry,true,true);
		   inForm.PreferredCountry.options[inForm.PreferredCountry.options.length]=new Option('Other, not listed','Other');
	   	 }
	}
  while (inForm.PreferredState.options.length > 0) {inForm.PreferredState.options[(inForm.PreferredState.options.length - 1)] = null;}
  if (srchArray(selected,CountryArray) < 0) {
    var selectedArray = eval("OtherSelArray");
  } else {
  var selectedArray = eval(selected + "SelArray");
  }
  while (selectedArray.length < inForm.PreferredState.options.length) {inForm.PreferredState.options[(inForm.PreferredState.options.length - 1)] = null;}
  for (var i=0; i < selectedArray.length; i++) {eval("inForm.PreferredState.options[i]=" + "new Option" + selectedArray[i]);}
  if (inForm.PreferredCountry.options[0].value == '') {
  	 inForm.PreferredCountry.options[0]= null;
	 if ( navigator.appName == 'Netscape') {
	 	if (parseInt(navigator.appVersion) < 4) {window.history.go(0);}
	  } else {   	
	  	if (navigator.platform == 'Win32' || navigator.platform == 'Win16') {window.history.go(0);}
      }
   }
}

function populateState(inForm,selected) {
	if (selected == 'Other') {
	   newCountry = "";
	   while (newCountry == ""){
	   		 newCountry=prompt ("Please enter the name of the country.", "");
		}
		if (newCountry != null) {
		   inForm.Country.options[(inForm.Country.options.length-1)]=new Option(newCountry,newCountry,true,true);
		   inForm.Country.options[inForm.Country.options.length]=new Option('Other, not listed','Other');
	   	 }
	}
  while (inForm.State.options.length > 0) {inForm.State.options[(inForm.State.options.length - 1)] = null;}
  if (srchArray(selected,CountryArray) < 0) {
    var selectedArray = eval("OtherSelArray");
  } else {
  var selectedArray = eval(selected + "SelArray");
  }
  while (selectedArray.length < inForm.State.options.length) {inForm.State.options[(inForm.State.options.length - 1)] = null;}
  for (var i=0; i < selectedArray.length; i++) {eval("inForm.State.options[i]=" + "new Option" + selectedArray[i]);}
  if (inForm.Country.options[0].value == '') {
  	 inForm.Country.options[0]= null;
	 if ( navigator.appName == 'Netscape') {
	 	if (parseInt(navigator.appVersion) < 4) {window.history.go(0);}
	  } else {   	
	  	if (navigator.platform == 'Win32' || navigator.platform == 'Win16') {window.history.go(0);}
      }
   }
}

function populateOther(inForm,selected) {
	if (selected == 'Other') {
	   newState = "";
	   while (newState == "") {
	   		 newState=prompt ("Please enter the name of state/province/territory.", "");
		}
		if (newState != null) {
		   inForm.PreferredState.options[(inForm.PreferredState.options.length-1)]=new Option(newState,newState,true,true);
		   inForm.PreferredState.options[inForm.PreferredState.options.length]=new Option('Other, not listed','Other');
	   	 }
	}
}

function populateStates() {
populatePreferredState(document.FindBestAgent,document.FindBestAgent.PreferredCountry.options[document.FindBestAgent.PreferredCountry.selectedIndex].value);
populateState(document.FindBestAgent,document.FindBestAgent.Country.options[document.FindBestAgent.Country.selectedIndex].value);
}

