// クラス名の定義
subpane_class = 'Area'; // 折りたたみ領域
folder_class  = 'Folder';   // 各ブロック
icon_class    = 'Icon';     // 各タイトル

// display スタイルの定義
displays = new Array(
  'block',                  // 開いている状態
  'none'                    // 閉じている状態
);

// フォルダ状態を逆転する関数
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(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;
}