﻿var u8 = false; 
var selectLength = 0;

var line = "";
var country = "";
var city = "";
var dep = "";
var airline = "";
var thisCode = "";
var finish = false;

var isInit = false;
var canSelecAirline = true;


function PageLoad() {
	depCity = dep;	
	if (depCity !=""){
	for(var i=0;i<document.getElementById("city_from").length;i++) {
			if (document.getElementById("city_from").options[i].value==depCity){			
				document.getElementById("city_from").options[i].selected = true;
				setFitCity(document.getElementById("city_from"),document.forms["airfrg"]);
			}	
		}
	}else{	
		setFitCity(document.getElementById("city_from"),document.forms["airfrg"]);
	}  
}



function init(depCity,arrLine,arrCountry,arrCity,depAirline,code){
	dep = depCity;
	line = arrLine;
	country = arrCountry;
	city = arrCity;
	airline = depAirline;
	thisCode = code;	
}	


function start(){
	isInit = true;	
	depCity = dep;
	arrLine = line;
	arrCountry = country;
	arrCity = city;
	code = thisCode;
	
	
	if (depCity !="" && arrLine!="" ){		
		for(var i=0;i<document.getElementById("arrLine").length;i++) {			
			if (document.getElementById("arrLine").options[i].value==arrLine){
				document.getElementById("arrLine").options[i].selected = true;
				setFitArea(document.getElementById("arrLine"),1,document.forms["airfrg"]);
			}
		}
	}
	
	
	if (depCity !=""  &&arrCountry!="" && arrLine!="" ){			
		for(var i=0;i<document.getElementById("arrCountry").length;i++) {
			if (document.getElementById("arrCountry").options[i].value==arrCountry){
				document.getElementById("arrCountry").options[i].selected = true;
				setFitArea(document.getElementById("arrCountry"),2,document.forms["airfrg"]);
			}
		}
	}
	
	
	if (depCity !="" && arrLine!="" && arrCountry!="" && arrCity!="" ){
		for(var i=0;i<document.getElementById("city_to").length;i++) {
			if (document.getElementById("city_to").options[i].value==arrCity){
				document.getElementById("city_to").options[i].selected = true;
				if(canSelecAirline == true ){
				  setFitAir(document.getElementById("city_to"),document.forms["airfrg"],code);
				}
			}
		}			
	}
	
}

	
function setFitArea(obj,kind,formObj1){ 
	var arrData = airArr ;
	var obj1 = formObj1.arrCountry ;
	var obj2 = formObj1.city_to ;
	if (kind == 1){
	  obj1.options.length=1;	
	}
	obj2.options.length=1;	
	var nanTotal ="";
  for(var i=0;i<arrData.length;i++){
  	if ( kind == 1 && arrData[i][0]==obj.value && nanTotal.indexOf(arrData[i][2])<0){
      obj1.options[obj1.options.length]=new Option(arrData[i][3],arrData[i][2]);     
      nanTotal += arrData[i][2]+",";
    }else if ( kind == 2 && arrData[i][2]==obj.value){
      obj2.options[obj2.options.length]=new Option(arrData[i][5],arrData[i][4]);
    }
   
  }
}



function setFitCity(Obj,formObj){		
	var arr = new Array();	
	var handlerData = function(){
		alert("g");
	}

	var successHandler = function(oData) {
	
	    //如果已經有選過城市
	    selectLine = formObj.arrLine.value;
			selectCountry = formObj.arrCountry.value;
			selectCity = formObj.city_to.value;
			
	    //設定跟出發地相關的線別
	    formObj.arrLine.options.length=1;
	    formObj.arrLine.options[0].selected =true;
	    formObj.arrCountry.options.length=1;
	    formObj.arrCountry.options[0].selected =true;	   
		  formObj.city_to.options.length=1;
		  formObj.city_to.options[0].selected =true;		  
		  
	    var lastLine ="";
	    var lineTotal="";
	    var selectIndex = 1;
	    for(var i=0;i<airArr.length;i++){
	    	
	    	thisLine = airArr[i][0];
	    	
	    	if (lastLine == ""){
	    		 lastLine = thisLine;
	    		 document.getElementById("arrLine").options[selectIndex]=new Option(airArr[i][1],airArr[i][0]);
	    		 selectIndex++;
	    		 document.getElementById("arrLine").length = selectIndex;
	    	}
	    	if (thisLine !=lastLine && lineTotal.indexOf(thisLine)<0 ){
	    		document.getElementById("arrLine").options[selectIndex]=new Option(airArr[i][1],airArr[i][0]);
	    		selectIndex++;
	    		 document.getElementById("arrLine").length = selectIndex;

	    	}	
				
				lineTotal += thisLine+",";
				lastLine = thisLine;
			}
			
	    arr = airArr;
	    
	    if(isInit == false){
	      start();
      }else{
        dep = Obj.value;
      	line = selectLine;
      	country = selectCountry;
      	city = selectCity;
        if (u8 == true){      	
      	 thisCode = "UTF-8";
      	}else{
      	 thisCode = "Big5";
        }
        canSelecAirline = false;
        start();
      } 
	    
	}
		if (u8 == true){
			var objTransaction = YAHOO.util.Get.script("/js/aitCitys/"+Obj.value+"_u8.js",{ 
																							onSuccess: successHandler, 
															                data:      handlerData });
		}else{
			var objTransaction = YAHOO.util.Get.script("/js/aitCitys/"+Obj.value+".js",{ 
																							onSuccess: successHandler, 
															                data:      handlerData });
		}	
}




