//
//  プラン内容と従属するメニューを表示する関数（単一サイト用）
//
//  構成要素：    タイトル／表示スクリプト
//  　　引数：    planId= メニュープランのID
//              planElem= プラン／個別メニュー出力先エレメント
//              url= サーバーサイドスクリプト
//
//  付加機能：    なし
//
//
//  2008/03/24 (c) Ohsako, Junichi
//



var showMenuPlan =
function(planId, planElem, url) {
  // 出力用変数htmlを定義
  var html = '';
  // prototype.js でAjax通信、メニュープランデータを呼出し
  new Ajax.Request(url, {
    asynchronous: false,
    method: "post",
    parameters: 'table=plan_tbl&key=plan_id&key_value=' + planId,
    onComplete: function(request) {
                  // 受信データオブジェクトをXMLとして取得し、レコード配列オブジェクトを生成
                  var dbResult = new Xml2Obj(request.responseXML);
                  dbResult.buildRecords();
                  var records = dbResult.getRecords();
                  // 有効なデータが存在するかを判定
                  if(records.length) { 
                    // プロパティから値を取り出してHTML生成
                    for(var i = 0; i < records.length; i++) {
                      if(records[i].title) {
                        html += '<h3>' + records[i].title + '</h3>';
                      }
                      if(records[i].imagepath) {
                        html += '<img src="' + records[i].imagepath.substring(3) + '" alt="' + records[i].alternate + '" />';
                      }
                      if(records[i].comment) {
                        var body = records[i].comment.replace(/\r\n/g, "\n");
                        body = body.replace(/\r/g, "\n");
                        body = body.replace(/\n/g, '<br />');
                        html += '<p id="planComment">' + body + '</p>';
                      }
                    }
                  }
                }
  });
  // prototype.js でAjax通信、個別メニューデータを呼出し
  new Ajax.Request(url, {
    asynchronous: false,
    method: "post",
    parameters: 'table=menu_tbl&key=plan_id&key_value=' + planId + '&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生成
                    for(var i = 0; i < records.length; i++) {
                      if(records[i].mname) {
                        html += '<h4>' + records[i].mname + '</h4>';
                      }
                      if(records[i].imagepath1 || records[i].imagepath2) {
                        html += '<div class="menuImage">';
                        if(records[i].imagepath1) {
                          html += '<img src="' + records[i].imagepath1.substring(3) + '" alt="' + records[i].alternate1 + '" />';
                        }
                        if(records[i].imagepath2) {
                          html += '<img src="' + records[i].imagepath2.substring(3) + '" alt="' + records[i].alternate2 + '" />';
                        }
                        html += '</div>';
                      }
                      if(records[i].items) {
                        var body = records[i].items.replace(/\r\n/g, "\n");
                        body = body.replace(/\r/g, "\n");
                        body = body.replace(/\n/g, '<br />');
                        html += '<div class="menuItems">' + body + '</div>';
                      }
                      if(records[i].price) {
                        html += '<p class="price">￥' + conv2Commaed(records[i].price) + '</p>';
                      }
                      if(records[i].postscript) {
                        var body = records[i].postscript.replace(/\r\n/g, "\n");
                        body = body.replace(/\r/g, "\n");
                        body = body.replace(/\n/g, '<br />');
                        html += '<p class="ps">' + body + '<br />';
                      }
                    }
                    html += '<p class="clearing">&nbsp;</p>';
                  }
                  html += '<p class="ps">※全てのメニューは特別な表記がない限りサービス料10%・税金込みの金額となります。</p>';
                }
  });
  document.getElementById(planElem).innerHTML = html;
}

// 3桁の位取りコンマを数字に挿入する関数
var conv2Commaed =
function(val) {
  // 負数なら符号転換
  if (val < 0) {
    return "-" + conv2Commaed(-val);
  }
  // 1000で除算し、コンマとテキスト化した剰余を付加する再帰呼出し
  if (val >= 1000) {
    return conv2Commaed(Math.floor(val / 1000)) + "," + ((1000 + val % 1000).toString()).substring(1);
  }
  return val;
}
