$(function(){
	var landCodeNl = "NLD";
	if($('select#land').val() == landCodeNl && $('form.cendrisHandmatig').length == 0)
	{
		$('input#adres').add('input#woonplaats').attr('readonly', 'readonly');
		$('input#adres').add('input#woonplaats').parent().addClass('readonly');
	}
	$('select#land').change(function(){
		if ($('form.cendrisHandmatig').length == 0) {
			if($(this).val() != landCodeNl)
			{
				$('input#adres').add('input#woonplaats').removeAttr('readonly');
				$('input#adres').add('input#woonplaats').parent().removeClass('readonly');
			}else{
				$('input#adres').add('input#woonplaats').attr('readonly', 'readonly');
				$('input#adres').add('input#woonplaats').parent().addClass('readonly');
				$('input#postcode').blur();
			}
		}
	});
	// make our own focuses checking method.
	$('input#postcode').add('input#huisnummer').attr({focused: false});
	$('input#postcode').add('input#huisnummer').focus(function(){
		this.focused = true;
	});
	$('input#postcode').add('input#huisnummer').blur(function(){
		this.focused = false;
		// call checkadress function with a delay, in order to be able to check focussed attributes of postcode and huisnummer fields
		setTimeout(function(){
			//only query cendris, when country is NL, postcode has 6 chars, huisnummer has at least 1 char and both huisnummer and postcode fields are not focused.
			if($('select#land').val() == landCodeNl && $('input#postcode').val().length >= 6 && $('input#huisnummer').val().length > 0 && !$('input#postcode').attr("focused") && !$('input#huisnummer').attr("focused"))
			{
				$.post('/scripts/cendris.php', { 'postcode' : $('input#postcode').val(), 'huisnummer' : $('input#huisnummer').val(), 'land' : $('select#land').val() }, function(data){
					if (data.straat == 'Onbekend' && data.woonplaats == 'Onbekend') {
						// make fields writeable and empty and place message, if it's not there already
						if(!$(".cendrisError").html()) {
								$('input#adres').parent().before('<p class="cendrisError"><strong>Postcode/huisnummer niet herkend!<br/> Corrigeer ze of vul zelf de straat en woonplaats in!</strong></p>')
						}
						$('input#adres').add('input#woonplaats').val("");
						$('input#adres').add('input#woonplaats').removeAttr('readonly');
						$('input#adres').add('input#woonplaats').parent().removeClass('readonly');
					} else {
						// fill fields
						$('input#adres').val(data.straat);
						$('input#woonplaats').val(data.woonplaats);
						// make read-only again, in the case they were made writeable before.
						$('input#adres').add('input#woonplaats').attr('readonly', 'readonly');
						$('input#adres').add('input#woonplaats').parent().addClass('readonly');
						// remove error message, if it's there
						$(".cendrisError").remove();
					}
				}, "json");
			}
		}, 500);
	});
});

