Index: /branches/version-2_5-dev/html/user_data/packages/admin/js/admin.js
===================================================================
--- /branches/version-2_5-dev/html/user_data/packages/admin/js/admin.js	(revision 20595)
+++ /branches/version-2_5-dev/html/user_data/packages/admin/js/admin.js	(revision 20636)
@@ -335,18 +335,4 @@
 }
 
-//一行目の価格を以下の行にコピーする
-function fnCopyValue(length, icolor) {
-    fm = document.form1;
-    for(i = 1; i <= length; i++) {
-        fm['product_code:' + i].value = fm['product_code:1'].value;
-        fm['stock:' + i].value = fm['stock:1'].value;
-        fm['price01:' + i].value = fm['price01:1'].value;
-        fm['price02:' + i].value = fm['price02:1'].value;
-        fm['stock_unlimited:' + i].checked = fm['stock_unlimited:1'].checked;
-        fm['stock:' + i].disabled = fm['stock:1'].disabled;
-        fm['stock:' + i].style.backgroundColor = fm['stock:1'].style.backgroundColor;
-    }
-}
-
 // タグの表示非表示切り替え
 function fnDispChange(disp_id, inner_id, disp_flg){
Index: /branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl	(revision 20617)
+++ /branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class.tpl	(revision 20636)
@@ -24,4 +24,5 @@
 <script type="text/javascript">//<![CDATA[
 $(function() {
+    // 無制限チェックボックスの初期化
     $('input[id^=stock_unlimited_]').each(function() {
         var index = $(this).attr('id').replace(/^stock_unlimited_/ig, '');
@@ -35,4 +36,5 @@
     });
 
+    // 無制限チェックボックス
     $('input[id^=stock_unlimited_]').change(function() {
         var index = $(this).attr('id').replace(/^stock_unlimited_/ig, '');
@@ -48,4 +50,53 @@
                 .css('background-color', '');
         }
+    });
+
+    // 1行目をコピーボタン
+    $('#copy_from_first').click(function() {
+        var check = $('#check_0').attr('checked');
+        $('input[id^=check_]').attr('checked', check);
+
+        var product_code = $('#product_code_0').val();
+        $('input[id^=product_code_]').val(product_code);
+
+        var stock = $('#stock_0').val();
+        $('input[id^=stock_]').val(stock);
+
+        var stock_unlimited = $('#stock_unlimited_0').attr('checked');
+        $('input[id^=stock_unlimited_]').each(function() {
+            var checked = stock_unlimited;
+            var index = $(this).attr('id').replace(/^stock_unlimited_/ig, '');
+            $(this).attr('checked', checked);
+            if (checked) {
+                $('#stock_' + index)
+                    .attr('readonly', true)
+                    .css('background-color', '<!--{$smarty.const.DISABLED_RGB}-->');
+            } else {
+                $('#stock_' + index)
+                    .attr('readonly', false)
+                    .css('background-color', '');
+            }
+        });
+
+        var price01 = $('#price01_0').val();
+        $('input[id^=price01_]').val(price01);
+
+        var price02 = $('#price02_0').val();
+        $('input[id^=price02_]').val(price02);
+
+        var product_type_id_value = '';
+        $('input[id^=product_type_id_0_]').each(function() {
+            if ($(this).attr('checked')) {
+                product_type_id_value = $(this).val();
+            }
+        });
+        $('input[id^=product_type_id_]').each(function() {
+            if ($(this).val() == product_type_id_value) {
+                $(this).attr('checked', true);
+            }
+        });
+
+        var down_filename = $('#down_filename_0').val();
+        $('input[id^=down_filename_]').val(down_filename);
     });
 });
@@ -68,7 +119,5 @@
 <input type="hidden" name="upload_index" value="">
 <input type="hidden" name="total" value="<!--{$arrForm.total.value|h}-->" />
-<!--{* foreach key=name item=item from=$arrHidden *}-->
-<input type="hidden" name="<!--{$name}-->" value="<!--{$item|h}-->" />
-<!--{* /foreach *}-->
+
 <div id="products" class="contents-main">
 
@@ -125,5 +174,5 @@
 
     <div class="list-info clearfix">
-        <div class="btn"><a class="btn-normal" href="javascript:;" onclick="fnCopyValue('<!--{$cnt}-->', '<!--{$smarty.const.DISABLED_RGB}-->'); return false;"><span>一行目のデータをコピーする</span></a></div>
+        <div class="btn"><a class="btn-normal" href="javascript:;" id="copy_from_first"><span>一行目のデータをコピーする</span></a></div>
         <p><span class="bold">アップロード可能な拡張子：</span><!--{$smarty.const.DOWNLOAD_EXTENSION}-->(パラメータ DOWNLOAD_EXTENSION)</p>
     </div>
@@ -172,5 +221,5 @@
                         <span class="attention"><!--{$arrErr[$key][$index]}--></span>
                     <!--{/if}-->
