
/*@cc_on _d=document;eval('var document=_d')@*/

var focus_idx;

function setFocus(new_focus_id){
  if(focus_idx != new_focus_id){
    focus_idx = new_focus_id;
    switch(focus_idx){
    case 0:
      document.trans_search.val_from.focus();
      break;
    case 1:
      document.trans_search.val_to.focus();
      break;
    case 2:
      document.trans_search.val_via.focus();
      break;
    default:
      document.trans_search.val_from.focus();
      break;

    }
  }
}

function GoToResult(){
  buff = './exp.cgi?searchbt=';
  document.trans_search.method = 'post';
  document.trans_search.action = buff;
  document.trans_search.submit();
}
function ClearForm(){
  document.trans_search.val_from.value = '';
  document.trans_search.val_get_from.value = '';
  document.trans_search.val_to.value = '';
  document.trans_search.val_get_to.value = '';
  document.trans_search.val_via.value = '';
  document.trans_search.val_get_via.value = '';
  setFocus(0);
}
function setSearchType(searchType){
  var buff;
  buff = './exp.cgi';
  buff = buff + '?val_htmb=start';
  buff = buff + "&val_focus=" + focus_idx;
  buff += '&select_type=' + searchType;

  document.trans_search.action = buff;
  document.trans_search.method = 'post';
  document.trans_search.submit();
}

function setSearchType(searchType, selectedCategory){
  var buff;
  buff = './exp.cgi';
  buff = buff + '?val_htmb=start';
  buff += '&select_type=' + searchType;
  buff = buff + "&val_focus=" + focus_idx;
  if(selectedCategory){
    buff += '&val_land_category=' + selectedCategory;
  }

  document.trans_search.action = buff;
  document.trans_search.method = 'post';
  document.trans_search.submit();
}


function dispStation(code, type){
  var buff;
  buff = './exp.cgi';
  buff = buff + '?val_htmb=start';
  buff = buff + "&select_type=1";
  buff = buff + "&val_kana=" + code;
  buff = buff + "&val_focus=" + focus_idx;
  buff = buff + "&val_gojhuon_type=" + type;

  document.trans_search.action = buff;
  document.trans_search.method = 'post';
  document.trans_search.submit();
}

function inputCheck(){
  // alert(document.trans_search.val_from.type);
  if(document.trans_search.val_from.type == 'text' && document.trans_search.val_from.value.length == 0 ){
    alert('出発地が入力されていません。');
    return false;
  }else if(document.trans_search.val_to.type == 'text' && document.trans_search.val_to.value.length == 0){
    alert('目的地が入力されていません。');
    return false;
  }
  return true;
}

/*
　50音表、ランドマークリストからの駅名選択関数

  idx: 内部のhidden form(stname_form)での、選択した駅のインデックス
  searchType: 選択後に使用する検索方式の選択用変数
 */
function selectStation(idx, searchType){

  var stationName;
  stationName  = document.stname_form.elements[idx].value;

  if(stationName.match(/------[あ-ん]------/)){
    return false;
  }


  if(searchType != 2){
    stationName = encodeStationName(stationName);
  }

  switch(focus_idx){
  case 0:
    document.trans_search.val_from.value = stationName;
    document.trans_search.val_get_from.value = stationName;
    //document.trans_search.val_to.focus();
    break;
  case 1:
    document.trans_search.val_to.value  = stationName;
    document.trans_search.val_get_to.value  = stationName;
    //document.trans_search.val_via.focus();
    break;
  case 2:
    if(searchType == 2){
      alert('経由地にランドマークは選択できません。');
    }else{
      document.trans_search.val_via.value  = stationName;
      document.trans_search.val_get_via.value  = stationName;
    }
    break;
  }

  if(searchType == 1){
    var buff;
    buff = './exp.cgi';
    buff = buff + '?val_htmb=start';
    buff += '&select_type=' + searchType;
    if(focus_idx <  2){
      buff += '&val_focus=' + (focus_idx + 1);
    }else{
      buff += '&val_focus=0';
    }
    document.trans_search.action = buff;
    document.trans_search.method = 'post';
    document.trans_search.submit();
  }else if(searchType == 2){
    // ランドマークの場合、経由地にはフォーカスを移さない
    setFocus( (focus_idx+1) % 2 );

  }else{
    setFocus(focus_idx+1);
  }

}



