// requirements.js
// =========== objects ===========
function Contract(id){
	this.identifier = id;
	this.name="";
	this.tcp=null;
	this.ecp=null;
	this.icp=null;
}
// =========== globals ===========
var minDate = new Date(); minDate.setDate(minDate.getDate()+destSet[0][3]);
var maxDate = new Date(); maxDate.setDate(maxDate.getDate()+destSet[0][4]);
var weekDays = "1111111";
var weekDaysReturn = "1111111";
var weekDaysDescr = new Array(messages["day_sun"],messages["day_mon"],messages["day_tue"],messages["day_wed"],messages["day_thu"],messages["day_fri"],messages["day_sat"]);
var _request="";
// =========== functions =========
function checkDest(){
	var dateVal = new Date();
	var returnDateVal = new Date();
	var retSel = 0;
	var err = 0;
	var errStr = "";

	//evaluate entered departure date
	var dateStr = document.getElementById('date').value;
	var dateArr = dateStr.split("-");
	if(dateArr.length!=3) dateArr = dateStr.split("/");
	if(dateArr.length!=3) dateArr = dateStr.split(".");
	if(dateArr.length==3){
		if(parseInt(eval(dateArr[2]))>2000&&parseInt(eval(dateArr[2]))<2020&&parseInt(eval(dateArr[1]))>=1&&parseInt(eval(dateArr[1]))<=12&&parseInt(eval(dateArr[0]))>=1&&parseInt(eval(dateArr[0]))<=31){
			dateVal.setYear(dateArr[2]); dateVal.setMonth(dateArr[1]-1, dateArr[0]); dateVal.setDate(dateArr[0]);
			dateVal.setHours(0); dateVal.setMinutes(0); dateVal.setSeconds(0); dateVal.setMilliseconds(0);
			if(weekDays.charAt(dateVal.getDay())==1){
				if(dateVal>=minDate){
					if(dateVal<=maxDate){
						//continue
					}else{ if(err==0) { err = 1; errStr = errorMsgs["dep_date1"]+maxDate.getDate()+"-"+(maxDate.getMonth()+1)+"-"+maxDate.getFullYear(); } }
				}else{ if(err==0) { err = 1; errStr = errorMsgs["dep_date2"]+minDate.getDate()+"-"+(minDate.getMonth()+1)+"-"+minDate.getFullYear(); } }
			}else{ if(err==0) { err = 1; errStr = errorMsgs["dep_date3"]+weekDaysDescr[dateVal.getDay()]; } }
		}else{ if(err==0) { err = 1; errStr = errorMsgs["dep_date4"]; } }
	}else{ if(err==0) { err = 1; errStr = errorMsgs["dep_date5"]; } }
	
	//evaluate possible return date
	var returnDateStr = document.getElementById('returnDate').value;
	if(returnDateStr!=""){
		var returnDateArr = returnDateStr.split("-");
		if(returnDateArr.length!=3) returnDateArr = returnDateStr.split("/");
		if(returnDateArr.length!=3) returnDateArr = returnDateStr.split(".");
		if(returnDateArr.length==3){
			if(parseInt(eval(returnDateArr[2]))>2000&&parseInt(eval(returnDateArr[2]))<2020&&parseInt(eval(returnDateArr[1]))>=1&&parseInt(eval(returnDateArr[1]))<=12&&parseInt(eval(returnDateArr[0]))>=1&&parseInt(eval(returnDateArr[0]))<=31){
				returnDateVal.setYear(returnDateArr[2]); returnDateVal.setMonth(returnDateArr[1]-1); returnDateVal.setDate(returnDateArr[0]);
				returnDateVal.setHours(0); returnDateVal.setMinutes(0); returnDateVal.setSeconds(0); returnDateVal.setMilliseconds(0);
				if(weekDaysReturn.charAt(returnDateVal.getDay())==1){
					if(returnDateVal>=minDate){
						if(returnDateVal<=maxDate){
							//continue
						}else{ if(err==0) { err = 1; errStr = errorMsgs["ret_date1"]+maxDate.getDate()+"-"+(maxDate.getMonth()+1)+"-"+maxDate.getFullYear(); } }
					}else{ if(err==0) { err = 1; errStr = errorMsgs["ret_date2"]+minDate.getDate()+"-"+(minDate.getMonth()+1)+"-"+minDate.getFullYear(); } }
				}else{ if(err==0) { err = 1; errStr = errorMsgs["ret_date3"]+weekDaysDescr[returnDateVal.getDay()]; } }
			}else{ if(err==0) { err = 1; errStr = errorMsgs["ret_date4"]; } }
		}else{ if(err==0) { err = 1; errStr = errorMsgs["ret_date5"]; } }
	}
	
	//continue or error
	if(err==0){
		return true;
	}else{
		showAlertBox(errStr);
		return false;
	}
}
function toggleDest(){
	//get chosen station from available station settings
	//if none is found, index 0 is used for Default
	var thisStation = document.getElementById('destinationList').value; 
	var indexToUse = 0;
	for(var i = 0 ; i < destSet.length ; i++ ){
		if(destSet[i][0]==thisStation){
			indexToUse = i;
		}
	}
	
	//toggle mindate booking
	minDate = new Date();
	minDate.setDate(minDate.getDate()+destSet[indexToUse][3]);
	var minDate2Str = destSet[indexToUse][8];
	var minDate2Arr = minDate2Str.split("-");
	if(minDate2Arr.length==3){
		var minDate2Val = new Date();
		minDate2Val.setYear(minDate2Arr[2]);
		minDate2Val.setMonth(minDate2Arr[1]-1);
		minDate2Val.setDate(minDate2Arr[0]);
		if(minDate2Val>minDate){
			minDate = minDate2Val;
		}
	}
	minDate.setHours(0);
	minDate.setMinutes(0);
	minDate.setSeconds(0);
	minDate.setMilliseconds(0);
	
	//document.getElementById('minDate').value = minDate.getDate()+'-'+(minDate.getMonth()+1)+'-'+minDate.getFullYear();
	
	//toggle weekdays
	if(destSet[indexToUse][10].length==7){
		weekDays = destSet[indexToUse][10];
	}
	if(destSet[indexToUse][11].length==7){
		weekDaysReturn = destSet[indexToUse][11];
	}
	
	//toggle maxdate booking
	maxDate = new Date();
	maxDate.setDate(maxDate.getDate()+destSet[indexToUse][4]);
	var maxDate2Str = destSet[indexToUse][9];
	var maxDate2Arr = maxDate2Str.split("-");
	if(maxDate2Arr.length==3){
		var maxDate2Val = new Date();
		maxDate2Val.setYear(maxDate2Arr[2]);
		maxDate2Val.setMonth(maxDate2Arr[1]-1);
		maxDate2Val.setDate(maxDate2Arr[0]);
		if(maxDate2Val<maxDate){
			maxDate = maxDate2Val;
		}
	}
	maxDate.setHours(23);
	maxDate.setMinutes(59);
	maxDate.setSeconds(59);
	maxDate.setMilliseconds(999);

	//document.getElementById('maxDate').value = maxDate.getDate()+'-'+(maxDate.getMonth()+1)+'-'+maxDate.getFullYear();
	
	//toggle comfort class
	var box = document.getElementById('comfortClassList');
	var currentVal = box.value;
	while ( box.options.length ) box.options[0] = null;
	for(var q = 0 ; q < destSet[indexToUse][5].length; q++ ){			
		option = new Option( destSet[indexToUse][5][q]+messages["sel_class"], destSet[indexToUse][5][q] );
		box.options[box.length] = option;
	}
	for(var q = 0 ; q < box.options.length; q++ ) {
		if(box.options[q].value==currentVal){
			box.selectedIndex = q;
		}
	}
	
	if(false) {
		//toggle corporate cards
		var box = document.getElementById('corporateContractList');
		var currentVal = box.value;
		while ( box.options.length ) box.options[0] = null;
		// option = new Option( 'kies corporate contract:', '' );
		option = new Option( messages["sel_contr"], '' );
		box.options[box.length] = option;
		box.selectedIndex = 0;
		if(destSet[indexToUse][6]!='none'){
			var thisIndexToUse = indexToUse;
			if(destSet[indexToUse][6]=='default'){
				thisIndexToUse = 0;
			}
			for(var q = 0 ; q < destSet[thisIndexToUse][6].length; q++ ){			
				option = new Option( arrayDesc(cardsArray,cardsDesc,destSet[thisIndexToUse][6][q]), destSet[thisIndexToUse][6][q] );
				box.options[box.length] = option;
			}
			for(var q = 0 ; q < box.options.length; q++ ) {
				if(box.options[q].value==currentVal){
					box.selectedIndex = q;
				}
			}
		}
		
		//toggle loyalty cards
		var box = document.getElementById('loyaltyCardList');
		var currentVal = box.value;
		while ( box.options.length ) box.options[0] = null;
		//option = new Option( 'kies getrouwheidskaart:', '' );
		option = new Option( messages["sel_loyal"], '' );
		box.options[box.length] = option;
		box.selectedIndex = 0;
		if(destSet[indexToUse][7]!='none'){
			var thisIndexToUse = indexToUse;
			if(destSet[indexToUse][7]=='default'){
				thisIndexToUse = 0;
			}
			for(var q = 0 ; q < destSet[thisIndexToUse][7].length; q++ ){			
				option = new Option( arrayDesc(cardsArray,cardsDesc,destSet[thisIndexToUse][7][q]), destSet[thisIndexToUse][7][q] );
				box.options[box.length] = option;
			}
			for(var q = 0 ; q < box.options.length; q++ ) {
				if(box.options[q].value==currentVal){
					box.selectedIndex = q;
				}
			}
		}
	}
}
function arrayDesc(varArray,varDesc,varValue){
	var foundIndex = -1;
	for(var i = 0; i < varArray.length; i++){
		if(varArray[i]==varValue){
			foundIndex = i;
		}
	}
	if(foundIndex>=0){
		return varDesc[foundIndex];
	}else{
		return varValue;
	}
}
function stationLoadAll(){
	var stationSelectTo = document.getElementById('destinationList');
	while ( stationSelectTo.options.length ) stationSelectTo.options[0] = null;
	for(var i = 0 ; i < stationArray.length; i++ ){			
		option = new Option(stationDesc[i],stationArray[i]);
		stationSelectTo.options[stationSelectTo.options.length] = option;
	}
	//sortSelect(stationSelectTo, compareText);
}
function tryTranslateStation(){
	var typedValue = document.getElementById('originText').value;
	for(var i = 0 ; i < stationDesc.length; i++){
		if(LCase(typedValue)==LCase(stationDesc[i])){
			document.getElementById('origin').value=stationArray[i];
			stationChange();
			document.getElementById('destinationList').disabled=false;
			document.getElementById('destinationList').focus();
		}
	}
}
function stationChange(){
	var stationClickedValue = document.getElementById('origin').value;
	var stationSelectBox = document.getElementById('destinationList');
	var stationSelectedValue = document.requirementsForm.destination.value;
	var searchedStationFound = 0;
	var stationsAllowedRule = new Array("*", new Array("*"), new Array(""));
	var clickedCountry = stationClickedValue.substring(0,2)+"*";
	browserVars.updateVars();
	
	stationSelectBox.options.length = 0;
	for(var i = 0 ; i < stationsAllowed.length; i++){
		if (stationsAllowed[i][0]==stationClickedValue){
			stationsAllowedRule = stationsAllowed[i];
			break;
		} else if (stationsAllowed[i][0]==clickedCountry && stationsAllowedRule[0]=="*"){
			stationsAllowedRule = stationsAllowed[i];
		}
	}
	if(stationsAllowedRule[1][0]=="*"){
		//all stations allowed
		for(var x = 0 ; x < stationArray.length; x++ ){			
			option = new Option(stationDesc[x],stationArray[x]);
			stationSelectBox.options[stationSelectBox.options.length] = option;
		}
	}else{
		for(var x = 0 ; x < stationArray.length; x++ ){
			var bene = stationArray[x];
			var isAvailable = false;
			// search in allowed stations
			for(var q = 0 ; q < stationsAllowedRule[1].length ; q++){
				if(stationArray[x]==stationsAllowedRule[1][q]){
					isAvailable = true;
					break;
				}else if(stationsAllowedRule[1][q].charAt(2)=="*" 
						&& (stationArray[x].charAt(0)==stationsAllowedRule[1][q].charAt(0)
							&& stationArray[x].charAt(1)==stationsAllowedRule[1][q].charAt(1)
							)){
					isAvailable = true;
					break;
				}
			}
			if (isAvailable) {
				// search in excluded stations
				for(var q = 0 ; q < stationsAllowedRule[2].length ; q++){
					if(stationArray[x]==stationsAllowedRule[2][q]){
						isAvailable = false;
						break;
					}else if(stationsAllowedRule[2][q].charAt(2)=="*" 
							&& (stationArray[x].charAt(0)==stationsAllowedRule[2][q].charAt(0)
								&& stationArray[x].charAt(1)==stationsAllowedRule[2][q].charAt(1)
								)){
						isAvailable = false;
						break;
					}
				}
			}
			if (isAvailable) {
				if (browserVars.type.ie) {
					var option = document.createElement("option");
					option.appendChild(document.createTextNode(stationDesc[x]));
					option.setAttribute("value", bene.toString());
					option.setAttribute("selected", ((stationSelectedValue && stationSelectedValue.toString() == bene.toString())?true:false));
					stationSelectBox.appendChild(option);
				} else {
					var option = new Option(stationDesc[x], bene.toString(), ((bene.toString() == "FRPNO")?true:false), ((stationSelectedValue && stationSelectedValue.toString() == bene.toString())?true:false));
					stationSelectBox.options[stationSelectBox.options.length] = option;
				}
			}
		}
	}
	setDestination();
}
function setListValues() {
	if(document.requirementsForm.origin.value){
		document.requirementsForm.originText.value = arrayDesc(stationArray, stationDesc, document.requirementsForm.origin.value);
		stationChange();
	}
	setSelect(document.requirementsForm.destinationList, document.requirementsForm.destination.value);
	setSelect(document.requirementsForm.timeTypeList, document.requirementsForm.timeType.value);
	setSelect(document.requirementsForm.returnTimeTypeList, document.requirementsForm.returnTimeType.value);
	setSelect(document.requirementsForm.priceCategoryList, document.requirementsForm.priceCategory.value);
	setSelect(document.requirementsForm.transferCategoryList, document.requirementsForm.maxTransfers.value);
	setSelect(document.requirementsForm.comfortClassList, document.requirementsForm.comfortClass.value);
	setSelect(document.requirementsForm.passType1List, document.requirementsForm.passType1.value);
	setSelect(document.requirementsForm.passType2List, document.requirementsForm.passType2.value);
	setSelect(document.requirementsForm.passType3List, document.requirementsForm.passType3.value);
	
	if(document.requirementsForm.loyaltyCard.value){
		setSelect(document.requirementsForm.loyaltyCardList, document.requirementsForm.loyaltyCard.value);
	} else {
		document.requirementsForm.loyaltyCardList.options[0].selected=true;
	}
	if(document.requirementsForm.discountCard.value){
		setSelect(document.requirementsForm.discountCardList, document.requirementsForm.discountCard.value);
	} else {
		document.requirementsForm.discountCardList.options[0].selected=true;
	}
	// this is not list value, but we have to set it.
    document.requirementsForm.returnComfortClass.value = document.requirementsForm.comfortClassList.value;
}
function setDestination() {
	document.requirementsForm.destination.value = document.requirementsForm.destinationList.value;
}
function setTimeType() {
	document.requirementsForm.timeType.value = document.requirementsForm.timeTypeList.value;
}
function setReturnTimeType() {
	document.requirementsForm.returnTimeType.value = document.requirementsForm.returnTimeTypeList.value;
}
function setPriceCategory() {
	document.requirementsForm.priceCategory.value = document.requirementsForm.priceCategoryList.value;
}
function setTransferCategory() {
	document.requirementsForm.maxTransfers.value = document.requirementsForm.transferCategoryList.value;
}
function setComfortClass() {
	document.requirementsForm.comfortClass.value = document.requirementsForm.comfortClassList.value;
    document.requirementsForm.returnComfortClass.value = document.requirementsForm.comfortClassList.value;
}
function setPassType1() {
	document.requirementsForm.passType1.value = document.requirementsForm.passType1List.value;
}
function setPassType2() {
with(document.requirementsForm){
	passType2.value = passType2List.value;
	passType3List.options.length=1;
	for (var i=0; i<passTypeArray.length; i++) {
		if (passType2List.value=="" || passTypeArray[i].value != passType2List.value) {
			passType3List.options[passType3List.options.length]=passTypeArray[i];
		}
	}
	if (document.requirementsForm.passType3List.value != "") {
		setPassType3();
	}
}
}
function setPassType3() {
	if (document.requirementsForm.passType2.value == "") {
		document.requirementsForm.passType3List.selectedIndex = 0;
		showAlertBox(errorMsgs["sel_paxty2"]);
		return false;
	}
	document.requirementsForm.passType3.value = document.requirementsForm.passType3List.value;
}
//function setCorporateCard() {
//	document.requirementsForm.corporateContract.value = document.requirementsForm.corporateContractList.value;
//}
function setLoyaltyCard() {
	document.requirementsForm.loyaltyCard.value = document.requirementsForm.loyaltyCardList.value;
}
function setDiscountCard() {
	document.requirementsForm.discountCard.value = document.requirementsForm.discountCardList.value;
}
function disableSelect(){
	document.requirementsForm.destinationList.disabled=true;
	document.requirementsForm.timeTypeList.style.display='none';
	document.requirementsForm.returnTimeTypeList.style.display='none';
	document.requirementsForm.priceCategoryList.disabled=true;
	if(document.requirementsForm.transferCategoryList){
		document.requirementsForm.transferCategoryList.disabled=true;
	}
	document.requirementsForm.comfortClassList.disabled=true;
	document.requirementsForm.passType1List.disabled=true;
	document.requirementsForm.passType2List.disabled=true;
	document.requirementsForm.passType3List.disabled=true;
//	document.requirementsForm.corporateContractList.disabled=true;
	document.requirementsForm.loyaltyCardList.disabled=true;
	document.requirementsForm.discountCardList.disabled=true;
	if (document.localeForm) {
		document.localeForm.locale.disabled=true;
	} else {
		document.requirementsForm.priceCategoryList.style.display='none';
		document.requirementsForm.comfortClassList.style.display='none';
	}
}
function goNext() {
	formcheck_DateChecker('date', messages["dep_date"], 0);
	formcheck_Hour('requirementsForm', 'hour', messages["dep_hour"]);
	formcheck_Minute('requirementsForm', 'minute', messages["dep_min"]);
	formcheck_Hour('requirementsForm', 'returnHour', messages["ret_hour"]);
	formcheck_Minute('requirementsForm', 'returnMinute', messages["ret_min"]);
	if (document.requirementsForm.returnDate.value != "") {
		formcheck_DateChecker('returnDate', messages["ret_date"], 0);
	}
	if (errorMessage != "") {
		showAlertBox(errorMessage);
		errorMessage="";
		return false;
	}
	toggleDest();
	document.requirementsForm.login.value = '';
	if(checkDest()){
		if (document.requirementsForm.pax2.value != "0" && document.requirementsForm.passType2.value == "") {
			document.requirementsForm.pax2.value = 0;
		}
		if (document.requirementsForm.pax2.value == "0" && document.requirementsForm.passType2.value != "") {
			document.requirementsForm.passType2.value = "";
		}
		if (document.requirementsForm.pax3.value != "0" && document.requirementsForm.passType3.value == "") {
			document.requirementsForm.pax3.value = 0;
		}
		if (document.requirementsForm.pax3.value == "0" && document.requirementsForm.passType3.value != "") {
			document.requirementsForm.passType3.value = "";
		}
		if(document.requirementsForm.origin) {
			if(document.requirementsForm.origin.value=='<vul in>') {
				document.requirementsForm.origin.value='';
			}
			//document.requirementsForm.submit();
			var errStr = "";
			var loyaltyCard = document.getElementById('loyaltyCard').value;
			if(loyaltyCard){
				var isPreviousFilled = true;
				for(var i=0; i<document.requirementsForm.pax1.value; i++){
					var obj = document.getElementById('loyaltyCardNumber['+i+']'); 
					if( obj && (obj.value.length>6 || (loyaltyCard=="BTC" && obj.value.length>0))){
						if(!isPreviousFilled){
							errStr += errorMsgs["loy_order"];
						} else if (loyaltyCard=="BTC" && obj.value.length != 12) {
							errStr += errorMsgs["loy_btcln"];
						}
					} else {
						if(i == 0) {
							errStr += errorMsgs["loy_first"];
							break;
						}
						isPreviousFilled = false;
					}
				}
				if(errStr==""){
					for(var i=document.requirementsForm.pax1.value-1; i>0; i--){
						var obj = document.getElementById('loyaltyCardNumber['+i+']');
						if( obj && obj.value.length<7 && loyaltyCard!="BTC") {
							obj.value="";
						}
					}
				}
			}
			if(document.getElementById('discountCard').value){
				var isPreviousFilled = true;
				for(var i=0; i<document.requirementsForm.pax1.value; i++){
					var obj = document.getElementById('discountCardNumber['+i+']'); 
					if( obj && obj.value.length>0){
						if(!isPreviousFilled){
							errStr += errorMsgs["disc_order"];
						}
					} else {
						if(i == 0) {
							errStr += errorMsgs["disc_first"];
							break;
						}
						isPreviousFilled = false;
					}
				}
			}
//			var corporateCard = document.getElementById('corporateContract').value;
//			if(corporateCard!="" && corporateCard!="ABR" && corporateCard!="RPK"){
//				var obj = document.getElementById('corporateContractNumber');
//				if( obj && obj.value==""){
//					errStr += errorMsgs["cor_empty"];
//				}
//			}
			if(errStr){
				showAlertBox(errStr);
				return false;
			} else {
				//availableLocales can be empty
				try {
					document.localeForm.locale.disabled=true;
				}catch(e){}
				loaderText1=messages["lod_tit12"];
				loaderText2=messages["lod_txt12"];
				disableSelect();
				submitForm(document.requirementsForm);
			}
		}
	}
}
function goBookingPage(){
	loaderText1=messages["lod_titbk"];
	loaderText2=messages["lod_txtbk"];
	disableSelect();
	showLoader();
	setTimeout("redirectToBooking();", 100);
}
function redirectToBooking(){
	location.href = lnk_bookn;
}
function login(forwardPage) {
	document.requirementsForm.login.value = 'login';
	document.requirementsForm.forwardAfterLogin.value = forwardPage;
	document.requirementsForm.userId.value = document.customerLoginForm.userId.value;
	document.requirementsForm.password.value = document.customerLoginForm.password.value;
	formcheck_NotEmptyById('userId', errorMsgs["nam_empty"]);
	formcheck_NotEmptyById('password', errorMsgs["pas_empty"]);
	if (document.getElementById('userId').value && document.getElementById('userId').value.indexOf('@') > -1) {
		formcheck_EmailChecker('customerLoginForm', 'userId');
	}
	if (errorMessage == "") {
		if(submitOnce(document.requirementsForm)){
			loaderText1=messages["lod_titlg"];
			loaderText2=messages["lod_txtlg"];
			disableSelect();
			submitForm(document.requirementsForm);
		}
	} else {
		showAlertBox(errorMsgs["frm_check"]+errorMessage);
		errorMessage = "";
	}
}

