// State table
// 
// To edit the list, just delete a line or add a line.  Order is important.  The order 
// displayed is the order it appears on the drop down.
//
var state = '\
AR:Buenos Aires:Buenos Aires|\
AR:Catamarca:Catamarca|\
AR:Chaco:Chaco|\
AR:Chubut:Chubut|\
AR:Cordoba:Cordoba|\
AR:Corrientes:Corrientes|\
AR:Entre Rios:Entre Rios|\
AR:Formosa:Formosa|\
AR:Jujuy:Jujuy|\
AR:La Pampa:La Pampa|\
AR:La Rioja:La Rioja|\
AR:Mendoza:Mendoza|\
AR:Misiones:Misiones|\
AR:Neuquen:Neuquen|\
AR:Rio Negro:Rio Negro|\
AR:Salta:Salta|\
AR:San Juan:San Juan|\
AR:San Luis:San Luis|\
AR:Santa Fe:Santa Fe|\
AR:Santa Cruz:Santa Cruz|\
AR:Santiago del Estero:Santiago del Estero|\
AR:Tierra del Fuego:Tierra del Fuego|\
AR:Tucuman:Tucuman|\
BO:Beni:Beni|\
BO:Chuquisaca:Chuquisaca|\
BO:Cochabamba:Cochabamba|\
BO:La Paz:La Paz|\
BO:Oruro:Oruro|\
BO:Pando:Pando|\
BO:Potosi:Potosi|\
BO:Santa Cruz:Santa Cruz|\
BO:Tarija:Tarija|\
BR:Acre:Acre|\
BR:Alagoas:Alagoas|\
BR:Amapa:Amapa|\
BR:Amazonas:Amazonas|\
BR:Bahia:Bahia|\
BR:Ceara:Ceara|\
BR:Distrito Federal:Distrito Federal|\
BR:Espirito Santo:Espirito Santo|\
BR:Goias:Goias|\
BR:Minas Gerais:Minas Gerais|\
BR:Maranhao:Maranhao|\
BR:Mato Grosso:Mato Grosso|\
BR:Mato Grosso do Sul:Mato Grosso do Sul|\
BR:Para:Para|\
BR:Paraiba:Paraiba|\
BR:Parana:Parana|\
BR:Pernambuco:Pernambuco|\
BR:Piaui:Piaui|\
BR:Rio Grande do Norte:Rio Grande do Norte|\
BR:Rio Grande do Sul:Rio Grande do Sul|\
BR:Rio de Janeiro:Rio de Janeiro|\
BR:Roraima:Roraima|\
BR:Rondônia:Rondônia|\
BR:Santa Catarina:Santa Catarina|\
BR:Sao Paulo:Sao Paulo|\
BR:Sergipe:Sergipe|\
BR:Tocantins:Tocantins|\
CL:Antofagasta:Antofagasta|\
CL:Araucania:Araucania|\
CL:Arica y Parinacota:Arica y Parinacota|\
CL:Atacama:Atacama|\
CL:Biobio:Biobio|\
CL:Coquimbo:Coquimbo|\
CL:General Carlos Ibanez del Campo:General Carlos Ibanez del Campo|\
CL:Libertador General Bernardo OHiggins Riquelme:Libertador General Bernardo OHiggins Riquelme|\
CL:Los Lagos:Los Lagos|\
CL:Los Rios:Los Rios|\
CL:Magallanes:Magallanes|\
CL:Maule:Maule|\
CL:Metropolitana:Metropolitana|\
CL:Tarapaca:Tarapaca|\
CL:Valparaiso:Valparaiso|\
CO:Antioquia:Antioquia|\
CO:Bolivar:Bolivar|\
CO:Boyaca:Boyaca|\
CO:Caldas:Caldas|\
CO:Cauca:Cauca|\
CO:Cundinamarca:Cundinamarca|\
CO:Huila:Huila|\
CO:La Guajira:La Guajira|\
CO:Meta:Meta|\
CO:Narino:Narino|\
CO:Norte de Santander:Norte de Santander|\
CO:Santander:Santander|\
CO:Sucre:Sucre|\
CO:Tolima:Tolima|\
CO:Valle del Cauca:Valle del Cauca|\
CR:Alajuela:Alajuela|\
CR:Cartago:Cartago|\
CR:Guanacaste:Guanacaste|\
CR:Heredia:Heredia|\
CR:Limon:Limon|\
CR:Puntarenas:Puntarenas|\
CR:San Jose:San Jose|\
CU:Camaguey:Camaguey|\
CU:Ciego de avila:Ciego de avila|\
CU:Cienfuegos:Cienfuegos|\
CU:Ciudad de La Habana:Ciudad de La Habana|\
CU:Granma:Granma|\
CU:Guantanamo:Guantanamo|\
CU:Holguin:Holguin|\
CU:Isla de la Juventud:Isla de la Juventud|\
CU:La Habana:La Habana|\
CU:Las Tunas:Las Tunas|\
CU:Matanzas:Matanzas|\
CU:Pinar del Rio:Pinar del Rio|\
CU:Sancti Spiritus:Sancti Spiritus|\
CU:Santiago de Cuba:Santiago de Cuba|\
CU:Villa Clara:Villa Clara|\
EC:Azuay:Azuay|\
EC:Bolivar:Bolivar|\
EC:Canar:Canar|\
EC:Carchi:Carchi|\
EC:Chimborazo:Chimborazo|\
EC:Cotopaxi:Cotopaxi|\
EC:El Oro:El Oro|\
EC:Esmeraldas:Esmeraldas|\
EC:Galapagos:Galapagos|\
EC:Guayas:Guayas|\
EC:Imbabura:Imbabura|\
EC:Loja:Loja|\
EC:Los Rios:Los Rios|\
EC:Manabi:Manabi|\
EC:Morona Santiago:Morona Santiago|\
EC:Napo:Napo|\
EC:Orellana:Orellana|\
EC:Pastaza:Pastaza|\
EC:Pichincha:Pichincha|\
EC:Santa Elena:Santa Elena|\
EC:Sto. Domingo de los Tsachilas:Sto. Domingo de los Tsachilas|\
EC:Sucumbios:Sucumbios|\
EC:Tungurahua:Tungurahua|\
EC:Zamora:Zamora|\
SV:Ahuachapan:Ahuachapan|\
SV:Cabanas:Cabanas|\
SV:Cuscatlan:Cuscatlan|\
SV:Chalatenango:Chalatenango|\
SV:La Libertad:La Libertad|\
SV:La Paz:La Paz|\
SV:La Union:La Union|\
SV:Morazan:Morazan|\
SV:San Miguel:San Miguel|\
SV:San Salvador:San Salvador|\
SV:San Vicente:San Vicente|\
SV:Santa Ana:Santa Ana|\
SV:Sonsonate:Sonsonate|\
SV:Usulutan:Usulutan|\
GT:Alta Verapaz:Alta Verapaz|\
GT:Baja Verapaz:Baja Verapaz|\
GT:Chimaltenango:Chimaltenango|\
GT:Chiquimula:Chiquimula|\
GT:Peten:Peten|\
GT:El Progreso:El Progreso|\
GT:Quiche:Quiche|\
GT:Escuintla:Escuintla|\
GT:Guatemala:Guatemala|\
GT:Huehuetenango:Huehuetenango|\
GT:Izabal:Izabal|\
GT:Jalapa:Jalapa|\
GT:Jutiapa:Jutiapa|\
GT:Quetzaltenango:Quetzaltenango|\
GT:Retalhuleu:Retalhuleu|\
GT:Sacatepequez:Sacatepequez|\
GT:San Marcos:San Marcos|\
GT:Santa Rosa:Santa Rosa|\
GT:Solola:Solola|\
GT:Suchitepequez:Suchitepequez|\
GT:Totonicapan:Totonicapan|\
GT:Zacapa:Zacapa|\
HN:Atlantida:Atlantida|\
HN:Choluteca:Choluteca|\
HN:Colon:Colon|\
HN:Comayagua:Comayagua|\
HN:Copan:Copan|\
HN:Cortes:Cortes|\
HN:El Paraiso:El Paraiso|\
HN:Francisco Morazan:Francisco Morazan|\
HN:Gracias a Dios:Gracias a Dios|\
HN:Intibuca:Intibuca|\
HN:Islas de la Bahia:Islas de la Bahia|\
HN:La Paz:La Paz|\
HN:Lempira:Lempira|\
HN:Ocotepeque:Ocotepeque|\
HN:Olancho:Olancho|\
HN:Santa Barbara:Santa Barbara|\
HN:Valle:Valle|\
HN:Yoro:Yoro|\
MX:Distrito Federa:Distrito Federa|\
MX:Aguascalientes:Aguascalientes|\
MX:Baja California:Baja California|\
MX:Baja California:Baja California|\
MX:Campeche:Campeche|\
MX:Chiapas:Chiapas|\
MX:Chihuahua:Chihuahua|\
MX:Coahuila:Coahuila|\
MX:Colima:Colima|\
MX:Durango:Durango|\
MX:Guanajuato:Guanajuato|\
MX:Guerrero:Guerrero|\
MX:Hidalgo:Hidalgo|\
MX:Jalisco:Jalisco|\
MX:Mexico:Mexico|\
MX:Michoacan:Michoacan|\
MX:Morelos:Morelos|\
MX:Nayarit:Nayarit|\
MX:Nuevo Leon:Nuevo Leon|\
MX:Oaxaca:Oaxaca|\
MX:Puebla:Puebla|\
MX:Queretaro:Queretaro|\
MX:Quintana Roo:Quintana Roo|\
MX:San Luis Potosi:San Luis Potosi|\
MX:Sinaloa:Sinaloa|\
MX:Sonora:Sonora|\
MX:Tabasco:Tabasco|\
MX:Tamaulipas:Tamaulipas|\
MX:Tlaxcala:Tlaxcala|\
MX:Veracruz:Veracruz|\
MX:Yucatan:Yucatan|\
MX:Zacatecas:Zacatecas|\
NI:Boaco:Boaco|\
NI:Carazo:Carazo|\
NI:Chinandega:Chinandega|\
NI:Chontales:Chontales|\
NI:Esteli:Esteli|\
NI:Granada:Granada|\
NI:Jinotega:Jinotega|\
NI:Leon:Leon|\
NI:Madriz:Madriz|\
NI:Managua:Managua|\
NI:Masaya:Masaya|\
NI:Matagalpa:Matagalpa|\
NI:Nueva Segovia:Nueva Segovia|\
NI:Rivas:Rivas|\
NI:Rio San Juan:Rio San Juan|\
NI:Region Autonoma del Atlantico Norte:Region Autonoma del Atlantico Norte|\
NI:Region Autonoma del Atlantico Sur:Region Autonoma del Atlantico Sur|\
PA:Bocas del Toro:Bocas del Toro|\
PA:Chiriqui:Chiriqui|\
PA:Cocle:Cocle|\
PA:Colon:Colon|\
PA:Darien:Darien|\
PA:Herrera:Herrera|\
PA:Los Santos:Los Santos|\
PA:Panama:Panama|\
PA:Veraguas:Veraguas|\
PY:Distrito Capital:Distrito Capital|\
PY:Alto Paraguay:Alto Paraguay|\
PY:Alto Parana:Alto Parana|\
PY:Amambay:Amambay|\
PY:Boqueron:Boqueron|\
PY:Caaguazu:Caaguazu|\
PY:Caazapa:Caazapa|\
PY:Canindeyu:Canindeyu|\
PY:Central:Central|\
PY:Concepcion:Concepcion|\
PY:Cordillera:Cordillera|\
PY:Guaira:Guaira|\
PY:Itapua:Itapua|\
PY:Misiones:Misiones|\
PY:neembucu:neembucu|\
PY:Paraguari:Paraguari|\
PY:Presidente Hayes:Presidente Hayes|\
PY:San Pedro:San Pedro|\
PE:Amazonas:Amazonas|\
PE:ancash:ancash|\
PE:Apurimac:Apurimac|\
PE:Arequipa:Arequipa|\
PE:Ayacucho:Ayacucho|\
PE:Cajamarca:Cajamarca|\
PE:Callao:Callao|\
PE:Cusco:Cusco|\
PE:Huancavelica:Huancavelica|\
PE:Huanuco:Huanuco|\
PE:Ica:Ica|\
PE:Junin:Junin|\
PE:La Libertad:La Libertad|\
PE:Lambayeque:Lambayeque|\
PE:Lima:Lima|\
PE:Loreto:Loreto|\
PE:Madre de Dios:Madre de Dios|\
PE:Moquegua:Moquegua|\
PE:Pasco:Pasco|\
PE:Piura:Piura|\
PE:Puno:Puno|\
PE:San Martin:San Martin|\
PE:Tacna:Tacna|\
PE:Tumbes:Tumbes|\
PE:Ucayali:Ucayali|\
RD:Azua:Azua|\
RD:Bahoruco:Bahoruco|\
RD:Barahona:Barahona|\
RD:Dajabon:Dajabon|\
RD:Distrito Nacional:Distrito Nacional|\
RD:Duarte:Duarte|\
RD:Elias Pina:Elias Pina|\
RD:El Seibo:El Seibo|\
RD:Espaillat:Espaillat|\
RD:Hato Mayor:Hato Mayor|\
RD:Hermanas Mirabal:Hermanas Mirabal|\
RD:Independencia:Independencia|\
RD:La Altagracia:La Altagracia|\
RD:La Romana:La Romana|\
RD:La Vega:La Vega|\
RD:Maria Trinidad Sanchez:Maria Trinidad Sanchez|\
RD:Monsenor Nouel:Monsenor Nouel|\
RD:Montecristi:Montecristi|\
RD:Monte Plata:Monte Plata|\
RD:Pedernales:Pedernales|\
RD:Peravia:Peravia|\
RD:Puerto Plata:Puerto Plata|\
RD:Samana:Samana|\
RD:Sanchez Ramirez:Sanchez Ramirez|\
RD:San Cristobal:San Cristobal|\
RD:San Jose de Ocoa:San Jose de Ocoa|\
RD:San Juan:San Juan|\
RD:San Pedro de Macoris:San Pedro de Macoris|\
RD:Santiago:Santiago|\
RD:Santiago Rodriguez:Santiago Rodriguez|\
RD:Santo Domingo:Santo Domingo|\
RD:Valverde:Valverde|\
UY:Artigas:Artigas|\
UY:Canelones:Canelones|\
UY:Cerro Largo:Cerro Largo|\
UY:Colonia:Colonia|\
UY:Durazno:Durazno|\
UY:Flores:Flores|\
UY:Florida:Florida|\
UY:Lavalleja:Lavalleja|\
UY:Maldonado:Maldonado|\
UY:Montevideo:Montevideo|\
UY:Paysandu:Paysandu|\
UY:Rio Negro:Rio Negro|\
UY:Rivera:Rivera|\
UY:Rocha:Rocha|\
UY:Salto:Salto|\
UY:San Jose:San Jose|\
UY:Soriano:Soriano|\
UY:Tacuarembo:Tacuarembo|\
UY:Treinta y Tres:Treinta y Tres|\
VE:Amazonas:Amazonas|\
VE:Anzoategui:Anzoategui|\
VE:Apure:Apure|\
VE:Aragua:Aragua|\
VE:Barinas:Barinas|\
VE:Bolivar:Bolivar|\
VE:Carabobo:Carabobo|\
VE:Cojedes:Cojedes|\
VE:Delta Amacuro:Delta Amacuro|\
VE:Dependencias Federales:Dependencias Federales|\
VE:Distrito Capital:Distrito Capital|\
VE:Falcon:Falcon|\
VE:Guarico:Guarico|\
VE:Lara:Lara|\
VE:Merida:Merida|\
VE:Miranda:Miranda|\
VE:Monagas:Monagas|\
VE:Nueva Esparta:Nueva Esparta|\
VE:Portuguesa:Portuguesa|\
VE:Sucr:Sucr|\
VE:Tachira:Tachira|\
VE:Trujillo:Trujillo|\
VE:Vargas:Vargas|\
VE:Yaracuy:Yaracuy|\
VE:Zulia:Zulia|\
SV:Santa Ana:Santa Ana|\
SV:Sonsonate:Sonsonate|\
SV:Usulutan:Usulutan|\
GT:Alta Verapaz:Alta Verapaz|\
GT:Baja Verapaz:Baja Verapaz|\
GT:Chimaltenango:Chimaltenango|\
GT:Chiquimula:Chiquimula|\
GT:Peten:Peten|\
GT:El Progreso:El Progreso|\
GT:Quiche:Quiche|\
GT:Escuintla:Escuintla|\
GT:Guatemala:Guatemala|\
GT:Huehuetenango:Huehuetenango|\
GT:Izabal:Izabal|\
GT:Jalapa:Jalapa|\
GT:Jutiapa:Jutiapa|\
GT:Quetzaltenango:Quetzaltenango|\
GT:Retalhuleu:Retalhuleu|\
GT:Sacatepequez:Sacatepequez|\
GT:San Marcos:San Marcos|\
GT:Santa Rosa:Santa Rosa|\
GT:Solola:Solola|\
GT:Suchitepequez:Suchitepequez|\
GT:Totonicapan:Totonicapan|\
GT:Zacapa:Zacapa|\
HN:Atlantida:Atlantida|\
HN:Choluteca:Choluteca|\
HN:Colon:Colon|\
HN:Comayagua:Comayagua|\
HN:Copan:Copan|\
HN:Cortes:Cortes|\
HN:El Paraiso:El Paraiso|\
HN:Francisco Morazan:Francisco Morazan|\
HN:Gracias a Dios:Gracias a Dios|\
HN:Intibuca:Intibuca|\
HN:Islas de la Bahia:Islas de la Bahia|\
HN:La Paz:La Paz|\
HN:Lempira:Lempira|\
HN:Ocotepeque:Ocotepeque|\
HN:Olancho:Olancho|\
HN:Santa Barbara:Santa Barbara|\
HN:Valle:Valle|\
HN:Yoro:Yoro|\
MX:Distrito Federa:Distrito Federa|\
MX:Aguascalientes:Aguascalientes|\
MX:Baja California:Baja California|\
MX:Baja California:Baja California|\
MX:Campeche:Campeche|\
MX:Chiapas:Chiapas|\
MX:Chihuahua:Chihuahua|\
MX:Coahuila:Coahuila|\
MX:Colima:Colima|\
MX:Durango:Durango|\
MX:Guanajuato:Guanajuato|\
MX:Guerrero:Guerrero|\
MX:Hidalgo:Hidalgo|\
MX:Jalisco:Jalisco|\
MX:Mexico:Mexico|\
MX:Michoacan:Michoacan|\
MX:Morelos:Morelos|\
MX:Nayarit:Nayarit|\
MX:Nuevo Leon:Nuevo Leon|\
MX:Oaxaca:Oaxaca|\
MX:Puebla:Puebla|\
MX:Queretaro:Queretaro|\
MX:Quintana Roo:Quintana Roo|\
MX:San Luis Potosi:San Luis Potosi|\
MX:Sinaloa:Sinaloa|\
MX:Sonora:Sonora|\
MX:Tabasco:Tabasco|\
MX:Tamaulipas:Tamaulipas|\
MX:Tlaxcala:Tlaxcala|\
MX:Veracruz:Veracruz|\
MX:Yucatan:Yucatan|\
MX:Zacatecas:Zacatecas|\
NI:Boaco:Boaco|\
NI:Carazo:Carazo|\
NI:Chinandega:Chinandega|\
NI:Chontales:Chontales|\
NI:Esteli:Esteli|\
NI:Granada:Granada|\
NI:Jinotega:Jinotega|\
NI:Leon:Leon|\
NI:Madriz:Madriz|\
NI:Managua:Managua|\
NI:Masaya:Masaya|\
NI:Matagalpa:Matagalpa|\
NI:Nueva Segovia:Nueva Segovia|\
NI:Rivas:Rivas|\
NI:Rio San Juan:Rio San Juan|\
NI:Region Autonoma del Atlantico Norte:Region Autonoma del Atlantico Norte|\
NI:Region Autonoma del Atlantico Sur:Region Autonoma del Atlantico Sur|\
PA:Bocas del Toro:Bocas del Toro|\
PA:Chiriqui:Chiriqui|\
PA:Cocle:Cocle|\
PA:Colon:Colon|\
PA:Darien:Darien|\
PA:Herrera:Herrera|\
PA:Los Santos:Los Santos|\
PA:Panama:Panama|\
PA:Veraguas:Veraguas|\
PY:Distrito Capital:Distrito Capital|\
PY:Alto Paraguay:Alto Paraguay|\
PY:Alto Parana:Alto Parana|\
PY:Amambay:Amambay|\
PY:Boqueron:Boqueron|\
PY:Caaguazu:Caaguazu|\
PY:Caazapa:Caazapa|\
PY:Canindeyu:Canindeyu|\
PY:Central:Central|\
PY:Concepcion:Concepcion|\
PY:Cordillera:Cordillera|\
PY:Guaira:Guaira|\
PY:Itapua:Itapua|\
PY:Misiones:Misiones|\
PY:neembucu:neembucu|\
PY:Paraguari:Paraguari|\
PY:Presidente Hayes:Presidente Hayes|\
PY:San Pedro:San Pedro|\
PE:Amazonas:Amazonas|\
PE:ancash:ancash|\
PE:Apurimac:Apurimac|\
PE:Arequipa:Arequipa|\
PE:Ayacucho:Ayacucho|\
PE:Cajamarca:Cajamarca|\
PE:Callao:Callao|\
PE:Cusco:Cusco|\
PE:Huancavelica:Huancavelica|\
PE:Huanuco:Huanuco|\
PE:Ica:Ica|\
PE:Junin:Junin|\
PE:La Libertad:La Libertad|\
PE:Lambayeque:Lambayeque|\
PE:Lima:Lima|\
PE:Loreto:Loreto|\
PE:Madre de Dios:Madre de Dios|\
PE:Moquegua:Moquegua|\
PE:Pasco:Pasco|\
PE:Piura:Piura|\
PE:Puno:Puno|\
PE:San Martin:San Martin|\
PE:Tacna:Tacna|\
PE:Tumbes:Tumbes|\
PE:Ucayali:Ucayali|\
RD:Azua:Azua|\
RD:Bahoruco:Bahoruco|\
RD:Barahona:Barahona|\
RD:Dajabon:Dajabon|\
RD:Distrito Nacional:Distrito Nacional|\
RD:Duarte:Duarte|\
RD:Elias Pina:Elias Pina|\
';

