﻿$(document).ready(function() {


    /* Setup show hide for delivery address */
    if (!$("#cbDifferentDeliveryAddress").attr('checked')) {
        $('#deliveryAddressHeader').hide();
        $('#deliveryTable').hide();
    }

    $("#cbDifferentDeliveryAddress").click(function() {

        if ($(this).attr('checked')) {
            $('#deliveryAddressHeader').show('slow');
            $('#deliveryTable').show('slow');
            $("#deliveryTable").find("input").removeClass('valid');
        } else {
            $('#deliveryAddressHeader').hide();
            $('#deliveryTable').hide();
        }
    });
    /**/


    /* Setup validation */

    $("#frmLogin").validate({
        success: function(label) {
            label.text("ok!").addClass("success");
        },

        rules:
            {
                tbUsername:
                {
                    required: true,
                    email: true
                },

                tbPassword:
                {
                    required: true,
                    minlength: 6
                },
                tbPasswordConfirm:
                {
                    required: true,
                    minlength: 6,
                    equalTo: "#tbPassword"
                },
                tbFirstName:
                {
                    required: true
                },
                tbLastName:
                {
                    required: true
                },
                tbTelephone:
                {
                    required: true
                },
                tbAddress1:
                {
                    required: true
                },
                tbTown:
                {
                    required: true
                },
                tbCounty:
                {
                    required: true
                },
                tbPostcode:
                {
                    required: true
                },
                tbDeliveryAddress1:
                {
                    required: "#cbDifferentDeliveryAddress:checked"
                },
                tbDeliveryTown:
                {
                    required: "#cbDifferentDeliveryAddress:checked"
                },
                tbDeliveryCounty:
                {
                    required: "#cbDifferentDeliveryAddress:checked"

                },
                tbDeliveryPostcode:
                {
                    required: "#cbDifferentDeliveryAddress:checked"

                }
            },
        messages:
		    {
		        tbPasswordConfirm: "Password must match"
		    }

    });

    jQuery.validator.setDefaults({
        debug: true,
        success: "valid"
    });

    /*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));
}

function init_validation() {
    $('#deliveryTable').children.removeClass('valid');

}
