Index: branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileManager.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileManager.php	(revision 20541)
+++ branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileManager.php	(revision 20688)
@@ -357,17 +357,7 @@
      */
     function setDispPath($objFormParam){
-        // TODO JSON で投げて, フロント側で処理した方が良い？
         $tpl_now_dir = "";
         $arrNowDir = preg_split('/\//', str_replace(HTML_REALDIR, '', $objFormParam->getValue('now_dir')));
-        for ($i = 0; $i < count($arrNowDir); $i++) {
-            if (!empty($arrNowDir)) {
-                $tpl_now_dir .= $arrNowDir[$i];
-                if ($i < count($arrNowDir) - 1) {
-                     // フロント側で &gt; へエスケープするため, ここでは > を使用
-                    $tpl_now_dir .= ' > ';
-                }
-            }
-        }
-        $this->setDispParam('tpl_now_dir', $tpl_now_dir);
+        $this->setDispParam('tpl_now_dir', SC_Utils_Ex::jsonEncode($arrNowDir));
     }
 
Index: branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php	(revision 20540)
+++ branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php	(revision 20688)
@@ -186,5 +186,5 @@
         $arrBread = array();
         $objDb->findTree($this->arrTree, $parent_category_id, $arrBread);
-        $this->breadcrumbs = "ホーム" . $this->createBreaCrumbs($arrBread);
+        $this->tpl_bread_crumbs = SC_Utils_Ex::jsonEncode($arrBread);
     }
 
@@ -410,27 +410,4 @@
         $objFormParam->addParam("カテゴリID", "category_id", null, null, array());
         $objFormParam->addParam("カテゴリ名", "category_name", STEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
-    }
-
-    /**
-     * ぱんくず文字列を生成する.
-     *
-     * @param array $arrBread カテゴリ配列
-     * @return string ぱんくず文字列
-     */
-    function createBreaCrumbs($arrBread) {
-        $breadcrumbs = '';
-        // TODO JSON で投げて, フロント側で処理した方が良い？
-        $count = count($arrBread) - 1;
-        for ($i = $count; $i >= 0; $i--) {
-            // フロント側で &gt; へエスケープするため, ここでは > を使用
-            if ($i === $count) {
-                $breadcrumbs .= ' > ';
-            }
-            $breadcrumbs .= $arrBread[$i]['category_name'];
-            if ($i > 0) {
-                $breadcrumbs .= ' > ';
-            }
-        }
-        return $breadcrumbs;
     }
 
Index: branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductRank.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductRank.php	(revision 20548)
+++ branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductRank.php	(revision 20688)
@@ -103,5 +103,5 @@
         $arrBread = array();
         $objDb->findTree($this->arrTree, $this->arrForm['parent_category_id'], $arrBread);
-        $this->breadcrumbs = $this->lfGetBreadcrumbs($arrBread);
+        $this->tpl_bread_crumbs = SC_Utils_Ex::jsonEncode($arrBread);
     }
 
@@ -192,22 +192,4 @@
         }
     }
-
-    function lfGetBreadcrumbs($arrBread) {
-        $breadcrumbs = "ホーム";
-        // TODO JSON で投げて, フロント側で処理した方が良い？
-        for ($i = count($arrBread) - 1; $i >= 0; $i--) {
-            // フロント側で &gt; へエスケープするため, ここでは > を使用
-            if ($i === count($arrBread) - 1) {
-                $breadcrumbs .= ' > ';
-            }
-            $breadcrumbs .= $arrBread[$i]['category_name'];
-            if ($i > 0) {
-                $breadcrumbs .= ' > ';
-            }
-        }
-
-        return $breadcrumbs;
-    }
-
 }
 ?>
Index: branches/version-2_5-dev/data/Smarty/templates/admin/contents/file_manager.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/contents/file_manager.tpl	(revision 20562)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/contents/file_manager.tpl	(revision 20688)
@@ -22,5 +22,20 @@
  */
 *}-->
-<script type="text/javascript">
+<script type="text/javascript">//<![CDATA[
+    $(function() {
+        var bread_crumbs = <!--{$tpl_now_dir}-->;
+        var file_path = '<!--{$smarty.const.HTML_REALDIR}-->';
+        var $delimiter = '<span>&nbsp;&gt;&nbsp;</span>';
+        var $node = $('h2');
+        var total = bread_crumbs.length;
+        for (var i in bread_crumbs) {
+            file_path += bread_crumbs[i] + '/';
+            $('<a href="javascript:;" onclick="fnFolderOpen(\'' + file_path + '\')" />')
+                .text(bread_crumbs[i])
+                .appendTo($node);
+            if (i < total - 1) $node.append($delimiter);
+        }
+    });
+
 var IMG_FOLDER_CLOSE   = "<!--{$TPL_URLPATH}-->img/contents/folder_close.gif";  // フォルダクローズ時画像
 var IMG_FOLDER_OPEN    = "<!--{$TPL_URLPATH}-->img/contents/folder_open.gif";   // フォルダオープン時画像
@@ -28,4 +43,5 @@
 var IMG_MINUS          = "<!--{$TPL_URLPATH}-->img/contents/minus.gif";         // マイナスライン
 var IMG_NORMAL         = "<!--{$TPL_URLPATH}-->img/contents/space.gif";         // スペース
