    //validate emailadres
    function validEmail(val)
    {
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        //if it's valid email
        if(filter.test(val)){
            return true;
        } else {
            return false;
        }
    }
    //validate Consent
    function validConsent() {
        var consent = true;
        $('.consent').each(function(){
            if (!this.checked) {
                consent = false;
            }
        });
        return consent;
    }

    //validate gender
    function validgender(){

        if (!$("input:radio").is(":checked")) {
            return false;
        } else {
            return true;
        }
        return true;
    }

    //validate first name
    function validfirstName(){

        if (!$("#firstName").val()){
            return false;
        } else {
            return true;
        }
        return true;
    }

    //validate last name
    function validlastName(){

        if (!$("#lastName").val()){
            return false;
        } else {
            return true;
        }
        return true;
    }

    /**
     * Return whether the supplied date components form the expected date
     * @param {String} year
     * @param {String} month
     * @param {String} day
     * @returns {Boolean} True if the date components match the date values in Date object
     */
     function validDate(day, month, year) {

        var dt = new Date(parseInt(year, 10), parseInt(month, 10)-1, parseInt(day, 10));
        if(dt.getDate() != parseInt(day, 10) || dt.getMonth() != (parseInt(month, 10)-1) || dt.getFullYear() != parseInt(year, 10))
        {
            return false;
        }
        return true;
    }

    //validate age
    function validbirthday() {

        var check = 0;

        day     = $("#day").val();
        month   = $("#month").val();
        year    = $("#year").val();
        
        if (!validDate(day, month, year)) {
            check = 1;
        } else {
            currentDate = new Date();
            currentYear = currentDate.getFullYear();
            var one_year=1000*60*60*24*365 + 1000*60*60*24*0.25;
            var pastdate=new Date($("#year").val(), $("#month").val()-1, $("#day").val())

            if ($("#year").val()>1900 && $("#year").val()< currentYear+1) {
                age = Math.floor( (currentDate.getTime()-pastdate.getTime() ) / one_year)
                if ( age < 16 ) {
                    check = 2;
                }
            }
        }
        
        return check;
    }

    //validate huisnummer
    function validhuisnummer() {

        if (!$("#extra_huisnummer").val()) {
            return false;
        } else {
            return true;
        }
        return true;
    }

    //validate palce
    function validplace() {

        if (!$("#extra_place").val()) {
            return false;
        } else {
            return true;
        }
        return true;
    }

    //validate street
    function validadres() {

        if (!$("#address_part2").val()) {
            return false;
        } else {
            return true;
        }
        return true;
    }

    //validate street
    function validadres_NL() {

        if (!$("#extra_straat").val()) {
            return false;
        } else {
            return true;
        }
        return true;
    }

    //validate zipcode
    function validzipcode(e, country)
    {
        var filter;
        //testing regular expression
        var a = e.val();
        if (country == 'ES' || country == 'FR' || country == 'SE') {
             filter = /^[0-9]{5}$/;
        } else if (country == 'BE') {
             filter = /^[0-9]{4}$/;
        }else if (country == 'NL') {
            filter = /^[0-9]{4}\s{0,1}[a-zA-Z]{2}$/;
        } else {
            return true;
        }
        
        if(filter.test(a)){
            return true;
        } else{
            return false;
        }
        return true;
    }

    //validate phonenumber
    function validphonenr (val, country) {

        if (country == 'SE') {
            if( val.substring(0,2) != '07') {
                return isValidPhoneNumber(val, msisdn_mcc) ;
            } else {
                return isValidMSISDN(val, msisdn_mcc);
            }
        } else if (country == 'ES') {
            if( val.substring(0,1) != '6') {
                return isValidPhoneNumber(val, msisdn_mcc) ;
            } else if (val.substring(0,1) != '7' && val.substring(0,1) != '8' && val.substring(0,1) != '9') {
                return isValidMSISDN(val, msisdn_mcc);
            }
        } else if (country == 'NL') {
           
            if( val.substring(0,2) != '06' && val.substring(0,5) !=  '00316' && val.substring(0,4) != '+316' ) {
                return isValidPhoneNumber(val, msisdn_mcc) ;
            } else {
                return isValidMSISDN(val, msisdn_mcc);
            }
        } else if (country == 'FR') {
            if( val.substring(0,2) != '06' && val.substring(0,2) != '07') {
                return isValidPhoneNumber(val, msisdn_mcc) ;
            } else {
                return isValidMSISDN(val, msisdn_mcc);
            }
        } else if (country == 'BE') {
            if( val.substring(0,3) != '046' && val.substring(0,3) != '047' && val.substring(0,3) != '048' && val.substring(0,3) != '049') {
                return isValidPhoneNumber(val, msisdn_mcc) ;
            } else {
                return isValidMSISDN(val, msisdn_mcc);
            }
        } else {
            return true;
        }

        return false;
    }



    function requiredFields() {

        var valid = true;

        if (!$("#firstName").val()){
            $("#firstName").css("border", "1px solid red");
            valid = false;
        } else {
            $("#firstName").css("border", "1px solid #696969");
        }

        if (!$("#lastName").val()) {
            $("#lastName").css("border", "1px solid red");
            valid = false;
        } else {
            $("#lastName").css("border", "1px solid #696969");
        }

        if (!$("#step2 input:radio").is(":checked")) {
            $("#gender").css("border", "1px solid red");
            $("#gender").css("width", "135px");
            valid = false;
        } else {
            $("#gender").css("border", "none");
        }

        if (!$("#day").val()) {
            $("#day").css("border", "1px solid red");
            valid = false;
        } else {
            $("#day").css("border", "1px solid #696969");
        }

        if (!$("#month").val()) {
            $("#month").css("border", "1px solid red");
            valid = false;
        } else {
            $("#month").css("border", "1px solid #696969");
        }

        if (!$("#year").val()) {
            $("#year").css("border", "1px solid red");
            valid = false;
        } else {
            $("#year").css("border", "1px solid #696969");
        }

        if (!$("#phonenr").val() ) {
            $("#phonenr").css("border", "1px solid red");
            valid = false;
        } else {
            $("#phonenr").css("border", "1px solid #696969");
        }

        if (!$("#extra_postcode").val()) {
            $("#extra_postcode").css("border", "1px solid red");
            valid = false;
        } else {
            $("#extra_postcode").css("border", "1px solid #696969");
        }

        if (!$("#extra_huisnummer").val()) {
            $("#extra_huisnummer").css("border", "1px solid red");
            valid = false;
        } else {
            $("#extra_huisnummer").css("border", "1px solid #696969");
        }

        if (!$("#address_part2").val()) {
            $("#address_part2").css("border", "1px solid red");
            valid = false;
        } else {
            $("#address_part2").css("border", "1px solid #696969");
        }

        if (!$("#extra_place").val()) {
            $("#extra_place").css("border", "1px solid red");
            valid = false;
        } else {
            $("#extra_place").css("border", "1px solid #696969");
        }

        return valid;
    }


