Index: uc_aac.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/uc_aac/uc_aac.module,v
retrieving revision 1.10.2.1
diff -u -p -r1.10.2.1 uc_aac.module
--- uc_aac.module	10 Nov 2009 17:25:00 -0000	1.10.2.1
+++ uc_aac.module	10 Nov 2009 19:57:49 -0000
@@ -46,31 +46,42 @@ function uc_aac_form_alter(&$form, $form
       // Alter prices if we were called with POSTed attributes.
       if (isset($form['#parameters'][2]->attributes)) {
         $nid = $form['nid']['#value'];
-        $form['qty']['#default_value'] = $form['#parameters'][2]->default_qty;
-  
+        $product =& $form['#parameters'][2];
+        $form['qty']['#default_value'] = $product->default_qty;
+        $context = array(
+          'revision' => 'formatted',
+          'type' => 'product',
+          'class' => array(
+            'product',
+          ),
+          'subject' => array(
+            'node' => $product,
+          ),
+        );
+
         foreach (element_children($form['attributes']) as $aid) {
           // Reset options for each $aid
           $options = array();
-  
+
           if ($form['attributes'][$aid]['#type'] == 'select' || $form['attributes'][$aid]['#type'] == 'radios') {
-            $selected_oid = $form['#parameters'][2]->attributes[$aid]->default_option;
+            $selected_oid = $product->attributes[$aid]->default_option;
             $form['attributes'][$aid]['#default_value'] = $selected_oid;
 
             // Rebuild option text
-            foreach ($form['#parameters'][2]->attributes[$aid]->options as $option) {
-              $price = $option->price - $form['#parameters'][2]->attributes[$aid]->options[$selected_oid]->price;
-              $options[$option->oid] = $option->name . ($price != 0 ? ', '. ($price > 0 ? '+' : '') . uc_currency_format($price) : '');
+            foreach ($product->attributes[$aid]->options as $option) {
+              $price = $option->price - $product->attributes[$aid]->options[$selected_oid]->price;
+              $options[$option->oid] = $option->name . ($price != 0 ? ', '. ($price > 0 ? '+' : '') . uc_price($price, $context) : '');
             }
           }
           elseif ($form['attributes'][$aid]['#type'] == 'checkboxes') {
             // TODO: Find out why the default option is not always an array.
-            $selected_oid = $form['#parameters'][2]->attributes[$aid]->default_option;
+            $selected_oid = $product->attributes[$aid]->default_option;
             if (!is_array($selected_oid)) {
               $selected_oid = array();
             }
             $form['attributes'][$aid]['#default_value'] = $selected_oid;
 
-            foreach ($form['#parameters'][2]->attributes[$aid]->options as $option) {
+            foreach ($product->attributes[$aid]->options as $option) {
               // Negate selected options
               if (in_array($option->oid, $selected_oid)) {
                 $price = -$option->price;
@@ -84,10 +95,10 @@ function uc_aac_form_alter(&$form, $form
               if ($price != 0) {
                 $oid_text = ', ';
                 if ($price > 0) {
-                  $oid_text .= '+'. uc_currency_format($price);
+                  $oid_text .= '+'. uc_price($price, $context);
                 }
                 else {
-                  $oid_text .= '('. uc_currency_format($price) .')';
+                  $oid_text .= '('. uc_price($price, $context) .')';
                 }
               }
               $options[$option->oid] = $option->name . $oid_text;
