var postState = '';
var postCountry = '';

// State table
//
// To edit the list, just delete a line or add a line. Order is important.
// The order displayed here is the order it appears on the drop down.
//
var state = '\
AU:AAT:Australian Antarctic Territory|\
AU:ACT:Australian Capital Territory |\
AU:NSW:New South Wales|\
AU:NT:Northern Territory|\
AU:QLD:Queensland|\
AU:SA:South Australia|\
AU:TAS:Tasmania|\
AU:VIC:Victoria|\
AU:WA:Western Australia|\
BR:AC:Acre|\
BR:AL:Alagoas|\
BR:AM:Amazonas|\
BR:AP:Amapa|\
BR:BA:Baia|\
BR:CE:Ceara|\
BR:DF:Distrito Federal|\
BR:ES:Espirito Santo|\
BR:FN:Fernando de Noronha|\
BR:GO:Goias|\
BR:MA:Maranhao|\
BR:MG:Minas Gerais|\
BR:MS:Mato Grosso do Sul|\
BR:MT:Mato Grosso|\
BR:PA:Para|\
BR:PB:Paraiba|\
BR:PE:Pernambuco|\
BR:PI:Piaui|\
BR:PR:Parana|\
BR:RJ:Rio de Janeiro|\
BR:RN:Rio Grande do Norte|\
BR:RO:Rondonia|\
BR:RR:Roraima|\
BR:RS:Rio Grande do Sul|\
BR:SC:Santa Catarina|\
BR:SE:Sergipe|\
BR:SP:Sao Paulo|\
BR:TO:Tocatins|\
CA:AB:Alberta|\
CA:BC:British Columbia|\
CA:MB:Manitoba|\
CA:NB:New Brunswick|\
CA:NL:Newfoundland and Labrador|\
CA:NS:Nova Scotia|\
CA:NT:Northwest Territories|\
CA:NU:Nunavut|\
CA:ON:Ontario|\
CA:PE:Prince Edward Island|\
CA:QC:Quebec|\
CA:SK:Saskatchewan|\
CA:YT:Yukon Territory|\
IE:CCA:Co. Carlow|\
IE:CCA1:Co. Cavan|\
IE:CCK:Co. Cork|\
IE:CCL:Co. Clare|\
IE:CDL:Co. Dublin|\
IE:CDO:Co. Donegal|\
IE:CGA:Co. Galway|\
IE:CKE:Co. Kerry|\
IE:CKI:Co. Kildare|\
IE:CKI1:Co. Kilkenny|\
IE:CLE:Co. Leitrim|\
IE:CLE1:Co. Leix|\
IE:CLI:Co. Limerick|\
IE:CLO:Co. Longford|\
IE:CLO1:Co. Louth|\
IE:CMA:Co. Mayo|\
IE:CME:Co. Meath|\
IE:CMO:Co. Monaghan|\
IE:COF:Co. Offaly|\
IE:CRO:Co. Roscommon|\
IE:CSL:Co. Sligo|\
IE:CTI:Co. Tipperary|\
IE:CWA:Co. Waterford|\
IE:CWE:Co. Westmeath|\
IE:CWE1:Co. Wexford|\
IE:CWI:Co. Wicklow|\
IN:NULL:Andhra Pradesh|\
IN:NULL:Gujrat|\
IN:NULL:Harina|\
IN:NULL:Karnataka|\
IN:NULL:Maharastra|\
IN:NULL:Mdhya Pradesh|\
IN:NULL:Rajasthan|\
IN:NULL:Tamilnadu|\
IN:NULL:West Bengal|\
UK:A2:Aberdeenshire|\
UK:AB:Aberdeen|\
UK:AD:Airdrie|\
UK:AN:Angus|\
UK:AR:Argyllshire|\
UK:AVON:Avon|\
UK:AY:Ayr|\
UK:AY2:Ayrshire|\
UK:BEDS:Bedfordshire|\
UK:BERKS:Berkshire|\
UK:BM:Birmingham|\
UK:BU:Bute|\
UK:BUCKS:Buckinghamshire|\
UK:CAMBS:Cambridgeshire|\
UK:CD:Clydebank|\
UK:CHESH:Cheshire|\
UK:CI:Channel Island|\
UK:CK:Clackmannanshire|\
UK:CLEVE:Cleveland|\
UK:COAN:Co. Antrim|\
UK:COAR:Co. Armagh|\
UK:COCN:Cornwall|\
UK:COCO:Coatbridge|\
UK:COCU:Cumbernauld|\
UK:CODE:Co. Derry|\
UK:CODF:Dyfed|\
UK:CODM:Dumferline|\
UK:CODN:Denbyshire|\
UK:CODN:Dundee|\
UK:CODO:Co. Down|\
UK:CODU:Durham|\
UK:CODW:Dunbartonshire|\
UK:CODX:Dumfrieshire|\
UK:COEA:East Lothian|\
UK:COEB:Edinburgh|\
UK:COEK:East Kilbride|\
UK:COES:East Sussex|\
UK:COEX:Essex|\
UK:COFE:Co. Fermanagh|\
UK:COFI:Fife|\
UK:COGC:Gloucestershire|\
UK:COGG:Glasgow|\
UK:COGN:Greenock|\
UK:COGS:Guernsey|\
UK:COGW:Gwent|\
UK:COGY:Gwynedd|\
UK:COHB:Humberside|\
UK:COHE:Herts|\
UK:COHE:Northern Ireland (UK)|\
UK:COHF:Hertfordshire|\
UK:COHM:Hamilton|\
UK:COHS:Hampshire|\
UK:COHW:Hereford & Worcestershire|\
UK:COIM:Isle of Man|\
UK:COIN:Inverclyde|\
UK:COIW:Isle of Wight|\
UK:COJS:Jersey|\
UK:COKC:Kirkcaldy|\
UK:COKI:Kinross|\
UK:COKM:Kilmarnock|\
UK:COKT:Kent|\
UK:COLA:Lanarkshire|\
UK:COLC:Lancashire|\
UK:COLN:Lincolnshire|\
UK:COLT:Leicestershire|\
UK:COMG:Mid Glamorgan|\
UK:COMI:Midlothian|\
UK:COMO:Moray|\
UK:COMS:Merseyside|\
UK:COMX:Middlesex|\
UK:CONA:Northamptonshire|\
UK:CONF:Norfolk|\
UK:CONI:Northern Ireland|\
UK:CONY:North Yorkshire|\
UK:COPE:Perthshire|\
UK:COPL:Paisley|\
UK:COPW:Powys|\
UK:CORE:Renfrewshire|\
UK:COSG:South Glamorgan|\
UK:COSG:Stirlingshire|\
UK:COSY:South Yorkshire|\
UK:COTW:Tyne & Wear|\
UK:COTY:Co. Tyrone|\
UK:COWE:West Lothian|\
UK:COWG:West Glamorgan|\
UK:CUMB:Cumbria|\
UK:CW:Clwyd|\
UK:DERBY:Derbyshire|\
UK:DEVON:Devon|\
UK:DORSET:Dorset|\
UK:GLONDON:Greater London|\
UK:GMANCH:Greater Manchester|\
UK:NOTTS:Nottinghamshire|\
UK:NTHUMB:Northumberland|\
UK:OXON:Oxfordshire|\
UK:SHROPS:Shropshire|\
UK:SOM:Somerset|\
UK:STAFFS:Staffordshire|\
UK:SUFF:Suffolk|\
UK:SURREY:Surrey|\
UK:SUSS:Sussex|\
UK:WARKS:Warwickshire|\
UK:WILTS:Wiltshire|\
UK:WMID:West Midlands|\
UK:WS:West Sussex|\
UK:WY:West Yorkshire|\
UK:YORK:Yorkshire|\
US:AK:Alaska|\
US:AL:Alabama|\
US:AR:Arkansas|\
US:AZ:Arizona|\
US:CA:California|\
US:CO:Colorado|\
US:CT:Connecticut|\
US:DC:District of Columbia|\
US:DE:Delaware|\
US:FL:Florida|\
US:GA:Georgia|\
US:HI:Hawaii|\
US:IA:Iowa|\
US:ID:Idaho|\
US:IL:Illinois|\
US:IN:Indiana|\
US:KS:Kansas|\
US:KY:Kentucky|\
US:LA:Louisiana|\
US:MA:Massachusetts|\
US:MD:Maryland|\
US:ME:Maine|\
US:MI:Michigan|\
US:MN:Minnesota|\
US:MO:Missouri|\
US:MS:Mississippi|\
US:MT:Montana|\
US:NC:North Carolina|\
US:ND:North Dakota|\
US:NE:Nebraska|\
US:NH:New Hampshire|\
US:NJ:New Jersey|\
US:NM:New Mexico|\
US:NV:Nevada|\
US:NY:New York|\
US:OH:Ohio|\
US:OK:Oklahoma|\
US:OR:Oregon|\
US:PA:Pennsylvania|\
US:PR:Puerto Rico|\
US:RI:Rhode Island|\
US:SC:South Carolina|\
US:SD:South Dakota|\
US:TN:Tennessee|\
US:TX:Texas|\
US:UT:Utah|\
US:VA:Virginia|\
US:VI:Virgin Islands|\
US:VT:Vermont|\
US:WA:Washington|\
US:WI:Wisconsin|\
US:WV:West Virginia|\
US:WY:Wyoming|\
';