// show the error
function showError(error) {

    $("#error, #termError,#ageError,#wrongAge,#errormsisdn,#errorphone,#requirederror,#extraerror,#emailError").hide();
    $(error).show();

}


$(document).ready(function() {

    // showbox
    function showBox() {
        $('body').append($("#offerWarning"));
        $('body').append($("#blackBackground"));
        $("#offerWarning").css({
            "height":$(window).height()
            });
        $("#offerWarning").fadeIn();
        $("#blackBackground").css({
            "opacity":"0.3",
            "height":$(document).height()
            });
        $("#blackBackground").fadeIn();
    }

    //hidebox
    function hideBox() {
        $("#offerWarning").fadeOut();
        $("#blackBackground").fadeOut();
    }

    $('a#sponsorlistlink').click( function(){
        window.open(this.href,"Sponsor_Adressen_Lijst", "toolbar=no,menubar=no,width=400,height=500,resizable=yes,scrollbars=yes");
        return false;
    });

    $('.jaGaVerder').click( function(){
        $('#emailCapturefrm').submit();
        return true;
    });



    function checkBanner() {
        var checkbanner = false;
        $('.product').each(function(){
            if (this.checked) {
                checkbanner = true;
            }
        });
        return checkbanner;
    }

    $(".neeGaVerder").click(function(){
        hideBox();
        return false;
    });

    $('#bt_offer').click( function(){
        if(!checkBanner()) {
            showBox();
            return false;
        }
        $('#emailCapturefrm').submit();
        return true;

    });
});
