function initTetsudo(no){
   setTetsudo(no);


   if (no == 1){
     tetsudo_id = document.form1.tetsudo1_id;
     rosen_id   = document.form1.rosen1_id;
     eki_id     = document.form1.eki1_id;

     t_id       = document.form1.tetsudo1_id_org.value;
     r_id       = document.form1.rosen1_id_org.value;
     e_id       = document.form1.eki1_id_org.value;

   } else if (no == 2){
     tetsudo_id = document.form1.tetsudo2_id;
     rosen_id   = document.form1.rosen2_id;
     eki_id     = document.form1.eki2_id;

     t_id       = document.form1.tetsudo2_id_org.value;
     r_id       = document.form1.rosen2_id_org.value;
     e_id       = document.form1.eki2_id_org.value;
   } else if (no == 3){
     tetsudo_id = document.form1.tetsudo3_id;
     rosen_id   = document.form1.rosen3_id;
     eki_id     = document.form1.eki3_id;

     t_id       = document.form1.tetsudo3_id_org.value;
     r_id       = document.form1.rosen3_id_org.value;
     e_id       = document.form1.eki3_id_org.value;
   } else {
     return;
   }

   var index1 = tetsudo_index[t_id];
   if(index1 > 0){
       tetsudo_id.options[index1].selected = true;
       selectTetsudo(no);
	   var index2 = rosen_index[r_id];
	   if(index2 > 0){
		   rosen_id.options[index2].selected = true;
		   selectRosen(no);
           var index3 = eki_index[r_id + "-" + e_id];
       	   if(index3 > 0){
              eki_id.options[index3].selected = true;
           }
	   }
   }
}


function setTetsudo(no){
   var tetsudo_id;
   if(no == 1){
     tetsudo_id = document.form1.tetsudo1_id;
   }else if(no == 2){
     tetsudo_id = document.form1.tetsudo2_id;
   }else if(no == 3){
     tetsudo_id = document.form1.tetsudo3_id;
   }else{
     return;
   }
   var cnt = tetsudos.length;
   for (var i = 0; i < cnt; i++){
	    var data_array = tetsudos[i].split("/");
        if(data_array.length == 2){
          tetsudo_id.options[i + 1] = new Option(data_array[1],data_array[0]);           
        }

        if(data_array.length == 3){
          tetsudo_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          tetsudo_id.options[i + 1].style.background= data_array[2];
          tetsudo_id.options[i + 1].style.color = "white";  
        }
        if(data_array.length == 4){
          tetsudo_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          tetsudo_id.options[i + 1].style.background= data_array[2];
          tetsudo_id.options[i + 1].style.color = data_array[3];  
        }
   }
}


function selectTetsudo(no){
    var tetsudo_id;
    var rosen_id;
    var eki_id;

   // no によって変数名変更
   if (no == 1){
     tetsudo_id = document.form1.tetsudo1_id;
     rosen_id   = document.form1.rosen1_id;
     eki_id     = document.form1.eki1_id;
   } else if (no == 2){
     tetsudo_id = document.form1.tetsudo2_id;
     rosen_id   = document.form1.rosen2_id;
     eki_id     = document.form1.eki2_id;
   } else if (no == 3){
     tetsudo_id = document.form1.tetsudo3_id;
     rosen_id   = document.form1.rosen3_id;
     eki_id     = document.form1.eki3_id;
   } else {
     return;
   }

   selected_index = tetsudo_id.selectedIndex;

   if(!(selected_index > 0)){
      rosen_id.length = 1;
      eki_id.length = 1;
      return;
   }

   // rosen_id の先頭が固定の選択されていない状態を表すため -1 する
   var rosens_list = rosens[selected_index - 1];
   var cnt = rosens_list.length;
   rosen_id.length = cnt + 1;

   for (var i = 0; i < cnt; i++){
	data_array = rosens_list[i].split("/");
        if(data_array.length == 1){
          rosen_id.options[i + 1] = new Option(data_array[0],data_array[0]);           
        }
        if(data_array.length == 2){
          rosen_id.options[i + 1] = new Option(data_array[1],data_array[0]);           
        }
        if(data_array.length == 3){
          rosen_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          rosen_id.options[i + 1].style.background= data_array[2];
          rosen_id.options[i + 1].style.color = "white";  
        }
        if(data_array.length == 4){
          rosen_id.options[i + 1]=new Option(data_array[1],data_array[0]);
          rosen_id.options[i + 1].style.background= data_array[2];
          rosen_id.options[i + 1].style.color = data_array[3];  
        }
   }
   // 路線が1つだけの場合選択状態にする
   if(rosens_list.length == 1){
     rosen_id.options[1].selected = true;
   }

   // 駅の選択をはずす
   eki_id.length = 1;

   if (no == 1){
      document.form1.tetsudo1_id_org.value = document.form1.tetsudo1_id.value;
   } else if (no == 2){
      document.form1.tetsudo2_id_org.value = document.form1.tetsudo2_id.value;
   } else if (no == 3){
      document.form1.tetsudo3_id_org.value = document.form1.tetsudo3_id.value;
   } else {
     return;
   }
}