// Country data table
//
// To edit the list, just delete a line or add a line. Order is important.
// The order displayed here is the order it appears on the drop down.
//
var country = '\
US:United States|\
UK:United Kingdom|\
AU:Australia|\
CA:Canada|\
ZA:South Africa|\
NZ:New Zealand|\
DZ:Algeria|\
AR:Argentina|\
AW:Aruba|\
AT:Austria|\
BS:Bahamas|\
BH:Bahrain|\
BE:Belgium|\
BM:Bermuda|\
BO:Bolivia|\
BR:Brazil|\
BG:Bulgaria|\
CN:China|\
CR:Costa Rica|\
CY:Cyprus|\
CZ:Czech Republic|\
DK:Denmark|\
EG:Egypt|\
FI:Finland|\
FX:France|\
GM:Gambia|\
DE:Germany|\
GH:Ghana|\
GR:Greece|\
GU:Guam|\
HK:Hong Kong|\
HU:Hungary|\
IN:India|\
ID:Indonesia|\
IE:Ireland|\
IL:Israel|\
IT:Italy|\
JM:Jamaica|\
JP:Japan|\
JO:Jordan|\
KE:Kenya|\
KP:Korea|\
KW:Kuwait|\
LT:Lithuania|\
LU:Luxembourg|\
MT:Malta|\
MY:Malaysia|\
MU:Mauritius|\
MX:Mexico|\
MA:Morocco|\
MZ:Mozambique|\
NA:Namibia|\
AN:Netherlands Antilles|\
NG:Nigeria|\
NO:Norway|\
PK:Pakistan|\
PA:Panama|\
PE:Peru|\
PH:Philippines|\
PL:Poland|\
PT:Portugal|\
QA:Qatar|\
RO:Romania|\
RU:Russian Federation|\
SA:Saudi Arabia|\
SG:Singapore|\
ES:Spain|\
LK:Sri Lanka|\
SD:Sudan|\
SE:Sweden|\
CH:Switzerland|\
SY:Syrian Arab Republic|\
TJ:Tajikistan|\
TH:Thailand|\
TT:Trinidad And Tobago|\
TR:Turkey|\
UG:Uganda|\
UA:Ukraine|\
AE:United Arab Emirates|\
VE:Venezuela|\
VN:Vietnam|\
ZW:Zimbabwe|\
';

