﻿var depCity=new Array(); //出發地;
depCity[0]=new Option("台北","105");
depCity[1]=new Option("板橋","110");
depCity[2]=new Option("桃園","115");
depCity[3]=new Option("新竹","120");
depCity[4]=new Option("台中","125");
depCity[5]=new Option("嘉義","130");
depCity[6]=new Option("台南","135");
depCity[7]=new Option("左營","140");

var desCity=new Array(); //目的地;
desCity[0]=new Option("台北","105");
desCity[1]=new Option("板橋","110");
desCity[2]=new Option("桃園","115");
desCity[3]=new Option("新竹","120");
desCity[4]=new Option("台中","125");
desCity[5]=new Option("嘉義","130");
desCity[6]=new Option("台南","135");
desCity[7]=new Option("左營","140");

var rtnCity=new Array(); //回程目的地;
rtnCity[0]=new Option("台北","105");
rtnCity[1]=new Option("板橋","110");
rtnCity[2]=new Option("桃園","115");
rtnCity[3]=new Option("新竹","120");
rtnCity[4]=new Option("台中","125");
rtnCity[5]=new Option("嘉義","130");
rtnCity[6]=new Option("台南","135");
rtnCity[7]=new Option("左營","140");

var cabin=new Array(); //車廂
cabin[0]=new Option("標準車廂", "N");
cabin[1]=new Option("商務車廂", "C");

if(getValue('businessType') == 'b2e' || getValue('businessType') == 'b2b') { //B2B, B2E 不顯示自由席
  cabin[2]=new Option("不限", "X");
  
} else {
  cabin[2]=new Option("自由席", "P");
  cabin[3]=new Option("不限", "X");
}

var depTime=new Array(); //去程時段
depTime[0]=new Option("06:00~11:00", "0600,1100");
depTime[1]=new Option("11:00~15:00", "1100,1500");
depTime[2]=new Option("15:00~19:00", "1500,1900");
depTime[3]=new Option("19:00~23:00", "1900,2300");
depTime[4]=new Option("不限時段", "0600,2300");
depTime[5]=new Option("餘位查詢", "9999,9999");



var rtnTime=new Array(); //回程時段
rtnTime[0]=new Option("06:00~11:00", "0600,1100");
rtnTime[1]=new Option("11:00~15:00", "1100,1500");
rtnTime[2]=new Option("15:00~19:00", "1500,1900");
rtnTime[3]=new Option("19:00~23:00", "1900,2300");
rtnTime[4]=new Option("不限時段", "0600,2300");
rtnTime[5]=new Option("餘位查詢", "9999,9999");



//初始設定index頁搜尋引擎
function initSearchEngine() {
  //設定businessType(b2b,b2e)
  document.search.businessType.value=getValue('businessType'); 

  //設定出發地
  for(i=document.search.depCity.length-1;i>=0;i--) {
    document.search.depCity.options[i] = null;
  }
  for(i=0;i<depCity.length;i++) {
    document.search.depCity.options[i] = depCity[i];
  }
  document.search.depCity.options[0].selected = true;

  //設定目的地
  for(i=document.search.desCity.length-1;i>=0;i--) {
    document.search.desCity.options[i] = null;
  }
  for(i=0;i<desCity.length;i++) {
    document.search.desCity.options[i] = desCity[i];
  }

  document.search.desCity.options[desCity.length-1].selected = true;

  //設定回程目的地
  for(i=document.search.rtnCity.length-1;i>=0;i--) {
    document.search.rtnCity.options[i] = null;
  }
  for(i=0;i<rtnCity.length;i++) {
    document.search.rtnCity.options[i] = rtnCity[i];
  }

  //document.search.rtnCity.options[desCity.length-1].selected = true;

  //設定車廂
  for(i=document.search.cabin.length-1;i>=0;i--) {
    document.search.cabin.options[i] = null;
  }
  for(i=0;i<cabin.length;i++) {
    document.search.cabin.options[i] = cabin[i];
  }
  document.search.cabin.options[0].selected = true;
 
  //預設去程出發日期

  //document.search.depDate.value=getHsrBegDate();
  document.getElementById("depDate").value=getHsrBegDate();

  //設定出發時段 
  for(i=document.search.depTime.length-1;i>=0;i--) {
    document.search.depTime.options[i] = null;
  }

 
  if(getToday()==getHsrBegDate()) { //當日出發則預設不限時段
   	for(i=0;i<(depTime.length);i++) {   		
      document.search.depTime.options[i] = depTime[i];
    }
    document.search.depTime.options[document.search.depTime.options.length-2].selected = true;   	
  } else {
  	for(i=0;i<(depTime.length);i++) {  		
            document.search.depTime.options[i] = depTime[i];
        }
    document.search.depTime.options[0].selected = true;   	
  }   
 
  //預設回程出發日期
  //document.search.rtnDate.value=getHsrBegDate();
  document.getElementById("rtnDate").value=getHsrBegDate();
  //document.getElementById("rtnDate2.value=getHsrBegDate();
  document.getElementById("rtnDate2").value=getHsrBegDate();

  //設定回程時段 
  for(i=document.search.rtnTime.length-1;i>=0;i--) {
    document.search.rtnTime.options[i] = null;
  }
  for(i=0;i<rtnTime.length;i++) {
    document.search.rtnTime.options[i] = rtnTime[i];
  }
  document.search.rtnTime.options[0].selected = true;

  //初始化時段
  resetTime("depDate");
  resetTime("rtnDate");

  window.document.search.returnYN.checked = false;
}

