--- uc_addresses.js	2009-04-20 13:50:00.000000000 -0700
+++ uc_addresses_jspatch.js	2009-12-03 14:47:31.000000000 -0800
@@ -40,3 +40,35 @@ function uc_addresses_update_zone_select
 	 }
     );
 }
+
+/**
+ * Apply the selected address to the appropriate fields in the cart form.
+ * Taken from uc_cart.js and modified to use the delivery_fieldnames
+ */
+function apply_uc_address(type, address_str) {
+  if (address_str == '0') {
+    return;
+  }
+
+  eval('var address = ' + address_str + ';');
+  var temp = type + '-' + type;
+
+  $('#edit-panes-' + temp + '-first-name').val(address.delivery_first_name).trigger('change');
+  $('#edit-panes-' + temp + '-last-name').val(address.delivery_last_name).trigger('change');
+  $('#edit-panes-' + temp + '-phone').val(address.delivery_phone).trigger('change');
+  $('#edit-panes-' + temp + '-company').val(address.delivery_company).trigger('change');
+  $('#edit-panes-' + temp + '-street1').val(address.delivery_street1).trigger('change');
+  $('#edit-panes-' + temp + '-street2').val(address.delivery_street2).trigger('change');
+  $('#edit-panes-' + temp + '-city').val(address.delivery_city).trigger('change');
+  $('#edit-panes-' + temp + '-postal-code').val(address.delivery_postal_code).trigger('change');
+
+  if ($('#edit-panes-' + temp + '-country').val() != address.delivery_country) {
+    $('#edit-panes-' + temp + '-country').val(address.delivery_country).trigger('change');
+    try {
+      uc_update_zone_select('edit-panes-' + temp + '-country', address.delivery_zone);
+    }
+    catch (err) { }
+  }
+
+  $('#edit-panes-' + temp + '-zone').val(address.delivery_zone).trigger('change');
+}
