// クラス名の定義
pane_class    = 'pane';      // メニュー領域のクラス名
subpane_class = 'sub_pane';  // 折りたたみ領域のクラス名
folder_class  = 'folder';    // フォルダのクラス名
icon_class    = 'icon';      // フォルダアイコンのクラス名
//
// アイコンの定義
imgs = new Array(
'img/arw2.gif',     //閉じている状態のアイコン
'img/arw3.gif'       //開いている状態のアイコン
);
// display スタイルの定義
displays = new Array(
  'none',                      // 閉じている状態の display スタイル
  'block'                  // 開いている状態の display スタイル
);

// フォルダ状態を逆転する関数
function menu_toggle(folder,icon){
  // DOM チェック
  if(!document.hasChildNodes) return;

  // アイコンの変更
  var node = null, state = folder.folder_state?1:0;
  var new_state = state?0:1;
  if(icon){
    if(icon.className && icon.className == icon_class) node = icon;
    else if(icon.hasChildNodes()){
      var nodes = icon.childNodes;
      for(var i=0; i<nodes.length; i++){
        var n = nodes[i];
        if(n.className && n.className == icon_class){
          node = n;
          break;
        }
      }
    }
    if(node) node.src = imgs[new_state];
  }
  // メニュー表示の変更
  if(folder.parentNode.hasChildNodes()){
    var nodes = folder.parentNode.childNodes;
    for(var i=0; i<nodes.length; i++){
      var node = nodes[i];
      if(node.className){
        if(node.className == subpane_class){
          node.style.display = displays[new_state];
          break;
        }
      }
    }
    folder.folder_state = new_state;
  }
  return false;
}