//展開月曆
function openCalHSR(col) {
  var _TopCheckIn = (screen.Height-400)/2;
  var _LeftCheckIn = ((screen.Width-370)*2)/3;
  var month = (new Date()).getMonth()+1
  var URL = "/ezec/share/calendar.jsp?col="+col+"&prodLine=HSR";
  var _sWStatus = 'scrollbars=no,width=280,height=200,top=' + _TopCheckIn+ ',left=' + _LeftCheckIn;

  window.open(URL,'calendar',_sWStatus);	
}

//產生預設日期(今日)
function getToday() {
  var d=new Date();
  year = d.getFullYear()
	month = d.getMonth()+1;
	date = d.getDate();
  if(month < 10){
		month = "0"+month;
	}
	if(date < 10){
		date = "0"+date;
	}

  return year+"/"+month+"/"+date;
}

//今天加 d 天的日期
function getTodayAddDays(days) {
  var d=new Date();

  d.setTime(d.getTime()+24*60*60*1000*eval(days));
 
  return d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
}

//出發日期(加上前置日)
function getHsrBegDate() {
  var d=new Date();
  var d1=new Date();

  d1.setHours(21);
  d1.setMinutes(30);

  if(d >= d1) { //21:30後, 出發日預設為1天後 (明日)   	
    d.setTime(d.getTime()+24*60*60*1000*1);
  } 
  year = d.getFullYear()
	month = d.getMonth()+1;
	date = d.getDate();
  if(month < 10){
		month = "0"+month;
	}
	if(date < 10){
		date = "0"+date;
	}
  return year+"/"+month+"/"+date;
}

