//
//  プラン項目のガイドメニューを表示する関数（単一サイト用）
//
//  構成要素：    タイトル／表示スクリプト
//  　　引数：    code= ショップコード
//              guideElem= ガイドメニュー出力先エレメント
//              planElem= プラン／個別メニュー出力先
//              url1= カテゴリーテーブルを読み出すスクリプト
//              url2= プランテーブルを読み出すスクリプト
//              url3= プラン／メニューテーブルを読み出すスクリプト
//
//  付加機能：    なし
//
//
//  2008/03/22 (c) Ohsako, Junichi
//



var showPlanGuide =
function(code, guideElem, planElem, url1, url2, url3) {
  // カテゴリーテーブルの読み出し
  new Ajax.Request(url1, {
    asynchronous: false,
    method: 'post',
    parameters: 'table=category_tbl&order=cate_code',
    onComplete: function(request) {
                  // 受信データオブジェクトをXMLとして取得し変換オブジェクトを生成
                  var dbResult = new Xml2Obj(request.responseXML);
                  dbResult.buildRecords();
                  var c_records = dbResult.getRecords();
                  // ここからHTMLを生成代入
                  var html = '';
                  // 有効なデータが存在するかを判定
                  if(c_records.length) { 
                    // カテゴリー単位の処理
                    for(var i = 0; i < c_records.length; i++) {
                      // カテゴリーごとにメニュープランを取得
                      new Ajax.Request(url2, {
                        asynchronous: false,
                        method: "post",
                        parameters: 'table=plan_tbl&field1=plan_id&field2=title' +
                                    '&select_key=shop_code&select_value=' + code +
                                    '&select_key2=cate_code&select_value2=' + c_records[i].cate_code +
                                    '&sort_key=rank&sort_flag=ASC',
                        onComplete: function(request) {
                                      // 受信データオブジェクトをXMLとして取得し、レコード配列オブジェクトを生成
                                      var dbResult = new Xml2Obj(request.responseXML);
                                      dbResult.buildRecords();
                                      var records = dbResult.getRecords();
                                      // 有効なデータが存在するかを判定
                                      if(records.length) { 
                                        // プロパティから値を取り出してHTML生成
                                        html += '<dt class="cateHeader">' + c_records[i].cate_name + '</dt>';
                                        for(var j = 0; j < records.length; j++) {
                                          if(records[j].title) {
                                            html += '<dd><a href="javascript:showMenuPlan(\'' + records[j].plan_id + '\', \'' + planElem + '\', \'' + url3 + '\');">' + records[j].title + '</a></dd>';
                                          }
                                        }
                                      }
                                    }
                      });
                    }
                  }
                  document.getElementById(guideElem).innerHTML = html;
                }
    }
  );
}
