@@ -325,9 +327,6 @@
     // alert users with old-style addresses
     drupal_set_message(t('<strong>Please update your <em>country</em> and <em>state/province</em></strong>.<br />We apologize for the inconvenience.'));
   }
-  else if (!$edit['province']) {
-    $edit['province'] = $edit['state'];
-  }
   $countries = store_build_countries();
   array_unshift($countries, t('Please choose...'));
   $country = ($edit['country'] ? $edit['country'] : variable_get('ec_country', 0));
@@ -390,31 +389,21 @@
     '#attributes' => null,
     '#required' => true,
   );
-  $states = store_build_states($country);
-  array_unshift($states, t('Please choose...'));
+  $states = store_build_states();
+  drupal_add_js(array("states" => store_build_states()), "setting");
+  drupal_add_js(array("current_state" => array($country, $edit['state'])), "setting");
   $form['state'] = array(
-    '#type' => 'select',
-    '#title' => t('State'),
-    '#default_value' => $edit['state'],
-    '#options' => $states,
-    '#description' => null,
-    '#extra' => null,
-    '#multiple' => false,
-    //'#required' => isset($_POST['province']),
-    '#prefix' => '<div id="wrapper-state">',
-    '#suffix' => '</div>',
-  );
-  $form['province'] = array(
     '#type' => 'textfield',
-    '#title' => t('Province / Region'),
-    '#default_value' => $edit['province'],
+    '#title' => t('State / Province / Region'),
+    '#default_value' => $edit['state'],
     '#size' => 30,
     '#maxlength' => 64,
     '#description' => null,
     '#attributes' => null,
-    //'#required' => isset($_POST['state']),
-    '#prefix' => '<div id="wrapper-province">',
+    '#required' => TRUE,
+    '#prefix' => '<div id="wrapper-state">',
     '#suffix' => '</div>',
+    '#DANGEROUS_SKIP_CHECK' => TRUE,
   );
   $form['zip'] = array(
     '#type' => 'textfield',
@@ -499,10 +488,6 @@
   if ( variable_get('store_ignore_state', FALSE)) {
     return;
   }
-  if (!$form_values['state']) {
-    form_set_error('state', t('Please enter a state/province/region.'));
-  }
 }

 function address_form_submit($form_id, $form_values) {
@@ -533,9 +518,6 @@
 }

 function address_save($edit) {
-  if (!$edit['state']) {
-    $edit['state'] = $edit['province'];
-  }
   $aid = $edit['aid'];

   if (!$edit['uid']) {
