Index: /branches/version-2_12-dev/data/class/SC_CartSession.php
===================================================================
--- /branches/version-2_12-dev/data/class/SC_CartSession.php	(revision 22567)
+++ /branches/version-2_12-dev/data/class/SC_CartSession.php	(revision 22706)
@@ -28,5 +28,5 @@
  * @version $Id$
  */
-class SC_CartSession 
+class SC_CartSession
 {
     /** ユニークIDを指定する. */
@@ -127,5 +127,5 @@
                 $price = $this->cartSession[$productTypeId][$i]['price'];
                 $quantity = $this->cartSession[$productTypeId][$i]['quantity'];
-                $incTax = SC_Helper_DB_Ex::sfCalcIncTax($price);
+                $incTax = SC_Helper_TaxRule_Ex::sfCalcIncTax($price, 0, $id[0]);
                 $total = $incTax * $quantity;
                 return $total;
@@ -194,5 +194,7 @@
             $quantity = $this->cartSession[$productTypeId][$i]['quantity'];
 
-            $incTax = SC_Helper_DB_Ex::sfCalcIncTax($price);
+            $incTax = SC_Helper_TaxRule_Ex::sfCalcIncTax($price,
+                $this->cartSession[$productTypeId][$i]['productsClass']['product_id'],
+                $this->cartSession[$productTypeId][$i]['id'][0]);
             $total+= ($incTax * $quantity);
         }
@@ -209,5 +211,7 @@
             $price = $this->cartSession[$productTypeId][$i]['price'];
             $quantity = $this->cartSession[$productTypeId][$i]['quantity'];
-            $tax = SC_Helper_DB_Ex::sfTax($price);
+            $tax = SC_Helper_TaxRule_Ex::sfTax($price,
+                $this->cartSession[$productTypeId][$i]['productsClass']['product_id'],
+                $this->cartSession[$productTypeId][$i]['id'][0]);
             $total+= ($tax * $quantity);
         }
@@ -374,5 +378,8 @@
 
                 $quantity = $this->cartSession[$productTypeId][$i]['quantity'];
-                $incTax = SC_Helper_DB_Ex::sfCalcIncTax($price);
+                $incTax = SC_Helper_TaxRule_Ex::sfCalcIncTax($price,
+                    $this->cartSession[$productTypeId][$i]['productsClass']['product_id'],
+                    $this->cartSession[$productTypeId][$i]['id'][0]);
+
                 $total = $incTax * $quantity;
 
@@ -571,5 +578,7 @@
                     if ($limit > 0) {
                         $this->setProductValue($arrItem['id'], 'quantity', $limit, $productTypeId);
-                        $total_inctax = SC_Helper_DB_Ex::sfCalcIncTax($arrItem['price']) * $limit;
+                        $total_inctax = $limit * SC_Helper_TaxRule_Ex::sfCalcIncTax($arrItem['price'],
+                            $product['product_id'],
+                            $arrItem['id'][0]);
                         $this->setProductValue($arrItem['id'], 'total_inctax', $total_inctax, $productTypeId);
                         $tpl_message .= '※「' . $product['name'] . '」は販売制限(または在庫が不足)しております。';
@@ -652,7 +661,7 @@
         $results['deliv_fee'] = 0;
 
-        $arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
-        $results['order_tax_rate'] = $arrInfo['tax'];
-        $results['order_tax_rule'] = $arrInfo['tax_rule'];
+        $arrTaxInfo = SC_Helper_TaxRule_Ex::getTaxRule();
+        $results['order_tax_rate'] = $arrTaxInfo['tax_rate'];
+        $results['order_tax_rule'] = $arrTaxInfo['calc_rule'];
 
         // 商品ごとの送料を加算
