$(document).ready(function() {
	// parse errors
	var contact_errors = $('#contact_errors').text();
	if(contact_errors.length > 0) {
		errors = contact_errors.split(',');
		for(var i = 0; i < errors.length; i++) {
			if (!$(errors[i]).hasClass('error')) $(errors[i]).addClass('error');
		}
	}
	
	// postcode autotab
	$('#contact_postcode_cijfers').keyup(function() {
		if ($(this).val().length == 4) {
			$('#contact_postcode_letters').focus();
		}
	});
	
	// postcode autocheck woonplaats
	$('#contact_postcode_letters').keyup(function() {
		if ($(this).val().length == 2 && $('#contact_postcode_cijfers').val().length == 4) {
			doPostcodeCheck($('#contact_postcode_cijfers').val()+$(this).val());
		}
	});

	$('#contactformulier').bind('submit', function(event){	 	
  	var errors = new Array();
  	
  	// check geslacht
  	if (!($('#contact_geslacht_man').is(":checked") || $('#contact_geslacht_vrouw').is(":checked"))) {
  		errors.push('#contact_geslacht');
  	}
  	
  	if ($('#contact_voorletters').val().length == 0) {
  		errors.push('#contact_voorletters');
  	}
  	
  	if ($('#contact_achternaam').val().length == 0) {
  		errors.push('#contact_achternaam');
  	}

  	if ($('#contact_straatnaam').val().length == 0) {
  		errors.push('#contact_straatnaam');
  	}
  	
  	if ($('#contact_huisnummer').val().length == 0) {
  		errors.push('#contact_huisnummer');
  	}

  	if ($('#contact_postcode_cijfers').val().length < 4) {
  		errors.push('#contact_postcode_cijfers');
  	}
  	
  	if ($('#contact_postcode_letters').val().length < 2) {
  		errors.push('#contact_postcode_letters');
  	}

  	if ($('#contact_woonplaats').val().length == 0) {
  		errors.push('#contact_woonplaats');
  	}
  	
  	if ($('#contact_categorie').val().length == 0) {
  		errors.push('#contact_categorie');
  	}
  	
  	if ($('#contact_emailadres').val().length > 0) {
			// contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
			if(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($('#contact_emailadres').val()) == false) {
				errors.push('#contact_emailadres');	
			}
  	} else {
  		errors.push('#contact_emailadres');
  	}
  	
  	if ($('#contact_bericht').val().length == 0) {
  		errors.push('#contact_bericht');
  	}
  	
  	if (errors.length > 0) {
			event.preventDefault();
			$('#contact_error').show();
  		for(var i = 0; i < errors.length; i++) {
  			if (!$(errors[i]).hasClass('error')) $(errors[i]).addClass('error');
  		}
  		return false;
  	} else {
  		// let's send it!
  		return true;
  	}
  	
	});
	
	$('input, textarea, select').focus(function() {
		$(this).removeClass('error');
		$(this).parent().removeClass('error');
	});
	
});

function doPostcodeCheck(postcode) {
	$.post('../../postcodecheck.php', { pc: postcode }, function(data) {
		if(data != 'Not found') {
			$('#contact_woonplaats').val(data);
		}
	});
}
