﻿(function($) {
   var jQuery = $;

$(document).ready(function () {
    setupJqueryValidator();
});

function setupJqueryValidator() {
    jQuery.validator.addMethod('phone', function (value, element) {
        return /((^06((\s{0,1})|(\-{0,1}))[0-9]{8}$)|(^[0-9]{3,4}(\s{0,1}|\-{0,1})[0-9]{6,7}$)|(^\+{1}[0-9]{2}(\s{0,1}|\-{0,1})[0-9]{2,3}(\s{0,1}|\-{0,1})[0-9]{6,7}$))/.test(value);
    }, '');

    // we willen geen error labels, die krijgen we niet als er geen errormeldingen zijn
    jQuery.validator.messages.required = "";
    jQuery.validator.messages.email = "";
    jQuery.validator.messages.phone = "";
}

// Setup om gegevens formulier geen html form dus) te valideren met jqueryValidate
// submitButtonId is de button die de validatie moet triggeren en daarna al dan niet de submitbutton
// formId is het ID van het gegevensformulier dat gevalideerd moet worden door meegeleverde knop
//  formID is dus geen htmlform maar een gegevensformulier
function setupFormValidation(submitButtonId, formId) {
    $('#' + submitButtonId).click(function () {

        var v = undefined;
        $('#' + formId + ' input, #' + formId + ' textarea').each(function () {
            if ($(this).attr("type") != "file") {
                $(this).val(this.value);

                // de watermark code overschrijft de jQuery.val() functie, deze overschrijving maakt de validatie kapot
                // dit fixen we door te kijken of de (dom) value nog overeenkomt met de (jQuery)val(), zodra dit ninet overeenkomt
                // komt dit omdat de watermark tekst er nog staat, en die overschrijven we met een lege string

                $("input.watermark,textarea.watermark,input.no-watermark,textarea.no-watermark").each(function () {
                    if ($(this).data('watermark') == this.value) {
                        this.value = '';
                    }
                });

                var value = this.value;
                var val = $(this).val();

                //remove watermark
                if (val !== value) { this.value = ''; }
                if (!$(this).valid()) {
                    //.removeClass("success");
//                    $("label[for=" + $(this).attr("id") + "]").removeClass("success"); ; // doesnt work
                    v = false;
                }

                //restore watermark
                if (val !== value) {
                    this.value = val;
                    $(this).val(val);   // nodig om IE7 het watermark ook weer te laten tonen nadat een veld niet door de error validatie heenkomt
                }

                $("input.watermark,textarea.watermark,input.no-watermark,textarea.no-watermark").each(function () {
                    if (this.value == '') {
                        this.value = $(this).data('watermark');
                    }
                });
            }
        });
        return v;
    });
}



// setup het mailplus formulier in de footer
function setupAanvraagBoekjeForm() {
    $(document).ready(function () {
//        $("#aspnetForm").validate();  // setup jquery validate
//        $('#newsletterSubscribe1_newsLetterEmail').watermark('E-mailadres'); //Test.v12.nl
        setupFormValidation("aanvraagBoekSubmit", "aanvraag_boekje_form");
    });
}

window.setupAanvraagBoekjeForm = setupAanvraagBoekjeForm;



})(jQuery);