function TrimString(sInString) {
  if ( sInString ) {
    sInString = sInString.replace( /^\s+/g, "" );// strip leading
    return sInString.replace( /\s+$/g, "" );// strip trailing
  }
}

// Populates the country selected with the counties from the country list
function populateCountry(defaultCountry) {
  if ( postCountry != '' ) {
    defaultCountry = postCountry;
  }
  var countryLineArray = country.split('|');  // Split into lines
  var selObj = document.getElementById('countrySelect');
  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() {
  var selObj = document.getElementById('stateSelect');
  var foundState = false;
  // Empty options just in case new drop down is shorter
  if ( selObj.type == 'select-one' ) {
    for (var i = 0; i < selObj.options.length; i++) {
      selObj.options[i] = null;
    }
    selObj.options.length=null;
    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('countrySelect').value == countryCode && countryCode != '' ) {
    // If it's a input element, change it to a select
      if ( selObj.type == 'text' ) {
        parentObj = document.getElementById('stateSelect').parentNode;
        parentObj.removeChild(selObj);
        var inputSel = document.createElement("SELECT");
        inputSel.setAttribute("name","state");
        inputSel.setAttribute("id","stateSelect");
        parentObj.appendChild(inputSel) ;
        selObj = document.getElementById('stateSelect');
        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 == postState && countryCode == postCountry ) {
        selObj.selectedIndex = optionCntr;
      }
      foundState = true;
      optionCntr++
    }
  }
  // If the country has no states, change the select to a text box
  if ( ! foundState ) {
    parentObj = document.getElementById('stateSelect').parentNode;
    parentObj.removeChild(selObj);
  // Create the Input Field
    var inputEl = document.createElement("INPUT");
    inputEl.setAttribute("id", "stateSelect");
    inputEl.setAttribute("type", "text");
    inputEl.setAttribute("name", "state");
    inputEl.setAttribute("size", 20);
    inputEl.setAttribute("value", postState);
    parentObj.appendChild(inputEl) ;
  }
}

