 _CF_checkformulier = function(_CF_this)
    {
        //reset on submit
        _CF_error_exists = false;
        _CF_error_messages = new Array();
        _CF_error_fields = new Object();
        _CF_FirstErrorField = null;


        //display error messages and return success
        if( _CF_error_exists )
        {
            if( _CF_error_messages.length > 0 )
            {
                // show alert() message
                _CF_onErrorAlert(_CF_error_messages);
                // set focus to first form error, if the field supports js focus().
                if( _CF_this[_CF_FirstErrorField].type == "text" )
                { _CF_this[_CF_FirstErrorField].focus(); }

            }
            return false;
        }else {
            return true;
        }
    }
    
	function init_dep_apname() {
		new mxAjax.Autocomplete({
			indicator: "indicator1",
			minimumCharacters: "2",
			target: "dep_apcode",
			className: "autocomplete",
			paramArgs: new mxAjax.Param(url,{cffunction:"getFlightLocations_dep_apname"}),
			parser: new mxAjax.CFQueryToJSKeyValueParser(),
			source: "dep_apname",
			flexWidth: true,
			postFunction: CopyDestinations
		});
	}
	
	function init_des_apname() {
		new mxAjax.Autocomplete({
			indicator: "indicator2",
			minimumCharacters: "2",
			target: "des_apcode",
			className: "autocomplete",
			paramArgs: new mxAjax.Param(url,{cffunction:"getFlightLocations_des_apname"}),
			parser: new mxAjax.CFQueryToJSKeyValueParser(),
			source: "des_apname",
			flexWidth: true,
			postFunction: CopyDestinations
		});
	}
	
	function init_dep2_apname() {
		new mxAjax.Autocomplete({
			indicator: "indicator3",
			minimumCharacters: "2",
			target: "dep2_apcode",
			className: "autocomplete",
			paramArgs: new mxAjax.Param(url,{cffunction:"getFlightLocations_dep2_apname"}),
			parser: new mxAjax.CFQueryToJSKeyValueParser(),
			source: "dep2_apname",
			flexWidth: true,
			postFunction: CopyDestinations
		});
	}
	
	function init_des2_apname() {
		new mxAjax.Autocomplete({
			indicator: "indicator4",
			minimumCharacters: "2",
			target: "des2_apcode",
			className: "autocomplete",
			paramArgs: new mxAjax.Param(url,{cffunction:"getFlightLocations_des2_apname"}),
			parser: new mxAjax.CFQueryToJSKeyValueParser(),
			source: "des2_apname",
			flexWidth: true,
			postFunction: CopyDestinations
		});
	}
	
	
	
	var url = "http://www.cheaptickets.de/v3mxajax/core/cf/FlightsFunctions.cfm";
	
	function Controle(f) {
		var datum1  = back_date(f.vertrekdate.value);
		var datum2  = back_date(f.retourdate.value);
		var vandaag = new Date();
		
		// nogmaals checken als er geen onChange is geweest
		if  (isNaN(datum1)) {
			alert("Datumseingabe: Bitte benützen Sie folgendes Format für die Datumseingabe: tt/mm/jjjj.");
			f.vertrekdate.focus();
			return false;
		}
		if (isNaN(datum2) ) {
			alert("Datumseingabe: Bitte benützen Sie folgendes Format für die Datumseingabe: tt/mm/jjjj.");
			f.retourdate.focus();
			return false;
		}
		if (f.dep_apname.value == "") {
			alert("Bitte wählen Sie erst einer Zielort.");
			f.dep_apname.focus();
			return false;
		}
		if (f.des_apname.value == "") {
			alert("Bitte wählen Sie erst einer Zielort.");
			f.des_apname.focus();
			return false;
		}
		if (f.Roundtrip[0].checked) {
			if (f.dep2_apname.value == "") {
				alert("Bitte wählen Sie erst einer Zielort.");
				f.dep2_apname.focus();
				return false;
			}
			if (f.des2_apname.value == "") {
				alert("Bitte wählen Sie erst einer Zielort.");
				f.des2_apname.focus();
				return false;
			}
			if (f.dep_apname.value == f.dep2_apname.value && f.des_apname.value == f.des2_apname.value) {
				alert("Invalid route!");				
				return false;
			}
		}	
		if (datum1 <= vandaag) {
			alert('Ihre Anreisedatum ist verstrichen !');
			f.vertrekdate.focus();
			return false;
		}
		if (f.Roundtrip[0].checked) {
			if (datum2 <= vandaag) {
				alert('Ihre Abreisedatum ist verstrichen !');
				f.retourdate.focus();
				return false;
			}			
			if (datum2 < datum1) {
				alert('Ihre Abreisedatum is eher als Ihre Anreisedatum !');
				f.vertrekdate.focus();
				return false;
			}
		}	
		// Omzetten naar juiste datumformaat BookXpress...
		f.dag1.value = datum1.getDate();
		f.maandjaar1.value = (datum1.getMonth()+1) + "/" + datum1.getFullYear();
		f.dag2.value = datum2.getDate();
		f.maandjaar2.value = (datum2.getMonth()+1) + "/" + datum2.getFullYear();	
		return true;
	}
	
	function CopyDestinations() {
		var f = document.formulierQuickSearch;
		if (f.dep2_apname.value == '') f.dep2_apname.value = f.des_apname.value;
		if (f.des2_apname.value == '') f.des2_apname.value = f.dep_apname.value;
		if (f.dep2_apcode.value == '') f.dep2_apcode.value = f.des_apcode.value;
		if (f.des2_apcode.value == '') f.des2_apcode.value = f.dep_apcode.value;
	}
	
	function CopyDepDate(y,m,d) {
		var tempDag;
		var tempMaand;
		var f = document.formulierQuickSearch;
		var retourdatum = back_date(d + "/" + m + "/" + y);
		var retourdatum = new Date(retourdatum.valueOf() + (14*24*3600*1000)); //Add 14 days (in msec)
		if (d < 9) { d = '0' + d;}
		if (m < 9) { m = '0' + m;}
		f.vertrekdate.value = d + "/" + m + "/" + y;
		tempDag = retourdatum.getDate();
		tempMaand = retourdatum.getMonth()+1;
		if (tempDag < 9) {tempDag = '0' + tempDag;}
		if (tempMaand < 9) {tempMaand = '0' + tempMaand;}
		f.retourdate.value = tempDag + "/" + tempMaand + "/" + retourdatum.getFullYear();
	}
	
	function CopyDepDateManual() {
		var f = document.formulierQuickSearch;
		var temp = f.vertrekdate.value.split('/');
		var d = temp[0];
		var m = temp[1];
		var y = temp[2];
		if (d < 9) { d = '0' + d;}
		if (m < 9) { m = '0' + m;}
		var retourdatum = back_date(d + "/" + m + "/" + y);		
		retourdatum = new Date(retourdatum.valueOf() + (14*24*3600*1000)); //Add 14 days (in msec)
		tempDag = retourdatum.getDate();
		tempMaand = retourdatum.getMonth()+1;
		if (tempDag < 9) {tempDag = '0' + tempDag;}
		if (tempMaand < 9) {tempMaand = '0' + tempMaand;}
		f.retourdate.value = tempDag + "/" + tempMaand + "/" + retourdatum.getFullYear();		
	}
	
	function ParseDate(d){
		var dob = d.value;
		if(dob.search("/") != -1){
			var arrDob = dob.split("/");
			var dobD = arrDob[0];
			var dobM = arrDob[1];
			var dobY = arrDob[2];
		}else{
			var dobD = dob.substring(0,2);
			var dobM = dob.substring(2,4);
			var dobY = dob.substring(4,8);
		}
		if (dobD == "" || dobM == "" || dobY == ""){
			alert("Datumseingabe: Bitte benützen Sie folgendes Format für die Datumseingabe: tt/mm/jjjj.");
			return false;
		}
		if (dobD.length < 2) { dobD = '0' + dobD;}
		if (dobM.length < 2) { dobM = '0' + dobM;}
		if(dobY.length == 2){			
			dobY = "20" + dobY;
		}
		dob = dobD+"/"+dobM+"/"+dobY;
		d.value = dob;
	}
	
	function SwapOneway() {
		var f = document.formulierQuickSearch;
		if (f.Roundtrip[1].checked) {
			f.dep2_apname.disabled = true;
			f.des2_apname.disabled = true;
			f.retourdate.disabled = true;
			f.uur2.disabled = true;
			f.dep2_apname.style.backgroundColor = '#CCCCCC';
			f.des2_apname.style.backgroundColor = '#CCCCCC';
			f.retourdate.style.backgroundColor = '#CCCCCC';			
			f.uur2.style.backgroundColor = '#CCCCCC';	
		} else {
			f.dep2_apname.disabled = false;
			f.des2_apname.disabled = false;
			f.retourdate.disabled = false;
			f.uur2.disabled = false;
			f.dep2_apname.style.backgroundColor = '#FFFFFF';
			f.des2_apname.style.backgroundColor = '#FFFFFF';
			f.retourdate.style.backgroundColor = '#FFFFFF';	
			f.uur2.style.backgroundColor = '#FFFFFF';
		}		
	}