//檢核表單
function checkAll(form1, type) {
  if(!checkCity(form1.depCity.value,form1.desCity.value)) {
    alert("請選擇不同的出發地及目的地!");
    return false;  
  } 

  var d=new Date();

  //20070307 若出發日等於今日, 則判斷出發時段是否正確(有4小時前置的時間)
  if(document.getElementById("depDate").value==getToday()) {  
    if(document.search.depTime.value!= "0600,2300" && document.search.depTime.value!="9999,9999") { //若不是 "不限時段" 則確認出發時間     
      var formHour=eval(document.search.depTime.value.substring(0, 2));
 
      if(d.getHours()>=11 && d.getHours()<15) {
        if(formHour<=6) {  
          alert("出發時段已過銷售時間, 請重新選擇!");
          return false; 
        }
      } else if(d.getHours()>=15 && d.getHours()<19) {
        if(formHour<=11) {  
          alert("出發時段已過銷售時間, 請重新選擇!");
          return false; 
        }  
      } else if(d.getHours()>=19) {
        if(formHour<=15) {  
          alert("出發時段已過銷售時間, 請重新選擇!");
          return false; 
        }
      }
    }  
  } else if(document.getElementById("depDate").value==getTodayAddDays(1)) {
    var formHour=eval(document.search.depTime.value.substring(0, 2));
  
    if(d.getHours()>=22) {
      if(formHour==6) {
        alert("出發時段已過銷售時間, 請重新選擇!");
        return false; 
      }
    }
  }
  
  var yy=""; 
  var mm=""; 
  var dd=""; 
  var hh=""; 
  var mins="00";
  var ss="00";

  //新日期格式 2006/9/1 (月,日不維持2位數) ==> 要0補為20060901 (八碼)
  var _date=document.getElementById("depDate").value.split('/');
  yy=_date[0];
   
  if(eval(_date[1])<10) {
    mm= "0"+eval(_date[1]);	
  } else {
    mm= _date[1]; 
  }
	
  if(eval(_date[2])<10) {
    dd= "0"+eval(_date[2]);	
  } else {
    dd= _date[2]; 
  }
		
  form1.depDateValue.value=yy+mm+dd;
 
  if(form1.returnYN.checked==true){
    DepDate = document.getElementById("depDate").value;	
    RtnDate = document.getElementById("rtnDate").value;

    var d=new Date(); 

    if(document.getElementById("rtnDate").value==getToday()) {    
    	if(document.search.rtnTime.value != "0600,2300" && document.search.rtnTime.value != "9999,9999") {
        var formHour=eval(document.search.rtnTime.value.substring(0, 2));

        if(d.getHours()>=11 && d.getHours()<15) {
          if(formHour<=6) {  
            alert("回程時段已過銷售時間, 請重新選擇!");
            return false; 
          }
        } else if(d.getHours()>=15 && d.getHours()<19) {
          if(formHour<=11) {  
            alert("回程時段已過銷售時間, 請重新選擇!");
            return false; 
          }
        } else if(d.getHours()>=19) {
          if(formHour<=15) {  
            alert("回程時段已過銷售時間, 請重新選擇!");
            return false; 
          }
        }
      }    
    } else if(document.getElementById("rtnDate").value==getTodayAddDays(1)) {
       var formHour=eval(document.search.rtnTime.value.substring(0, 2));

      if(d.getHours()>=22) {
        if(formHour==6) {
          alert("回程時段已過銷售時間, 請重新選擇!");
          return false; 
        }
      }
    }
    
    if(!compareDateOK(DepDate, RtnDate)) {
      alert("您的回程日期早於出發日期, 請重新選擇");
      return false;
    }				  
		
     if((document.search.depTime.value != "0600,2300" && document.search.depTime.value != "9999,9999") && (document.search.rtnTime.value != "0600,2300" && document.search.rtnTime.value != "9999,9999")) {			
      DepTime = form1.depTime.value.substring(0,4);
      RtnTime = form1.rtnTime.value.substring(0,4);
      
      if(RtnDate == DepDate && RtnTime < DepTime) {
        alert("您的回程時間早於出發時間, 請重新選擇");
        return false;
      }
	  }

    RtnDate ="";
		 
    var yy2=""; var mm2=""; var dd2="";
	
    //新日期格式 2006/9/1 (月,日不維持2位數) ==> 要0補為20060901
    var _date2=document.getElementById("rtnDate").value.split('/');
    yy2=_date2[0];
   
    if(eval(_date2[1])<10) {
      mm2= "0"+eval(_date2[1]);	
    } else {
      mm2= _date2[1]; 
    }
	 
    if(eval(_date2[2])<10) {
      dd2= "0"+eval(_date2[2]);	
    } else {
      dd2= _date2[2]; 
    }

     form1.rtnDateValue.value=yy2+mm2+dd2;	
  } 

  if(type==1) {
    form1.submit();
  }
}

//檢查出發地及目的地
function checkCity(depCity, desCity) {
  if(depCity == desCity) {
    return false;
  } else {
    return true; 
  } 
}

//是否選擇回程
function checkReturnYN(form1) {
  if(form1.returnYN.checked == true){
    document.getElementById("rtnDate").disabled=false;
    form1.rtnTime.disabled=false; 
    //form1.rtnDateIMG.disabled=false; 
    form1.rtnCity.disabled=false; 
    form1.rtnCity.selectedIndex=form1.depCity.selectedIndex;
    document.getElementById("noshow_return").style.display='none';
    document.getElementById("show_return").style.display='';
  } else {
    document.getElementById("rtnDate").disabled=true;
    form1.rtnTime.disabled=true;
    //form1.rtnDateIMG.disabled=true;
    form1.rtnCity.disabled=true;
    document.getElementById("noshow_return").style.display='';
    document.getElementById("show_return").style.display='none';
  }
}

