﻿//TimeTable Start
function ChkOriginalTimeTable()
{
	if (document.form3.State.value==1)
	{
		document.form3.BackYYYY.disabled = true;
	    document.form3.BackMM.disabled = true;
	    document.form3.BackDD.disabled = true;
	}
}

function SubmitCheckTimeTable()
{
 	var	sErrmsg	= "";	
	var	sDep,sArr;
	var	errflag	= false;
	var	goYYYY,goMM,goDD,backYYYY,backMM,backDD;
	sDep	 = document.form3.GoDep.options[document.form3.GoDep.selectedIndex].value; 
	sArr	 = document.form3.GoArr.options[document.form3.GoArr.selectedIndex].value; 
	goYYYY	 = document.form3.GoYYYY.options[document.form3.GoYYYY.selectedIndex].value; 
	goMM	 = document.form3.GoMM.options[document.form3.GoMM.selectedIndex].value; 
	goDD	 = document.form3.GoDD.options[document.form3.GoDD.selectedIndex].value; 
	backYYYY = document.form3.BackYYYY.options[document.form3.BackYYYY.selectedIndex].value;
	backMM	 = document.form3.BackMM.options[document.form3.BackMM.selectedIndex].value;
	backDD	 = document.form3.BackDD.options[document.form3.BackDD.selectedIndex].value;
	if(sDep=="GoDep"|| sArr=="GoArr") 
 	{
 		sErrmsg += "● Please check Departure City and Destination City!\n";
		document.form3.GoDep.focus();
		errflag = true; 	
 	}
 	else
 	{
 		sDep=sDep.substring(3,6)
 		sArr=sArr.substring(3,6)	
 	}
 
 	var dGoDate = new Date (goYYYY + '/' + goMM + '/' + goDD);
	var dBackDate = new Date (backYYYY + '/' + backMM + '/' + backDD);
 	
 	if (!check_validdate("departure",goYYYY,goMM,goDD)) {
 		errflag = true;			
	}				
	if (!check_validdate("return",backYYYY,backMM,backDD)) {
 		errflag = true;			
	}			
	
 	if (document.form3.Segment[1].checked)
	{				
		if (dBackDate < dGoDate)
		{	sErrmsg += "● The return date should be no earlier than the departure date.\n";
			document.form3.BackMM.focus();
			errflag = true; 		
		} 	
	}
	if (sDep == sArr)
	{	sErrmsg +="● The destination city should not be the same as the departure city.\n";
		document.form3.GoArr.focus();
  		errflag = true;		
  	}
	if (errflag)
	{	
	    if (sErrmsg!="") alert(sErrmsg); 
		return false;
	}
	else
	{
		document.form3.hidarr.value=document.form3.GoArr.options[document.form3.GoArr.selectedIndex].value
		document.form3.hiddep.value=document.form3.GoDep.options[document.form3.GoDep.selectedIndex].value
		return true;
		
	}	
}

function setStateTimeTable(trip){
	  if(trip.value == "1"){
	    document.form3.BackYYYY.disabled = true;
	    document.form3.BackMM.disabled = true;
	    document.form3.BackDD.disabled = true;
	    document.form3.State.value=1;
	  }
	  else{
	    document.form3.BackYYYY.disabled = false;
	    document.form3.BackMM.disabled = false;
	    document.form3.BackDD.disabled = false;
	    document.form3.State.value=2;
	  }
}
//TimeTable End

//TimeStatus Start
var iELEMENT_Flt_Status;

var sContinentCode_Flt_Status,sCityCode_Flt_Status,sCityName_Flt_Status;    

iELEMENT_Flt_Status = aCityPair_Flt_Status.length;

