// postcode.js

jQuery.extend(
  jQuery.expr[ ":" ], 
  { reallyvisible : "!(jQuery(a).is(':hidden') || jQuery(a).parents(':hidden').length)" }
);

jQuery(document).ready(function() {
	jQuery("#AddressPostcode,#AddressHouseNumber").change(function() {
		var postcode = jQuery("#AddressPostcode").val();
		var houseNumber = jQuery("#AddressHouseNumber").val();
		var currentAddress = true;
		setPostcodeAddress(postcode, houseNumber, currentAddress);		
	});

	jQuery("#FormerAddressPostcode,#FormerAddressHouseNumber").change(function() {
		var postcode = jQuery("#FormerAddressPostcode").val();
		var houseNumber = jQuery("#FormerAddressHouseNumber").val();
		var currentAddress = false;
		setPostcodeAddress(postcode, houseNumber, currentAddress);		
	});
});

// *** Find and set addressStreet and addressTown in form when postcode/housenumber combination has been looked up on server ***
function setPostcodeAddress(postcode, houseNumber, currentAddress) {
	if (postcode != "" && houseNumber != "") {
		var postcodeUrl = document.location.protocol + "//" + document.location.host + "/ComfortCardConsumer/Forms/Main.ctrl?command=searchPostcode";
		jQuery.get(postcodeUrl, { postcode: postcode , houseNumber: houseNumber }, function(result){
			var params = result.split(",");
			if (currentAddress) {
				var idAddressStreet = "#AddressStreet";
				var idAddressTown   = "#AddressTown";
			} else {
				var idAddressStreet = "#FormerAddressStreet";
				var idAddressTown   = "#FormerAddressTown";
			}
			if (params[0].substr(params[0].length-1) == '0') {
				alert("geen straat/plaats gevonden voor postcode");
				jQuery(idAddressStreet).val("").attr("keyfilter", "");
				jQuery(idAddressTown).val("").attr("keyfilter", "");
			} else if (params[0].substr(params[0].length-1) == '2') {
				alert("vanwege technische problemen kon de postcode niet automatisch worden opgezocht. Wanneer u de straat en woonplaats nog niet heeft ingevuld, kunt u deze handmatig invullen.");
				jQuery(idAddressStreet).attr("keyfilter", "A..Z|a..z|-").focus();
				jQuery(idAddressTown).attr("keyfilter", "A..Z|a..z|-");
			} else {
				jQuery(idAddressStreet).val(params[1]).attr("keyfilter", "");
				jQuery(idAddressTown).val(params[2]).attr("keyfilter", "");
			}			
		});
	}
}