+//]]>
 </script>
 <form name="form1" method="post" action="?"  enctype="multipart/form-data">
@@ -58,5 +74,5 @@
             </tr>
         </table>
-        <h2><!--{$tpl_now_dir|h}--></h2>
+        <h2><!--{* jQuery で挿入される *}--></h2>
         <table class="list">
             <tr>
Index: branches/version-2_5-dev/data/Smarty/templates/admin/products/category.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/products/category.tpl	(revision 20540)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/products/category.tpl	(revision 20688)
@@ -22,5 +22,13 @@
  */
 *}-->
-<script type="text/javascript" src="<!--{$smarty.const.ROOT_URLPATH}-->js/jquery.tablednd.js"></script>
+<script type="text/javascript" src="<!--{$TPL_URLPATH}-->js/breadcrumbs.js"></script>
+<script type="text/javascript">//<![CDATA[
+    $(function() {
+        $('h2').breadcrumbs({
+            'bread_crumbs': <!--{$tpl_bread_crumbs}-->,
+        });
+    });
+//]]>
+</script>
 <form name="form1" id="form1" method="post" action="?" enctype="multipart/form-data">
 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
@@ -92,5 +100,5 @@
         </div>
 
-        <h2><!--{$breadcrumbs}--></h2>
+        <h2><!--{* jQuery で挿入される *}--></h2>
         <!--{if count($arrList) > 0}-->
 
Index: branches/version-2_5-dev/data/Smarty/templates/admin/products/product_rank.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/products/product_rank.tpl	(revision 20681)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/products/product_rank.tpl	(revision 20688)
@@ -22,4 +22,14 @@
  */
 *}-->
+<script type="text/javascript" src="<!--{$TPL_URLPATH}-->js/breadcrumbs.js"></script>
+<script type="text/javascript">//<![CDATA[
+    $(function() {
+        $('h2').breadcrumbs({
+            'bread_crumbs': <!--{$tpl_bread_crumbs}-->,
+        });
+    });
+//]]>
+</script>
+
 <form name="form1" id="form1" method="post" action="?" enctype="multipart/form-data">
 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
@@ -71,36 +81,6 @@
     <!--▼画面右-->
     <div id="products-rank-right">
-        <h2><!--{$breadcrumbs}--></h2>
+        <h2><!--{* jQuery で挿入される *}--></h2>
         <!--{if count($arrProductsList) > 0}-->
-
-
-            <script type="text/javascript">
-            // カテゴリーテーブルのイニシャライズ
-            $(document).ready(function() {
-                $("#categoryTable").tableDnD({
-                    onDragClass: "movingHandle",
-                    onDrop: function(table, row) {
-                        var rows = table.tBodies[0].rows;
-                        var keys = row.id;
-
-                        for (var i = 0; i < rows.length; i++) {
-                            if (row.id == rows[i].id) {
-                                keys += "-" + i;
-                                break;
-                            }
-                        }
-
-                        fnModeSubmit('moveByDnD','keySet', keys);
-                    },
-                    dragHandle: "dragHandle"
-                });
-
-                $("#categoryTable tr").hover(function() {
-                    $(this.cells[0]).addClass('activeHandle');
-                }, function() {
-                    $(this.cells[0]).removeClass('activeHandle');
-                });
-            });
-            </script>
 
             <p class="remark"><span class="attention"><!--{$tpl_linemax}-->件</span>が該当しました。</p>
Index: branches/version-2_5-dev/html/user_data/packages/admin/js/breadcrumbs.js
===================================================================
--- branches/version-2_5-dev/html/user_data/packages/admin/js/breadcrumbs.js	(revision 20688)
+++ branches/version-2_5-dev/html/user_data/packages/admin/js/breadcrumbs.js	(revision 20688)
@@ -0,0 +1,59 @@
+/*
+ * This file is part of EC-CUBE
+ *
+ * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
+ *
+ * http://www.lockon.co.jp/
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+(function($) {
+
+     var o;
+
+     $.fn.breadcrumbs = function(options) {
+         var defaults = {
+             bread_crumbs: '',
+             start_node: '<span>ホーム</span>',
+             anchor_node: '<a onclick="fnModeSubmit(\'tree\', \'parent_category_id\', '
+                 + '{category_id}); return false" href="javascript:;" />',
+             delimiter_node: '<span>&nbsp;&gt;&nbsp;</span>'
+         };
+
+         return this.each(function() {
+                              if (options) {
+                                  o = $.fn.extend(defaults, options);
+                              }
+                              var $this = $(this);
+                              var total = o.bread_crumbs.length;
+                              var $node = $(o.start_node);
+
+                              for (var i = total - 1; i >= 0; i--) {
+                                  if (i == total -1) $node.append(o.delimiter_node);
+
+                                  var anchor = o.anchor_node
+                                      .replace(/{category_id}/ig,
+                                               o.bread_crumbs[i].category_id);
+                                  $(anchor)
+                                      .text(o.bread_crumbs[i].category_name)
+                                      .appendTo($node);
+
+                                  if (i > 0) $node.append(o.delimiter_node);
+                              }
+                              $this.html($node);
+                              return this;
+                          });
+     };
+})(jQuery);