function initCountry(country) {
  populateCountry(country);
  populateState();
}


// state and country 2

var postState2 = '';
var postCountry2 = '';

// State table
//
// To edit the list, just delete a line or add a line. Order is important.
// The order displayed here is the order it appears on the drop down.
//
var state2 = '\
AU:AAT:Australian Antarctic Territory|\
AU:ACT:Australian Capital Territory |\
AU:NSW:New South Wales|\
AU:NT:Northern Territory|\
AU:QLD:Queensland|\
AU:SA:South Australia|\
AU:TAS:Tasmania|\
AU:VIC:Victoria|\
AU:WA:Western Australia|\
BR:AC:Acre|\
BR:AL:Alagoas|\
BR:AM:Amazonas|\
BR:AP:Amapa|\
BR:BA:Baia|\
BR:CE:Ceara|\
BR:DF:Distrito Federal|\
BR:ES:Espirito Santo|\
BR:FN:Fernando de Noronha|\
BR:GO:Goias|\
BR:MA:Maranhao|\
BR:MG:Minas Gerais|\
BR:MS:Mato Grosso do Sul|\
BR:MT:Mato Grosso|\
BR:PA:Para|\
BR:PB:Paraiba|\
BR:PE:Pernambuco|\
BR:PI:Piaui|\
BR:PR:Parana|\
BR:RJ:Rio de Janeiro|\
BR:RN:Rio Grande do Norte|\
BR:RO:Rondonia|\
BR:RR:Roraima|\
BR:RS:Rio Grande do Sul|\
BR:SC:Santa Catarina|\
BR:SE:Sergipe|\
BR:SP:Sao Paulo|\
BR:TO:Tocatins|\
CA:AB:Alberta|\
CA:BC:British Columbia|\
CA:MB:Manitoba|\
CA:NB:New Brunswick|\
CA:NL:Newfoundland and Labrador|\
CA:NS:Nova Scotia|\
CA:NT:Northwest Territories|\
CA:NU:Nunavut|\
CA:ON:Ontario|\
CA:PE:Prince Edward Island|\
CA:QC:Quebec|\
CA:SK:Saskatchewan|\
CA:YT:Yukon Territory|\
IE:CCA:Co. Carlow|\
IE:CCA1:Co. Cavan|\
IE:CCK:Co. Cork|\
IE:CCL:Co. Clare|\
IE:CDL:Co. Dublin|\
IE:CDO:Co. Donegal|\
IE:CGA:Co. Galway|\
IE:CKE:Co. Kerry|\
IE:CKI:Co. Kildare|\
IE:CKI1:Co. Kilkenny|\
IE:CLE:Co. Leitrim|\
IE:CLE1:Co. Leix|\
IE:CLI:Co. Limerick|\
IE:CLO:Co. Longford|\
IE:CLO1:Co. Louth|\
IE:CMA:Co. Mayo|\
IE:CME:Co. Meath|\
IE:CMO:Co. Monaghan|\
IE:COF:Co. Offaly|\
IE:CRO:Co. Roscommon|\
IE:CSL:Co. Sligo|\
IE:CTI:Co. Tipperary|\
IE:CWA:Co. Waterford|\
IE:CWE:Co. Westmeath|\
IE:CWE1:Co. Wexford|\
IE:CWI:Co. Wicklow|\
IN:NULL:Andhra Pradesh|\
IN:NULL:Gujrat|\
IN:NULL:Harina|\
IN:NULL:Karnataka|\
IN:NULL:Maharastra|\
IN:NULL:Mdhya Pradesh|\
IN:NULL:Rajasthan|\
IN:NULL:Tamilnadu|\
IN:NULL:West Bengal|\
UK:A2:Aberdeenshire|\
UK:AB:Aberdeen|\
UK:AD:Airdrie|\
UK:AN:Angus|\
UK:AR:Argyllshire|\
UK:AVON:Avon|\
UK:AY:Ayr|\
UK:AY2:Ayrshire|\
UK:BEDS:Bedfordshire|\
UK:BERKS:Berkshire|\
UK:BM:Birmingham|\
UK:BU:Bute|\
UK:BUCKS:Buckinghamshire|\
UK:CAMBS:Cambridgeshire|\
UK:CD:Clydebank|\
UK:CHESH:Cheshire|\
UK:CI:Channel Island|\
UK:CK:Clackmannanshire|\
UK:CLEVE:Cleveland|\
UK:COAN:Co. Antrim|\
UK:COAR:Co. Armagh|\
UK:COCN:Cornwall|\
UK:COCO:Coatbridge|\
UK:COCU:Cumbernauld|\
UK:CODE:Co. Derry|\
UK:CODF:Dyfed|\
UK:CODM:Dumferline|\
UK:CODN:Denbyshire|\
UK:CODN:Dundee|\
UK:CODO:Co. Down|\
UK:CODU:Durham|\
UK:CODW:Dunbartonshire|\
UK:CODX:Dumfrieshire|\
UK:COEA:East Lothian|\
UK:COEB:Edinburgh|\
UK:COEK:East Kilbride|\
UK:COES:East Sussex|\
UK:COEX:Essex|\
UK:COFE:Co. Fermanagh|\
UK:COFI:Fife|\
UK:COGC:Gloucestershire|\
UK:COGG:Glasgow|\
UK:COGN:Greenock|\
UK:COGS:Guernsey|\
UK:COGW:Gwent|\
UK:COGY:Gwynedd|\
UK:COHB:Humberside|\
UK:COHE:Herts|\
UK:COHE:Northern Ireland (UK)|\
UK:COHF:Hertfordshire|\
UK:COHM:Hamilton|\
UK:COHS:Hampshire|\
UK:COHW:Hereford & Worcestershire|\
UK:COIM:Isle of Man|\
UK:COIN:Inverclyde|\
UK:COIW:Isle of Wight|\
UK:COJS:Jersey|\
UK:COKC:Kirkcaldy|\
UK:COKI:Kinross|\
UK:COKM:Kilmarnock|\
UK:COKT:Kent|\
UK:COLA:Lanarkshire|\
UK:COLC:Lancashire|\
UK:COLN:Lincolnshire|\
UK:COLT:Leicestershire|\
UK:COMG:Mid Glamorgan|\
UK:COMI:Midlothian|\
UK:COMO:Moray|\
UK:COMS:Merseyside|\
UK:COMX:Middlesex|\
UK:CONA:Northamptonshire|\
UK:CONF:Norfolk|\
UK:CONI:Northern Ireland|\
UK:CONY:North Yorkshire|\
UK:COPE:Perthshire|\
UK:COPL:Paisley|\
UK:COPW:Powys|\
UK:CORE:Renfrewshire|\
UK:COSG:South Glamorgan|\
UK:COSG:Stirlingshire|\
UK:COSY:South Yorkshire|\
UK:COTW:Tyne & Wear|\
UK:COTY:Co. Tyrone|\
UK:COWE:West Lothian|\
UK:COWG:West Glamorgan|\
UK:CUMB:Cumbria|\
UK:CW:Clwyd|\
UK:DERBY:Derbyshire|\
UK:DEVON:Devon|\
UK:DORSET:Dorset|\
UK:GLONDON:Greater London|\
UK:GMANCH:Greater Manchester|\
UK:NOTTS:Nottinghamshire|\
UK:NTHUMB:Northumberland|\
UK:OXON:Oxfordshire|\
UK:SHROPS:Shropshire|\
UK:SOM:Somerset|\
UK:STAFFS:Staffordshire|\
UK:SUFF:Suffolk|\
UK:SURREY:Surrey|\
UK:SUSS:Sussex|\
UK:WARKS:Warwickshire|\
UK:WILTS:Wiltshire|\
UK:WMID:West Midlands|\
UK:WS:West Sussex|\
UK:WY:West Yorkshire|\
UK:YORK:Yorkshire|\
US:AK:Alaska|\
US:AL:Alabama|\
US:AR:Arkansas|\
US:AZ:Arizona|\
US:CA:California|\
US:CO:Colorado|\
US:CT:Connecticut|\
US:DC:District of Columbia|\
US:DE:Delaware|\
US:FL:Florida|\
US:GA:Georgia|\
US:HI:Hawaii|\
US:IA:Iowa|\
US:ID:Idaho|\
US:IL:Illinois|\
US:IN:Indiana|\
US:KS:Kansas|\
US:KY:Kentucky|\
US:LA:Louisiana|\
US:MA:Massachusetts|\
US:MD:Maryland|\
US:ME:Maine|\
US:MI:Michigan|\
US:MN:Minnesota|\
US:MO:Missouri|\
US:MS:Mississippi|\
US:MT:Montana|\
US:NC:North Carolina|\
US:ND:North Dakota|\
US:NE:Nebraska|\
US:NH:New Hampshire|\
US:NJ:New Jersey|\
US:NM:New Mexico|\
US:NV:Nevada|\
US:NY:New York|\
US:OH:Ohio|\
US:OK:Oklahoma|\
US:OR:Oregon|\
US:PA:Pennsylvania|\
US:PR:Puerto Rico|\
US:RI:Rhode Island|\
US:SC:South Carolina|\
US:SD:South Dakota|\
US:TN:Tennessee|\
US:TX:Texas|\
US:UT:Utah|\
US:VA:Virginia|\
US:VI:Virgin Islands|\
US:VT:Vermont|\
US:WA:Washington|\
US:WI:Wisconsin|\
US:WV:West Virginia|\
US:WY:Wyoming|\
';

