
var IbeErrorMsg1 		= "You must select your Departure City";
var IbeErrorMsg2		= "Mesti pilih bandar raya Pulang anda";
var IbeErrorMsg3		= "Sila pastikan tarikh Pulang tidak lebih awal daripada tarikh berlepas";
var IbeErrorMsg4 		= "Please select your Departure date";
var IbeErrorMsg5		= "Please select your Return date";

var pax9FlexError 		= "Untuk tarikh Fleksibel, had adalah 9 dewasa/kanak-kanak/bayi bagi setiap tempahan.";
var pax9FixError 		= "Untuk mesti terbang pada tarikh yang dipilih, had adalah 9 dewasa/kanak-kanak/bayi bagi setiap tempahan.";
var pax9IntError 		= "Bilangan penumpang terlalu tinggi. Bilangan maksimum yang dibenarkan ialah 9 penumpang.";
var adultInfantError	= "Bilangan bayi terlalu tinggi. Bilangan maksimum yang dibenarkan ialah 1 bayi bagi setiap dewasa.";

/*var processURL			= " http://bookqa.malaysiaairlines.com/itd/itd/valuefare/DoAirSearch?";
var processMYURL		= " http://bookqa.malaysiaairlines.com/itd/itd/valuefare/DoAirSearch?";*/
var processURL			= "https://book.malaysiaairlines.com/itd/itd/DoAirSearch?";
var processMYURL		= "https://book.malaysiaairlines.com/itd/itd/DoAirSearch?";

var domesticType		= false;




function checkAdultsCount(){
	if($$("flexTravel").checked){
		$$("selAdultDom").removeClass("selHidden");
		$$("selAdult").addClass("selHidden");
		
		$$("selChildrenFlex").removeClass("selHidden");
		$$("selChildren").addClass("selHidden");
		
		$$("selInfantsFlex").removeClass("selHidden");
		$$("selInfants").addClass("selHidden");
	}
	else{
		$$("selAdultDom").addClass("selHidden");
		$$("selAdult").removeClass("selHidden");
		
		$$("selChildrenFlex").addClass("selHidden");
		$$("selChildren").removeClass("selHidden");
		
		$$("selInfantsFlex").addClass("selHidden");
		$$("selInfants").removeClass("selHidden");
	}
}


function setDefaultCountry(){
	var countrySelected;
	
	switch (CountryCode){
		case "my":
			countrySelected = "KUL";
			break;
		case "sg":
			countrySelected = "SIN";
			break;
		case "za":
			countrySelected = "JNB";
			break;
		case "cn":
			countrySelected = "PEK";
			break;
		case "hk":
			countrySelected = "HKG";
			break;
		case "in":
			countrySelected = "DEL";
			break;
		case "id":
			countrySelected = "CGK";
			break;
		case "jp":
			countrySelected = "NRT";
			break;
		case "kr":
			countrySelected = "ICN";
			break;
		case "tw":
			countrySelected = "TPE";
			break;
		case "au":
			countrySelected = "SYD";
			break;
		case "nz":
			countrySelected = "AKL";
			break;
		case "ae":
			// --- Read from Cookies only if from AE ---
			var theCookie=""+document.cookie;
 			var ind=theCookie.indexOf("MASCtry");
			
			if (ind != -1){
				var start = theCookie.indexOf('|',ind);
				var end = start + 3;
				var cookieCtyCode;
				
				if (start != -1) {
					cookieCtyCode = unescape(theCookie.substring(start + 1, end))
					
					switch (cookieCtyCode){
						case "lb":
							countrySelected = "BEY";
							break;
						case "sa":
							countrySelected = "JED";
							break;
						case "ae":
							countrySelected = "DXB";
							break;			
					}			
				}		
			}else
				countrySelected = "DXB";
			
			break;
		case "fr":
			countrySelected = "CDG";
			break;
		case "de":
			countrySelected = "FRA";
			break;
		case "it":
			countrySelected = "KUL";
			break;
		case "nl":
			countrySelected = "AMS";
			break;
		case "se":
			countrySelected = "ARN";
			break;
		case "th":
			countrySelected = "BKK";
			break;
		case "uk":
			countrySelected = "LHR";
			break;
		case "us":
			countrySelected = "LAX";
			break;
		case "hq":
			countrySelected = "KUL";
			break;
	}
	
	for( var i=0; i<$$("wdforigin1").options.length; i++){
		if( countrySelected == $$("wdforigin1").options[i].value ){	
			$$("wdforigin1").options[i].selected = $$("wdforigin1").options[i].value;
		}
	}
}


