﻿

function zipCodeCheck() {

    var isValidPostalInput = false;

    if ($("#HouseNumber").val() != '' && $("#PostalCode").val() != '') {
        var isValidPostalCode = chckField(document.getElementById("PostalCode"), errorCaption) == "";
        var isValidNumber = chckField(document.getElementById("HouseNumber"), errorCaption) == "";
       
        if (isValidNumber && isValidPostalCode && isNumeric($("#HouseNumber").val())) {
            isValidPostalInput = true;
        }
    }

    if (isValidPostalInput) {
        if (($("#CountryIDFK").val() == '47' || document.getElementById('CountryIDFK') == undefined) && $("#PostalCode").val().length > 1) {//Alleen voor Nederlandse postcodes
            var housenumber = getOnlyNumbers($("#HouseNumber").val());
            if (housenumber > 0) {
            	$.ajax({
            		type: "POST",
            		url: "ZipcodeWebservice.asmx/GetAddress",
            		data: "{'zipCode': '" + $("#PostalCode").val() + "', 'houseNumber': '" + housenumber + "'}",
            		contentType: "application/json; charset=utf-8",
            		dataType: "json",
            		success: function(msg) {
            			if (msg.d) { // Found
            				var address = eval('(' + msg.d + ')');
            				$("#Street").val(address.Street);
            				$("#HouseNumber").val(address.HouseNumber);
            				$("#PostalCode").val(address.ZipcodeDigits + ' ' + address.ZipcodeLetters);
            				$("#City").val(address.City);
            				$('#Street').attr('readonly', true);
            				$('#City').attr('readonly', true);
            				$('#Street').addClass("readonly");
            				$('#City').addClass("readonly");
            				$('#marker_Street').html('');
            				$('#marker_Street').hide();
            			}
            			else { // Not found, make editable.
            				$('#marker_Street').html(zipcodeMsg)
            				$('#marker_Street').show();
            				if ($("#PostalCode").val().length == 6) {
            					$("#PostalCode").val($("#PostalCode").val().substring(0, 4) + ' ' + $("#PostalCode").val().substring(4).toUpperCase())
            				}
            				$('#Street').val('');
            				$('#City').val('');
            				$('#Street').attr('readonly', false);
            				$('#City').attr('readonly', false);
            				$('#Street').removeClass("readonly");
            				$('#City').removeClass("readonly");
            			}
            		},
            		error: function(e) {
            			$('#marker_Street').html(zipcodeError);
            			$('#marker_Street').show();
            			if ($("#PostalCode").val().length == 6) {
            				$("#PostalCode").val($("#PostalCode").val().substring(0, 4) + ' ' + $("#PostalCode").val().substring(4).toUpperCase())
            			}
            			$('#Street').val('');
            			$('#City').val('');
            			$('#Street').attr('readonly', false);
            			$('#City').attr('readonly', false);
            			$('#Street').removeClass("readonly");
            			$('#City').removeClass("readonly");
            		}
            	});
            }
        }
        else {
            //alert(4);
            $('#Street').attr('readonly', true);
            $('#City').attr('readonly', true);
            $('#Street').addClass("readonly");
            $('#City').addClass("readonly");
            $('#Street').val = '';
            $('#City').val = '';

        }
    }
    else {
        $('#Street').val('');
        $('#City').val('');
        $('#Street').attr('readonly', true);
        $('#City').attr('readonly', true);
        $('#Street').addClass("readonly");
        $('#City').addClass("readonly");
    }
}