function scrollDiv(){
	document.getElementById('scroller_div').style.top = document.body.scrollTop;
	setTimeout('scrollDiv()',100);
}
//function toggleCorporateContract(){
//	var corporateCard = document.getElementById('corporateContract').value;
//	if(corporateCard=="" || corporateCard=="ABR" || corporateCard=="RPK"){
//		setOn = false;
//	}else{
//		setOn = true;
//	}
//	if(setOn){
//		document.getElementById('corporateContract_nrDiv').style.display="block";
//	}else{
//		document.getElementById('corporateContract_nrDiv').style.display="none";
//	}
//	var obj = document.getElementById('corporateContractNumber');
//	if(obj && obj.value.length > 0){
//		obj.value = "";
//	}
//}
function toggleLoyaltyCard(){
	var loyaltyCard = document.getElementById('loyaltyCard').value;
	if(loyaltyCard==""){
		setOn = false;
	}else{
		setOn = true;
	}
	passIndex = 1;
	if(document.getElementById('pax1').value!=""){
		passIndex = parseInt(document.getElementById('pax1').value);
		if (loyaltyCard=="BTC") {
			if (document.requirementsForm.passType2List.value == 'C') {
				passIndex += parseInt(document.getElementById('pax2').value);
			} else if (document.requirementsForm.passType3List.value == 'C') {
				passIndex += parseInt(document.getElementById('pax3').value);
			}
		}
	}
	if(setOn){
		document.getElementById('loyaltyCard_nrDiv').style.display="block";
		var i = 1;
		for( i = 1; i <= passIndex && i <= maxPassengers; i++ )
		{
			document.getElementById('loyaltyCard_nrDiv_'+i).style.display="block";
			var obj = document.getElementById('loyaltyCardNumber['+(i-1)+']');
			if(obj && obj.value.length >= 0){
				if(loyaltyCard=="CYB"){
					if(userCYBNumber && i==1){
						obj.value = userCYBNumber;
					}else{
						obj.value = "308406";
					}
				} else if(loyaltyCard=="EFT"){
					if(userEFTNumber && i==1){
						obj.value = userEFTNumber;
					}else{
						obj.value = "308381";
					}
				} else if(loyaltyCard=="BTC"){
					if(userBTCNumber && i==1){
						obj.value = userBTCNumber;
					}else{
						obj.value = "";
					}
				}
			}
		}													
		for( i = passIndex+1; i <= maxPassengers; i++ )
		{
			var obj = document.getElementById('loyaltyCardNumber['+(i-1)+']');
			if(obj && obj.value.length > 0){
				obj.value = "";
			}														
			document.getElementById('loyaltyCard_nrDiv_'+i).style.display="none";
		}	
	}else{
		document.getElementById('loyaltyCard_nrDiv').style.display="none";
		var i = 1;
		for( i = 1; i <= maxPassengers; i++ )
		{
			var obj = document.getElementById('loyaltyCardNumber['+(i-1)+']');
			if(obj && obj.value.length > 0){
				obj.value = "";
			}
			eval("document.getElementById('loyaltyCard_nrDiv_"+i+"').style.display=\"none\"");
		}		
	}
}
function toggleDiscountCard(){
	var discountCard = document.getElementById('discountCard').value;
	if(discountCard==""){
		setOn = false;
	}else{
		setOn = true;
	}
	passIndex = 1;
	if(document.getElementById('pax1').value!=""){
		passIndex = parseInt(document.getElementById('pax1').value);
	}
	if(setOn){
		document.getElementById('discountCard_nrDiv').style.display="block";
		var i = 1;
		for( i = 1; i <= passIndex && i <= maxPassengers; i++ )
		{
			document.getElementById('discountCard_nrDiv_'+i).style.display="block";
			var obj = document.getElementById('discountCardNumber['+(i-1)+']');
			if(obj && obj.value.length >= 0){
				obj.value = "";
			}
		}													
		for( i = passIndex+1; i <= maxPassengers; i++ )
		{
			var obj = document.getElementById('discountCardNumber['+(i-1)+']');
			if(obj && obj.value.length > 0){
				obj.value = "";
			}														
			document.getElementById('discountCard_nrDiv_'+i).style.display="none";
		}	
	}else{
		document.getElementById('discountCard_nrDiv').style.display="none";
		var i = 1;
		for( i = 1; i <= maxPassengers; i++ )
		{
			var obj = document.getElementById('discountCardNumber['+(i-1)+']');
			if(obj && obj.value.length > 0){
				obj.value = "";
			}
			eval("document.getElementById('discountCard_nrDiv_"+i+"').style.display=\"none\"");
		}		
	}
}
function toggleCards() {
	toggleLoyaltyCard();
	toggleDiscountCard();
}
function checkContractDistributor(){
	formcheck_NotEmptyById('contractDistributor', errorMsgs["contract"]);
	if (errorMessage) {
		showAlertBox(errorMessage);
		errorMessage="";
		return false;
	} else {
		var contract = document.getElementById("contractDistributor").value;
		sendRequest(contract);
	}
}
// ajax request methods
function sendRequest(contract){
	var url = contextPath + '/ContractController?contractDistributor='+contract;
	try {
		_request="true";
		document.getElementById('check_wait').innerHTML=messages["check_wait"];
		makeRequest(url,'xml');
	} catch(e) {_request="";}
}
function getResponse(xmldoc){
	document.getElementById('check_wait').innerHTML="";
	var root_node = xmldoc.getElementsByTagName('success').item(0);
	if(root_node && root_node.firstChild.data == "true") {
		root_node = xmldoc.getElementsByTagName('contract').item(0);
		if(root_node){
			var id = xmldoc.getElementsByTagName('id').item(0);
			if (id) {
				var contract = new Contract(id.firstChild.data);
				var nodeList = root_node.childNodes;
				for (var i=0; i<nodeList.length; i++){
					var nm = nodeList.item(i).nodeName;
					var value = nodeList.item(i).firstChild.data;
					if(nm == "name") { contract.name = value; }
					else if(nm == "tcp") { contract.tcp = value; }
					else if(nm == "ecp") { contract.ecp = value; }
					else if(nm == "icp") { contract.icp = value; } 
				}
				showContractPrograms(contract);
			}
			
		}
	} else if(root_node && root_node.firstChild.data == "false") {
		var _checkError = "";
		for(i=0; i<xmldoc.getElementsByTagName('error').length; i++) {
			root_node = xmldoc.getElementsByTagName('error').item(i);
			if(root_node){
				if (_checkError){_checkError += "<br />";}
				_checkError += root_node.firstChild.data;
			}
		}
		if (_checkError) {
			showError(_checkError);
		} else {
			showError(messages["cont_fail"]);
		}
		hideContractStatus();
	}
	_request="";
}
function showRuntimeError(){
	showError(messages["runtime"]);
}
function showBadRequestError(){
	showError(messages["badreq"]);
}
function showError(errorMessage){
	showAlertBox(errorMessage);
}
function hideContractStatus() {
	if (document.getElementById('contractstatus')){
		document.getElementById('contractName').innerHTML = '';
		document.getElementById('contractstatus').style.display="none";
	}
}
function showContractPrograms(contract){
	if (contract && document.getElementById('contractstatus')) {
		document.getElementById('contractName').innerHTML = contract.id;
		document.getElementById('contractstatus').style.display="block";
	}
	var in_tcp = document.getElementById('contractTCP');
	if (contract.tcp && in_tcp) {
		if (in_tcp.value && in_tcp.value != contract.tcp) {
			if (confirm(messages["confirm_tcp"] + contract.tcp)) {
				in_tcp.value=contract.tcp;
			}
		} else if (in_tcp.value == contract.tcp) {
			// do nothing
		} else {
			in_tcp.value=contract.tcp;
		}
	}
	var in_ecp = document.getElementById('contractECP');
	if (contract.ecp && in_ecp) {
		if (in_ecp.value && in_ecp.value != contract.ecp) {
			if (confirm(messages["confirm_ecp"] + contract.ecp)) {
				in_ecp.value=contract.ecp;
			}
		} else if (in_ecp.value == contract.ecp) {
			// do nothing
		} else {
			in_ecp.value=contract.ecp;
		}
	}
	var in_icp = document.getElementById('contractICP');
	if (contract.icp && in_icp) {
		if (in_icp.value && in_icp.value != contract.icp) {
			if (confirm(messages["confirm_icp"] + contract.icp)) {
				in_icp.value=contract.icp;
			}
		} else if (in_icp.value == contract.icp) {
			// do nothing
		} else {
			in_icp.value=contract.icp;
		}
	}
}
