$(document).ready(function() {

    function showL11lightbox() {
        // transfer input fields values into L11lightbox
        $('.wpL11lightbox input[name$=txtL11lightboxZipCode]').val($('.L11-all input[name$=tboxPostCode]').val());
        $('.wpL11lightbox input[name$=txtL11lightboxHouseNumber]').val($('.L11-all input[name$=tboxHouseNumber]').val());
        $('.wpL11lightbox input[name$=txtL11lightboxHouseNumberAddition]').val($('.L11-all input[name$=tboxHouseNumberAddition]').val());

        // display L11lightbox
        $('.dimmed-overlay').slideDown();
        $("#wpL11lightbox").slideDown('slow');
        $('.header a').focus(); // simple 'scroll to top'

        // trigger validation in order to display the validation errors
        var validator = $('#aspnetForm').validate();
        validator.settings.ignore = ":not('.wpL11lightbox *')";
        validator.form();
    }

    $('.wpL11lightbox .submit').click(function(e) {
        try {
            var $t = $(this);

            var validator = $('#aspnetForm').validate();

            validator.settings.ignore = ":not('." + $t.metadata().form + " *')";
            var isValid = validator.form();
            //(window.console && window.console.log('isValid', isValid));

            if (!isValid) {
                e.preventDefault();
                return false;
            } else {
                // transfer back input fields values into L11
                $('.L11-all input[name$=tboxPostCode]').val($('.wpL11lightbox input[name$=txtL11lightboxZipCode]').val());
                $('.L11-all input[name$=tboxHouseNumber]').val($('.wpL11lightbox input[name$=txtL11lightboxHouseNumber]').val());
                $('.L11-all input[name$=tboxHouseNumberAddition]').val($('.wpL11lightbox input[name$=txtL11lightboxHouseNumberAddition]').val());

                // and trigger L11 submit
                setTimeout(function() {
                    //window.location = $('.button-arrow.order.L11').attr('href');
					$("#wpL11lightbox").slideUp('slow');
					$('.button-arrow.order.L11').click();
                }, 1);
            }
        } catch (err) {
            e.preventDefault();
            return false;
        }
    });

    $('.button-arrow.order.L11').click(function(e) {
        try {
			var postCodeRe = /^[1-9][0-9]{3}([0-9]|[a-z]{2})?$/i
			var houseNumberRe = /^[\w\-\/ ]+$/

			var zipCode = $('.L11-all input[name$=tboxPostCode]').val();
			var houseNumber = $('.L11-all input[name$=tboxHouseNumber]').val();
			var houseNumberAddition = $('.L11-all input[name$=tboxHouseNumberAddition]').val();
			
			// validate input
			if ( !postCodeRe.test(zipCode) || !houseNumberRe.test(houseNumber) ) {
				showL11lightbox();
				return;
			}
			
			var webServiceInput = { "zipCode": zipCode, "houseNumber": houseNumber, "houseNumberAddition": houseNumberAddition };
			
			var jsonStr = JSON.stringify(webServiceInput);
			$.ajax({
				type: 'POST',
				async: false,
				url: '/_vti_bin/PortalHousesService.asmx/IsExistingHouseInDS04',
				data: jsonStr,
				contentType: "application/json; charset=utf-8",
				dataType: 'json',
				success: function(msg) { 
					if(msg.d) {
						$('.wpConcurrentieCheck input[name$=tboxC2ZipCode]').val(zipCode);
						$('.wpConcurrentieCheck input[name$=tboxC2HouseNumber]').val(houseNumber);
						$('.wpConcurrentieCheck input[name$=tboxC2HouseNumberAddition]').val(houseNumberAddition);	
					
						var hdnContentBlockId = $('input[name$=hdnContentBlockId]').val();
						
						//popup ConcurrentieCheck form
						popupItem('wpConcurrentieCheck', hdnContentBlockId);
					} 
					else 
					{
						//popup L61 wrong input error
						popupItem('wpNoHouseInDS04');                
					}
				}
			});
			
        } catch (err) {
            e.preventDefault();
            return false;
        }
    });

});