--- uc_aac.js	2010-07-16 10:52:39.000000000 -0700
+++ uc_aac.corrected.js	2010-09-08 14:05:17.758532600 -0700
@@ -6,20 +6,33 @@ function ucAacCalculate(element) {
     url: Drupal.settings.uc_aac_path,
     dataType: 'json',
     success: function(data) {
-      // Replace HTML elements with new values.
-      var node = $('#node-' + data.nid);
-      for (var i in data.replacements) {
-        var replacement = $(data.replacements[i]);
-        $(node).find('.' + i).after(replacement).remove();
-      }
-
       // Update the add to cart form.
       if (data.form) {
         var action = form.attr('action');
-        $(form).after(data.form).next().attr('action', action);
+        if (UCOI) {
+		    $(form).after(data.form).next().attr('action', action).uc_ucoi_attach();
+		} else {
+		    $(form).after(data.form).next().attr('action', action).uc_ucoi_attach();
+		}
         form.remove();
         Drupal.attachBehaviors();
       }
+	  var form2 = $('form[id^=uc-product-add-to-cart-form-]');
+	  ucAacCalculateAgain(form2);
+	}
+  });
+}
+function ucAacCalculateAgain(newform) {
+    newform.ajaxSubmit({
+    url: Drupal.settings.uc_aac_path,
+    dataType: 'json',
+    success: function(data) {
+      // Replace HTML elements with new values.
+      var node = $('#node-' + data.nid);
+      for (var i in data.replacements) {
+        var replacement = $(data.replacements[i]);
+        $(node).find('.' + i).after(replacement).remove();
+      }
     }
   });
 }
@@ -30,7 +43,8 @@ jQuery.fn.ucAacAttach = function() {
   });
   $(this).find('input:radio[name^=attributes], input:checkbox[name^=attributes]').click(function() {
     ucAacCalculate(this);
-  });
+	});
+	//return this;
 }
 
 Drupal.behaviors.ucAac = function() {