/*
 定期情報表示用サブウインドウの表示
 */
function showTeiki(val_from, val_to, val_via, ex_date, sort_type, bus_flag, route_no){
  var url;
  url = './exp.cgi?val_htmb=teiki';
  url += '&val_from=' + val_from;
  url += '&val_to=' + val_to;
  url += '&val_via=' + val_via;
  url += '&val_date=' + ex_date;
  url += '&val_sort_type=' + sort_type;
  url += '&val_bus_flag=' + bus_flag;
  url += '&route_no=' + route_no;
  teiki = window.open(url, 'teiki');
}

/*
 周辺情報表示用サブウインドウの表示
 */
function showShuhen(iStationCode){
  if (iStationCode > 0){
    window.open('./exp.cgi?val_htmb=info&val_station_code='+iStationCode, 'shuhen_window','width=320px, height=500px');
  }else{
    window.open('./exp.cgi?val_htmb=info&val_station_name='+iStationCode, 'shuhen_window','width=320px, height=500px');
  }
}

function checkDate(){
  // ドロップダウンで選択された日付オブジェクトを生成
  var yyyymm = document.getElementById('val_yymm').value;

  var yyyy = yyyymm.substr(0,4) - 0;
  var mm = yyyymm.substr(4,2) - 0;

  var dd_list = document.getElementById('val_dd');
  var max;

  switch(mm){
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  case 12:
    max = 31;
    break;
  case 4:
  case 6:
  case 9:
  case 11:
    max = 30;
    break;
  case 2:
    var date = new Date(yyyy, '1', '29');
    if(date.getMonth() == 1){
      // うるう年
      max = 29;
    }else{
      max = 28;
    }
    break;

  }
  dd_list.options.length = max;

  for(i = 1; i<=max;i++){
    if(dd_list.options[i-1].value == '' || dd_list.options[i-1].text == ''){
      dd_list.options[i-1].value = i;
      dd_list.options[i-1].text = i + '日';
    }
  }
}

function showOtherRoute(val_from, val_to, val_via, rail_name, rail_count, ex_date, sort_type, bus_flag, route_no, rail_no){

  var url;
  url = './exp.cgi?val_htmb=otherrail';
  url += '&val_from=' + val_from;
  url += '&val_to=' + val_to;
  url += '&val_via=' + val_via;
  url += '&val_date=' + ex_date;
  url += '&rail_name=' + rail_name;
  url += '&rail_count=' + rail_count;
  url += '&val_sort_type=' + sort_type;
  url += '&val_bus_flag=' + bus_flag;
  url += '&route_no=' + route_no;
  url += '&rail_no=' + rail_no;
  url += '&default=y';
  /*     alert(url);     */
  window.open(url);
}

function encodeStationName(stationName){
  stationName = stationName.replace(/\(.*\)/,'');

  if(stationName.indexOf('／京都市営バス') > 0){
    return stationName.replace('／京都市営バス', '／市バス');
  }else{

    return stationName + '／地下鉄'

    }
}

function swap(){
  var tmp,tmp2;
  tmp  = document.trans_search.val_from.value;
  tmp2 = document.trans_search.val_get_from.value;
  document.trans_search.val_from.value = document.trans_search.val_to.value;
  document.trans_search.val_get_from.value = document.trans_search.val_get_to.value;
  document.trans_search.val_to.value = tmp;
  document.trans_search.val_get_to.value = tmp2;
}