//若出發日為今日, 則動態調整可查詢時段
function resetTime(type) {

  if(type=="depDate") { //調整去程時刻
    var index=0;

    for(var i=document.search.depTime.length-1;i>=0;i--) {
      document.search.depTime.options[i] = null;
    }
 
    var d=new Date();   

   if(document.getElementById("depDate").value==getToday()) {      
      if(d.getHours()<9) { //判斷目前時間來調整可查詢時段
        index=0;    
      } else if(d.getHours()>=9 && d.getHours()<13) {
        index=1;
      } else if(d.getHours()>=13 && d.getHours()<17) {            
        index=2;
      } else if(d.getHours()>=17) {  
      	index=3;
      }                  
    } else if(document.getElementById("depDate").value==getTodayAddDays(1)) { //若查詢明日(且過2200)則不顯示0600~1100     
      if(d.getHours()>=22) {      
        index=1;
      }
    }
 
    if(document.getElementById("depDate").value==getToday()) {
    	for(var j=0;index<depTime.length;index++,j++) { //當日則顯示不限時段
        document.search.depTime.options[j] = depTime[index];
      }      
      document.search.depTime.options[document.search.depTime.options.length-2].selected = true;    
    } else {
    	for(var j=0;index<(depTime.length);index++,j++) {
          document.search.depTime.options[j] = depTime[index];
        }      
      document.search.depTime.options[0].selected = true;    	
    }    
  } else { //調整回程時刻
    var index=0;

    for(var i=document.search.rtnTime.length-1;i>=0;i--) {
      document.search.rtnTime.options[i] = null;
    }
 
    var d=new Date();

    if(document.getElementById("rtnDate").value==getToday()) {
      
      if(d.getHours()<9) { //判斷目前時間來調整可查詢時段 (若時間為0900~1100)
        index=0;
      } else if(d.getHours()>=9 && d.getHours()<13) {
        index=1;
      } else if(d.getHours()>=13 && d.getHours()<17) {
        index=2;
      } else if(d.getHours()>=17) {            
        index=3;
      }      
    } else if(document.getElementById("rtnDate").value==getTodayAddDays(1)) { //若查詢明日(且過2200)則不顯示0600~1100     
      if(d.getHours()>=22) {
        index=1;
      }  
    }
    
    if(document.getElementById("rtnDate").value==getToday()) { //當日則顯示不限時段
      for(var j=0;index<rtnTime.length;index++,j++) {
        document.search.rtnTime.options[j] = rtnTime[index];
      }      
      document.search.rtnTime.options[document.search.rtnTime.options.length-2].selected = true;
    } else {
    	for(var j=0;index<(rtnTime.length);index++,j++) {
          document.search.rtnTime.options[j] = rtnTime[index];
        }      
      document.search.rtnTime.options[0].selected = true;
    } 
  } 
}

//回程的日期請 Default與去程一樣的日期
function resetDate(type) { 
	var changeRtnDate=false;

  if(type=="depDate") {  
    if(document.getElementById("rtnDate").value== '回程日期') {
      changeRtnDate=true;    	
    } else {
      var tempDate=document.getElementById("depDate").value.split('/');

      var depDate=new Date(tempDate[0],tempDate[1],tempDate[2]);
      tempDate=document.getElementById("rtnDate").value.split('/');
  
      var rtnDate=new Date(tempDate[0],tempDate[1],tempDate[2]);
 
      if(rtnDate < depDate) { 
        changeRtnDate=true;
      }
    }
  }

  if(changeRtnDate) {	
	  document.getElementById("rtnDate").value = document.getElementById("depDate").value;
	  resetTime("rtnDate");
  }  
}

//日期比較
function compareDateOK(timeGo,timeBack) {
  var t1=timeGo.split('/');  
  var t2=timeBack.split('/');

  var d1=new Date(t1[0] ,(t1[1]-1) ,t1[2]); //月份減1
  var d2=new Date(t2[0] ,(t2[1]-1) ,t2[2]);

  if(d1<=d2) {
    return true;
  } else {
    return false; 
  }
}

//20070306 新增關鍵字
function fn_keyworkFind(keyword, typeA){
  var realkeyword = encodeURIComponent(keyword);
  var URL = "/ezec/search/search.jsp?keyword=" +realkeyword+ "&type=" + typeA+"&wt_search=keyword2";
  window.open(URL);
}

function checkL() {
  var realkeyword = "";

  if(document.searchKeyword.keyword.value.length < 2){
    alert("請輸入兩個字以上的關鍵字");
    return false;
  } else {
    var keyword = document.searchKeyword.keyword.value;		
    fn_keyworkFind(keyword, '6');				
  }	
}

//取得queryString參數對應的值
function getValue(varname) {
　var url = window.location.href;
　var qparts = url.split("?");　  
　if (qparts.length <= 1) { return ""; }
　var query = qparts[1];
　var vars = query.split("&");
　var value = "";
　for (i=0;i< vars.length;i++){
　　var parts = vars[i].split("=");
　　if (parts[0] == varname){
　　　value = parts[1];
　　　break;
　　}
　}
　value = unescape(value);
　value.replace(/\+/g," ");
　return value;
}
