﻿// JavaScript Document
var c1,c2;
window.onload = function (){
	initFlightForm();
	showNoFlightMsg();
}
var currentVa = 2;

function initFlightForm(){
	var nt1 = $obj("nt1");
	var nt2 = $obj("nt2");
	var nt3 = $obj("nt3");
	c1 = new reFocus();
	c1.create("co1");
	c1.create("co2");
	
	c1.create("cr1");
	c1.create("cr2");
	
	c1.create("cm1");
	c1.create("cm2");
	c1.create("cm3");
	c1.create("cm4");
	c1.create("cm5");
	c1.create("cm6");
	
	nt2.style.backgroundColor = "#D5C065";
	
	for (var i = 1;i<=3;i++){
		var ntOO = $obj("ra" + i);
		if (ntOO.checked){
			va = ntOO.value;
			$obj("nt" + va).style.backgroundColor = "#D5C065";	
			clearBAC(va);
		}
		ntOO.onclick = function (){
			va = this.value;
			if (va == "1"){
				if($obj("cr2").value.trim()!= ""){
					$obj("co2").value = $obj("cr2").value;
				}
				if ($obj("cr1").value.trim()!=""){
					$obj("co1").value = $obj("cr1").value;
				}
				if ($obj("tr1").value.trim()!=""){
					$obj("to1").value = $obj("tr1").value;
				}
			}
			if (va == "2"){
				if($obj("co2").value.trim()!= ""){
					$obj("cr2").value = $obj("co2").value;
				}
				if ($obj("co1").value.trim()!=""){
					$obj("cr1").value = $obj("co1").value;
				}
				if ($obj("to1").value.trim()!=""){
					$obj("tr1").value = $obj("to1").value;
				}
			
			}
			$obj("nt" + va).style.backgroundColor = "#D5C065";	
			clearBAC(va);
		}
	}
}

function clearBAC(va) {
	for (var i = 1;i<=3;i++){
		if ( i != va){
			var ntOO = $obj("nt" + i);
			ntOO.style.backgroundColor = "#FAFAD2";
		}	
	}
	if (currentVa != va){
		$obj("ceAr").appendChild( $obj("flit" + currentVa));
		$obj("fliCC").appendChild($obj("flit" + va));
		currentVa = va;
	}
}

