var uriRemoteAJAX	= '../shared_public/ajaxRequest.php';


function checkForAddress() {
	elZipcode	= $('postcode');
	elNumber	= $('huisnummer');
	elStreet	= $('straat');
	elCity		= $('woonplaats');
	// have the street and city filled in by getAddress-function
	if ((elZipcode.getValue() != '') && (elNumber.getValue() != '')) {
		getAddress(elZipcode, elNumber, elStreet, elCity);
	}
}

// returns the address
function getAddress(elZipcode, elHouseNo, elStreet, elCity) {
	validParameters = true;
	pc6Regex = new RegExp(/^([0-9]{4})( )?([A-Z]){2}$/);
	numberRegex = new RegExp(/^([0-9])+$/);
	// get and check the zipcode and number
	addressZipcode = elZipcode.value = elZipcode.getValue().toUpperCase();
	addressNumber = elHouseNo.value = trim(elHouseNo.getValue()).replace(/([\D])/g, '');
	validParameters = numberRegex.test(addressNumber) && pc6Regex.test(addressZipcode);
	// do the ajax-thingy if valid
	if (validParameters) {
		addressZipcode = addressZipcode.replace(/ /, '');
		new Ajax.Request(uriRemoteAJAX, {
			method: 'get',
			parameters: {
				action: 'address',
				zipcode: addressZipcode,
				number: addressNumber
			},
			onSuccess: function (xmlHttpResponse) {
				if (xmlHttpResponse.responseText.isJSON()) {
					address = xmlHttpResponse.responseText.evalJSON();
					elStreet.value = address.straatnaam;
					elCity.value = address.plaatsnaam;
				} else {
					alert(xmlHttpResponse.responseText);
					return false;
				}
			},
			onFailure: function () {
				alert(xmlHttpResponse.responseText);
				return false;
			}
		});
	} else {
		return false;
	}
}