function sChangeGoArr_Flt_Status()
{

var a,y,NewOpt_Flt_Status,DepValue_Flt_Status,sContinentName_Flt_Status,sPreContinentCode_Flt_Status;
//clear all arrival city items.

document.frm_citypair.tocity.length = 0;

NewOpt_Flt_Status == document.frm_citypair.fromcity.options[document.frm_citypair.fromcity.selectedIndex].value;

//give a default item for arrival city menu when clicking "Departure City".

if (document.frm_citypair.fromcity.options[document.frm_citypair.fromcity.selectedIndex].value=="fromcity")

{
	NewOpt_Flt_Status = new Option("Select One");
	NewOpt_Flt_Status.value = "GoArr_Flt_Status";
	document.frm_citypair.tocity.options[document.frm_citypair.tocity.length]=NewOpt_Flt_Status;		
	return true;
}	

//create arrival city pairs of choosing departure city.
//DepValue: first 3 chars=city code ; last 3 chars=airport code. ; ex:PARCDG

var DepValue_Flt_Status = document.frm_citypair.fromcity.options[document.frm_citypair.fromcity.selectedIndex].value;

for (x=0;x<iELEMENT_Flt_Status;x++)
{
	if (DepValue_Flt_Status==aCityPair_Flt_Status[x][0]) //airport code
	{
		NewOpt_Flt_Status = new Option ("Select One");
		NewOpt_Flt_Status.value = "GoArr_Flt_Status";		
		document.frm_citypair.tocity.options[document.frm_citypair.tocity.length]=NewOpt_Flt_Status;
		
		sPreContinentCode_Flt_Status = "00"; //Initialize
		for (y=1;y<=iELEMENT_Flt_Status;y++)
		{	
			if (aCityPair_Flt_Status[x][y]!=null)
			{				
				
				City_CName_Flt_Status(aCityPair_Flt_Status[x][y]); //get sContinentCode,sCityCode,sCityName				
				
				if (sContinentCode_Flt_Status != sPreContinentCode_Flt_Status)
				
				{
				
					switch(sContinentCode_Flt_Status)
					{
						case "01" :
							sContinentName_Flt_Status = "----------- Asia -----------";
							break;
						case "0101" :
							sContinentName_Flt_Status = "--Mainland China/ Hong Kong/ Macau";
							break;
						case "0102" :
							sContinentName_Flt_Status = "------ Northeast Asia ------";
							break;
						case "0103" :
							sContinentName_Flt_Status = "------ Southeast Asia ------";
							break;
						case "0104" :
							sContinentName_Flt_Status = "-------- South Asia --------";
							break;
						case "02" :
							sContinentName_Flt_Status = "---------- America ---------";
							break;
						case "03" :
							sContinentName_Flt_Status = "---------- Europe ----------";
							break;
						case "04" :
							sContinentName_Flt_Status = "---------- Oceania ---------";
							break;											
						default:
							sContinentName_Flt_Status = "----------------------------";
							break;
					}					
					
					NewOpt_Flt_Status = new Option(sContinentName_Flt_Status);						
					NewOpt_Flt_Status.value = "GoArr_Flt_Status";					
					document.frm_citypair.tocity.options[document.frm_citypair.tocity.length]=NewOpt_Flt_Status;
					
					sPreContinentCode_Flt_Status = sContinentCode_Flt_Status; //save previous continent code				
					
				}
				
				NewOpt_Flt_Status = new Option(sCityName_Flt_Status+" - "+aCityPair_Flt_Status[x][y]);				
				NewOpt_Flt_Status.value = aCityPair_Flt_Status[x][y];
				document.frm_citypair.tocity.options[document.frm_citypair.tocity.length]=NewOpt_Flt_Status;
			}
			else
			{	
				return true;
			}
		}
	}    	
}	
}


