var StateNames;
var StateCodes;

function InitStateCodes()
{
   StateNames = new Array();
   StateCodes = new Array();
   
	 StateNames[0] = "Alabama";         StateCodes[0] = "AL";
	 StateNames[1] = "Alaska";          StateCodes[1] = "AK";
	 StateNames[2] = "Arizona";         StateCodes[2] = "AZ";
	 StateNames[3] = "Arkansas";        StateCodes[3] = "AR";
	 StateNames[4] = "California";      StateCodes[4] = "CA";
	 StateNames[5] = "Colorado";        StateCodes[5] = "CO";
	 StateNames[6] = "Connecticut";     StateCodes[6] = "CT";
	 StateNames[7] = "Delaware";        StateCodes[7] = "DE";
	 StateNames[8] = "Florida";         StateCodes[8] = "FL";
	 StateNames[9] = "Georgia";         StateCodes[9] = "GA";
	StateNames[10] = "Hawaii";         StateCodes[10] = "HI";
	StateNames[11] = "Idaho";          StateCodes[11] = "ID";
	StateNames[12] = "Illinois";       StateCodes[12] = "IL";
	StateNames[13] = "Indiana";        StateCodes[13] = "IN";
	StateNames[14] = "Iowa";           StateCodes[14] = "IA";
	StateNames[15] = "Kansas";         StateCodes[15] = "KS";
	StateNames[16] = "Kentucky";       StateCodes[16] = "KY";
	StateNames[17] = "Louisiana";      StateCodes[17] = "LA";
	StateNames[18] = "Maine";          StateCodes[18] = "ME";
	StateNames[19] = "Maryland";       StateCodes[19] = "MD";
	StateNames[20] = "Massachusetts";  StateCodes[20] = "MA";
	StateNames[21] = "Michigan";       StateCodes[21] = "MI";
	StateNames[22] = "Minnesota";      StateCodes[22] = "MN";
	StateNames[23] = "Mississippi";    StateCodes[23] = "MS";
	StateNames[24] = "Missouri";       StateCodes[24] = "MO";
	StateNames[25] = "Montana";        StateCodes[25] = "MT";
	StateNames[26] = "Nebraska";       StateCodes[26] = "NE";
	StateNames[27] = "Nevada";         StateCodes[27] = "NV";
	StateNames[28] = "New Hampshire";  StateCodes[28] = "NH";
	StateNames[29] = "New Jersey";     StateCodes[29] = "NJ";
	StateNames[30] = "New Mexico";     StateCodes[30] = "NM";
	StateNames[31] = "New York";       StateCodes[31] = "NY";
	StateNames[32] = "North Carolina"; StateCodes[32] = "NC";
	StateNames[33] = "North Dakota";   StateCodes[33] = "ND";
	StateNames[34] = "Ohio";           StateCodes[34] = "OH";
	StateNames[35] = "Oklahoma";       StateCodes[35] = "OK";
	StateNames[36] = "Oregon";         StateCodes[36] = "OR";
	StateNames[37] = "Pennsylvania";   StateCodes[37] = "PA";
	StateNames[38] = "Rhode Island";   StateCodes[38] = "RI";
	StateNames[39] = "South Carolina"; StateCodes[39] = "SC";
	StateNames[40] = "South Dakota";   StateCodes[40] = "SD";
	StateNames[41] = "Tennessee";      StateCodes[41] = "TN";
  StateNames[42] = "Texas";          StateCodes[42] = "TX";
  StateNames[43] = "Utah";           StateCodes[43] = "UT";
  StateNames[44] = "Vermont";        StateCodes[44] = "VT";
  StateNames[45] = "Virginia";       StateCodes[45] = "VA";
  StateNames[46] = "Washington";     StateCodes[46] = "WA";
  StateNames[47] = "West Virginia";  StateCodes[47] = "WV";
  StateNames[48] = "Wisconsin";      StateCodes[48] = "WI";
  StateNames[49] = "Wyoming";        StateCodes[49] = "WY";
}

function ConvertStateCode(state)
{
  if (state==null)
    return "";
    
  var s = state.toUpperCase();
  s = s.replace(/(^\s+|\s+$)/g,''); //remove any whitespace
  
  if (s.length==2)
  {
    var i;
    for (i=0; i<50; i++)
    {
      if (s.match(StateCodes[i])!=null)
      {
        return StateNames[i]; 
      }
    }
  }
  //no conversion possible, just return the state as it was passed in
  return state;
}

function FreeStateCodes()
{
  State = null;
  Code = null;
}