diff --git a/component/site/controllers/account_billto.php b/component/site/controllers/account_billto.php
index 0ed78720642..a6331bb7435 100644
--- a/component/site/controllers/account_billto.php
+++ b/component/site/controllers/account_billto.php
@@ -76,12 +76,13 @@ public function save()
$post['users_info_id'] = $input->post->getInt('cid', 0);
$post['id'] = $post['user_id'];
$post['address_type'] = "BT";
- $post['email'] = $post['email1'];
+ $post['email'] = trim($post['email']);
$post['password'] = $input->post->get('password1', '', 'RAW');
$post['password2'] = $input->post->get('password2', '', 'RAW');
if (isset($user->username)) {
$post['username'] = $user->username;
+
}
/** @var RedshopModelAccount_billto $model */
diff --git a/media/com_redshop/js/jquery.validate.js b/media/com_redshop/js/jquery.validate.js
index 8c9b020ecb0..a41b84a3e74 100644
--- a/media/com_redshop/js/jquery.validate.js
+++ b/media/com_redshop/js/jquery.validate.js
@@ -1132,6 +1132,7 @@
// http://jqueryvalidation.org/email-method/
email: function (value, element) {
+ value = value.trim();
// From http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-%28type=email%29
// Retrieved 2014-01-14
// If you have a problem with this implementation, report a bug against the above spec
diff --git a/media/com_redshop/js/jquery.validate.min.js b/media/com_redshop/js/jquery.validate.min.js
index cd6fe8553df..0cecd46f7d9 100644
--- a/media/com_redshop/js/jquery.validate.min.js
+++ b/media/com_redshop/js/jquery.validate.min.js
@@ -1 +1 @@
-!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return void(e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var i=t.data(this[0],"validator");return i||(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(e.target).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(e.target).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.submit(function(e){function s(){var s,r;return!i.settings.submitHandler||(i.submitButton&&(s=t("").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),r=i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),void 0!==r&&r)}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)},valid:function(){var e,i;return t(this[0]).is("form")?e=this.validate().form():(e=!0,i=t(this[0].form).validate(),this.each(function(){e=i.element(this)&&e})),e},removeAttrs:function(e){var i={},s=this;return t.each(e.split(/\s/),function(t,e){i[e]=s.attr(e),s.removeAttr(e)}),i},rules:function(e,i){var s,r,n,a,o,u,l=this[0];if(e)switch(s=t.data(l.form,"validator").settings,r=s.rules,n=t.validator.staticRules(l),e){case"add":t.extend(n,t.validator.normalizeRule(i)),delete n.messages,r[l.name]=n,i.messages&&(s.messages[l.name]=t.extend(s.messages[l.name],i.messages));break;case"remove":return i?(u={},t.each(i.split(/\s/),function(e,i){u[i]=n[i],delete n[i],"required"===i&&t(l).removeAttr("aria-required")}),u):(delete r[l.name],n)}return a=t.validator.normalizeRules(t.extend({},t.validator.classRules(l),t.validator.attributeRules(l),t.validator.dataRules(l),t.validator.staticRules(l)),l),a.required&&(o=a.required,delete a.required,a=t.extend({required:o},a),t(l).attr("aria-required","true")),a.remote&&(o=a.remote,delete a.remote,a=t.extend(a,{remote:o})),a}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(new RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(t)))},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){9===e.which&&""===this.elementValue(t)||(t.name in this.submitted||t===this.lastElement)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this[0].form,"validator"),s="on"+e.type.replace(/^validate/,""),r=i.settings;r[s]&&!this.is(r.ignore)&&r[s].call(i,this[0],e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i,s=this.groups={};t.each(this.settings.groups,function(e,i){"string"==typeof i&&(i=i.split(/\s/)),t.each(i,function(t,i){s[i]=e})}),i=this.settings.rules,t.each(i,function(e,s){i[e]=t.validator.normalizeRule(s)}),t(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']","focusin focusout keyup",e).validateDelegate("select, option, [type='radio'], [type='checkbox']","click",e),this.settings.invalidHandler&&t(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler),t(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){var i=this.clean(e),s=this.validationTargetFor(i),r=!0;return this.lastElement=s,void 0===s?delete this.invalid[i.name]:(this.prepareElement(s),this.currentElements=t(s),r=!1!==this.check(s),r?delete this.invalid[s.name]:this.invalid[s.name]=!0),t(e).attr("aria-invalid",!r),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),r},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue").removeAttr("aria-invalid")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e,i=0;for(e in t)i++;return i},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(t){t.not(this.containers).text(""),this.addWrapper(t).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled], [readonly]").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),!(this.name in i||!e.objectLength(t(this).rules()))&&(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.split(" ").join(".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i,s=t(e),r=e.type;return"radio"===r||"checkbox"===r?t("input[name='"+e.name+"']:checked").val():"number"===r&&void 0!==e.validity?!e.validity.badInput&&s.val():(i=s.val(),"string"==typeof i?i.replace(/\r/g,""):i)},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s,r,n=t(e).rules(),a=t.map(n,function(t,e){return e}).length,o=!1,u=this.elementValue(e);for(s in n){r={method:s,parameters:n[s]};try{if("dependency-mismatch"===(i=t.validator.methods[s].call(this,u,e,r.parameters))&&1===a){o=!0;continue}if(o=!1,"pending"===i)return void(this.toHide=this.toHide.not(this.errorsFor(e)));if(!i)return this.formatAndAdd(e,r),!1}catch(t){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+r.method+"' method.",t),t}}if(!o)return this.objectLength(n)&&this.successList.push(e),!0},customDataMessage:function(e,i){return t(e).data("msg"+i.charAt(0).toUpperCase()+i.substring(1).toLowerCase())||t(e).data("msg")},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;tWarning: No message defined for "+e.name+"")},formatAndAdd:function(e,i){var s=this.defaultMessage(e,i.method),r=/\$?\{(\d+)\}/g;"function"==typeof s?s=s.call(this,i.parameters,e):r.test(s)&&(s=t.validator.format(s.replace(r,"{$1}"),i.parameters)),this.errorList.push({message:s,element:e,method:i.method}),this.errorMap[e.name]=s,this.submitted[e.name]=s},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e,i;for(t=0;this.errorList[t];t++)i=this.errorList[t],this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s,r,n,a=this.errorsFor(e),o=this.idOrName(e),u=t(e).attr("aria-describedby");a.length?(a.removeClass(this.settings.validClass).addClass(this.settings.errorClass),a.html(i)):(a=t("<"+this.settings.errorElement+">").attr("id",o+"-error").addClass(this.settings.errorClass).html(i||""),s=a,this.settings.wrapper&&(s=a.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(s):this.settings.errorPlacement?this.settings.errorPlacement(s,t(e)):s.insertAfter(e),a.is("label")?a.attr("for",o):0===a.parents("label[for='"+o+"']").length&&(n=a.attr("id").replace(/(:|\.|\[|\])/g,"\\$1"),u?u.match(new RegExp("\\b"+n+"\\b"))||(u+=" "+n):u=n,t(e).attr("aria-describedby",u),(r=this.groups[e.name])&&t.each(this.groups,function(e,i){i===r&&t("[name='"+e+"']",this.currentForm).attr("aria-describedby",a.attr("id"))}))),!i&&this.settings.success&&(a.text(""),"string"==typeof this.settings.success?a.addClass(this.settings.success):this.settings.success(a,e)),this.toShow=this.toShow.add(a)},errorsFor:function(e){var i=this.idOrName(e),s=t(e).attr("aria-describedby"),r="label[for='"+i+"'], label[for='"+i+"'] *";return s&&(r=r+", #"+s.replace(/\s+/g,", #")),this.errors().filter(r)},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(e){return this.checkable(e)&&(e=this.findByName(e.name)),t(e).not(this.settings.ignore)[0]},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return!this.dependTypes[typeof t]||this.dependTypes[typeof t](t,e)},dependTypes:{boolean:function(t){return t},string:function(e,i){return!!t(e,i.form).length},function:function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},attributeRules:function(e){var i,s,r={},n=t(e),a=e.getAttribute("type");for(i in t.validator.methods)"required"===i?(s=e.getAttribute(i),""===s&&(s=!0),s=!!s):s=n.attr(i),/min|max/.test(i)&&(null===a||/number|range|text/.test(a))&&(s=Number(s)),s||0===s?r[i]=s:a===i&&"range"!==a&&(r[i]=!0);return r.maxlength&&/-1|2147483647|524288/.test(r.maxlength)&&delete r.maxlength,r},dataRules:function(e){var i,s,r={},n=t(e);for(i in t.validator.methods)void 0!==(s=n.data("rule"+i.charAt(0).toUpperCase()+i.substring(1).toLowerCase()))&&(r[i]=s);return r},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,r){if(!1===r)return void delete e[s];if(r.param||r.depends){var n=!0;switch(typeof r.depends){case"string":n=!!t(r.depends,i.form).length;break;case"function":n=r.depends.call(i,i)}n?e[s]=void 0===r.param||r.param:delete e[s]}}),t.each(e,function(s,r){e[s]=t.isFunction(r)?r(i):r}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].replace(/[\[\]]/g,"").split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(null!=e.min&&null!=e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),null!=e.minlength&&null!=e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],i.length<3&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var r=t(i).val();return r&&r.length>0}return this.checkable(i)?this.getLength(e,i)>0:t.trim(e).length>0},email:function(t,e){return this.optional(e)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)},url:function(t,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(new Date(t).toString())},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(t)},number:function(t,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var i,s,r=0,n=0,a=!1;if(t=t.replace(/\D/g,""),t.length<13||t.length>19)return!1;for(i=t.length-1;i>=0;i--)s=t.charAt(i),n=parseInt(s,10),a&&(n*=2)>9&&(n-=9),r+=n,a=!a;return r%10==0},minlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||r>=s},maxlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||r<=s},rangelength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(e,i);return this.optional(i)||r>=s[0]&&r<=s[1]},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||t<=i},range:function(t,e,i){return this.optional(e)||t>=i[0]&&t<=i[1]},equalTo:function(e,i,s){var r=t(s);return this.settings.onfocusout&&r.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){t(i).valid()}),e===r.val()},remote:function(e,i,s){if(this.optional(i))return"dependency-mismatch";var r,n,a=this.previousValue(i);return this.settings.messages[i.name]||(this.settings.messages[i.name]={}),a.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=a.message,s="string"==typeof s&&{url:s}||s,a.old===e?a.valid:(a.old=e,r=this,this.startRequest(i),n={},n[i.name]=e,t.ajax(t.extend(!0,{url:s,mode:"abort",port:"validate"+i.name,dataType:"json",data:n,context:r.currentForm,success:function(s){var n,o,u,l=!0===s||"true"===s;r.settings.messages[i.name].remote=a.originalMessage,l?(u=r.formSubmitted,r.prepareElement(i),r.formSubmitted=u,r.successList.push(i),delete r.invalid[i.name],r.showErrors()):(n={},o=s||r.defaultMessage(i,"remote"),n[i.name]=a.message=t.isFunction(o)?o(e):o,r.invalid[i.name]=!0,r.showErrors(n)),a.valid=l,r.stopRequest(i,l)}},s)),"pending")}}}),t.format=function(){throw"$.format has been deprecated. Please use $.validator.format instead."};var e,i={};t.ajaxPrefilter?t.ajaxPrefilter(function(t,e,s){var r=t.port;"abort"===t.mode&&(i[r]&&i[r].abort(),i[r]=s)}):(e=t.ajax,t.ajax=function(s){var r=("mode"in s?s:t.ajaxSettings).mode,n=("port"in s?s:t.ajaxSettings).port;return"abort"===r?(i[n]&&i[n].abort(),i[n]=e.apply(this,arguments),i[n]):e.apply(this,arguments)}),t.extend(t.fn,{validateDelegate:function(e,i,s){return this.bind(i,function(i){var r=t(i.target);if(r.is(e))return s.apply(r,arguments)})}})});
\ No newline at end of file
+(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(d){d.extend(d.fn,{validate:function(e){if(!this.length){if(e&&e.debug&&window.console){console.warn("Nothing selected, can't validate, returning nothing.")}return}var f=d.data(this[0],"validator");if(f){return f}this.attr("novalidate","novalidate");f=new d.validator(e,this[0]);d.data(this[0],"validator",f);if(f.settings.onsubmit){this.validateDelegate(":submit","click",function(g){if(f.settings.submitHandler){f.submitButton=g.target}if(d(g.target).hasClass("cancel")){f.cancelSubmit=true}if(d(g.target).attr("formnovalidate")!==undefined){f.cancelSubmit=true}});this.submit(function(g){if(f.settings.debug){g.preventDefault()}function h(){var j,i;if(f.settings.submitHandler){if(f.submitButton){j=d("").attr("name",f.submitButton.name).val(d(f.submitButton).val()).appendTo(f.currentForm)}i=f.settings.submitHandler.call(f,f.currentForm,g);if(f.submitButton){j.remove()}if(i!==undefined){return i}return false}return true}if(f.cancelSubmit){f.cancelSubmit=false;return h()}if(f.form()){if(f.pendingRequest){f.formSubmitted=true;return false}return h()}else{f.focusInvalid();return false}})}return f},valid:function(){var f,e;if(d(this[0]).is("form")){f=this.validate().form()}else{f=true;e=d(this[0].form).validate();this.each(function(){f=e.element(this)&&f})}return f},removeAttrs:function(g){var e={},f=this;d.each(g.split(/\s/),function(h,i){e[i]=f.attr(i);f.removeAttr(i)});return e},rules:function(h,e){var j=this[0],g,l,m,i,f,k;if(h){g=d.data(j.form,"validator").settings;l=g.rules;m=d.validator.staticRules(j);switch(h){case"add":d.extend(m,d.validator.normalizeRule(e));delete m.messages;l[j.name]=m;if(e.messages){g.messages[j.name]=d.extend(g.messages[j.name],e.messages)}break;case"remove":if(!e){delete l[j.name];return m}k={};d.each(e.split(/\s/),function(n,o){k[o]=m[o];delete m[o];if(o==="required"){d(j).removeAttr("aria-required")}});return k}}i=d.validator.normalizeRules(d.extend({},d.validator.classRules(j),d.validator.attributeRules(j),d.validator.dataRules(j),d.validator.staticRules(j)),j);if(i.required){f=i.required;delete i.required;i=d.extend({required:f},i);d(j).attr("aria-required","true")}if(i.remote){f=i.remote;delete i.remote;i=d.extend(i,{remote:f})}return i}});d.extend(d.expr[":"],{blank:function(e){return !d.trim(""+d(e).val())},filled:function(e){return !!d.trim(""+d(e).val())},unchecked:function(e){return !d(e).prop("checked")}});d.validator=function(e,f){this.settings=d.extend(true,{},d.validator.defaults,e);this.currentForm=f;this.init()};d.validator.format=function(e,f){if(arguments.length===1){return function(){var g=d.makeArray(arguments);g.unshift(e);return d.validator.format.apply(this,g)}}if(arguments.length>2&&f.constructor!==Array){f=d.makeArray(arguments).slice(1)}if(f.constructor!==Array){f=[f]}d.each(f,function(g,h){e=e.replace(new RegExp("\\{"+g+"\\}","g"),function(){return h})});return e};d.extend(d.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:false,focusInvalid:true,errorContainer:d([]),errorLabelContainer:d([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function(e){this.lastActive=e;if(this.settings.focusCleanup){if(this.settings.unhighlight){this.settings.unhighlight.call(this,e,this.settings.errorClass,this.settings.validClass)}this.hideThese(this.errorsFor(e))}},onfocusout:function(e){if(!this.checkable(e)&&(e.name in this.submitted||!this.optional(e))){this.element(e)}},onkeyup:function(e,f){if(f.which===9&&this.elementValue(e)===""){return}else{if(e.name in this.submitted||e===this.lastElement){this.element(e)}}},onclick:function(e){if(e.name in this.submitted){this.element(e)}else{if(e.parentNode.name in this.submitted){this.element(e.parentNode)}}},highlight:function(g,e,f){if(g.type==="radio"){this.findByName(g.name).addClass(e).removeClass(f)}else{d(g).addClass(e).removeClass(f)}},unhighlight:function(g,e,f){if(g.type==="radio"){this.findByName(g.name).removeClass(e).addClass(f)}else{d(g).removeClass(e).addClass(f)}}},setDefaults:function(e){d.extend(d.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:d.validator.format("Please enter no more than {0} characters."),minlength:d.validator.format("Please enter at least {0} characters."),rangelength:d.validator.format("Please enter a value between {0} and {1} characters long."),range:d.validator.format("Please enter a value between {0} and {1}."),max:d.validator.format("Please enter a value less than or equal to {0}."),min:d.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=d(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||d(this.currentForm);this.containers=d(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var e=(this.groups={}),g;d.each(this.settings.groups,function(h,i){if(typeof i==="string"){i=i.split(/\s/)}d.each(i,function(k,j){e[j]=h})});g=this.settings.rules;d.each(g,function(h,i){g[h]=d.validator.normalizeRule(i)});function f(k){var i=d.data(this[0].form,"validator"),h="on"+k.type.replace(/^validate/,""),j=i.settings;if(j[h]&&!this.is(j.ignore)){j[h].call(i,this[0],k)}}d(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']","focusin focusout keyup",f).validateDelegate("select, option, [type='radio'], [type='checkbox']","click",f);if(this.settings.invalidHandler){d(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}d(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){this.checkForm();d.extend(this.submitted,this.errorMap);this.invalid=d.extend({},this.errorMap);if(!this.valid()){d(this.currentForm).triggerHandler("invalid-form",[this])}this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var e=0,f=(this.currentElements=this.elements());f[e];e++){this.check(f[e])}return this.valid()},element:function(g){var h=this.clean(g),f=this.validationTargetFor(h),e=true;this.lastElement=f;if(f===undefined){delete this.invalid[h.name]}else{this.prepareElement(f);this.currentElements=d(f);e=this.check(f)!==false;if(e){delete this.invalid[f.name]}else{this.invalid[f.name]=true}}d(g).attr("aria-invalid",!e);if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)}this.showErrors();return e},showErrors:function(f){if(f){d.extend(this.errorMap,f);this.errorList=[];for(var e in f){this.errorList.push({message:f[e],element:this.findByName(e)[0]})}this.successList=d.grep(this.successList,function(g){return !(g.name in f)})}if(this.settings.showErrors){this.settings.showErrors.call(this,this.errorMap,this.errorList)}else{this.defaultShowErrors()}},resetForm:function(){if(d.fn.resetForm){d(this.currentForm).resetForm()}this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass).removeData("previousValue").removeAttr("aria-invalid")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(g){var f=0,e;for(e in g){f++}return f},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(e){e.not(this.containers).text("");this.addWrapper(e).hide()},valid:function(){return this.size()===0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{d(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(f){}}},findLastActive:function(){var e=this.lastActive;return e&&d.grep(this.errorList,function(f){return f.element.name===e.name}).length===1&&e},elements:function(){var f=this,e={};return d(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled], [readonly]").not(this.settings.ignore).filter(function(){if(!this.name&&f.settings.debug&&window.console){console.error("%o has no name assigned",this)}if(this.name in e||!f.objectLength(d(this).rules())){return false}e[this.name]=true;return true})},clean:function(e){return d(e)[0]},errors:function(){var e=this.settings.errorClass.split(" ").join(".");return d(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=d([]);this.toHide=d([]);this.currentElements=d([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(e){this.reset();this.toHide=this.errorsFor(e)},elementValue:function(f){var h,e=d(f),g=f.type;if(g==="radio"||g==="checkbox"){return d("input[name='"+f.name+"']:checked").val()}else{if(g==="number"&&typeof f.validity!=="undefined"){return f.validity.badInput?false:e.val()}}h=e.val();if(typeof h==="string"){return h.replace(/\r/g,"")}return h},check:function(h){h=this.validationTargetFor(this.clean(h));var l=d(h).rules(),j=d.map(l,function(o,e){return e}).length,m=false,g=this.elementValue(h),n,f,k;for(f in l){k={method:f,parameters:l[f]};try{n=d.validator.methods[f].call(this,g,h,k.parameters);if(n==="dependency-mismatch"&&j===1){m=true;continue}m=false;if(n==="pending"){this.toHide=this.toHide.not(this.errorsFor(h));return}if(!n){this.formatAndAdd(h,k);return false}}catch(i){if(this.settings.debug&&window.console){console.log("Exception occurred when checking element "+h.id+", check the '"+k.method+"' method.",i)}throw i}}if(m){return}if(this.objectLength(l)){this.successList.push(h)}return true},customDataMessage:function(e,f){return d(e).data("msg"+f.charAt(0).toUpperCase()+f.substring(1).toLowerCase())||d(e).data("msg")},customMessage:function(f,g){var e=this.settings.messages[f];return e&&(e.constructor===String?e:e[g])},findDefined:function(){for(var e=0;eWarning: No message defined for "+e.name+"")},formatAndAdd:function(f,h){var g=this.defaultMessage(f,h.method),e=/\$?\{(\d+)\}/g;if(typeof g==="function"){g=g.call(this,h.parameters,f)}else{if(e.test(g)){g=d.validator.format(g.replace(e,"{$1}"),h.parameters)}}this.errorList.push({message:g,element:f,method:h.method});this.errorMap[f.name]=g;this.submitted[f.name]=g},addWrapper:function(e){if(this.settings.wrapper){e=e.add(e.parent(this.settings.wrapper))}return e},defaultShowErrors:function(){var f,g,e;for(f=0;this.errorList[f];f++){e=this.errorList[f];if(this.settings.highlight){this.settings.highlight.call(this,e.element,this.settings.errorClass,this.settings.validClass)}this.showLabel(e.element,e.message)}if(this.errorList.length){this.toShow=this.toShow.add(this.containers)}if(this.settings.success){for(f=0;this.successList[f];f++){this.showLabel(this.successList[f])}}if(this.settings.unhighlight){for(f=0,g=this.validElements();g[f];f++){this.settings.unhighlight.call(this,g[f],this.settings.errorClass,this.settings.validClass)}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return d(this.errorList).map(function(){return this.element})},showLabel:function(i,j){var f,l,h,g=this.errorsFor(i),e=this.idOrName(i),k=d(i).attr("aria-describedby");if(g.length){g.removeClass(this.settings.validClass).addClass(this.settings.errorClass);g.html(j)}else{g=d("<"+this.settings.errorElement+">").attr("id",e+"-error").addClass(this.settings.errorClass).html(j||"");f=g;if(this.settings.wrapper){f=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()}if(this.labelContainer.length){this.labelContainer.append(f)}else{if(this.settings.errorPlacement){this.settings.errorPlacement(f,d(i))}else{f.insertAfter(i)}}if(g.is("label")){g.attr("for",e)}else{if(g.parents("label[for='"+e+"']").length===0){h=g.attr("id").replace(/(:|\.|\[|\])/g,"\\$1");if(!k){k=h}else{if(!k.match(new RegExp("\\b"+h+"\\b"))){k+=" "+h}}d(i).attr("aria-describedby",k);l=this.groups[i.name];if(l){d.each(this.groups,function(n,m){if(m===l){d("[name='"+n+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}})}}}}if(!j&&this.settings.success){g.text("");if(typeof this.settings.success==="string"){g.addClass(this.settings.success)}else{this.settings.success(g,i)}}this.toShow=this.toShow.add(g)},errorsFor:function(g){var f=this.idOrName(g),h=d(g).attr("aria-describedby"),e="label[for='"+f+"'], label[for='"+f+"'] *";if(h){e=e+", #"+h.replace(/\s+/g,", #")}return this.errors().filter(e)},idOrName:function(e){return this.groups[e.name]||(this.checkable(e)?e.name:e.id||e.name)},validationTargetFor:function(e){if(this.checkable(e)){e=this.findByName(e.name)}return d(e).not(this.settings.ignore)[0]},checkable:function(e){return(/radio|checkbox/i).test(e.type)},findByName:function(e){return d(this.currentForm).find("[name='"+e+"']")},getLength:function(f,e){switch(e.nodeName.toLowerCase()){case"select":return d("option:selected",e).length;case"input":if(this.checkable(e)){return this.findByName(e.name).filter(":checked").length}}return f.length},depend:function(f,e){return this.dependTypes[typeof f]?this.dependTypes[typeof f](f,e):true},dependTypes:{"boolean":function(e){return e},string:function(f,e){return !!d(f,e.form).length},"function":function(f,e){return f(e)}},optional:function(e){var f=this.elementValue(e);return !d.validator.methods.required.call(this,f,e)&&"dependency-mismatch"},startRequest:function(e){if(!this.pending[e.name]){this.pendingRequest++;this.pending[e.name]=true}},stopRequest:function(e,f){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0}delete this.pending[e.name];if(f&&this.pendingRequest===0&&this.formSubmitted&&this.form()){d(this.currentForm).submit();this.formSubmitted=false}else{if(!f&&this.pendingRequest===0&&this.formSubmitted){d(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=false}}},previousValue:function(e){return d.data(e,"previousValue")||d.data(e,"previousValue",{old:null,valid:true,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},number:{number:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(e,f){if(e.constructor===String){this.classRuleSettings[e]=f}else{d.extend(this.classRuleSettings,e)}},classRules:function(f){var g={},e=d(f).attr("class");if(e){d.each(e.split(" "),function(){if(this in d.validator.classRuleSettings){d.extend(g,d.validator.classRuleSettings[this])}})}return g},attributeRules:function(f){var i={},e=d(f),g=f.getAttribute("type"),j,h;for(j in d.validator.methods){if(j==="required"){h=f.getAttribute(j);if(h===""){h=true}h=!!h}else{h=e.attr(j)}if(/min|max/.test(j)&&(g===null||/number|range|text/.test(g))){h=Number(h)}if(h||h===0){i[j]=h}else{if(g===j&&g!=="range"){i[j]=true}}}if(i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)){delete i.maxlength}return i},dataRules:function(f){var i,g,h={},e=d(f);for(i in d.validator.methods){g=e.data("rule"+i.charAt(0).toUpperCase()+i.substring(1).toLowerCase());if(g!==undefined){h[i]=g}}return h},staticRules:function(f){var g={},e=d.data(f.form,"validator");if(e.settings.rules){g=d.validator.normalizeRule(e.settings.rules[f.name])||{}}return g},normalizeRules:function(f,e){d.each(f,function(i,h){if(h===false){delete f[i];return}if(h.param||h.depends){var g=true;switch(typeof h.depends){case"string":g=!!d(h.depends,e.form).length;break;case"function":g=h.depends.call(e,e);break}if(g){f[i]=h.param!==undefined?h.param:true}else{delete f[i]}}});d.each(f,function(g,h){f[g]=d.isFunction(h)?h(e):h});d.each(["minlength","maxlength"],function(){if(f[this]){f[this]=Number(f[this])}});d.each(["rangelength","range"],function(){var g;if(f[this]){if(d.isArray(f[this])){f[this]=[Number(f[this][0]),Number(f[this][1])]}else{if(typeof f[this]==="string"){g=f[this].replace(/[\[\]]/g,"").split(/[\s,]+/);f[this]=[Number(g[0]),Number(g[1])]}}}});if(d.validator.autoCreateRanges){if(f.min!=null&&f.max!=null){f.range=[f.min,f.max];delete f.min;delete f.max}if(f.minlength!=null&&f.maxlength!=null){f.rangelength=[f.minlength,f.maxlength];delete f.minlength;delete f.maxlength}}return f},normalizeRule:function(f){if(typeof f==="string"){var e={};d.each(f.split(/\s/),function(){e[this]=true});f=e}return f},addMethod:function(e,g,f){d.validator.methods[e]=g;d.validator.messages[e]=f!==undefined?f:d.validator.messages[e];if(g.length<3){d.validator.addClassRules(e,d.validator.normalizeRule(e))}},methods:{required:function(f,e,h){if(!this.depend(h,e)){return"dependency-mismatch"}if(e.nodeName.toLowerCase()==="select"){var g=d(e).val();return g&&g.length>0}if(this.checkable(e)){return this.getLength(f,e)>0}return d.trim(f).length>0},email:function(f,e){f=f.trim();return this.optional(e)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(f)},url:function(f,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(f)},date:function(f,e){return this.optional(e)||!/Invalid|NaN/.test(new Date(f).toString())},dateISO:function(f,e){return this.optional(e)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(f)},number:function(f,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(f)},digits:function(f,e){return this.optional(e)||/^\d+$/.test(f)},creditcard:function(i,f){if(this.optional(f)){return"dependency-mismatch"}if(/[^0-9 \-]+/.test(i)){return false}var j=0,h=0,e=false,k,g;i=i.replace(/\D/g,"");if(i.length<13||i.length>19){return false}for(k=i.length-1;k>=0;k--){g=i.charAt(k);h=parseInt(g,10);if(e){if((h*=2)>9){h-=9}}j+=h;e=!e}return(j%10)===0},minlength:function(g,e,h){var f=d.isArray(g)?g.length:this.getLength(g,e);return this.optional(e)||f>=h},maxlength:function(g,e,h){var f=d.isArray(g)?g.length:this.getLength(g,e);return this.optional(e)||f<=h},rangelength:function(g,e,h){var f=d.isArray(g)?g.length:this.getLength(g,e);return this.optional(e)||(f>=h[0]&&f<=h[1])},min:function(f,e,g){return this.optional(e)||f>=g},max:function(f,e,g){return this.optional(e)||f<=g},range:function(f,e,g){return this.optional(e)||(f>=g[0]&&f<=g[1])},equalTo:function(f,e,h){var g=d(h);if(this.settings.onfocusout){g.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){d(e).valid()})}return f===g.val()},remote:function(i,f,j){if(this.optional(f)){return"dependency-mismatch"}var g=this.previousValue(f),e,h;if(!this.settings.messages[f.name]){this.settings.messages[f.name]={}}g.originalMessage=this.settings.messages[f.name].remote;this.settings.messages[f.name].remote=g.message;j=typeof j==="string"&&{url:j}||j;if(g.old===i){return g.valid}g.old=i;e=this;this.startRequest(f);h={};h[f.name]=i;d.ajax(d.extend(true,{url:j,mode:"abort",port:"validate"+f.name,dataType:"json",data:h,context:e.currentForm,success:function(l){var n=l===true||l==="true",o,m,k;e.settings.messages[f.name].remote=g.originalMessage;if(n){k=e.formSubmitted;e.prepareElement(f);e.formSubmitted=k;e.successList.push(f);delete e.invalid[f.name];e.showErrors()}else{o={};m=l||e.defaultMessage(f,"remote");o[f.name]=g.message=d.isFunction(m)?m(i):m;e.invalid[f.name]=true;e.showErrors(o)}g.valid=n;e.stopRequest(f,n)}},j));return"pending"}}});d.format=function a(){throw"$.format has been deprecated. Please use $.validator.format instead."};var b={},c;if(d.ajaxPrefilter){d.ajaxPrefilter(function(g,f,h){var e=g.port;if(g.mode==="abort"){if(b[e]){b[e].abort()}b[e]=h}})}else{c=d.ajax;d.ajax=function(f){var g=("mode" in f?f:d.ajaxSettings).mode,e=("port" in f?f:d.ajaxSettings).port;if(g==="abort"){if(b[e]){b[e].abort()}b[e]=c.apply(this,arguments);return b[e]}return c.apply(this,arguments)}}d.extend(d.fn,{validateDelegate:function(g,f,e){return this.bind(f,function(h){var i=d(h.target);if(i.is(g)){return e.apply(i,arguments)}})}})}));
\ No newline at end of file