$(document).ready(function() {
    var postCode = $('input[id$=tboxC3Zipcode]');
    var houseNumber = $('input[id$=tboxC3HouseNumber]');
    var loader = $('div.address-loader img');
    var searchLink = $('div.address-loader a');
    var street = $('#translated-address');
    var loading = false;
    
    $(loader).hide();
    $(searchLink).hide();

    $(searchLink).click(function() {
        translateAddress();
    });
    
    $(postCode).blur(function() {
        translateAddress();
    });

    $(houseNumber).blur(function() {
        translateAddress();
    });    

    function translateAddress() {
        if (!loading && postCode.val() != "" && houseNumber.val() != "") {
            loading = true;
            $(loader).show();
            $(searchLink).hide();
            
            $.ajax({
                async: true,
                cache: false,
                type: 'POST',
                url: '/_vti_bin/PortalValidationService.asmx/GetAddressByPostalCode',
                data: JSON.stringify({
                    zipCode: postCode.val(),
                    houseNumber: houseNumber.val()
                }),
                dataFilter: function(data, type) {
                    data = JSON.parse(data);
                    var resp = data.d;
                    $(loader).hide();                    
                    
                    if (resp[0] != "" && resp[0] != "null" && resp[1] != "" && resp[1] != "null") {
                        street.html(resp[0] + ", " + resp[1]);
                    }
                    else {
                        street.html("adres niet opgehaald, u kunt doorgaan");
                        
                        // display search link in case if translation fails
                        $(searchLink).show();
                    }

                    loading = false;
                },
                contentType: "application/json; charset=utf-8",
                dataType: 'json'
            });
        }
    }
});


