//////////////////////////////////////////////////////////////////////
// 出張ジョーズ・スクリプト（パネル２：経路）
//////////////////////////////////////////////////////////////////////

//--------------------------------------------------------------------
// パネル２の表示
//--------------------------------------------------------------------
  function jaws2_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='Sorry();' style='width:120px'></td>"
        + "<td align=right>"
        + "<a href='javascript:void(0);' onclick=SendMail('Route1');>メール送信（往路）</a>　"
        + "<a href='javascript:void(0);' onclick=SendMail('Route2');>メール送信（復路）</a>"
        + "</td>"
        + "</tr>"
        + "</table>"
        + "<br>"
        + "<table cellspacing=0 cellpadding=0>"
        + "<tr>"
        + "<td width=284>"
        + "<table bgcolor=#888888 cellspacing=1 cellpadding=0>"
        + "<tr height=20>"
        + "<td bgcolor=#F6F6F6 align=center>往路（行き）</td>"
        + "</tr>"
        + "<tr>"
        + "<td bgcolor=#E0E0AA>"
        + "<div id='route1' style='width:280px; height:360px; overflow-y:scroll;'></div>"
        + "</td>"
        + "</tr>"
        + "</table>"
        + "</td>"
        + "<td width=8></td>"
        + "<td width=284>"
        + "<table bgcolor=#888888 cellspacing=1 cellpadding=0>"
        + "<tr height=20>"
        + "<td bgcolor=#F6F6F6 align=center>復路（帰り）</td>"
        + "</tr>"
        + "<tr>"
        + "<td bgcolor=#E0E0AA>"
        + "<div id='route2' style='width:280px; height:360px; overflow-y:scroll;'></div>"
        + "</td>"
        + "</tr>"
        + "</table>"
        + "</td>"
        + "</tr>"
        + "</table>"
        + "</td></tr>"
        + "</table>";
    $("Panel2").innerHTML = txt;
  }

//--------------------------------------------------------------------
// 経路検索
//--------------------------------------------------------------------
  function RouteSearch(){
    var ans = StCheck();
    if(ans==""){
      RG_Station(st_name[1],st_name[2]);
    }else{
      alert(ans);
    }
  }

  function StCheck(){
    var st_err;
/* 20070324 MADDY PROJECT */
    var Form1 = $('Form1');
/**/
    if(Form1.ST1){
      st_num[1] = Form1.ST1.selectedIndex;
      st_name[1] = Form1.ST1.options[st_num[1]].value;
      st_err = "";
    }else{
      st_name[1] = "";
      st_err = "出発駅";
    }
    if(Form1.ST2){
      st_num[2] = Form1.ST2.selectedIndex;
      st_name[2] = Form1.ST2.options[st_num[2]].value;
    }else{
      st_name[2] = "";
      if(st_err==""){
        st_err = "到着駅";
      }else{
        st_err = "出発駅と到着駅";
      }
    }
    if(st_err!=""){
      st_err += "が指定されていません";
    }
    if( (st_name[1]!="") && (st_name[1]==st_name[2]) ){
      st_err = "出発駅と到着駅が同じです";
    }
    return st_err;
  }

  function RG_Station(st1,st2){
    var dateObj = new Date();
    var y = String(dateObj.getFullYear());
    var m = String(dateObj.getMonth() + 1);
    var d = String(dateObj.getDate());
    if(m.length<2) m = "0" + m;
    if(d.length<2) d = "0" + d;

    var RG_obj, RG_ary;
    RG_st = new Array(3);
    RG_pref = new Array(3);

    // 出発地の駅名
    RG_ary = st1.split("/");
    RG_st[1] = RG_ary[0];
    RG_pref[1] = RG_ary[1];

    // 到着地の駅名
    RG_ary = st2.split("/");
    RG_st[2] = RG_ary[0];
    RG_pref[2] = RG_ary[1];

    // 経路の検索
    $("route1").innerHTML = "<br><center>" + Indicator("経路を検索中です") + "</center>";
    $("route2").innerHTML = "";
    FA_par = "&method=Route"
           + "&date=" + y + m + d
           + "&name1=" + encodeURI(RG_st[1]+"/"+RG_pref[1])
           + "&name2=" + encodeURI(RG_st[2]+"/"+RG_pref[2]);
    RG_xml = new JKL.ParseXML(FA_url+FA_par);    //XMLパーサーでXMLドキュメントを読み込む
    RG_xml.async( function(obj){ DispRoute(obj,1);} );
    RG_xml.parse();                 //XMLを読む

    $("route2").innerHTML = "<br><center>" + Indicator("経路を検索中です") + "</center>";
    FA_par = "&method=Route"
           + "&date=" + y + m + d
           + "&name1=" + encodeURI(RG_st[2]+"/"+RG_pref[2])
           + "&name2=" + encodeURI(RG_st[1]+"/"+RG_pref[1]);

    // レスポンステキストの先読み
    DispXML(FA_url+FA_par);

    RG_xml = new JKL.ParseXML(FA_url+FA_par);    //XMLパーサーでXMLドキュメントを読み込む
    RG_xml.async( function(obj){ DispRoute(obj,2);} );
    RG_xml.parse();                 //XMLを読む
  }