// Country data table
//
// 
// To edit the list, just delete a line or add a line.  Order is important.  The order 
// displayed is the order it appears on the drop down.
//
var country = '\
AR:Argentina|\
BO:Bolivia|\
BR:Brasil|\
CL:Chile|\
CO:Colombia|\
CR:Costa Rica|\
CU:Cuba|\
EC:Ecuador|\
SV:El Salvador|\
GT:Guatemala|\
HN:Honduras|\
MX:Mexico|\
NI:Nicaragua|\
PA:Panama|\
PY:Paraguay|\
PE:Peru|\
RD:Republica Dominicana|\
UY:Uruguay|\
VE:Venezuela|\
';

// Save the country & state field names
var countryFieldCfgArray = document.getElementById('cs_config_country_field').value.split(' ');
var stateFieldCfgArray   = document.getElementById('cs_config_state_field').value.split(' ');

// Save the names of the fields that hold the country & state default values
var countryDefaultCfgArray = document.getElementById('cs_config_country_default').value.split(' ');
var stateDefaultCfgArray   = document.getElementById('cs_config_state_default').value.split(' ');

var defaultState = false;
var defaultCountry = false;

function TrimString(sInString) {
   
   if ( sInString ) {

      sInString = sInString.replace( /^\s+/g, "" );// strip leading
      return sInString.replace( /\s+$/g, "" );// strip trailing
   }
}
// Populates the country select with the counties from the country list
//
function populateCountry(idName) {

   var countryLineArray = country.split('|');      // Split into lines

   var selObj = document.getElementById( idName );

   selObj.options[0] = new Option('Select Country','');
   selObj.selectedIndex = 0;

   for (var loop = 0; loop < countryLineArray.length; loop++) {

      lineArray = countryLineArray[loop].split(':');

      countryCode  = TrimString(lineArray[0]);
      countryName  = TrimString(lineArray[1]);
   
      if ( countryCode != '' ) {

         selObj.options[loop + 1] = new Option(countryName, countryCode);
      }

      if ( defaultCountry == countryCode ) {

         selObj.selectedIndex = loop + 1;
      }
   }
}
function populateState( statestateIdName, countryIdName ) {

   var selObj = document.getElementById( stateIdName );
   var foundState = false;

   // Empty options just in case new drop down is shorter
   //
   if ( selObj.type == 'select-one' ) {

      selObj.options.length = 0;

      selObj.options[0] = new Option('Select State','');
      selObj.selectedIndex = 0;
   }
   // Populate the drop down with states from the selected country
   //
   var stateLineArray   = state.split("|");        // Split into lines

   var optionCntr = 1;

   for (var loop = 0; loop < stateLineArray.length; loop++) {

      lineArray = stateLineArray[loop].split(":");

      countryCode  = TrimString(lineArray[0]);
      stateCode    = TrimString(lineArray[1]);
      stateName    = TrimString(lineArray[2]);

      if ( document.getElementById( countryIdName ).value == countryCode && countryCode != '' ) {

         // If it's a input element, change it to a select
         //
         if ( selObj.type == 'text' ) {

            parentObj = document.getElementById( stateIdName ).parentNode;
            parentObj.removeChild(selObj);

            var inputSel = document.createElement("SELECT");
            inputSel.setAttribute("name","state"); 
            inputSel.setAttribute("id", stateIdName ); 

            parentObj.appendChild(inputSel) ;

            selObj = document.getElementById( stateIdName );
            selObj.options[0] = new Option('Select State','');
            selObj.selectedIndex = 0;
         }
   
         if ( stateCode != '' ) {

            selObj.options[optionCntr] = new Option(stateName, stateCode);
         }
         // See if it's selected from a previous post
         //
         if ( stateCode == defaultState && countryCode == defaultCountry ) {

            selObj.selectedIndex = optionCntr;
         }
         foundState = true;
         optionCntr++
      }
   }
   // If the country has no states, change the select to a text box
   //
   if ( ! foundState ) {

      parentObj = document.getElementById( stateIdName ).parentNode;
      parentObj.removeChild(selObj);
 
      // Create the Input Field
      var inputEl = document.createElement("INPUT");

      inputEl.setAttribute("id",  stateIdName ); 
      inputEl.setAttribute("type", "text"); 
      inputEl.setAttribute("name", "state"); 
      inputEl.setAttribute("size", 20); 
      inputEl.setAttribute("value", defaultState); 
      parentObj.appendChild(inputEl) ;
   }
   
}
// Called when state drop down is changed
// 
function updateState( countryIdNameIn ) {

   for (var loop = 0; loop < countryFieldCfgArray.length; loop++) {
   
      countryIdName  = countryFieldCfgArray[loop];
      stateIdName    = stateFieldCfgArray[loop];

      // Read the default value hidden fields
      defaultCountry = document.getElementById( countryDefaultCfgArray[loop] ).value;
      defaultState   = document.getElementById( stateDefaultCfgArray[loop] ).value;

      if ( countryIdNameIn == countryIdName ) {

         populateState( stateIdName, countryIdName );
      }
   }
}
// Initialize the drop downs
// 
function initCountry() {

   for (var loop = 0; loop < countryFieldCfgArray.length; loop++) {
   
      countryIdName  = countryFieldCfgArray[loop];
      stateIdName    = stateFieldCfgArray[loop];

      // Read the default value hidden fields
      defaultCountry = document.getElementById( countryDefaultCfgArray[loop] ).value;
      defaultState   = document.getElementById( stateDefaultCfgArray[loop] ).value;

      populateCountry( countryIdName);
      populateState( stateIdName, countryIdName );
   }
}