-                    <input type="checkbox" name="<!--{$key}-->[<!--{$index}-->]" value="1" <!--{if $arrForm[$key].value[$index] == 1}-->checked="checked"<!--{/if}--> />
+                    <input type="checkbox" name="<!--{$key}-->[<!--{$index}-->]" value="1" <!--{if $arrForm[$key].value[$index] == 1}-->checked="checked"<!--{/if}--> id="<!--{$key}-->_<!--{$index}-->" />
                 </td>
                 <td class="center">
@@ -195,5 +244,5 @@
                         <span class="attention"><!--{$arrErr[$key][$index]}--></span>
                     <!--{/if}-->
-                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" size="6" class="box6" maxlength="<!--{$arrForm[$key].length}-->" <!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" size="6" class="box6" maxlength="<!--{$arrForm[$key].length}-->" <!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> id="<!--{$key}-->_<!--{$index}-->" />
                 </td>
                 <td class="center">
@@ -207,5 +256,5 @@
                         <span class="attention"><!--{$arrErr[$key][$index]}--></span>
                     <!--{/if}-->
-                    <input type="checkbox" name="<!--{$key}-->[<!--{$index}-->]" value="1" <!--{if $arrForm[$key].value[$index] == "1"}-->checked="checked"<!--{/if}--> onClick="fnCheckStockNoLimit('<!--{$index}-->','<!--{$smarty.const.DISABLED_RGB}-->');" id="<!--{$key}-->_<!--{$index}-->" /><label for="<!--{$key}-->_<!--{$index}-->">無制限</label>
+                    <input type="checkbox" name="<!--{$key}-->[<!--{$index}-->]" value="1" <!--{if $arrForm[$key].value[$index] == "1"}-->checked="checked"<!--{/if}--> id="<!--{$key}-->_<!--{$index}-->" /><label for="<!--{$key}-->_<!--{$index}-->">無制限</label>
                 </td>
                 <td class="center">
@@ -214,5 +263,5 @@
                         <span class="attention"><!--{$arrErr[$key][$index]}--></span>
                     <!--{/if}-->
-                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" size="6" class="box6" maxlength="<!--{$arrForm[$key].length}-->" <!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" size="6" class="box6" maxlength="<!--{$arrForm[$key].length}-->" <!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> id="<!--{$key}-->_<!--{$index}-->" />
                 </td>
                 <td class="center">
@@ -221,5 +270,5 @@
                         <span class="attention"><!--{$arrErr[$key][$index]}--></span>
                     <!--{/if}-->
-                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" size="6" class="box6" maxlength="<!--{$arrForm[$key].length}-->" <!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />
+                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" size="6" class="box6" maxlength="<!--{$arrForm[$key].length}-->" <!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> id="<!--{$key}-->_<!--{$index}-->" />
                 </td>
                 <td class="class-product-type">
@@ -228,5 +277,7 @@
                         <span class="attention"><!--{$arrErr[$key][$index]}--></span>
                     <!--{/if}-->
-                    <!--{html_radios name="`$key`[`$index`]" options=$arrProductType selected=$arrForm[$key].value[$index]|h separator='<br />'}-->
+                    <!--{foreach from=$arrProductType key=productTypeKey item=productType name=productType}-->
+                        <input type="radio" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$productTypeKey}-->" <!--{if $arrForm[$key].value[$index] == $productTypeKey}-->checked="checked"<!--{/if}--> <!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> id="<!--{$key}-->_<!--{$index}-->_<!--{$smarty.foreach.productType.index}-->"><label for="<!--{$key}-->_<!--{$index}-->_<!--{$smarty.foreach.productType.index}-->"<!--{if $arrErr[$key][$index] != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> ><!--{$productType}--></label><!--{if !$smarty.foreach.productType.last}--><br /><!--{/if}-->
+                    <!--{/foreach}-->
                 </td>
                 <td class="center">
@@ -235,5 +286,5 @@
                         <span class="attention"><!--{$arrErr[$key][$index]}--></span>
                     <!--{/if}-->
-                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{if $arrErr[$key][$index] != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}--><!--{/if}-->" size="10" />
+                    <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]|h}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{if $arrErr[$key][$index] != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}--><!--{/if}-->" size="10" id="<!--{$key}-->_<!--{$index}-->" />
                 </td>
                 <td>
Index: /branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	(revision 20617)
+++ /branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	(revision 20636)
@@ -100,13 +100,4 @@
                 $objFormParam->setParam($_POST);
                 $objFormParam->convParam();
-
-                /* TODO
-                // Hiddenからのデータを引き継ぐ
-                $this->objDownFile->setHiddenFileList($_POST);
-                // HIDDEN用に配列を渡す。
-                $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList());
-                // Form用に配列を渡す。
-                $this->arrForm = array_merge((array)$this->arrForm, (array)$this->objDownFile->getFormKikakuDownFile());
-                */
             }
             break;
@@ -121,9 +112,4 @@
         case 'pre_edit':
             $this->doPreEdit($objFormParam);
-
-            /* TODO
-            // HIDDEN用に配列を渡す。
-            $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objDownFile->getHiddenFileList());
-            */
             break;
 
@@ -467,4 +453,7 @@
             $objFormParam->setValue($key, $arrValues);
         }
+
+        // 商品種別を 1 に初期化
+        $objFormParam->setValue('product_type_id', array_pad(array(), $total, 1));
     }
 
