// addon to jQuery validate to handle international telephone numbers

/*
$.validator.addMethod('phoneUK', function(value) {
  var numbers = value.split(/\d/).length - 1;
  return (10 <= numbers && numbers <= 20 && value.match(/^(\+){0,1}(\d|\s|\(|\)){10,20}$/)); 
  }, 'Please enter a valid phone number'
);
*/

jQuery.validator.addMethod('phoneUK', function(phone_number, element) {
  return this.optional(element) || phone_number.length > 9 &&
  phone_number.match(/^(\(?(0|\+44)[1-9]{1}\d{1,4}?\)?\s?\d{3,4}\s?\d{3,4})$/);
  }, 'Please specify a valid phone number'
);

jQuery.validator.addMethod('mobileUK', function(phone_number, element) {
  return this.optional(element) || phone_number.length > 9 &&
  phone_number.match(/^((0|\+44)7(5|6|7|8|9){1}\d{2}\s?\d{6})$/);
  }, 'Please specify a valid mobile number'
);

jQuery.validator.addMethod("postcode", function(value) {
  return /\b([A-PR-UWYZ][A-HK-Y0-9][A-HJKSTUW0-9]?[ABEHMNPRVWXY0-9]?)*[0-9][ABD-HJLN-UW-Z]{2}\b/.test(value);
  }, "Please specify a valid postcode (all letters should be uppercase)");