function datePickerClosed(){
	var departDate = $$("fromDate").value;
	var dArray;
	
	var dayArrayMed = new Array('Ah', 'Is', 'Se', 'Ra', 'Kh', 'Ju', 'Sa');
	
	dArray = departDate.split("/");
	var year = dArray[2].split(" ");
	var returnDate = new Date();
	returnDate.setFullYear(year[0],Number(dArray[1]-1),dArray[0]);
	
	returnDate.setDate(returnDate.getDate() + 7);
	
	var returnDay = returnDate.getDate();
	var returnMonth = returnDate.getMonth() + 1;
	var returnYear = returnDate.getFullYear();
	
	if(returnDay < 10)
		returnDay = "0"+returnDay;
			
	if(returnMonth < 10)
		returnMonth = "0"+returnMonth;	
	
	$$("returnDate").value = returnDay + "/" + returnMonth + "/" + returnYear + " " + dayArrayMed[returnDate.getDay()];
}

function disableReturnBox(){
	$$("returnDate").disabled = true;
	$$("bookReturn").addClass("selHidden");
}


function enableReturnBox(){
	$$("returnDate").disabled = false;
	$$("bookReturn").removeClass("selHidden");
}


function submitform(formName){
	/* ---- Validation of the IBE form --- */
	var processData;

		// --- Check that from destination is selected --- 
		if ( $$("wdforigin1").value == ""){
			alert(IbeErrorMsg1);
			return;
		}
		
		// --- Check that to destination is selected --- 
		if ( $$("wdfdest1").value == ""){
			alert(IbeErrorMsg2);
			return;
		}
	
	// --- set the processing URL ---
	if(domesticType)
		processData = processMYURL;
	else
		processData = processURL;
		
	// --- add the data behind ---
	if($$("onewayType").checked)
		processData += ("_tripType=" + $$("onewayType").value + "&");
	else
		processData += ("_tripType=" + $$("returnType").value + "&");
		
	processData += ("_originSelected=Airport." + $$("wdforigin1").value + "&");
	processData += ("_destinationSelected=Airport." + $$("wdfdest1").value + "&");
	
	var departDateStr = $$("fromDate").value;
	var returnDateStr = $$("returnDate").value;
	
		// --- Check depart and return dates ---
		if( departDateStr == "" ) {
			alert(IbeErrorMsg4);
			return;
		}
		
		if($$("returnType").checked){
			if( returnDateStr == "" ) {
				alert(IbeErrorMsg5);
				return;
			}
		}
		
	var departDay 		= departDateStr.substring(11,14);
	switch (departDay){
		case "Su":
			departDay = 0;
			break;
		case "Mo":
			departDay = 1;
			break;
		case "Tu":
			departDay = 2;
			break;
		case "We":
			departDay = 3;
			break;
		case "Th":
			departDay = 4;
			break;
		case "Fr":
			departDay = 5;
			break;
		case "Sa":
			departDay = 6;
			break;
	}
	
	var departDate 		= departDateStr.substring(0,2);
	var departMonthYear = departDateStr.substring(6,10) + "-" + departDateStr.substring(3,5);
	
	var returnDay 		= returnDateStr.substring(11,14);
	switch (returnDay){
		case "Su":
			returnDay = 0;
			break;
		case "Mo":
			returnDay = 1;
			break;
		case "Tu":
			returnDay = 2;
			break;
		case "We":
			returnDay = 3;
			break;
		case "Th":
			returnDay = 4;
			break;
		case "Fr":
			returnDay = 5;
			break;
		case "Sa":
			returnDay = 6;
			break;
	}
	
	var returnDate 		= returnDateStr.substring(0,2);
	var returnMonthYear = returnDateStr.substring(6,10) + "-" + returnDateStr.substring(3,5);
	
	var compareDate1 = new Date(departDateStr.substring(6,10), Number(departDateStr.substring(3,5)-1), departDate);
	var compareDate2 = new Date(returnDateStr.substring(6,10), Number(returnDateStr.substring(3,5)-1), returnDate);
	
	if( compareDate1 > compareDate2 ){
		alert(IbeErrorMsg3);
		return;
	}
	
	processData += ("daysofweekselect1=" + departDay + "&");
	processData += ("_depdate.day=" + departDate + "&");
	processData += ("_depdate.monthyear=" + departMonthYear + "&");
	
	if($$("returnType").checked){
		processData += ("daysofweekselect2=" + returnDay + "&");
		processData += ("_retdate.day=" + returnDate + "&");
		processData += ("_retdate.monthyear=" + returnMonthYear + "&");
	}
	
	var totalAdults = $$("selAdult").value;
	var totalAdultsDom = $$("selAdultDom").value;
	var totalChildren = $$("selChildren").value;
	var totalChildrenFlex = $$("selChildrenFlex").value;
	var totalInfants = $$("selInfants").value;
	var totalInfantsFlex = $$("selInfantsFlex").value;
	
	if( domesticType ){
		if($$("flexTravel").checked){
			processData += ("_adults=" + totalAdultsDom + "&");
			processData += ("_children=" + totalChildrenFlex + "&");
			processData += ("_infants=" + totalInfantsFlex + "&");
		}else{
			processData += ("_adults=" + totalAdults + "&");
			processData += ("_children=" + totalChildren + "&");
			processData += ("_infants=" + totalInfants + "&");
		}
	}else{
		processData += ("_adults=" + totalAdults + "&");
		processData += ("_children=" + totalChildren + "&");
		processData += ("_infants=" + totalInfants + "&");
	}
	
	processData += ("_classType=" + $$("fareClass").value  + "&");
	
	if(LocaleCode == "zh-chs")
		processData += ("_channelLocale=zh");
	else
		processData += ("_channelLocale=" + LocaleCode);
	
	
		var continueProcess = true;
		
		// --- Check number of PAX ---
		if( domesticType ) {
			var totalPax;
			
			if($$("flexTravel").checked){
				totalPax = Number(totalAdultsDom) + Number(totalChildrenFlex) + Number(totalInfantsFlex);
				// --- max PAX is 9 ---
				if(totalPax > 9){
					alert(pax9FlexError);
					continueProcess = false;
				}
				else
					processData += "&_depdatewindow=P3D";
			}
			else{ 
				totalPax = Number(totalAdults) + Number(totalChildren) + Number(totalInfants);
				// --- max PAX is 9 ---
				if(totalPax > 9){
					alert(pax9FixError);
					continueProcess = false;
				}
			}
		}
		else {
			totalPax = Number(totalAdults) + Number(totalChildren)  + Number(totalInfants);
			// --- max PAX is 9 ---
			if(totalPax > 9){
				alert(pax9IntError);
				continueProcess = false;
			}
			
			// --- for international flights only ---
			processData += "&requestor=AirSimpleReqsPage";
		}
		
		
		// --- Check for the 1 infant per 1 adult ---
		var checkAdults;
		var checkInfants;
		
		if( domesticType && $$("flexTravel").checked ) {
			checkAdults 	= Number(totalAdultsDom);
			checkInfants	= Number(totalInfantsFlex);
		}
		else {
			checkAdults 	= Number(totalAdults);
			checkInfants	= Number(totalInfants);
		}
		
		if ( checkAdults < checkInfants ){
			alert(adultInfantError);
			continueProcess = false;
		}
		
		
		if(!continueProcess)
			return;
				
	document.ibeForm.action = processData;
	document.ibeForm.submit();
}