function setFitAir(Obj,formObj,code){
	var depCity = document.getElementById("city_from").value; 
	var arrCity = document.getElementById("city_to").value; 	
	var handleSuccess = function(o){
		if(o.responseText !== undefined){
			airCompArray = o.responseText.split(",");		
			formObj.international_cd.options.length=1;	  

	    for(var i=0;i<airCompArray.length;i++){
		    formObj.international_cd.options[formObj.international_cd.options.length]=new Option(airCompArray[i].replace(/(^\s*)|(\s*$)/g, ""),airCompArray[i].substring(0,2));
		  }
		  
	    if (airline!=""){
	    	for(var i=0;i<document.getElementById("international_cd").length;i++) {					
					if (document.getElementById("international_cd").options[i].value==airline){
						document.getElementById("international_cd").options[i].selected = true;				
					}
				}
			}
		}
	}
	
	var handleFailure = function(o){
		if(o.responseText !== undefined){
			formObj.international_cd.options.length=1;		
		}
	}
	
	var callback =
	{
	  success:handleSuccess,
	  failure: handleFailure

	};

	var sUrl = 	"/ezec/servlet/genAitCityAirline?depCity="+depCity+"&arrCity="+arrCity+"&charset="+code;
	var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); 	
}





function airFrgSend(){
	var tktType = "";
	var tktObj = document.getElementById("tkt_type");
	if (tktObj!=null){
		if (tktObj.value == ""){ //ie，Firefox 索引頁用
			
			tktType= document.getElementById("tkt").value;
		}else{	//ie，裡頁用
					
		  tktType = document.getElementById("tkt_type").value;
		}
	}else{//Firefox，裡頁用
		
		 tktType= document.getElementById("tkt").value;
	   
	}
  var oneWay = document.getElementById("Choice5").value ;
  
  var arrCity = document.getElementById("city_to").value;
  var country = document.getElementById("arrCountry").value;
  var depCity = document.getElementById("city_from").value;
  var searchBegDate= document.getElementById("Cal").value;
  var service = document.getElementById("service_type").value;
  var international = document.getElementById("international_cd").value;
  var orderBy = "1";
  var priceRange = document.getElementById("priceR").value;
  if (searchBegDate == "不限"){
  	searchBegDate = "";
	}
  	

	if (searchBegDate.length<10&&searchBegDate!=""){
		tepmarr = searchBegDate.split("/");
		tempmonth1 = tepmarr[1];
		tempfate1 = tepmarr[2];
		if (tempmonth1.length==1)tempmonth1="0"+tempmonth1;
		if (tempfate1.length==1)tempfate1="0"+tempfate1;
		searchBegDate = tepmarr[0]+tempmonth1+tempfate1;		
	}
	searchBegDate = searchBegDate.replace(/\//,'');
	searchBegDate = searchBegDate.replace(/\//,'');
		
  if (country == '' || arrCity == ''){
    alert("請選擇目的地國家與城市！");
    return false;
  }else if(tktType =='7' && oneWay =='S'){
    alert("計畫旅行票為來回票!!");
    return false;
  }else{
    if(tktType == 7) {
	   	window.parent.location.href ="/airticket/pln/index.htm";
    } else {
	  	window.parent.location.href = "/ezec/freefit/ec_fit_main_query.jsp?city_from="+depCity+"&city_to="+arrCity+"&ticket_type="+oneWay+"&service_type="+service+"&ticket_class_section="+tktType+"&international_cd="+international+"&searchBegDate="+searchBegDate+"&priceRange="+priceRange+"&wt_search=fit2";	  
    }
  }
}



function setU8(){
	u8 = true;
	selectLength = 1;	
}	