function City_CName_Flt_Status(sCode_Flt_Status)
{
switch (sCode_Flt_Status)
{
//01 Asia
case "TPE":sContinentCode_Flt_Status="01"; sCityCode_Flt_Status="TPE"; sCityName_Flt_Status="Taipei(Taoyuan)";break;
case "TSA":sContinentCode_Flt_Status="01"; sCityCode_Flt_Status="TSA"; sCityName_Flt_Status="Taipei(Sungshan)";break;
case "KHH":sContinentCode_Flt_Status="01"; sCityCode_Flt_Status="KHH"; sCityName_Flt_Status="Kaohsiung";break;
case "RMQ":sContinentCode_Flt_Status="01"; sCityCode_Flt_Status="RMQ"; sCityName_Flt_Status="Taichung";break;

//0101  China Region
case "PEK":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="PEK"; sCityName_Flt_Status="Beijin";break;
case "CTU":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="CTU"; sCityName_Flt_Status="Chengdu";break;
//case "CKG":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="CKG"; sCityName_Flt_Status="Chonqing";break;
case "DLC":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="DLC"; sCityName_Flt_Status="Dalian";break;
case "CAN":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="CAN"; sCityName_Flt_Status="Guangzhou";break;
case "HGH":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="HGH"; sCityName_Flt_Status="Hangzhou";break;
case "HKG":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="HKG"; sCityName_Flt_Status="Hong Kong";break;
case "KMG":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="KMG"; sCityName_Flt_Status="Kunming";break;
case "MFM":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="MFM"; sCityName_Flt_Status="Macau";break;
case "NGB":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="NGB"; sCityName_Flt_Status="Ningbo";break;
case "TAO":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="TAO"; sCityName_Flt_Status="Qingdao";break;
case "PVG":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="PVG"; sCityName_Flt_Status="Shanghai(Pu Dong)";break;
case "SZX":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="SZX"; sCityName_Flt_Status="Shenzhen";break;
case "TSN":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="TSN"; sCityName_Flt_Status="Tianjin";break;
//case "WUH":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="WUH"; sCityName_Flt_Status="Wuhan";break;
case "XMN":sContinentCode_Flt_Status="0101"; sCityCode_Flt_Status="XMN"; sCityName_Flt_Status="Xiamen";break;


//0102  NortheastAsia
case "FUK":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="FUK"; sCityName_Flt_Status="Fukuoka";break;
case "KMQ":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="KMQ"; sCityName_Flt_Status="Komatsu";break;
//case "KMI":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="KMI"; sCityName_Flt_Status="Miyazaki";break;
case "NGO":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="NGO"; sCityName_Flt_Status="Nagoya";break;
case "KIX":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="KIX"; sCityName_Flt_Status="Osaka";break;
case "CTS":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="CTS"; sCityName_Flt_Status="Sapporo";break;
case "SDJ":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="SDJ"; sCityName_Flt_Status="Sendai";break;
case "ICN":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="ICN"; sCityName_Flt_Status="Seoul";break;
case "NRT":sContinentCode_Flt_Status="0102"; sCityCode_Flt_Status="NRT"; sCityName_Flt_Status="Tokyo(Narita)";break;

//0103  SoutheastAsia
case "BKK":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="BKK"; sCityName_Flt_Status="Bangkok";break;
//case "UTP":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="UTP"; sCityName_Flt_Status="Utapao";break;
case "DPS":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="DPS"; sCityName_Flt_Status="Denpasar Bali";break;
case "HAN":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="HAN"; sCityName_Flt_Status="Hanoi";break;
case "SGN":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="SGN"; sCityName_Flt_Status="Ho Chi Minh City";break;
case "CGK":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="CGK"; sCityName_Flt_Status="Jakarta";break;
case "KUL":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="KUL"; sCityName_Flt_Status="Kuala Lumpur";break;
case "MNL":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="MNL"; sCityName_Flt_Status="Manila";break;
case "PNH":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="PNH"; sCityName_Flt_Status="Phnom Penh";break;
case "SIN":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="SIN"; sCityName_Flt_Status="Singapore";break;
case "SUB":sContinentCode_Flt_Status="0103"; sCityCode_Flt_Status="SUB"; sCityName_Flt_Status="Surabaya";break;

//0104  SoutheastAsia
case "BOM":sContinentCode_Flt_Status="0104"; sCityCode_Flt_Status="BOM"; sCityName_Flt_Status="Mumbai";break;

//02 North America
case "ANC":sContinentCode_Flt_Status="02"; sCityCode_Flt_Status="ANC"; sCityName_Flt_Status="Anchorage";break;
case "LAX":sContinentCode_Flt_Status="02"; sCityCode_Flt_Status="LAX"; sCityName_Flt_Status="Los Angeles";break;
case "EWR":sContinentCode_Flt_Status="02"; sCityCode_Flt_Status="EWR"; sCityName_Flt_Status="New York(Newark)";break;
case "SFO":sContinentCode_Flt_Status="02"; sCityCode_Flt_Status="SFO"; sCityName_Flt_Status="San Francisco";break;
case "SEA":sContinentCode_Flt_Status="02"; sCityCode_Flt_Status="SEA"; sCityName_Flt_Status="Seattle";break;
case "YVR":sContinentCode_Flt_Status="02"; sCityCode_Flt_Status="YVR"; sCityName_Flt_Status="Vancouver";break;

//03 Europe
case "AMS":sContinentCode_Flt_Status="03"; sCityCode_Flt_Status="AMS"; sCityName_Flt_Status="Amsterdam";break;
case "LHR":sContinentCode_Flt_Status="03"; sCityCode_Flt_Status="LON"; sCityName_Flt_Status="London(Heathrow)";break;
case "CDG":sContinentCode_Flt_Status="03"; sCityCode_Flt_Status="CDG"; sCityName_Flt_Status="Paris(Charles De Gaulle)";break;
case "VIE":sContinentCode_Flt_Status="03"; sCityCode_Flt_Status="VIE"; sCityName_Flt_Status="Vienna";break;

//04 Oceania					
//case "AKL":sContinentCode_Flt_Status="04"; sCityCode_Flt_Status="AKL"; sCityName_Flt_Status="Auckland";break;
case "BNE":sContinentCode_Flt_Status="04"; sCityCode_Flt_Status="BNE"; sCityName_Flt_Status="Brisbane";break;

//Continent Name for Timetable
case "Asia":return "----------- Asia -----------";
case "Mainland China/ Hong Kong/ Macau":return "--Mainland China/ Hong Kong/ Macau";
case "Northeast Asia":return "------ Northeast Asia ------";
case "Southeast Asia":return "------ Southeast Asia ------";
case "South Asia":return "-------- South Asia --------";
case "America":return "---------- America ---------";
case "Europe":return "---------- Europe ----------";
case "Oceania":return "---------- Oceania ----------";
default:sContinentCode_Flt_Status=""; sCityCode_Flt_Status=""; sCityName_Flt_Status="";break;
}
return sCityName_Flt_Status;
}

function SubmitCheckFlightStatus()
{
	var	sErrmsg	= "";	
	var	sDep,sArr;
	var	errflag	= false;	
	sDep	 = document.frm_citypair.fromcity.options[document.frm_citypair.fromcity.selectedIndex].value; 
	sArr	 = document.frm_citypair.tocity.options[document.frm_citypair.tocity.selectedIndex].value; 
	
	if(sDep=="fromcity"|| sArr=="tocity" || sArr=="GoArr_Flt_Status") 
	{
		sErrmsg += "● Please check Departure City and Destination City!\n";
		document.frm_citypair.fromcity.focus();
		errflag	= true;		
	}
	
	if (errflag)
	{	
		if (sErrmsg!="") alert(sErrmsg); 
		return false;
	}
	else
	{		
		return true;		
	}	

}