function checkFlight(){
	var radio = $obj("form1").radio;
	
	for ( var i = 0;i<radio.length;i++){
		if (radio[i].checked) type = radio[i].value;
	}
	//alert(typeof type);
	switch (type){
		case "1":
			//o
			co1 = $obj("co1").value;
			co2 = $obj("co2").value;
			t = $obj("to1").value;
			
			c1 = getDC(co1,"fcl1");
			c2 = getDC(co2,"fcl2");
			
			if (!checkCityError_Empt(cr1,$obj("co1"),c1,"Please input or select a departure city!","The depature city you input doesn't exist!")) return false;
			if (!checkCityError_Empt(cr2,$obj("co2"),c2,"Please input or select an arrival city!","The arrival city you input doesn't exist!")) return false;
			if (co1 == co2){
				alert("Please input valid departure and arrival cities!");
				return false;
			}
			var dtArr = t.split("-");
			var dt = new Date(dtArr[0],dtArr[1],dtArr[2]);
			if (dt == "NaN"){
				alert("Please input the departure date as 'yyyy-mm-dd'!");
				$obj("to1").focus;
				return false;
			}
			break;
		case "2":
			//r
			cr1 = $obj("cr1").value;
			cr2 = $obj("cr2").value;
			tr1 = $obj("tr1").value;
			tr2 = $obj("tr2").value;
			
			
		
			c1 = getDC(cr1,"fcl1");
			c2 = getDC(cr2,"fcl2");
			
			if (!checkCityError_Empt(cr1,$obj("cr1"),c1,"Please input or select a departure city!","Flight1.The city you input doesn't exist, please input or select a valid one!")) return false;
			if (!checkCityError_Empt(cr2,$obj("cr2"),c2,"Please input or select a departure city!","Flight1.The city you input doesn't exist, please input or select a valid one!")) return false;
			
			if (cr1 == cr2){
				alert("Please input valid departure and arrival cities!");
				return false;
			}
			var dtArr1 = tr1.split("-");
			var dtArr2 = tr2.split("-");
			
			var dt1 = new Date(dtArr1[0],dtArr1[1],dtArr1[2]);
			if (dt1 == "NaN"){
				alert("Please input the departure date as 'yyyy-mm-dd'!");
				$obj("tr1").select();
				return false;
			}
			var dt2 = new Date(dtArr2[0],dtArr2[1],dtArr2[2]);
			if (dt2 == "NaN"){
				alert("Please input the return date as 'yyyy-mm-dd'!");
				$obj("tr2").select();
				return false;
			}
			if ((dt1-dt2)>=0){
				alert("Please input valid departure and arrival dates!");
				$obj("tr1").select();
				return false;
			}

			
			break;
		case "3":
			//m
			cm1 = $obj("cm1").value;
			cm2 = $obj("cm2").value;
			
			cm3 = $obj("cm3").value;
			cm4 = $obj("cm4").value;
			
			cm5 = $obj("cm5").value;
			cm6 = $obj("cm6").value;
			
			tm1 = $obj("tm1").value;
			tm2 = $obj("tm2").value;
			tm3 = $obj("tm3").value;
			
			c1 = getDC(cm1,"fcl1");
			c2 = getDC(cm2,"fcl2");
			c3 = getDC(cm3,"fcl3");
			c4 = getDC(cm4,"fcl4");
			c5 = getDC(cm5,"fcl5");
			c6 = getDC(cm6,"fcl6");
			
			if (!checkCityError_Empt(cm1,$obj("cm1"),c1,"Please input or select a departure city for Flight 1!","The depature city you input for 'Flight 1' doesn't exist!")) return false;
			if (!checkCityError_Empt(cm2,$obj("cm2"),c2,"Please input or select a departure city for Flight 1!","The arrival city you input for 'Flight 1' doesn't exist!")) return false;
			if (!checkCityError_Empt(cm3,$obj("cm3"),c3,"Please input or select a departure city for Flight 2!","The depature city you input for 'Flight 2' doesn't exist!")) return false;
			if (!checkCityError_Empt(cm1,$obj("cm4"),c4,"Please input or select a departure city for Flight 2!","The arrival city you input for 'Flight 2' doesn't exist!")) return false;
			if (!checkCityError_Empt(cm1,$obj("cm5"),c5,"Please input or select a departure city for Flight 3!","The depature city you input for 'Flight 3' doesn't exist!")) return false;
			if (!checkCityError_Empt(cm1,$obj("cm6"),c6,"Flight1.Please input or select a departure city!","The arrival city you input for 'Flight 3' doesn't exist!")) return false;

			if (cm1 == cm2){
				alert("Flight1.Please input valid departure and arrival cities!");
				return false;
			}
			if (cm3 == cm4){
				alert("Flight2.Please input valid departure and arrival cities!");
				return false;
			}
			
			if (cm5 == cm6){
				alert("Flight3.Please input valid departure and arrival cities!");
				return false;
			}
			var dtArr1 = tm1.split("-");
			var dtArr2 = tm2.split("-");
			var dtArr3 = tm3.split("-");
			
			var dt1 = new Date(dtArr1[0],dtArr1[1],dtArr1[2]);
			if (dt1 == "NaN"){
				alert("Please input the departure date as 'yyyy-mm-dd'!");
				$obj("tm1").select();
				return false;
			}
			var dt2 = new Date(dtArr2[0],dtArr2[1],dtArr2[2]);
			if (dt2 == "NaN"){
				alert("Please input the return date as 'yyyy-mm-dd'!");
				$obj("tm2").select();
				return false;
			}
			var dt3 = new Date(dtArr3[0],dtArr3[1],dtArr3[2]);
			if (dt3 == "NaN"){
				alert("Please input the arrival date as 'yyyy-mm-dd'!");
				$obj("tm3").select();
				return false;
			}
			break;
	}
	return true;
}

function checkCityError_Empt(va,obj,va2,msg1,msg2){
	if (va == ""){
		alert(msg1);
		obj.select();
		return false;
	}else{
		if ( va2 == null){
			alert(msg2);
			obj.select();
			return false;
		}
	}
	return true;
}

function getDC(t,fipt){
	var temp = null;
	
	for (var i = 0;i<cList.cityArr.length;i++){
		if (cList.cityArr[i].text.toLowerCase() == t.toLowerCase()){
			temp = cList.cityArr[i].value;
			$obj(fipt).value = temp;
			break;
		}
	}
	return temp;
}

function showNoFlightMsg(){
	if (GetCookie("noflight") != "1"){
		$obj("errFlight").style.display = "none";
	}else{
		$obj("errFlight").style.display = "block";
	}
}

function GetCookie(sName){
	var aCookie = document.cookie.split("; ");
	for (var i=0; i < aCookie.length; i++){
		var aCrumb = aCookie[i].split("=");
		if (sName == aCrumb[0])
		return unescape(aCrumb[1]);
	}
	return null;
}