function selectRosen(no){
    var rosen_id;
    var eki_id;
   // no によって変数名変更
   if (no == 1){
     rosen_id   = document.form1.rosen1_id;
     eki_id   = document.form1.eki1_id;
   } else if (no == 2){
     rosen_id   = document.form1.rosen2_id;
     eki_id   = document.form1.eki2_id;
   } else if (no == 3){
     rosen_id   = document.form1.rosen3_id;
     eki_id   = document.form1.eki3_id;
   } else {
     return;
   }
   selected_index = rosen_data_index[rosen_id.value];
   if(!(selected_index >= 0)){
      eki_id.length = 1;
      return;
   }

   // 
   var ekis_list = ekis[selected_index];
   var cnt = ekis_list.length;
   eki_id.length = ekis_list.length + 1;

   for (var i = 0; i < cnt; i++){
	data_array = ekis_list[i].split("/");
        if(data_array.length == 2){
          eki_id.options[i + 1] = new Option(data_array[1],data_array[0]);           
        }
        if(data_array.length == 3){
          eki_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          eki_id.options[i + 1].style.background= data_array[2];
          eki_id.options[i + 1].style.color = "white";  
        }
        if(data_array.length == 4){
          eki_id.options[i + 1]=new Option(data_array[1],data_array[0]);
          eki_id.options[i + 1].style.background= data_array[2];
          eki_id.options[i + 1].style.color = data_array[3];  
        }
   }
   // 路線が1つだけの場合選択状態にする
   if(ekis_list.length == 1){
     eki_id.options[1].selected = true;
   }

   if (no == 1){
      document.form1.rosen1_id_org.value = document.form1.rosen1_id.value;
   } else if (no == 2){
      document.form1.rosen2_id_org.value = document.form1.rosen2_id.value;
   } else if (no == 3){
      document.form1.rosen3_id_org.value = document.form1.rosen3_id.value;
   } else {
     return;
   }
}


function selectEki(no){
   if (no == 1){
      document.form1.eki1_id_org.value = document.form1.eki1_id.value;
   } else if (no == 2){
      document.form1.eki2_id_org.value = document.form1.eki2_id.value;
   } else if (no == 3){
      document.form1.eki3_id_org.value = document.form1.eki3_id.value;
   } else {
     return;
   }
}



function setDirectRosen(no,t_id,r_id){
   if (no == 1){
     tetsudo_id = document.form1.tetsudo1_id;
     rosen_id   = document.form1.rosen1_id;
   } else if (no == 2){
     tetsudo_id = document.form1.tetsudo2_id;
     rosen_id   = document.form1.rosen2_id;
   } else if (no == 3){
     tetsudo_id = document.form1.tetsudo3_id;
     rosen_id   = document.form1.rosen3_id;
   } else {
     return;
   }

    var index1 = tetsudo_index[t_id];
    if(index1 > 0){
         tetsudo_id.options[index1].selected = true;
         selectTetsudo(no);

         var index2 = rosen_index[r_id];
          if(index2 > 0){
              rosen_id.options[index2].selected = true;
              selectRosen(no);
          }
      }
}




function initPref(){
   setPref();
   pref_id = document.form1.pref_id;
   city_id = document.form1.city_id;
   adr_id  = document.form1.adr_id;

   p_id    = document.form1.pref_id_org.value;
   c_id    = document.form1.city_id_org.value;
   a_id    = document.form1.adr_id_org.value;

   var index1 = pref_index[p_id];
   if(index1 > 0){
       pref_id.options[index1].selected = true;
       selectPref();
	   var index2 = city_index[c_id];
	   if(index2 > 0){
		   city_id.options[index2].selected = true;
		   selectCity();
           var index3 = adr_index[c_id + "-" + a_id];
       	   if(index3 > 0){
              adr_id.options[index3].selected = true;
           }
	   }
   }
}


function setPref(){
   var pref_id = document.form1.pref_id;

   var cnt = prefs.length;
   for (var i = 0; i < cnt; i++){
	    var data_array = prefs[i].split("/");
        if(data_array.length == 2){
          pref_id.options[i + 1] = new Option(data_array[1],data_array[0]);           
        }

        if(data_array.length == 3){
          pref_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          pref_id.options[i + 1].style.background= data_array[2];
          pref_id.options[i + 1].style.color = "white";  
        }
        if(data_array.length == 4){
          pref_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          pref_id.options[i + 1].style.background= data_array[2];
          pref_id.options[i + 1].style.color = data_array[3];  
        }
   }
}


