var states = new Array();
  states.push(new Array("IT", "Agrigento", "AG"));
  states.push(new Array("IT", "Alessandria", "AL"));
  states.push(new Array("IT", "Ancona", "AN"));
  states.push(new Array("IT", "Aosta / Aoste", "AO"));
  states.push(new Array("IT", "Arezzo", "AR"));
  states.push(new Array("IT", "Ascoli Piceno", "AP"));
  states.push(new Array("IT", "Asti", "AT"));
  states.push(new Array("IT", "Avellino", "AV"));
  states.push(new Array("IT", "Bari", "BA"));
  states.push(new Array("IT", "Belluno", "BL"));
  states.push(new Array("IT", "Benevento", "BN"));
  states.push(new Array("IT", "Bergamo", "BG"));
  states.push(new Array("IT", "Biella", "BI"));
  states.push(new Array("IT", "Bologna", "BO"));
  states.push(new Array("IT", "Bolzano / Bolzen", "BZ"));
  states.push(new Array("IT", "Brescia", "BS"));
  states.push(new Array("IT", "Brindisi", "BR"));
  states.push(new Array("IT", "Cagliari", "CA"));
  states.push(new Array("IT", "Caltanisetta", "CL"));
  states.push(new Array("IT", "Campobasso", "CB"));
  states.push(new Array("IT", "Caserta", "CE"));
  states.push(new Array("IT", "Catania", "CT"));
  states.push(new Array("IT", "Catanzaro", "CZ"));
  states.push(new Array("IT", "Chieti", "CH"));
  states.push(new Array("IT", "Como", "CO"));
  states.push(new Array("IT", "Cosenza", "CS"));
  states.push(new Array("IT", "Cremona", "CR"));
  states.push(new Array("IT", "Crotone", "KR"));
  states.push(new Array("IT", "Cuneo", "CN"));
  states.push(new Array("IT", "Enna", "EN"));
  states.push(new Array("IT", "Ferrara", "FE"));
  states.push(new Array("IT", "Firenze", "FI"));
  states.push(new Array("IT", "Foggia", "FG"));
  states.push(new Array("IT", "Forl", "FO"));
  states.push(new Array("IT", "Frosinone", "FR"));
  states.push(new Array("IT", "Genova", "GE"));
  states.push(new Array("IT", "Gorizia", "GO"));
  states.push(new Array("IT", "Grosseto", "GR"));
  states.push(new Array("IT", "Imperia", "IM"));
  states.push(new Array("IT", "Isernia", "IS"));
  states.push(new Array("IT", "L'Aquila", "AQ"));
  states.push(new Array("IT", "La Spezia", "SP"));
  states.push(new Array("IT", "Latina", "LT"));
  states.push(new Array("IT", "Lecce", "LE"));
  states.push(new Array("IT", "Lecco", "LC"));
  states.push(new Array("IT", "Livorno", "LI"));
  states.push(new Array("IT", "Lodi", "LO"));
  states.push(new Array("IT", "Lucca", "LU"));
  states.push(new Array("IT", "Macerata", "MC"));
  states.push(new Array("IT", "Mantova", "MN"));
  states.push(new Array("IT", "Massa-Carrara", "MS"));
  states.push(new Array("IT", "Matera", "MT"));
  states.push(new Array("IT", "Messina", "ME"));
  states.push(new Array("IT", "Milano", "MI"));
  states.push(new Array("IT", "Modena", "MO"));
  states.push(new Array("IT", "Napoli", "NA"));
  states.push(new Array("IT", "Novara", "NO"));
  states.push(new Array("IT", "Nuoro", "NU"));
  states.push(new Array("IT", "Oristano", "OR"));
  states.push(new Array("IT", "Padova", "PD"));
  states.push(new Array("IT", "Palermo", "PA"));
  states.push(new Array("IT", "Parma", "PR"));
  states.push(new Array("IT", "Pavia", "PV"));
  states.push(new Array("IT", "Perugia", "PG"));
  states.push(new Array("IT", "Pesaro-Urbino", "PS"));
  states.push(new Array("IT", "Pescara", "PE"));
  states.push(new Array("IT", "Piacenza", "PC"));
  states.push(new Array("IT", "Pisa", "PI"));
  states.push(new Array("IT", "Pistoia", "PT"));
  states.push(new Array("IT", "Pordenone", "PN"));
  states.push(new Array("IT", "Potenza", "PZ"));
  states.push(new Array("IT", "Prato", "PO"));
  states.push(new Array("IT", "Ragusa", "RG"));
  states.push(new Array("IT", "Ravenna", "RA"));
  states.push(new Array("IT", "Reggio di Calabria", "RC"));
  states.push(new Array("IT", "Reggio nell'Emilia", "RE"));
  states.push(new Array("IT", "Rieti", "RI"));
  states.push(new Array("IT", "Rimini", "RN"));
  states.push(new Array("IT", "Roma", "RM"));
  states.push(new Array("IT", "Rovigo", "RO"));
  states.push(new Array("IT", "Salerno", "SA"));
  states.push(new Array("IT", "Sassari", "SS"));
  states.push(new Array("IT", "Savona", "SV"));
  states.push(new Array("IT", "Siena", "SI"));
  states.push(new Array("IT", "Siracusa", "SR"));
  states.push(new Array("IT", "Sondrio", "SO"));
  states.push(new Array("IT", "Taranto", "TA"));
  states.push(new Array("IT", "Teramo", "TE"));
  states.push(new Array("IT", "Terni", "TR"));
  states.push(new Array("IT", "Torino", "TO"));
  states.push(new Array("IT", "Trapani", "TP"));
  states.push(new Array("IT", "Trento", "TN"));
  states.push(new Array("IT", "Treviso", "TV"));
  states.push(new Array("IT", "Trieste", "TS"));
  states.push(new Array("IT", "Udine", "UD"));
  states.push(new Array("IT", "Varese", "VA"));
  states.push(new Array("IT", "Venezia", "VE"));
  states.push(new Array("IT", "Verbania", "VB"));
  states.push(new Array("IT", "Vercelli", "VC"));
  states.push(new Array("IT", "Verona", "VR"));
  states.push(new Array("IT", "Vibo Valentia", "VV"));
  states.push(new Array("IT", "Vicenza", "VI"));
  states.push(new Array("IT", "Viterbo", "VT"));
  states.push(new Array("ES", "Andalucía", "AND"));
  states.push(new Array("ES", "Aragón", "ARA"));
  states.push(new Array("ES", "Canarias", "CAN"));
  states.push(new Array("ES", "Cantabria", "CAN"));
  states.push(new Array("ES", "Castilla-La Mancha", "CLM"));
  states.push(new Array("ES", "Castilla y León", "CyL"));
  states.push(new Array("ES", "Cataluña", "CAT"));
  states.push(new Array("ES", "Ceuta", "CEU"));
  states.push(new Array("ES", "Comunidad de Madrid", "MAD"));
  states.push(new Array("ES", "Comunidad Valenciana", "CVA"));
  states.push(new Array("ES", "Extremadura", "EXT"));
  states.push(new Array("ES", "Galicia", "GAL"));
  states.push(new Array("ES", "Islas Baleares", "IB"));
  states.push(new Array("ES", "La Rioja", "LRJ"));
  states.push(new Array("ES", "Melilla", "MEL"));
  states.push(new Array("ES", "Navarra", "NAV"));
  states.push(new Array("ES", "País Vasco", "PV"));
  states.push(new Array("ES", "Principado de Asturias", "AST"));
  states.push(new Array("ES", "Región de Murcia", "RMU"));
  states.push(new Array("US", "Alabama", "AL"));
  states.push(new Array("US", "Alaska", "AK"));
  states.push(new Array("US", "Arizona", "AZ"));
  states.push(new Array("US", "Arkansas", "AR"));
  states.push(new Array("US", "California", "CA"));
  states.push(new Array("US", "Colorado", "CO"));
  states.push(new Array("US", "Connecticut", "CT"));
  states.push(new Array("US", "Delaware", "DE"));
  states.push(new Array("US", "District Of Columbia", "DC"));
  states.push(new Array("US", "Florida", "FL"));
  states.push(new Array("US", "Georgia", "GA"));
  states.push(new Array("US", "Hawaii", "HI"));
  states.push(new Array("US", "Idaho", "ID"));
  states.push(new Array("US", "Illinois", "IL"));
  states.push(new Array("US", "Indiana", "IN"));
  states.push(new Array("US", "Iowa", "IA"));
  states.push(new Array("US", "Kansas", "KS"));
  states.push(new Array("US", "Kentucky", "KY"));
  states.push(new Array("US", "Louisiana", "LA"));
  states.push(new Array("US", "Maine", "ME"));
  states.push(new Array("US", "Maryland", "MD"));
  states.push(new Array("US", "Massachusetts", "MA"));
  states.push(new Array("US", "Michigan", "MI"));
  states.push(new Array("US", "Minnesota", "MN"));
  states.push(new Array("US", "Mississippi", "MS"));
  states.push(new Array("US", "Missouri", "MO"));
  states.push(new Array("US", "Montana", "MT"));
  states.push(new Array("US", "Nebraska", "NE"));
  states.push(new Array("US", "Nevada", "NV"));
  states.push(new Array("US", "New Hampshire", "NH"));
  states.push(new Array("US", "New Jersey", "NJ"));
  states.push(new Array("US", "New Mexico", "NM"));
  states.push(new Array("US", "New York", "NY"));
  states.push(new Array("US", "North Carolina", "NC"));
  states.push(new Array("US", "North Dakota", "ND"));
  states.push(new Array("US", "Ohio", "OH"));
  states.push(new Array("US", "Oklahoma", "OK"));
  states.push(new Array("US", "Oregon", "OR"));
  states.push(new Array("US", "Pennsylvania", "PA"));
  states.push(new Array("US", "Rhode Island", "RI"));
  states.push(new Array("US", "South Carolina", "SC"));
  states.push(new Array("US", "South Dakota", "SD"));
  states.push(new Array("US", "Tennessee", "TN"));
  states.push(new Array("US", "Texas", "TX"));
  states.push(new Array("US", "Utah", "UT"));
  states.push(new Array("US", "Vermont", "VT"));
  states.push(new Array("US", "Virginia", "VA"));
  states.push(new Array("US", "Washington", "WA"));
  states.push(new Array("US", "West Virginia", "WV"));
  states.push(new Array("US", "Wisconsin", "WI"));
  states.push(new Array("US", "Wyoming", "WY"));
  states.push(new Array("US", "Federated States of Micronesia", "FM"));
  states.push(new Array("US", "Guam", "GU"));
  states.push(new Array("US", "Marshall Islands", "MH"));
  states.push(new Array("US", "Northern Mariana Islands", "MP"));
  states.push(new Array("US", "Palau", "PW"));
  states.push(new Array("US", "Puerto Rico", "PR"));
  states.push(new Array("US", "Virgin Islands", "VI"));
  states.push(new Array("US", "Armed Forces Americas (except Canada)", "AA"));
  states.push(new Array("US", "Armed Forces Europe, Armed Forces Canada, Armed Forces Africa, or Armed Forces Middle East", "AE"));
  states.push(new Array("US", "Armed Forces Pacific", "AP"));
  states.push(new Array("MX", "Aguascalientes", "AGS"));
  states.push(new Array("MX", "Baja California Norte", "BCN"));
  states.push(new Array("MX", "Baja California Sur", "BCS"));
  states.push(new Array("MX", "Campeche", "CAM"));
  states.push(new Array("MX", "Chiapas", "CHIS"));
  states.push(new Array("MX", "Chihuahua", "CHIH"));
  states.push(new Array("MX", "Coahuila", "COAH"));
  states.push(new Array("MX", "Colima", "COL"));
  states.push(new Array("MX", "Distrito Federal", "DF"));
  states.push(new Array("MX", "Durango", "DGO"));
  states.push(new Array("MX", "Guanajuato", "GTO"));
  states.push(new Array("MX", "Guerrero", "GRO"));
  states.push(new Array("MX", "Hidalgo", "HGO"));
  states.push(new Array("MX", "Jalisco", "JAL"));
  states.push(new Array("MX", "México (Estado de)", "MEX"));
  states.push(new Array("MX", "Michoacán", "MICH"));
  states.push(new Array("MX", "Morelos", "MOR"));
  states.push(new Array("MX", "Nayarit", "NAY"));
  states.push(new Array("MX", "Nuevo León", "NL"));
  states.push(new Array("MX", "Oaxaca", "OAX"));
  states.push(new Array("MX", "Puebla", "PUE"));
  states.push(new Array("MX", "Querétaro", "QRO"));
  states.push(new Array("MX", "Quintana Roo", "QROO"));
  states.push(new Array("MX", "San Luis Potosí", "SLP"));
  states.push(new Array("MX", "Sinaloa", "SIN"));
  states.push(new Array("MX", "Sonora", "SON"));
  states.push(new Array("MX", "Tabasco", "TAB"));
  states.push(new Array("MX", "Tamaulipas", "TAMPS"));
  states.push(new Array("MX", "Tlaxcala", "TLAX"));
  states.push(new Array("MX", "Veracruz", "VER"));
  states.push(new Array("MX", "Yucatán", "YUC"));
  states.push(new Array("MX", "Zacatecas", "ZAC"));
  states.push(new Array("BR", "Acre", "AC"));
  states.push(new Array("BR", "Alagoas", "AL"));
  states.push(new Array("BR", "Amapá", "AP"));
  states.push(new Array("BR", "Amazonas", "AM"));
  states.push(new Array("BR", "Bahía", "BA"));
  states.push(new Array("BR", "Ceará", "CE"));
  states.push(new Array("BR", "Distrito Federal", "DF"));
  states.push(new Array("BR", "Espirito Santo", "ES"));
  states.push(new Array("BR", "Goiás", "GO"));
  states.push(new Array("BR", "Maranhão", "MA"));
  states.push(new Array("BR", "Mato Grosso", "MT"));
  states.push(new Array("BR", "Mato Grosso do Sul", "MS"));
  states.push(new Array("BR", "Minas Gerais", "MG"));
  states.push(new Array("BR", "Paraná", "PR"));
  states.push(new Array("BR", "Paraíba", "PB"));
  states.push(new Array("BR", "Pará", "PA"));
  states.push(new Array("BR", "Pernambuco", "PE"));
  states.push(new Array("BR", "Piauí", "PI"));
  states.push(new Array("BR", "Rio Grande do Norte", "RN"));
  states.push(new Array("BR", "Rio Grande do Sul", "RS"));
  states.push(new Array("BR", "Rio de Janeiro", "RJ"));
  states.push(new Array("BR", "Rondônia", "RO"));
  states.push(new Array("BR", "Roraima", "RR"));
  states.push(new Array("BR", "Santa Catarina", "SC"));
  states.push(new Array("BR", "Sergipe", "SE"));
  states.push(new Array("BR", "São Paulo", "SP"));
  states.push(new Array("BR", "Tocantins", "TO"));
  states.push(new Array("DE", "Baden-Württemberg", "BW"));
  states.push(new Array("DE", "Bayern", "BY"));
  states.push(new Array("DE", "Berlin", "BE"));
  states.push(new Array("DE", "Brandenburg", "BR"));
  states.push(new Array("DE", "Bremen", "HB"));
  states.push(new Array("DE", "Hamburg", "HH"));
  states.push(new Array("DE", "Hessen", "HE"));
  states.push(new Array("DE", "Mecklenburg-Vorpommern", "MV"));
  states.push(new Array("DE", "Niedersachsen", "NI"));
  states.push(new Array("DE", "Nordrhein-Westfalen", "NW"));
  states.push(new Array("DE", "Rheinland-Pfalz", "RP"));
  states.push(new Array("DE", "Saarland", "SL"));
  states.push(new Array("DE", "Sachsen", "SN"));
  states.push(new Array("DE", "Sachsen-Anhalt", "ST"));
  states.push(new Array("DE", "Schleswig-Holstein", "SH"));
  states.push(new Array("DE", "Thüringen", "TH"));
  states.push(new Array("UA", "Autonomous Republic of Crimea", "CR"));
  states.push(new Array("UA", "Cherkashchyna", "CK"));
  states.push(new Array("UA", "Chernihivshchyna", "CN"));
  states.push(new Array("UA", "Chernivechchyna", "CV"));
  states.push(new Array("UA", "Dnipropetrovshchyna", "DP"));
  states.push(new Array("UA", "Donechchyna", "DN"));
  states.push(new Array("UA", "Ivano-Frankivshchyna", "IF"));
  states.push(new Array("UA", "Kharkivshchyna", "KH"));
  states.push(new Array("UA", "Khersonshchyna", "KS"));
  states.push(new Array("UA", "Khmel'nychchyna", "KM"));
  states.push(new Array("UA", "Kyivshchyna", "KV"));
  states.push(new Array("UA", "Kirovohradshchyna", "KR"));
  states.push(new Array("UA", "Luhanshchyna", "LG"));
  states.push(new Array("UA", "L'vivshchyna", "LV"));
  states.push(new Array("UA", "Mykolaivshchyna", "MK"));
  states.push(new Array("UA", "Odeshchyna", "OD"));
  states.push(new Array("UA", "Poltavshchyna", "PL"));
  states.push(new Array("UA", "Rivnenshchyna", "RV"));
  states.push(new Array("UA", "Sumshchyna", "SM"));
  states.push(new Array("UA", "Ternopil'shchyna", "TAS"));
  states.push(new Array("UA", "Vinnychchyna", "VN"));
  states.push(new Array("UA", "Volyn'", "VOLYN"));
  states.push(new Array("UA", "Zakarpattia", "ZK"));
  states.push(new Array("UA", "Zaporizhzhia", "ZP"));
  states.push(new Array("UA", "Zhytomyrshchyna", "ZT"));
  states.push(new Array("CU", "Ciego de Ávila", "CA"));
  states.push(new Array("CU", "Cienfuegos", "CF"));
  states.push(new Array("CU", "Camagüey", "CG"));
  states.push(new Array("CU", "Ciudad de La Habana", "CH"));
  states.push(new Array("CU", "Granma (Bayamo)", "GR"));
  states.push(new Array("CU", "Guantánamo", "GT"));
  states.push(new Array("CU", "La Habana", "HA"));
  states.push(new Array("CU", "Holguín", "HO"));
  states.push(new Array("CU", "Municipio Especial Isla de la Juventud", "IJ"));
  states.push(new Array("CU", "Las Tunas (Victoria de)", "LT"));
  states.push(new Array("CU", "Matanzas", "MT"));
  states.push(new Array("CU", "Pinar del Río", "PR"));
  states.push(new Array("CU", "Santiago de Cuba", "SC"));
  states.push(new Array("CU", "Sancti Spíritus", "SS"));
  states.push(new Array("CU", "Villa Clara", "VC"));
  states.push(new Array("CA", "Alberta", "AB"));
  states.push(new Array("CA", "British Columbia", "BC"));
  states.push(new Array("CA", "Manitoba", "MB"));
  states.push(new Array("CA", "New Brunswick", "NB"));
  states.push(new Array("CA", "Newfoundland and Labrador", "NL"));
  states.push(new Array("CA", "Northwest Territories", "NT"));
  states.push(new Array("CA", "Nova Scotia", "NS"));
  states.push(new Array("CA", "Nunavut", "NU"));
  states.push(new Array("CA", "Ontario", "ON"));
  states.push(new Array("CA", "Prince Edward Island", "PE"));
  states.push(new Array("CA", "Quebec", "QC"));
  states.push(new Array("CA", "Saskatchewan", "SK"));
  states.push(new Array("CA", "Yukon", "YT"));
  states.push(new Array("DK", "Region Hovedstaden", "RH"));
  states.push(new Array("DK", "Region Midtjylland", "RM"));
  states.push(new Array("DK", "Region Nordjylland", "RN"));
  states.push(new Array("DK", "Region Sjælland", "RSj"));
  states.push(new Array("DK", "Region Syddanmark", "RSy"));
  states.push(new Array("AU", "Australian Capital Territory", "ACT"));
  states.push(new Array("AU", "New South Wales", "NSW"));
  states.push(new Array("AU", "Northern Territory", "NT"));
  states.push(new Array("AU", "Queensland", "QLD"));
  states.push(new Array("AU", "South Australia", "SA"));
  states.push(new Array("AU", "Tasmania", "TAS"));
  states.push(new Array("AU", "Victoria", "VIC"));
  states.push(new Array("AU", "Western Australia", "WA"));

function countrySelected() {
  country_id = $('order_country').getValue();
  options = $('order_state').options;
   
  indx = $('order_state').selectedIndex;
  if (indx > 0 && indx < options.length) {
      curr_value = options[indx].value
  } else {
      curr_value = ''
  }
  options.length = 0;
  options[options.length] = new Option("Select a State","")
  states.each(function(state) {
    if (state[0] == country_id) {
      opt = new Option(state[1], state[2]);
      if (state[2] == curr_value) {
        opt.selected = true
      }
      options[options.length] = opt
    }
  });
  if (options.length == 1) {
    $('state_field').hide();
  } else {
    $('state_field').show();
  }
}
 
document.observe('dom:loaded', function() {
  countrySelected();
  $('order_country').observe('change', countrySelected);
});
    
