Index: /branches/version-2_5-dev/data/class/pages/products/LC_Page_Products_Detail.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/products/LC_Page_Products_Detail.php	(revision 20457)
+++ /branches/version-2_5-dev/data/class/pages/products/LC_Page_Products_Detail.php	(revision 20463)
@@ -146,21 +146,11 @@
         switch($this->mode) {
             case 'cart':
-                $this->arrErr = $this->lfCheckError($this->mode,$this->objFormParam);
+                $this->arrErr = $this->lfCheckError($this->mode,$this->objFormParam,
+                                                    $this->tpl_classcat_find1,
+                                                    $this->tpl_classcat_find2);
                 if (count($this->arrErr) == 0) {
                     $objCartSess = new SC_CartSession_Ex();
-                    $classcategory_id1 = $this->objFormParam->getValue('classcategory_id1');
-                    $classcategory_id2 = $this->objFormParam->getValue('classcategory_id2');
                     $product_class_id = $this->objFormParam->getValue('product_class_id');
-                    $product_type = $this->objFormParam->getValue('product_type');
-
-                    // 規格1が設定されていない場合
-                    if(!$this->tpl_classcat_find1) {
-                        $classcategory_id1 = '0';
-                    }
-
-                    // 規格2が設定されていない場合
-                    if(!$this->tpl_classcat_find2) {
-                        $classcategory_id2 = '0';
-                    }
+
                     $objCartSess->addProduct($product_class_id, $this->objFormParam->getValue('quantity'));
 
@@ -257,6 +247,4 @@
 
         $this->subImageFlag = $this->lfSetFile($this->objUpFile,$this->arrProduct,$this->arrFile);
-        // 支払方法の取得
-        $this->arrPayment = $this->lfGetPayment();
         //レビュー情報の取得
         $this->arrReview = $this->lfGetReviewData($product_id);
@@ -331,9 +319,4 @@
         // 規格分類名一覧
         $arrClassCatName = SC_Helper_DB_Ex::sfGetIDValueList("dtb_classcategory", "classcategory_id", "name");
-        /*
-         * FIXME
-         * パフォーマンスが出ないため,
-         * SC_Product::getProductsClassByProductIds() を使用した実装に変更
-         */
         // 商品規格情報の取得
         $arrProductsClass = $this->lfGetProductsClass($product_id);
@@ -400,6 +383,5 @@
         $objFormParam->addParam("商品ID", "product_id", INT_LEN, "n", array("EXIST_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
         $objFormParam->addParam("お気に入り商品ID", "favorite_product_id", INT_LEN, "n", array("ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam("商品規格ID", "product_class_id", INT_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK"));
-        $objFormParam->addParam("商品種別", "product_type", INT_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("商品規格ID", "product_class_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
         // 値の取得
         $objFormParam->setParam($_REQUEST);
@@ -497,17 +479,4 @@
         $arrReview = $objQuery->select($col, $from, $where, $arrval);
         return $arrReview;
-    }
-
-    //支払方法の取得
-    //payment_id	1:クレジット　2:ショッピングローン
-    function lfGetPayment() {
-        $objQuery =& SC_Query::getSingletonInstance();
-        $col = "payment_id, rule, payment_method";
-        $from = "dtb_payment";
-        $where = "del_flg = 0";
-        $order = "payment_id";
-        $objQuery->setOrder($order);
-        $arrPaymentId = $objQuery->select($col, $from, $where);
-        return $arrPaymentId;
     }
 
Index: /branches/version-2_5-dev/data/class/pages/products/LC_Page_Products_List.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/products/LC_Page_Products_List.php	(revision 20444)
+++ /branches/version-2_5-dev/data/class/pages/products/LC_Page_Products_List.php	(revision 20463)
@@ -169,5 +169,5 @@
             $arrErr = $this->lfCheckError($target_product_id,$this->arrForm,$this->tpl_classcat_find1,$this->tpl_classcat_find2);
             if (count($arrErr) == 0) {
-                $this->lfAddCart($this->arrForm,$this->tpl_classcat_find1,$this->tpl_classcat_find2,$target_product_id,$_SERVER['HTTP_REFERER']);
+                $this->lfAddCart($this->arrForm, $_SERVER['HTTP_REFERER']);
                 SC_Response_Ex::sendRedirect(CART_URLPATH);
                 exit;
@@ -331,4 +331,6 @@
             $objErr->doFunc(array("規格2", 'classcategory_id2', INT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
         }
+
+        $objErr->doFunc(array("商品規格ID", 'product_class_id', INT_LEN), array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
         $objErr->doFunc(array("数量", 'quantity', INT_LEN), array("EXIST_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
 
@@ -487,19 +489,6 @@
      * @return void
      */   
-    function lfAddCart($arrForm,$tpl_classcat_find1,$tpl_classcat_find2,$target_product_id,$referer){
-        $classcategory_id1 = $arrForm['classcategory_id1'];
-        $classcategory_id2 = $arrForm['classcategory_id2'];
-        // 規格1が設定されていない場合
-        if (!$tpl_classcat_find1[$target_product_id]) {
-            $classcategory_id1 = '0';
-        }
-        // 規格2が設定されていない場合
-        if (!$tpl_classcat_find2[$target_product_id]) {
-            $classcategory_id2 = '0';
-        }
-
-        // 規格IDを取得
+    function lfAddCart($arrForm, $referer){
         $product_class_id = $arrForm['product_class_id'];
-        $product_type = $arrForm['product_type'];
         $objCartSess = new SC_CartSession_Ex();
         $objCartSess->addProduct($product_class_id, $arrForm['quantity']);
Index: /branches/version-2_5-dev/data/Smarty/templates/sphone/products/list.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/sphone/products/list.tpl	(revision 20407)
+++ /branches/version-2_5-dev/data/Smarty/templates/sphone/products/list.tpl	(revision 20463)
@@ -56,5 +56,4 @@
         <input type="hidden" name="classcategory_id2" value="" />
         <input type="hidden" name="product_class_id" value="" />
-        <input type="hidden" name="product_type" value="" />
         <input type="hidden" name="quantity" value="" />
         <!--{* ▲注文関連 *}-->
Index: /branches/version-2_5-dev/data/Smarty/templates/sphone/products/detail.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/sphone/products/detail.tpl	(revision 20462)
+++ /branches/version-2_5-dev/data/Smarty/templates/sphone/products/detail.tpl	(revision 20463)
@@ -212,5 +212,4 @@
                 <input type="hidden" name="product_id" value="<!--{$tpl_product_id}-->" />
                 <input type="hidden" name="product_class_id" value="<!--{$tpl_product_class_id}-->" id="product_class_id" />
-                <input type="hidden" name="product_type" value="<!--{$tpl_product_type}-->" id="product_type" />
                 <input type="hidden" name="favorite_product_id" value="" />
                 
Index: /branches/version-2_5-dev/data/Smarty/templates/default/products/detail.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/default/products/detail.tpl	(revision 20408)
+++ /branches/version-2_5-dev/data/Smarty/templates/default/products/detail.tpl	(revision 20463)
@@ -183,5 +183,4 @@
     <input type="hidden" name="product_id" value="<!--{$tpl_product_id}-->" />
     <input type="hidden" name="product_class_id" value="<!--{$tpl_product_class_id}-->" id="product_class_id" />
-    <input type="hidden" name="product_type" value="<!--{$tpl_product_type}-->" id="product_type" />
     <input type="hidden" name="favorite_product_id" value="" />
 
Index: /branches/version-2_5-dev/data/Smarty/templates/default/products/list.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/default/products/list.tpl	(revision 20408)
+++ /branches/version-2_5-dev/data/Smarty/templates/default/products/list.tpl	(revision 20463)
@@ -54,5 +54,4 @@
     fnSetVal("product_id", productForm["product_id"].value);
     fnSetVal("product_class_id", productForm["product_class_id"].value);
-    fnSetVal("product_type", productForm["product_type"].value);
     fnSubmit();
 }
@@ -80,5 +79,4 @@
         <input type="hidden" name="classcategory_id2" value="" />
         <input type="hidden" name="product_class_id" value="" />
-        <input type="hidden" name="product_type" value="" />
         <input type="hidden" name="quantity" value="" />
         <!--{* ▲注文関連 *}-->
@@ -202,5 +200,4 @@
                    <input type="hidden" name="product_id" value="<!--{$id|h}-->" />
                    <input type="hidden" name="product_class_id" id="product_class_id<!--{$id|h}-->" value="<!--{$tpl_product_class_id[$id]}-->" />
-                   <input type="hidden" name="product_type" id="product_type<!--{$id|h}-->" value="<!--{$tpl_product_type[$id]}-->" />
 
                    <div class="cart_area clearfix">
Index: /branches/version-2_5-dev/html/js/products.js
===================================================================
--- /branches/version-2_5-dev/html/js/products.js	(revision 20366)
+++ /branches/version-2_5-dev/html/js/products.js	(revision 20463)
@@ -51,7 +51,6 @@
                 $sele2.append(option);
             }
-        }
-        if ($sele1.val()) {
-            checkStock($form, product_id, $sele1.val(), $sele2.val());
+            checkStock($form, product_id, $sele1.val() ? $sele1.val() : '',
+                       $sele2.val() ? $sele2.val() : '');
         }
     }
@@ -82,5 +81,9 @@
         && typeof classcat2['product_code'] != 'undefined') {
         $product_code_default.hide();
+        $product_code_dynamic.show();
         $product_code_dynamic.text(classcat2['product_code']);
+    } else {
+        $product_code_default.show();
+        $product_code_dynamic.hide();
     }
     
@@ -142,8 +145,10 @@
     var $product_class_id_dynamic = $form.find('[id^=product_class_id]');
     if (classcat2
-        && typeof classcat2['product_type'] != 'undefined'
-        && String(classcat2['product_type']).length >= 1) {
+        && typeof classcat2['product_class_id'] != 'undefined'
+        && String(classcat2['product_class_id']).length >= 1) {
 
         $product_class_id_dynamic.val(classcat2['product_class_id']);
+    } else {
+        $product_class_id_dynamic.val('');
     }
 }
