	function init() {

		$('#cformsform .sendbutton').hide();

		jQuery('.cf-fs5').hide();
		jQuery('.cf-fs3, .cf-fs4')
			.hide()
			.find('input').attr('disabled', true);

		jQuery('.cf-fs2').show();
	}

	init();
	jQuery('.cf-fs2').hide();


	jQuery('#cf5_field_2-1, #cf5_field_2-2, #cf5_field_3-1, #cf5_field_3-2, #cf5_field_3-3').removeAttr('checked');

	jQuery('#cf5_field_2-1, #cf5_field_2-2').click(function(){
	    jQuery('.cf-fs5').show();
		jQuery('.cf-fs2').show();
	});

	jQuery('#cf5_field_3-1').click(function(){
		init();
		jQuery('.cf-fs5').show();
		jQuery('.sendbutton').show();
		jQuery('.cf-fs3')
			.show()
			.find('input').removeAttr('disabled');
	});

	jQuery('#cf5_field_3-2').click(function(){
		init();
		jQuery('.cf-fs5').show();
		jQuery('.sendbutton').show();
		jQuery('.cf-fs4')
			.show()
			.find('input').removeAttr('disabled');
	});

	jQuery('#cf5_field_3-3').click(function(){
		init();
		jQuery('.cf-fs5').show();
		jQuery('.sendbutton').show();
		jQuery('.cf-fs3,.cf-fs4')
			.show()
			.find('input').removeAttr('disabled');
	});

	function init2() {

		$('#cforms5form .sendbutton').hide();

		jQuery('.cf-fs3, .cf-fs4')
			.hide()
			.find('input').attr('disabled', true);

		jQuery('.cf-fs2').show();
	}

	init2();
	jQuery('.cf-fs2').hide();


	jQuery('#cf_field_2-1, #cf_field_2-2, #cf_field_3-1, #cf_field_3-2, #cf_field_3-3').removeAttr('checked');

	jQuery('#cf_field_2-1, #cf_field_2-2').click(function(){
		jQuery('.cf-fs2').show();
		jQuery('.cf-fs5').show();
		jQuery('.sendbutton').show();
	});

	jQuery('#cf_field_3-1').click(function(){
		init2();
		jQuery('.cf-fs5').show();
		jQuery('.sendbutton').show();
		jQuery('.cf-fs3')
			.show()
			.find('input').removeAttr('disabled');
	});

	jQuery('#cf_field_3-2').click(function(){
		init2();
		jQuery('.cf-fs5').show();
		jQuery('.sendbutton').show();
		jQuery('.cf-fs4')
			.show()
			.find('input').removeAttr('disabled');
	});

	jQuery('#cf_field_3-3').click(function(){
		init2();
		jQuery('.cf-fs5').show();
		jQuery('.sendbutton').show();
		jQuery('.cf-fs3,.cf-fs4')
			.show()
			.find('input').removeAttr('disabled');
	});


	// Autocompletion

	var airports = {

		AMS : {
			name 	: 'Amsterdam Schiphol Airport',
			street 	: 'Evert v/d Beekstraat',
			number 	:  202,
			postal 	: '1118CP',
			city 	: 'Schiphol',
			country : 'Nederland'
		},

		RTM : {
			name 	: 'Rotterdam Airport 16-Hoven',
			street 	: 'Rotterdam Airportplein',
			number 	: 60,
			postal 	: '3045AP',
			city 	: 'Rotterdam',
			country : 'Nederland'
		},

		EIN : {
			name 	: 'Eindhoven Airport',
			street 	: 'Luchthavenlaan',
			number 	: 25,
			postal 	: '5657EA',
			city	: 'Eindhoven',
			country	: 'Nederland'
		},

		MST : {
			name 	: 'Maastricht Aachen Airport',
			street 	: 'Vliegveldweg',
			number 	: 90,
			postal 	: '6199AD',
			city	: 'Maastricht',
			country	: 'Nederland'
		},

		GRQ : {
			name 	: 'Groningen Airport Eelde',
			street 	: 'Machlaan',
			number 	: '14a',
			postal 	: '9765ZH',
			city	: 'Paterswolde',
			country	: 'Nederland'
		},

		LEY : {
			name 	: 'Lelystad Airport',
			street 	: 'De Zwaluw',
			number 	: 2,
			postal 	: '8218PD',
			city	: 'Lelystad',
			country	: 'Nederland'
		},

		ENS : {
			name 	: 'Enschede Airport Twente',
			street 	: 'Vliegveldweg',
			number 	: 333,
			postal 	: '7524PT',
			city	: 'Enschede',
			country	: 'Nederland'
		},

		BRU : {
			name 	: 'Brussels Airport Zaventem',
			street 	: '',
			number 	: '',
			postal 	: 'BE-1930',
			city	: 'Zaventem',
			country	: 'België'
		},

		ANR : {
			name 	: 'Antwerpen Airport',
			street 	: 'Luchthavenlei z/n',
			number 	: '',
			postal 	: 'B-2100',
			city	: 'Antwerpen',
			country	: 'België'
		},

		DUS : {
			name 	: 'Düsseldorf Airport',
			street 	: 'Flughafenstraße',
			number 	: 120,
			postal 	: 'D-40474',
			city	: 'Düsseldorf',
			country	: 'Duitsland'
		},

		FRA : {
			name 	: 'Frankfurt Airport',
			street 	: '',
			number 	: 60547,
			postal 	: 'D-40474',
			city	: 'Frankfurt am Main',
			country	: 'Duitsland'
		},

		empty : {
			name 	: '',
			street 	: '',
			number 	: '',
			postal 	: '',
			city	: '',
			country	: ''
		}

	};

	var selectionFields = {

		cf_field_25 : {
			street 	: '#cf_field_26',
			number 	: '#cf_field_27',
			postal 	: '#cf_field_28',
			city 	: '#cf_field_29',
			country : '#cf_field_30'
		},

		cf_field_36 : {
			street 	: '#cf_field_38',
			number 	: '#cf_field_39',
			postal 	: '#cf_field_40',
			city 	: '#cf_field_41',
			country : '#cf_field_42'
		},

		cf5_field_25 : {
			street 	: '#cf5_field_26',
			number 	: '#cf5_field_27',
			postal 	: '#cf5_field_28',
			city 	: '#cf5_field_29',
			country : '#cf5_field_30'
		},

		cf5_field_36 : {
			street 	: '#cf5_field_38',
			number 	: '#cf5_field_39',
			postal 	: '#cf5_field_40',
			city 	: '#cf5_field_41',
			country : '#cf5_field_42'
		}

	};

	jQuery.each(selectionFields, function(select, fields){

		jQuery('#' + select).change(function(){

			if ( jQuery(this).val() == '-' ) {
				var airport = 'empty';
			} else {
				var airport = jQuery(this).val();
			}

			jQuery.each(fields, function(label, field){
				jQuery(field).val(airports[airport][label]);
			});

		}).trigger('change');

	});

	jQuery('#cformsform input, #cforms5form input').each(function(){
		jQuery(this).data('default', jQuery(this).val());
	});

	jQuery('#cformsform #sendbutton')
		.removeAttr('onclick')
		.click(function(){

			$('input').removeClass('error');
			var bReturn = false;

			if ( jQuery('#cf_field_3-1').attr('checked') ) {
				bReturn = validateFields('.cf-fs3');
			} else if ( jQuery('#cf_field_3-2').attr('checked') ) {
				bReturn = validateFields('.cf-fs4');
			} else {
				bReturn1 = validateFields('.cf-fs3');
				bReturn2 = validateFields('.cf-fs4');
				bReturn  = (bReturn1 && bReturn2);
			}

			$(this).parents('form:first').find('input.required').each(function(){
				if ( $(this).val() == '' ) {
					$(this.addClass('error'));
					
					bReturn = false;
				}
			});

			if ( !bReturn ) {
				alert('vul alle rood gemarkeerde velden in en verzend het formulier nogmaals');
				return false;
			} else {
				return cforms_validate('', false)
			}

		});

	function validateFields(fieldSet)
	{

		var requiredFields = [];
		var prefix = '';
		var bReturn = true;


		switch ( fieldSet ) {
			case '.cf-fs3':
				requiredFields = [6,13,15,18,19,20,21,22,23,25,29,31,32];
				prefix = 'cf_field_';
				break;

			case '.cf-fs4':
				requiredFields = [6,13,15,34,35,36,37,38,39,40,41,46];
				prefix = 'cf_field_';
				break;
		}

		$.each(requiredFields, function(i, val){

			$field = jQuery('#' + prefix + val);

			if ( val == 29 || val == 38 || val == 39 || val == 40 || val ==  41 ) {

				if ( $field.val() == '' ) {
					$field.addClass('error');
					bReturn = false;
				}

			} else {



				if ( $field.val() == '' || $field.val() ==  $field.data('default') ) {
					$field.addClass('error');
					bReturn = false;
				}
			}

		});

		return bReturn;
	}


	jQuery('#cforms5form #sendbutton5')
		.removeAttr('onclick')
		.click(function(){

			$('input').removeClass('error');
			var bReturn = false;

			if ( jQuery('#cf5_field_3-1').attr('checked') ) {
				bReturn = validateFields_en('.cf-fs3');
				// console.log('1');
				// console.log(bReturn);
			} else if ( jQuery('#cf5_field_3-2').attr('checked') ) {
				bReturn = validateFields_en('.cf-fs4');
				// console.log('2');
			} else {
			    // console.log('1 en 2');
				bbbReturn1 = validateFields_en('.cf-fs3');
				bbbReturn2 = validateFields_en('.cf-fs4');
				bReturn  = (bbbReturn1 && bbbReturn2);
			}

			$(this).parents('form:first').find('input.required').each(function(){
				if ( $(this).val() == '' ) {
					$(this).addClass('error');
					// console.log('hello');
					// console.log(this);
					bReturn = false;
				}
			});
			
			// console.log(bReturn);



			if ( bReturn == false ) {
				alert('Please fill out all required fields (marked red)');
				return false;
			} else {
				return cforms_validate('5', false)
			}

		});

	function validateFields_en(fieldSet)
	{

		var requiredFields = [];
		var prefix = '';
		var bbReturn = true;
        var errors = [];
        
		switch ( fieldSet ) {

			case '.cf-fs3':
				requiredFields = [6,13,15,18,19,20,21,22,23,25,29,31,32];
				prefix = 'cf5_field_';
				break;

			case '.cf-fs4':
				requiredFields = [6,13,15,34,35,36,37,38,39,40,41,46];
				prefix = 'cf5_field_';
				break;
		}

		$.each(requiredFields, function(i, val){

			$field = jQuery('#' + prefix + val);

			if ( val == 29 || val == 38 || val == 39 || val == 40 || val ==  41 ) {

				if ( $field.val() == '' ) {
					$field.addClass('error');
					errors.push($field.attr('id'));
					// console.log(' - ', val);
					bbReturn = false;
				}

			} else {

				if ( $field.val() == '' || $field.val() ==  $field.data('default') ) {
					$field.addClass('error');
					// console.log(' - ', val);
					errors.push($field.attr('id'));
					bbReturn = false;
				}
			}

		});

		// console.log(errors);
		return bbReturn;
	}