// Country data table
//
// To edit the list, just delete a line or add a line. Order is important.
// The order displayed here is the order it appears on the drop down.
//
var country2 = '\
US:United States|\
UK:United Kingdom|\
AU:Australia|\
CA:Canada|\
ZA:South Africa|\
NZ:New Zealand|\
DZ:Algeria|\
AR:Argentina|\
AW:Aruba|\
AT:Austria|\
BS:Bahamas|\
BH:Bahrain|\
BE:Belgium|\
BM:Bermuda|\
BO:Bolivia|\
BR:Brazil|\
BG:Bulgaria|\
CN:China|\
CR:Costa Rica|\
CY:Cyprus|\
CZ:Czech Republic|\
DK:Denmark|\
EG:Egypt|\
FI:Finland|\
FX:France|\
GM:Gambia|\
DE:Germany|\
GH:Ghana|\
GR:Greece|\
GU:Guam|\
HK:Hong Kong|\
HU:Hungary|\
IN:India|\
ID:Indonesia|\
IE:Ireland|\
IL:Israel|\
IT:Italy|\
JM:Jamaica|\
JP:Japan|\
JO:Jordan|\
KE:Kenya|\
KP:Korea|\
KW:Kuwait|\
LT:Lithuania|\
LU:Luxembourg|\
MT:Malta|\
MY:Malaysia|\
MU:Mauritius|\
MX:Mexico|\
MA:Morocco|\
MZ:Mozambique|\
NA:Namibia|\
AN:Netherlands Antilles|\
NG:Nigeria|\
NO:Norway|\
PK:Pakistan|\
PA:Panama|\
PE:Peru|\
PH:Philippines|\
PL:Poland|\
PT:Portugal|\
QA:Qatar|\
RO:Romania|\
RU:Russian Federation|\
SA:Saudi Arabia|\
SG:Singapore|\
ES:Spain|\
LK:Sri Lanka|\
SD:Sudan|\
SE:Sweden|\
CH:Switzerland|\
SY:Syrian Arab Republic|\
TJ:Tajikistan|\
TH:Thailand|\
TT:Trinidad And Tobago|\
TR:Turkey|\
UG:Uganda|\
UA:Ukraine|\
AE:United Arab Emirates|\
VE:Venezuela|\
VN:Vietnam|\
ZW:Zimbabwe|\
';

