﻿//////////////////////////////////////////////////////////////////////
// 出張ジョーズ・スクリプト（パネル４：レストラン検索）
//////////////////////////////////////////////////////////////////////

//--------------------------------------------------------------------
// パネル４の表示
//--------------------------------------------------------------------
  function jaws4_PanelDisp(){
    var txt;
    txt = "<table cellspacing=0 cellpadding=8 width=100%>"
        + "<tr><td>"
        + "<table cellspacing=0 cellpadding=0 width=100%>"
        + "<tr>"
        + "<td>"
        + "<input type=button value='レストラン検索' onclick='RestaurantSearch();' style='width:120px'>　目的地から"
        + "<select id=Rrange>"
        + "<option value='1' selected>300ｍ以内</option>"
        + "<option value='2'>500ｍ以内</option>"
        + "<option value='3'>1000ｍ以内</option>"
        + "<option value='4'>2000ｍ以内</option>"
        + "<option value='5'>3000ｍ以内</option>"
        + "</select>"
        + "</td>"
        + "<td align=right><a href='javascript:void(0);' onclick=SendMail('Restaurant');>メール送信</a></td>"
        + "</tr>"
        + "</table>"
        + "<br>"
        + "<table bgcolor=#888888 cellspacing=1 cellpadding=0 width=100%>"
        + "<tr height=20>"
        + "<td bgcolor=#F6F6F6 align=center>検索結果（目的地から近い順に表示）</td>"
        + "</tr>"
        + "<tr>"
        + "<td bgcolor=#E0E0AA>"
        + "<div id='Restaurants' style='width:572px; height:340px; overflow-y:scroll;'></div>"
        + "</td>"
        + "</tr>"
        + "</table>"
        + "</td></tr>"
        + "</table>";
    $("Panel4").innerHTML = txt;
  }

//--------------------------------------------------------------------
// レストラン検索
//--------------------------------------------------------------------
  function RestaurantSearch(){
    if(Pf[2]=="0"){
      alert("目的地が指定されていません");
    }else{
      RestaurantCount = 0;
      $("Restaurants").innerHTML = "<br><center>" + Indicator("レストランを検索中です") + "</center>";

      // Webサービスの呼び出し
      var rg = $('Rrange').options[$('Rrange').selectedIndex].value;
      FA_par = "&method=Restaurants&Latitude=" + Py[2] + "&Longitude=" + Px[2] + "&Range=" + rg +"&Count=40";
      var xml = new JKL.ParseXML(FA_url+FA_par);              //XMLパーサーでXMLドキュメントを読み込む
      xml.async( function(obj){ DispRestaurants(obj);} );
      xml.parse();                                            //XMLを読む
    }
  }

  function DispRestaurants(obj){
    var str = "";
    var msg = "";
    if(obj.Results.NumberOfResults){
      RestaurantCount = eval(obj.Results.NumberOfResults);
    }
    if(RestaurantCount==0){
      str = "<font color=#FF0000>条件に該当するレストランが登録されていません</font>";
      $("Restaurants").innerHTML = str;
      MyRestaurant = "0";
    }else{                                                    //候補が見つかった場合の処理
      MyRestaurant = "1";
      if(RestaurantCount>40){
        msg = "（上位40件まで表示します）";
      }
      str = "<table cellspacing=4 cellpadding=0 width=550>"
          + "<tr><td>"
          + "※条件に該当するレストランが" + RestaurantCount + "件見つかりました" + msg + "<br>"
          + "<table bgcolor=#CCCCCC cellspacing=1 cellpadding=2>";
      if(RestaurantCount==1){
        cnt = 1;
        nm  = obj.Results.Shop.ShopName;
        adr = obj.Results.Shop.ShopAddress;     // 住所
        gnm = obj.Results.Shop.GenreName;       // 店ジャンル
        fnm = obj.Results.Shop.FoodName;        // 食事ジャンル
        bda = obj.Results.Shop.BudgetAverage;   // 平均的な価格
        gch = obj.Results.Shop.GenreCatch;      // 店キャッチコピー
        sch = obj.Results.Shop.ShopCatch;       // 店のPR
        url = obj.Results.Shop.ShopUrl;         // 店のURL
        pic = obj.Results.Shop.PictureUrl.PcLargeImg;
        opn = obj.Results.Shop.Open;            // 開店時間
        cls = obj.Results.Shop.Close;           // 定休日
        y   = obj.Results.Shop.Latitude;        // 緯度
        x   = obj.Results.Shop.Longitude;       // 経度
        str += Rlist(cnt,nm,adr,gnm,fnm,bda,gch,sch,url,pic,opn,cls,y,x);
      }else{
        for(var i=0;i<obj.Results.Shop.length;i++){
          cnt = i+1;
          nm  = obj.Results.Shop[i].ShopName;
          adr = obj.Results.Shop[i].ShopAddress;     // 住所
          gnm = obj.Results.Shop[i].GenreName;       // 店ジャンル
          fnm = obj.Results.Shop[i].FoodName;        // 食事ジャンル
          bda = obj.Results.Shop[i].BudgetAverage;   // 平均予算
          gch = obj.Results.Shop[i].GenreCatch;      // 店キャッチコピー
          sch = obj.Results.Shop[i].ShopCatch;       // 店のPR
          url = obj.Results.Shop[i].ShopUrl;         // 店のURL
          pic = obj.Results.Shop[i].PictureUrl.PcLargeImg;
          opn = obj.Results.Shop[i].Open;            // 開店時間
          cls = obj.Results.Shop[i].Close;           // 定休日
          y   = obj.Results.Shop[i].Latitude;        // 緯度
          x   = obj.Results.Shop[i].Longitude;       // 経度
          str += Rlist(cnt,nm,adr,gnm,fnm,bda,gch,sch,url,pic,opn,cls,y,x);
        }
      }
      str += "</table>"
          +  "</td></tr>"
          +  "</table>";
      $("Restaurants").innerHTML = str;
    }
    DispXML(FA_url+FA_par);
  }

  function Rlist(cnt,nm,adr,gnm,fnm,bda,gch,sch,url,pic,opn,cls,y,x){
    var txt,str;
    var RadioName = "Rsel";
    var chk = "";
    if(cnt==1) chk = "checked";
    str = "・" + adr + "<br>"
        + "・種類：" + gnm + "／" + fnm + "<br>"
        + "・平均予算：" + bda + "<br>"
        + "・営業：" + opn + "<br>"
        + "・定休：" + cls + "<br>"
        + "・" + gch + "<br>"
        + "・" + sch
    txt = "<tr>"
        + "<td bgcolor=#FFFFE0 width=20 align=center>"
        + "<input type='radio' name='" + RadioName + "' " + chk + " value='" + cnt + "' onclick='RestaurantClick(this.value);'>"
        + "<br><b>" + cnt + "</b></td>"
        + "<td bgcolor=#FFFFFF align=center>"
        + "<a href='" + url + "' target=_blank>" + nm + "</a><br>"
        + "<img src='" + pic + "' width=100>"
        + "</td>"
        + "<td bgcolor=#FFFFFF valign=top>" + str + "</td>"
        + "</tr>";
    RestaurantName[cnt] = nm;
    RestaurantAddress[cnt] = adr;
    RestaurantPicture[cnt] = pic;
    RestaurantDescription[cnt] = str;
    RestaurantY[cnt] = y;
    RestaurantX[cnt] = x;
    return txt;
  }

// レストランのラジオボタンがクリックされた場合の処理
  function RestaurantClick(num){
    MyRestaurant = num;
  }
