﻿$(document).ready(function () {


    /* Setup validation */

    $("#frmSubmit").validate({
        success: function (label) {

        },

        rules:
            {
                tbUsername:
                {
                    required: true,
                    email: true
                },
                tbPasswordForm:
                {
                    required: true,
                    minlength: 6
                },
                tbPasswordConfirm:
                {
                    required: true,
                    minlength: 6,
                    equalTo: "#tbPasswordForm"
                },
                tbFirstName:
                {
                    required: true
                },
                tbLastName:
                {
                    required: true
                },
                tbTelephone:
                {
                    required: true,
                    phone: true
                },
                tbAddress1:
                {
                    required: true
                },
                tbTown:
                {
                    required: true
                },
                tbCounty:
                {
                    required: true
                },
                tbPostcode:
                {
                    required: true,
                    remote: "/handlers/valid-postcode-handler.ashx"
                }
            },
        messages:
		    {
		        tbPasswordConfirm: "Password must match"
		    }

    });



    /*Ensures select box fires validation event on change rather than just onblur*/
    $("select").change(function () {
        $(this).valid();

    });

    $.validator.addMethod("phone", function (phone_number, element) {
        return this.optional(element) || isValidPhoneNumber(phone_number);
    }, "Enter valid phone no.");
});

function isValidPhoneNumber(ph) {
    if (ph == null) {
        return false;
    }
    var stripped = ph.replace(/[\s()+-]|ext\.?/gi, "");

    // 10 is the minimum number of numbers required
    return ((/\d{11,}/i).test(stripped));
}



