
function setStateList(selectedState, stateSelector, cntrySelector) {
   setStateList(selectedState, stateSelector, cntrySelector, false);
}

function setStateList(selectedState, stateSelector, cntrySelector, includeEmptyItem) {
   
   // what is selected cntry_cd?
   var cntryCd = cntrySelector.options[cntrySelector.selectedIndex].value;

   setStates(selectedState, stateSelector, cntryCd, includeEmptyItem);

}

function setStateList(selectedState, stateSelector, cntrySelector, includeEmptyItem, stringForNA) {
   
   // what is selected cntry_cd?
   var cntryCd = cntrySelector.options[cntrySelector.selectedIndex].value;

   setStates(selectedState, stateSelector, cntryCd, includeEmptyItem, stringForNA);

}


function setStates(selectedState, stateSelector, cntryCd) {
   setStates(selectedState, stateSelector, cntryCd, false);
}

function setStates(selectedState, stateSelector, cntryCd, includeEmptyItem) {
   setStates(selectedState, stateSelector, cntryCd, includeEmptyItem, "<N/A>");
}



function setStates(selectedState, stateSelector, cntryCd, includeEmptyItem, stringForNA) {

   if( ! stringForNA ) stringForNA = "<N/A>";

   var statesArray = null;
   
   if(cntryCd == 'CANAD') {
      statesArray = new Array(13);
      statesArray[0] = new Option('Alberta','AB');
      statesArray[1] = new Option('British Columbia','BC');
      statesArray[2] = new Option('Manitoba','MB');
      statesArray[3] = new Option('New Brunswick','NB');
      statesArray[4] = new Option('Newfoundlnd Labrador','NL');
      statesArray[5] = new Option('Northern Territory','NT');
      statesArray[6] = new Option('Nova Scotia','NS');
      statesArray[7] = new Option('Nunavut','NU');
      statesArray[8] = new Option('Ontario','ON');
      statesArray[9] = new Option('Prince Edward Island','PE');
      statesArray[10] = new Option('Quebec','QC');
      statesArray[11] = new Option('Saskatchewan','SK');
      statesArray[12] = new Option('Yukon Territory','YT');
   }
   else if(cntryCd == 'ASTRA') {
      statesArray = new Array(8);
      statesArray[0] = new Option('Australian Cap Terr','ACT');
      statesArray[1] = new Option('New South Wales','NSW');
      statesArray[2] = new Option('Northern Territory','NT');
      statesArray[3] = new Option('Queensland','QLD');
      statesArray[4] = new Option('South Australia','SA');
      statesArray[5] = new Option('Tasmania','TAS');
      statesArray[6] = new Option('Victoria','VIC');
      statesArray[7] = new Option('Western Australia','WA');
   }
   else if(cntryCd == 'INDIA') {
      statesArray = new Array(35);
      statesArray[0] = new Option('Andaman & Nicobar','AN');
      statesArray[1] = new Option('Andhra Pradesh','AP');
      statesArray[2] = new Option('Arunachal Pradesh','AR');
      statesArray[3] = new Option('Assam','AS');
      statesArray[4] = new Option('Bihar','BR');
      statesArray[5] = new Option('Chandigarh','CH');
      statesArray[6] = new Option('Chattisgarh','CT');
      statesArray[7] = new Option('Daman and Diu','DD');
      statesArray[8] = new Option('Delhi','DL');
      statesArray[9] = new Option('Dadra & Nagar Haveli','DN');
      statesArray[10] = new Option('Goa','GA');
      statesArray[11] = new Option('Gujarat','GJ');
      statesArray[12] = new Option('Himachal Pradesh','HP');
      statesArray[13] = new Option('Haryana','HR');
      statesArray[14] = new Option('Jharkhand','JH');
      statesArray[15] = new Option('Jammu and Kashmir','JK');
      statesArray[16] = new Option('Karnataka','KA');
      statesArray[17] = new Option('Kerala','KL');
      statesArray[18] = new Option('Lakshadweep','LD');
      statesArray[19] = new Option('Maharashtra','MH');
      statesArray[20] = new Option('Meghalaya','ML');
      statesArray[21] = new Option('Manipur','MN');
      statesArray[22] = new Option('Madhya Pradesh','MP');
      statesArray[23] = new Option('Mizoram','MZ');
      statesArray[24] = new Option('Nagaland','NL');
      statesArray[25] = new Option('Orissa','OR');
      statesArray[26] = new Option('Punjab','PB');
      statesArray[27] = new Option('Pondicherry','PY');
      statesArray[28] = new Option('Rajasthan','RJ');
      statesArray[29] = new Option('Sikkim','SK');
      statesArray[30] = new Option('Tamil Nadu','TN');
      statesArray[31] = new Option('Tripura','TR');
      statesArray[32] = new Option('Uttaranchal','UL');
      statesArray[33] = new Option('Uttar Pradesh','UP');
      statesArray[34] = new Option('West Bengal','WB');
   }
   else if(cntryCd == 'USA') {
   
      statesArray = new Array(63);
      statesArray[0] = new Option('Alabama','AL');
      statesArray[1] = new Option('Alaska','AK');
      statesArray[2] = new Option('Arizona','AZ');
      statesArray[3] = new Option('Arkansas','AR');
      statesArray[4] = new Option('California','CA');
      statesArray[5] = new Option('Colorado','CO');
      statesArray[6] = new Option('Connecticut','CT');
      statesArray[7] = new Option('Delaware','DE');
      statesArray[8] = new Option('District of Columbia','DC');
      statesArray[9] = new Option('Florida','FL');
      statesArray[10] = new Option('Georgia','GA');
      statesArray[11] = new Option('Hawaii','HI');
      statesArray[12] = new Option('Idaho','ID');
      statesArray[13] = new Option('Illinois','IL');
      statesArray[14] = new Option('Indiana','IN');
      statesArray[15] = new Option('Iowa','IA');
      statesArray[16] = new Option('Kansas','KS');
      statesArray[17] = new Option('Kentucky','KY');
      statesArray[18] = new Option('Louisiana','LA');
      statesArray[19] = new Option('Maine','ME');
      statesArray[20] = new Option('Maryland','MD');
      statesArray[21] = new Option('Massachusetts','MA');
      statesArray[22] = new Option('Michigan','MI');
      statesArray[23] = new Option('Minnesota','MN');
      statesArray[24] = new Option('Mississippi','MS');
      statesArray[25] = new Option('Missouri','MO');
      statesArray[26] = new Option('Montana','MT');
      statesArray[27] = new Option('Nebraska','NE');
      statesArray[28] = new Option('Nevada','NV');
      statesArray[29] = new Option('New Hampshire','NH');
      statesArray[30] = new Option('New Jersey','NJ');
      statesArray[31] = new Option('New Mexico','NM');
      statesArray[32] = new Option('New York','NY');
      statesArray[33] = new Option('North Carolina','NC');
      statesArray[34] = new Option('North Dakota','ND');
      statesArray[35] = new Option('Ohio','OH');
      statesArray[36] = new Option('Oklahoma','OK');
      statesArray[37] = new Option('Oregon','OR');
      statesArray[38] = new Option('Pennsylvania','PA');
      statesArray[39] = new Option('Rhode Island','RI');
      statesArray[40] = new Option('South Carolina','SC');
      statesArray[41] = new Option('South Dakota','SD');
      statesArray[42] = new Option('Tennessee','TN');
      statesArray[43] = new Option('Texas','TX');
      statesArray[44] = new Option('Utah','UT');
      statesArray[45] = new Option('Vermont','VT');
      statesArray[46] = new Option('Virginia','VA');
      statesArray[47] = new Option('Washington','WA');
      statesArray[48] = new Option('West Virgina','WV');
      statesArray[49] = new Option('Wisconsin','WI');
      statesArray[50] = new Option('Wyoming','WY');
      statesArray[51] = new Option('American Samoa','AS');
      statesArray[52] = new Option('Armed Forces','AA');
      statesArray[53] = new Option('Armed Forces','AE');
      statesArray[54] = new Option('Army Post Office','AP');
      statesArray[55] = new Option('Fleet Post Office','FP');
      statesArray[56] = new Option('Guam','GU');
      statesArray[57] = new Option('Marshall Islands','MH');
      statesArray[58] = new Option('Micronesia','FM');
      statesArray[59] = new Option('Northern Mariana Is','MP');
      statesArray[60] = new Option('Palau Island','PW');
      statesArray[61] = new Option('Puerto Rico','PR');
      statesArray[62] = new Option('Virgin Islands','VI');
   }

   // clear the current list of states
   for ( j=(stateSelector.options.length - 1); j>=0; j--) {
      stateSelector.options[j] = null;
   }

   // if this country has no states...
   if (statesArray == null) {
      stateSelector.options[0] = new Option(stringForNA,'<N/A>',true,true);
      return;
   }

   // otherwise, insert the new state list
   var offset = 0;
   if (includeEmptyItem) {
      stateSelector.options[0] = new Option(stringForNA,'<N/A>',true,true);
      offset = 1;
   }

   for (j=0; j<statesArray.length; j++) {
      stateSelector.options[j+offset] = statesArray[j];
   }


   foundit = false;
   for (j=0; j<statesArray.length; j++) {
      show = false;
      state = stateSelector.options[j+offset];
      if (!foundit && selectedState != null && selectedState == state.value) {
         state.selected = true;
         foundit = true;
         show = true;
      } else {
         state.selected = false;
      }
   }
   

   if(!foundit) {
      stateSelector.options[0].selected = true;
   }


}