function selectPref(){
   var pref_id = document.form1.pref_id;
   var city_id = document.form1.city_id;
   var adr_id  = document.form1.adr_id;

   selected_index = pref_id.selectedIndex;
   if(!(selected_index > 0)){
      return;
   }

   // city_id の先頭が固定の選択されていない状態を表すため -1 する
   var citys_list = citys[selected_index - 1];
   var cnt = citys_list.length;
   city_id.length = cnt + 1;

   for (var i = 0; i < cnt; i++){
	data_array = citys_list[i].split("/");
        if(data_array.length == 1){
          city_id.options[i + 1] = new Option(data_array[0],data_array[0]);           
        }
        if(data_array.length == 2){
          city_id.options[i + 1] = new Option(data_array[1],data_array[0]);           
        }
        if(data_array.length == 3){
          city_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          city_id.options[i + 1].style.background= data_array[2];
          city_id.options[i + 1].style.color = "white";  
        }
        if(data_array.length == 4){
          city_id.options[i + 1]=new Option(data_array[1],data_array[0]);
          city_id.options[i + 1].style.background= data_array[2];
          city_id.options[i + 1].style.color = data_array[3];  
        }
   }
   // 路線が1つだけの場合選択状態にする
   if(citys_list.length == 1){
     city_id.options[1].selected = true;
   }
   // adr_id を選択はずす
   adr_id.length = 1;


   document.form1.pref_id_org.value = document.form1.pref_id.value;
}



function selectCity(){
    var city_id   = document.form1.city_id;
    var adr_id   = document.form1.adr_id;

   selected_index = city_data_index[city_id.value];

   if(!(selected_index >= 0)){
      // city_name=その他の場合
      if(city_id.value.substring(4,8) == 9999){
          adr_id.length = 2;
          adr_id.options[1] = new Option('その他',99999999);           
          adr_id.options[1].selected = true;
      }
      return;
   }
   // 
   var adrs_list = adrs[selected_index];
   var cnt = adrs_list.length;
   // 「not_selected」と「その他」の分
   adr_id.length = adrs_list.length + 2;

   for (var i = 0; i < cnt; i++){
	data_array = adrs_list[i].split("/");
        if(data_array.length == 2){
          adr_id.options[i + 1] = new Option(data_array[1],data_array[0]);           
        }
        if(data_array.length == 3){
          adr_id.options[i + 1] = new Option(data_array[1],data_array[0]);
          adr_id.options[i + 1].style.background= data_array[2];
          adr_id.options[i + 1].style.color = "white";  
        }

        if(data_array.length == 4){
          adr_id.options[i + 1]=new Option(data_array[1],data_array[0]);
          adr_id.options[i + 1].style.background= data_array[2];
          adr_id.options[i + 1].style.color = data_array[3];  
        }
   }
   adr_id.options[cnt+1] = new Option('その他',99999999);           
   // 路線が1つだけの場合選択状態にする
   if(adrs_list.length == 1){
     adr_id.options[1].selected = true;
   }

   document.form1.city_id_org.value = document.form1.city_id.value;
}

function selectAdr(){
   document.form1.adr_id_org.value = document.form1.adr_id.value;
}




function setDirectCity(p_id,c_id){
    var pref_id = document.form1.pref_id;
    var city_id = document.form1.city_id;

    var index1 = pref_index[p_id];
    if(index1 > 0){
         pref_id.options[index1].selected = true;
         selectPref();

         var index2 = city_index[c_id];
          if(index2 > 0){
              city_id.options[index2].selected = true;
              selectCity();
          }
      }
}





function inputStr(x,n) {
  x.value = x.value + n;
}

function deleteStr(x) {
  len = x.value.length;
  str = x.value.substr(0, len-1);
  x.value = str;
}

function insertStr (obj,str) {
  var txtarea = obj;
  if(navigator.appName.indexOf("Microsoft") > -1){ // IEの場合
      txtarea.focus();
      if (!document.selection) return;
      var range = document.selection.createRange();
      range.text=str;
      txtarea.focus();
  }else{
      if (txtarea.createTextRange && txtarea.caretPos) {
          var caretPos = txtarea.caretPos;
          caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? str + ' ' : str;
          txtarea.focus();
      } else {
          txtarea.value  += str;
          txtarea.focus();
      }
  }
}

function changeKigen(year,month,date,kigen_year,kigen_month,kigen_date){
  kigen_year.value  = year;
  kigen_month.value = month;
  kigen_date.value  = date;
}



function selectOp(obj,index){
   obj.options[index].selected = true;
}