function TrimString(sInString) {
  if ( sInString ) {
    sInString = sInString.replace( /^\s+/g, "" );// strip leading
    return sInString.replace( /\s+$/g, "" );// strip trailing
  }
}

// Populates the country selected with the counties from the country list
function populateCountry2(defaultCountry) {
  if ( postCountry2 != '' ) {
    defaultCountry = postCountry2;
  }
  var countryLineArray = country.split('|');  // Split into lines
  var selObj = document.getElementById('countrySelect2');
  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 populateState2() {
  var selObj = document.getElementById('stateSelect2');
  var foundState = false;
  // Empty options just in case new drop down is shorter
  if ( selObj.type == 'select-one' ) {
    for (var i = 0; i < selObj.options.length; i++) {
      selObj.options[i] = null;
    }
    selObj.options.length=null;
    selObj.options[0] = new Option('Select State','');
    selObj.selectedIndex = 0;
  }
  // Populate the drop down with states from the selected country
  var stateLineArray = state2.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('countrySelect2').value == countryCode && countryCode != '' ) {
    // If it's a input element, change it to a select
      if ( selObj.type == 'text' ) {
        parentObj = document.getElementById('stateSelect2').parentNode;
        parentObj.removeChild(selObj);
        var inputSel = document.createElement("SELECT");
        inputSel.setAttribute("name","state2");
        inputSel.setAttribute("id","stateSelect2");
        parentObj.appendChild(inputSel) ;
        selObj = document.getElementById('stateSelect2');
        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 == postState2 && countryCode == postCountry2 ) {
        selObj.selectedIndex = optionCntr;
      }
      foundState = true;
      optionCntr++
    }
  }
  // If the country has no states, change the select to a text box
  if ( ! foundState ) {
    parentObj = document.getElementById('stateSelect2').parentNode;
    parentObj.removeChild(selObj);
  // Create the Input Field
    var inputEl = document.createElement("INPUT");
    inputEl.setAttribute("id", "stateSelect2");
    inputEl.setAttribute("type", "text");
    inputEl.setAttribute("name", "state2");
    inputEl.setAttribute("size", 20);
    inputEl.setAttribute("value", postState2);
    parentObj.appendChild(inputEl) ;
  }
}

function initCountry2(country) {
  populateCountry2(country);
  populateState2();
}