function checkDomesticLocation(){
	var fromLocation = $$("wdforigin1").value;
	var toLocation = $$("wdfdest1").value;
	
	// --- check if both location comes from malaysia ---
	$$("travelOption").removeClass("travelOptionHidden");
	domesticType = true;
	
	if($$("flexTravel").checked){
		$$("selAdultDom").removeClass("selHidden");
		$$("selAdult").addClass("selHidden");
		
		$$("selChildrenFlex").removeClass("selHidden");
		$$("selChildren").addClass("selHidden");
		
		$$("selInfantsFlex").removeClass("selHidden");
		$$("selInfants").addClass("selHidden");
		
		$$("blankForIE6").addClass("travelOptionHidden");
	}
	else{
		$$("selAdultDom").addClass("selHidden");
		$$("selAdult").removeClass("selHidden");
		
		$$("selChildrenFlex").addClass("selHidden");
		$$("selChildren").removeClass("selHidden");
		
		$$("selInfantsFlex").addClass("selHidden");
		$$("selInfants").removeClass("selHidden");
		
		$$("blankForIE6").removeClass("travelOptionHidden");
	}

}

function clearUsernameField(){
	if ($$("userid").value == "Nama pengguna"){
		$$("userid").value = "";
	}
	else{
		$$("userid").focus();
		$$("userid").select();
	}
}

function clearPasswordField(){
	if ($$("password").value == "Kata laluan"){
		$$("password").value = "";
	}
	else{
		$$("password").focus();
		$$("password").select();
	}
}

function homeibesignin(){
	document.ibeLoginForm.action = "https://book.malaysiaairlines.com/itd/itd/DoLogon";
	document.ibeLoginForm._user.value = $$("_user").value; 
	document.ibeLoginForm._pw.value = $$("_pw").value; 
	document.ibeLoginForm.locale.value = LocaleCode; 
	document.ibeLoginForm.submit();
}