// 経路の表示
  function DispRoute(obj,num){
    var i, cnt, chk;
    var RadioName = "RTsel" + num;
    var str = "";
    if(obj){
      if(obj.response){
        if(obj.response.course){                            //候補が見つかった場合の処理
          DispXML(FA_url+FA_par);
          str = "<table bgcolor=#888888 cellspacing=0 cellpadding=4>";
          if(obj.response.course.length){
            cnt = obj.response.course.length;
            for( i=0; i<cnt ; i++){
              if( i==0 ){
                chk = "checked";
              }else{
                chk = "";
              }
              if(num==1){
                Route1Description[i+1] = obj.response.course[i].description;
              }else{
                Route2Description[i+1] = obj.response.course[i].description;
              }
              str += "<tr><td bgcolor=#E0E0AA align=left colspan=2>"
                   + "<input type=radio name='" + RadioName + "' value='" + (i+1) + "' " + chk + " onclick='RouteClick(" + num + ",this.value);'>"
                   + "<b>経路" + (i+1) + "</b>"
                   + "　（所要時間：<font color=#0000FF>" + obj.response.course[i].totaltime + "</font>分）"
                   + "</td></tr>"
                   + "<tr>"
                   + "<td bgcolor=#E0E0AA width=6></td>"
                   + "<td bgcolor=#FFFFFF width=258 align=left>" + RouteDisp(obj.response.course[i].description) + "</td>"
                   + "</tr>"
                   + "<tr height=2><td bgcolor=#FFFFFF colspan=2></td></tr>";
            }
          }else{
            cnt = 1;
            if(num==1){
              Route1Description[i+1] = obj.response.course.description;
            }else{
              Route2Description[i+1] = obj.response.course.description;
            }
            str += "<tr><td bgcolor=#E0E0AA align=left colspan=2>"
                 + "<input type=radio name='" + RadioName + "' value='1' checked onclick='RouteClick(" + num + ",this.value);'>"
                 + "<b>経路1</b>"
                 + "　（所要時間：<font color=#0000FF>" + obj.response.course.totaltime + "</font>分）"
                 + "</td></tr>"
                 + "<tr>"
                 + "<td bgcolor=#E0E0AA width=6></td>"
                 + "<td bgcolor=#FFFFFF width=258 align=left>" + RouteDisp(obj.response.course.description) + "</td>"
                 + "</tr>"
                 + "<tr height=2><td bgcolor=#FFFFFF colspan=2></td></tr>";
          }
          str += "</table>";
        }
      }
    }
    if(str==""){
      str = "<font color=#FF0000>経路が見つかりませんでした</font>";
      MyRoute[num] = "0";
    }else{
      MyRoute[num] = "1";
    }
    $("route"+num).innerHTML = str;
  }

// 経路の整形
  function RouteDisp(txt){
    var ary = txt.split(",");
    var str = "<table width=100% bgcolor=#CCCCCC cellspacing=1 cellpadding=2>";
    var i;
    var cnt;
    for(i=0;i<ary.length;i++){
      cnt = i/2;
      if(i==0) cnt = "Ｓ";
      if(i==ary.length-1) cnt = "Ｇ";
      str += RouteSection(ary[i],cnt);
    }
    str += "</table>";
    return str;
  }

// 区間ごとの表示編集
  function RouteSection(txt,cnt){
    var str = "";
    var col1 = "#FFFFE0";
    var col2 = "#000000";
    if(txt.indexOf("[")>-1){
      str = "<tr>"
          + "<td colspan=2 bgcolor=#FFFFFF>　　<img src='image/arrow1.gif'>　" + txt + "</td>"
          + "</tr>";
    }else{
      if( (cnt=="Ｓ") || (cnt=="Ｇ") ){
         col1 = "#BBBBBB";
         col2 = "#FFFFFF";
      }
      str = "<tr>"
          + "<td bgcolor=" + col1 + " width=10% align=center><font color=" + col2 + "><b>" + cnt + "</b></font></td>"
          + "<td bgcolor=#FFFFFF><font color=#0000FF>" + txt + "</font></td>"
          + "</tr>";
    }
    return str;
  }

// 経路のラジオボタンがクリックされた場合の処理
  function RouteClick(num,val){
    MyRoute[num] = val;
  }

// 経路検索できない場合のメッセージ
  function Sorry(){
    var txt = "経路検索WebAPIの無償提供期間が終了したのに伴い、\n"
            + "当サイトの経路検索機能がご利用いただけなくなりました。\n"
            + "大変ご迷惑をおかけしますが、どうかご容赦願います。";
    alert(txt);
  }
