| Server IP : 14.225.216.240 / Your IP : 216.73.216.26 Web Server : nginx/1.20.1 System : Linux localhost.localdomain 5.14.0-596.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jun 27 16:02:33 UTC 2025 x86_64 User : taidh ( 1001) PHP Version : 8.3.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/pts/st/plugins/bootstrap/js/ |
Upload File : |
/*!
* FormValidation (http://formvalidation.io)
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
*
* @version v0.6.3-dev, built on 2015-05-01 11:21:01 AM
* @author https://twitter.com/formvalidation
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
* @license http://formvalidation.io/license/
*/
if (window.FormValidation = {
AddOn: {},
Framework: {},
I18n: {},
Validator: {}
}, "undefined" == typeof jQuery) throw new Error("FormValidation requires jQuery");
! function(a) {
var b = a.fn.jquery.split(" ")[0].split(".");
if (+b[0] < 2 && +b[1] < 9 || 1 === +b[0] && 9 === +b[1] && +b[2] < 1) throw new Error("FormValidation requires jQuery version 1.9.1 or higher")
}(jQuery),
function(a) {
FormValidation.Base = function(b, c, d) {
this.$form = a(b), this.options = a.extend({}, a.fn.formValidation.DEFAULT_OPTIONS, c), this._namespace = d || "fv", this.$invalidFields = a([]), this.$submitButton = null, this.$hiddenButton = null, this.STATUS_NOT_VALIDATED = "NOT_VALIDATED", this.STATUS_VALIDATING = "VALIDATING", this.STATUS_INVALID = "INVALID", this.STATUS_VALID = "VALID", this.STATUS_IGNORED = "IGNORED", this._ieVersion = function() {
for (var a = 3, b = document.createElement("div"), c = b.all || [];b.innerHTML = "<!--[if gt IE " + ++a + "]><br><![endif]-->", c[0];);
return a > 4 ? a : !a
}();
var e = document.createElement("div");
this._changeEvent = 9 !== this._ieVersion && "oninput" in e ? "input" : "keyup", this._submitIfValid = null, this._cacheFields = {}, this._init()
}, FormValidation.Base.prototype = {
constructor: FormValidation.Base,
_exceedThreshold: function(b) {
var c = this._namespace,
d = b.attr("data-" + c + "-field"),
e = this.options.fields[d].threshold || this.options.threshold;
if (!e) return !0;
var f = -1 !== a.inArray(b.attr("type"), ["button", "checkbox", "file", "hidden", "image", "radio", "reset", "submit"]);
return f || b.val().length >= e
},
_init: function() {
var b = this,
c = this._namespace,
d = {
addOns: {},
autoFocus: this.$form.attr("data-" + c + "-autofocus"),
button: {
selector: this.$form.attr("data-" + c + "-button-selector") || this.$form.attr("data-" + c + "-submitbuttons"),
disabled: this.$form.attr("data-" + c + "-button-disabled")
},
control: {
valid: this.$form.attr("data-" + c + "-control-valid"),
invalid: this.$form.attr("data-" + c + "-control-invalid")
},
err: {
clazz: this.$form.attr("data-" + c + "-err-clazz"),
container: this.$form.attr("data-" + c + "-err-container") || this.$form.attr("data-" + c + "-container"),
parent: this.$form.attr("data-" + c + "-err-parent")
},
events: {
formInit: this.$form.attr("data-" + c + "-events-form-init"),
formPreValidate: this.$form.attr("data-" + c + "-events-form-prevalidate"),
formError: this.$form.attr("data-" + c + "-events-form-error"),
formSuccess: this.$form.attr("data-" + c + "-events-form-success"),
fieldAdded: this.$form.attr("data-" + c + "-events-field-added"),
fieldRemoved: this.$form.attr("data-" + c + "-events-field-removed"),
fieldInit: this.$form.attr("data-" + c + "-events-field-init"),
fieldError: this.$form.attr("data-" + c + "-events-field-error"),
fieldSuccess: this.$form.attr("data-" + c + "-events-field-success"),
fieldStatus: this.$form.attr("data-" + c + "-events-field-status"),
localeChanged: this.$form.attr("data-" + c + "-events-locale-changed"),
validatorError: this.$form.attr("data-" + c + "-events-validator-error"),
validatorSuccess: this.$form.attr("data-" + c + "-events-validator-success"),
validatorIgnored: this.$form.attr("data-" + c + "-events-validator-ignored")
},
excluded: this.$form.attr("data-" + c + "-excluded"),
icon: {
valid: this.$form.attr("data-" + c + "-icon-valid") || this.$form.attr("data-" + c + "-feedbackicons-valid"),
invalid: this.$form.attr("data-" + c + "-icon-invalid") || this.$form.attr("data-" + c + "-feedbackicons-invalid"),
validating: this.$form.attr("data-" + c + "-icon-validating") || this.$form.attr("data-" + c + "-feedbackicons-validating"),
feedback: this.$form.attr("data-" + c + "-icon-feedback")
},
live: this.$form.attr("data-" + c + "-live"),
locale: this.$form.attr("data-" + c + "-locale"),
message: this.$form.attr("data-" + c + "-message"),
onPreValidate: this.$form.attr("data-" + c + "-onprevalidate"),
onError: this.$form.attr("data-" + c + "-onerror"),
onSuccess: this.$form.attr("data-" + c + "-onsuccess"),
row: {
selector: this.$form.attr("data-" + c + "-row-selector") || this.$form.attr("data-" + c + "-group"),
valid: this.$form.attr("data-" + c + "-row-valid"),
invalid: this.$form.attr("data-" + c + "-row-invalid"),
feedback: this.$form.attr("data-" + c + "-row-feedback")
},
threshold: this.$form.attr("data-" + c + "-threshold"),
trigger: this.$form.attr("data-" + c + "-trigger"),
verbose: this.$form.attr("data-" + c + "-verbose"),
fields: {}
};
this.$form.attr("novalidate", "novalidate").addClass(this.options.elementClass).on("submit." + c, function(a) {
a.preventDefault(), b.validate()
}).on("click." + c, this.options.button.selector, function() {
b.$submitButton = a(this), b._submitIfValid = !0
}), (this.options.declarative === !0 || "true" === this.options.declarative) && this.$form.find("[name], [data-" + c + "-field]").each(function() {
var e = a(this),
f = e.attr("name") || e.attr("data-" + c + "-field"),
g = b._parseOptions(e);
g && (e.attr("data-" + c + "-field", f), d.fields[f] = a.extend({}, g, d.fields[f]))
}), this.options = a.extend(!0, this.options, d), "string" == typeof this.options.err.parent && (this.options.err.parent = new RegExp(this.options.err.parent)), this.options.container && (this.options.err.container = this.options.container, delete this.options.container), this.options.feedbackIcons && (this.options.icon = a.extend(!0, this.options.icon, this.options.feedbackIcons), delete this.options.feedbackIcons), this.options.group && (this.options.row.selector = this.options.group, delete this.options.group), this.options.submitButtons && (this.options.button.selector = this.options.submitButtons, delete this.options.submitButtons), FormValidation.I18n[this.options.locale] || (this.options.locale = a.fn.formValidation.DEFAULT_OPTIONS.locale), (this.options.declarative === !0 || "true" === this.options.declarative) && (this.options = a.extend(!0, this.options, {
addOns: this._parseAddOnOptions()
})), this.$hiddenButton = a("<button/>").attr("type", "submit").prependTo(this.$form).addClass("fv-hidden-submit").css({
display: "none",
width: 0,
height: 0
}), this.$form.on("click." + this._namespace, '[type="submit"]', function(c) {
if (!c.isDefaultPrevented()) {
var d = a(c.target),
e = d.is('[type="submit"]') ? d.eq(0) : d.parent('[type="submit"]').eq(0);
!b.options.button.selector || e.is(b.options.button.selector) || e.is(b.$hiddenButton) || b.$form.off("submit." + b._namespace).submit()
}
});
for (var e in this.options.fields) this._initField(e);
for (var f in this.options.addOns) "function" == typeof FormValidation.AddOn[f].init && FormValidation.AddOn[f].init(this, this.options.addOns[f]);
this.$form.trigger(a.Event(this.options.events.formInit), {
bv: this,
fv: this,
options: this.options
}), this.options.onPreValidate && this.$form.on(this.options.events.formPreValidate, function(a) {
FormValidation.Helper.call(b.options.onPreValidate, [a])
}), this.options.onSuccess && this.$form.on(this.options.events.formSuccess, function(a) {
FormValidation.Helper.call(b.options.onSuccess, [a])
}), this.options.onError && this.$form.on(this.options.events.formError, function(a) {
FormValidation.Helper.call(b.options.onError, [a])
})
},
_initField: function(b) {
var c = this._namespace,
d = a([]);
switch (typeof b) {
case "object":
d = b, b = b.attr("data-" + c + "-field");
break;
case "string":
d = this.getFieldElements(b), d.attr("data-" + c + "-field", b)
}
if (0 !== d.length && null !== this.options.fields[b] && null !== this.options.fields[b].validators) {
var e;
for (e in this.options.fields[b].validators) FormValidation.Validator[e] || delete this.options.fields[b].validators[e];
null === this.options.fields[b].enabled && (this.options.fields[b].enabled = !0);
for (var f = this, g = d.length, h = d.attr("type"), i = 1 === g || "radio" === h || "checkbox" === h, j = this._getFieldTrigger(d.eq(0)), k = a.map(j, function(a) {
return a + ".update." + c
}).join(" "), l = 0;g > l;l++) {
var m = d.eq(l),
n = this.options.fields[b].row || this.options.row.selector,
o = m.closest(n),
p = "function" == typeof(this.options.fields[b].container || this.options.fields[b].err || this.options.err.container) ? (this.options.fields[b].container || this.options.fields[b].err || this.options.err.container).call(this, m, this) : this.options.fields[b].container || this.options.fields[b].err || this.options.err.container,
q = p && "tooltip" !== p && "popover" !== p ? a(p) : this._getMessageContainer(m, n);
p && "tooltip" !== p && "popover" !== p && q.addClass(this.options.err.clazz), q.find("." + this.options.err.clazz.split(" ").join(".") + "[data-" + c + "-validator][data-" + c + '-for="' + b + '"]').remove(), o.find("i[data-" + c + '-icon-for="' + b + '"]').remove(), m.off(k).on(k, function() {
f.updateStatus(a(this), f.STATUS_NOT_VALIDATED)
}), m.data(c + ".messages", q);
for (e in this.options.fields[b].validators) m.data(c + ".result." + e, this.STATUS_NOT_VALIDATED), i && l !== g - 1 || a("<small/>").css("display", "none").addClass(this.options.err.clazz).attr("data-" + c + "-validator", e).attr("data-" + c + "-for", b).attr("data-" + c + "-result", this.STATUS_NOT_VALIDATED).html(this._getMessage(b, e)).appendTo(q), "function" == typeof FormValidation.Validator[e].init && FormValidation.Validator[e].init(this, m, this.options.fields[b].validators[e]);
if (this.options.fields[b].icon !== !1 && "false" !== this.options.fields[b].icon && this.options.icon && this.options.icon.valid && this.options.icon.invalid && this.options.icon.validating && (!i || l === g - 1)) {
o.addClass(this.options.row.feedback);
var r = a("<i/>").css("display", "none").addClass(this.options.icon.feedback).attr("data-" + c + "-icon-for", b).insertAfter(m);
(i ? d : m).data(c + ".icon", r), ("tooltip" === p || "popover" === p) && ((i ? d : m).on(this.options.events.fieldError, function() {
o.addClass("fv-has-tooltip")
}).on(this.options.events.fieldSuccess, function() {
o.removeClass("fv-has-tooltip")
}), m.off("focus.container." + c).on("focus.container." + c, function() {
f._showTooltip(m, p)
}).off("blur.container." + c).on("blur.container." + c, function() {
f._hideTooltip(m, p)
})), "string" == typeof this.options.fields[b].icon && "true" !== this.options.fields[b].icon ? r.appendTo(a(this.options.fields[b].icon)) : this._fixIcon(m, r)
}
}
d.on(this.options.events.fieldSuccess, function(a, b) {
var c = f.getOptions(b.field, null, "onSuccess");
c && FormValidation.Helper.call(c, [a, b])
}).on(this.options.events.fieldError, function(a, b) {
var c = f.getOptions(b.field, null, "onError");
c && FormValidation.Helper.call(c, [a, b])
}).on(this.options.events.fieldStatus, function(a, b) {
var c = f.getOptions(b.field, null, "onStatus");
c && FormValidation.Helper.call(c, [a, b])
}).on(this.options.events.validatorError, function(a, b) {
var c = f.getOptions(b.field, b.validator, "onError");
c && FormValidation.Helper.call(c, [a, b])
}).on(this.options.events.validatorIgnored, function(a, b) {
var c = f.getOptions(b.field, b.validator, "onIgnored");
c && FormValidation.Helper.call(c, [a, b])
}).on(this.options.events.validatorSuccess, function(a, b) {
var c = f.getOptions(b.field, b.validator, "onSuccess");
c && FormValidation.Helper.call(c, [a, b])
}), this.onLiveChange(d, "live", function() {
f._exceedThreshold(a(this)) && f.validateField(a(this))
}), d.trigger(a.Event(this.options.events.fieldInit), {
bv: this,
fv: this,
field: b,
element: d
})
}
},
_isExcluded: function(b) {
var c = this._namespace,
d = b.attr("data-" + c + "-excluded"),
e = b.attr("data-" + c + "-field") || b.attr("name");
switch (!0) {
case !!e && this.options.fields && this.options.fields[e] && ("true" === this.options.fields[e].excluded || this.options.fields[e].excluded === !0):
case "true" === d:
case "" === d:
return !0;
case !!e && this.options.fields && this.options.fields[e] && ("false" === this.options.fields[e].excluded || this.options.fields[e].excluded === !1):
case "false" === d:
return !1;
case !!e && this.options.fields && this.options.fields[e] && "function" == typeof this.options.fields[e].excluded:
return this.options.fields[e].excluded.call(this, b, this);
case !!e && this.options.fields && this.options.fields[e] && "string" == typeof this.options.fields[e].excluded:
case d:
return FormValidation.Helper.call(this.options.fields[e].excluded, [b, this]);
default:
if (this.options.excluded) {
"string" == typeof this.options.excluded && (this.options.excluded = a.map(this.options.excluded.split(","), function(b) {
return a.trim(b)
}));
for (var f = this.options.excluded.length, g = 0;f > g;g++)
if ("string" == typeof this.options.excluded[g] && b.is(this.options.excluded[g]) || "function" == typeof this.options.excluded[g] && this.options.excluded[g].call(this, b, this) === !0) return !0
}
return !1
}
},
_getFieldTrigger: function(a) {
var b = this._namespace,
c = a.data(b + ".trigger");
if (c) return c;
var d = a.attr("type"),
e = a.attr("data-" + b + "-field"),
f = "radio" === d || "checkbox" === d || "file" === d || "SELECT" === a.get(0).tagName ? "change" : this._ieVersion >= 10 && a.attr("placeholder") ? "keyup" : this._changeEvent;
return c = ((this.options.fields[e] ? this.options.fields[e].trigger : null) || this.options.trigger || f).split(" "), a.data(b + ".trigger", c), c
},
_getMessage: function(a, b) {
if (!(this.options.fields[a] && FormValidation.Validator[b] && this.options.fields[a].validators && this.options.fields[a].validators[b])) return "";
switch (!0) {
case !!this.options.fields[a].validators[b].message:
return this.options.fields[a].validators[b].message;
case !!this.options.fields[a].message:
return this.options.fields[a].message;
case !!FormValidation.I18n[this.options.locale] && !!FormValidation.I18n[this.options.locale][b] && !!FormValidation.I18n[this.options.locale][b]["default"]:
return FormValidation.I18n[this.options.locale][b]["default"];
default:
return this.options.message
}
},
_getMessageContainer: function(a, b) {
if (!this.options.err.parent) throw new Error("The err.parent option is not defined");
var c = a.parent();
if (c.is(b)) return c;
var d = c.attr("class");
return d && this.options.err.parent.test(d) ? c : this._getMessageContainer(c, b)
},
_parseAddOnOptions: function() {
var a = this._namespace,
b = this.$form.attr("data-" + a + "-addons"),
c = this.options.addOns || {};
if (b) {
b = b.replace(/\s/g, "").split(",");
for (var d = 0;d < b.length;d++) c[b[d]] || (c[b[d]] = {})
}
var e, f, g, h;
for (e in c)
if (FormValidation.AddOn[e]) {
if (f = FormValidation.AddOn[e].html5Attributes)
for (g in f) h = this.$form.attr("data-" + a + "-addons-" + e.toLowerCase() + "-" + g.toLowerCase()), h && (c[e][f[g]] = h)
} else delete c[e];
return c
},
_parseOptions: function(b) {
var c, d, e, f, g, h, i, j, k, l = this._namespace,
m = b.attr("name") || b.attr("data-" + l + "-field"),
n = {};
for (d in FormValidation.Validator)
if (c = FormValidation.Validator[d], e = "data-" + l + "-" + d.toLowerCase(), f = b.attr(e) + "", k = "function" == typeof c.enableByHtml5 ? c.enableByHtml5(b) : null, k && "false" !== f || k !== !0 && ("" === f || "true" === f || e === f.toLowerCase())) {
c.html5Attributes = a.extend({}, {
message: "message",
onerror: "onError",
onsuccess: "onSuccess",
transformer: "transformer"
}, c.html5Attributes), n[d] = a.extend({}, k === !0 ? {} : k, n[d]);
for (j in c.html5Attributes) g = c.html5Attributes[j], h = "data-" + l + "-" + d.toLowerCase() + "-" + j, i = b.attr(h), i && ("true" === i || h === i.toLowerCase() ? i = !0 : "false" === i && (i = !1), n[d][g] = i)
}
var o = {
autoFocus: b.attr("data-" + l + "-autofocus"),
err: b.attr("data-" + l + "-err-container") || b.attr("data-" + l + "-container"),
excluded: b.attr("data-" + l + "-excluded"),
icon: b.attr("data-" + l + "-icon") || b.attr("data-" + l + "-feedbackicons") || (this.options.fields && this.options.fields[m] ? this.options.fields[m].feedbackIcons : null),
message: b.attr("data-" + l + "-message"),
onError: b.attr("data-" + l + "-onerror"),
onStatus: b.attr("data-" + l + "-onstatus"),
onSuccess: b.attr("data-" + l + "-onsuccess"),
row: b.attr("data-" + l + "-row") || b.attr("data-" + l + "-group") || (this.options.fields && this.options.fields[m] ? this.options.fields[m].group : null),
selector: b.attr("data-" + l + "-selector"),
threshold: b.attr("data-" + l + "-threshold"),
transformer: b.attr("data-" + l + "-transformer"),
trigger: b.attr("data-" + l + "-trigger"),
verbose: b.attr("data-" + l + "-verbose"),
validators: n
},
p = a.isEmptyObject(o),
q = a.isEmptyObject(n);
return !q || !p && this.options.fields && this.options.fields[m] ? (o.validators = n, o) : null
},
_submit: function() {
var b = this.isValid();
if (null !== b) {
var c = b ? this.options.events.formSuccess : this.options.events.formError,
d = a.Event(c);
this.$form.trigger(d), this.$submitButton && (b ? this._onSuccess(d) : this._onError(d))
}
},
_onError: function(b) {
if (!b.isDefaultPrevented()) {
if ("submitted" === this.options.live) {
this.options.live = "enabled";
var c = this;
for (var d in this.options.fields) ! function(b) {
var d = c.getFieldElements(b);
d.length && c.onLiveChange(d, "live", function() {
c._exceedThreshold(a(this)) && c.validateField(a(this))
})
}(d)
}
for (var e = this._namespace, f = 0;f < this.$invalidFields.length;f++) {
var g = this.$invalidFields.eq(f),
h = this.isOptionEnabled(g.attr("data-" + e + "-field"), "autoFocus");
if (h) {
g.focus();
break
}
}
}
},
_onFieldValidated: function(b, c) {
var d = this._namespace,
e = b.attr("data-" + d + "-field"),
f = this.options.fields[e].validators,
g = {},
h = 0,
i = {
bv: this,
fv: this,
field: e,
element: b,
validator: c,
result: b.data(d + ".response." + c)
};
if (c) switch (b.data(d + ".result." + c)) {
case this.STATUS_INVALID:
b.trigger(a.Event(this.options.events.validatorError), i);
break;
case this.STATUS_VALID:
b.trigger(a.Event(this.options.events.validatorSuccess), i);
break;
case this.STATUS_IGNORED:
b.trigger(a.Event(this.options.events.validatorIgnored), i)
}
g[this.STATUS_NOT_VALIDATED] = 0, g[this.STATUS_VALIDATING] = 0, g[this.STATUS_INVALID] = 0, g[this.STATUS_VALID] = 0, g[this.STATUS_IGNORED] = 0;
for (var j in f)
if (f[j].enabled !== !1) {
h++;
var k = b.data(d + ".result." + j);
k && g[k]++
}
g[this.STATUS_VALID] + g[this.STATUS_IGNORED] === h ? (this.$invalidFields = this.$invalidFields.not(b), b.trigger(a.Event(this.options.events.fieldSuccess), i)) : (0 === g[this.STATUS_NOT_VALIDATED] || !this.isOptionEnabled(e, "verbose")) && 0 === g[this.STATUS_VALIDATING] && g[this.STATUS_INVALID] > 0 && (this.$invalidFields = this.$invalidFields.add(b), b.trigger(a.Event(this.options.events.fieldError), i))
},
_onSuccess: function(a) {
a.isDefaultPrevented() || this.disableSubmitButtons(!0).defaultSubmit()
},
_fixIcon: function() {},
_createTooltip: function() {},
_destroyTooltip: function() {},
_hideTooltip: function() {},
_showTooltip: function() {},
defaultSubmit: function() {
var b = this._namespace;
this.$submitButton && a("<input/>").attr({
type: "hidden",
name: this.$submitButton.attr("name")
}).attr("data-" + b + "-submit-hidden", "").val(this.$submitButton.val()).appendTo(this.$form), this.$form.off("submit." + b).submit()
},
disableSubmitButtons: function(a) {
return a ? "disabled" !== this.options.live && this.$form.find(this.options.button.selector).attr("disabled", "disabled").addClass(this.options.button.disabled) : this.$form.find(this.options.button.selector).removeAttr("disabled").removeClass(this.options.button.disabled), this
},
getFieldElements: function(b) {
if (!this._cacheFields[b])
if (this.options.fields[b] && this.options.fields[b].selector) {
var c = this.$form.find(this.options.fields[b].selector);
this._cacheFields[b] = c.length ? c : a(this.options.fields[b].selector)
} else this._cacheFields[b] = this.$form.find('[name="' + b + '"]');
return this._cacheFields[b]
},
getFieldValue: function(a, b) {
var c, d = this._namespace;
if ("string" == typeof a) {
if (c = this.getFieldElements(a), 0 === c.length) return null
} else c = a, a = c.attr("data-" + d + "-field");
if (!a || !this.options.fields[a]) return c.val();
var e = (this.options.fields[a].validators && this.options.fields[a].validators[b] ? this.options.fields[a].validators[b].transformer : null) || this.options.fields[a].transformer;
return e ? FormValidation.Helper.call(e, [c, b, this]) : c.val()
},
getNamespace: function() {
return this._namespace
},
getOptions: function(a, b, c) {
var d = this._namespace;
if (!a) return c ? this.options[c] : this.options;
if ("object" == typeof a && (a = a.attr("data-" + d + "-field")), !this.options.fields[a]) return null;
var e = this.options.fields[a];
return b ? e.validators && e.validators[b] ? c ? e.validators[b][c] : e.validators[b] : null : c ? e[c] : e
},
getStatus: function(a, b) {
var c = this._namespace;
switch (typeof a) {
case "object":
return a.data(c + ".result." + b);
case "string":
default:
return this.getFieldElements(a).eq(0).data(c + ".result." + b)
}
},
isOptionEnabled: function(a, b) {
return !this.options.fields[a] || "true" !== this.options.fields[a][b] && this.options.fields[a][b] !== !0 ? !this.options.fields[a] || "false" !== this.options.fields[a][b] && this.options.fields[a][b] !== !1 ? "true" === this.options[b] || this.options[b] === !0 : !1 : !0
},
isValid: function() {
for (var a in this.options.fields) {
var b = this.isValidField(a);
if (null === b) return null;
if (b === !1) return !1
}
return !0
},
isValidContainer: function(b) {
var c = this,
d = this._namespace,
e = [],
f = "string" == typeof b ? a(b) : b;
if (0 === f.length) return !0;
f.find("[data-" + d + "-field]").each(function() {
var b = a(this);
c._isExcluded(b) || e.push(b)
});
for (var g = e.length, h = 0;g > h;h++) {
var i = e[h],
j = i.attr("data-" + d + "-field"),
k = i.data(d + ".messages").find("." + this.options.err.clazz.split(" ").join(".") + "[data-" + d + "-validator][data-" + d + '-for="' + j + '"]');
if (k.filter("[data-" + d + '-result="' + this.STATUS_INVALID + '"]').length > 0) return !1;
if (k.filter("[data-" + d + '-result="' + this.STATUS_NOT_VALIDATED + '"]').length > 0 || k.filter("[data-" + d + '-result="' + this.STATUS_VALIDATING + '"]').length > 0) return null
}
return !0
},
isValidField: function(b) {
var c = this._namespace,
d = a([]);
switch (typeof b) {
case "object":
d = b, b = b.attr("data-" + c + "-field");
break;
case "string":
d = this.getFieldElements(b)
}
if (0 === d.length || !this.options.fields[b] || this.options.fields[b].enabled === !1) return !0;
for (var e, f, g, h = d.attr("type"), i = "radio" === h || "checkbox" === h ? 1 : d.length, j = 0;i > j;j++)
if (e = d.eq(j), !this._isExcluded(e))
for (f in this.options.fields[b].validators)
if (this.options.fields[b].validators[f].enabled !== !1) {
if (g = e.data(c + ".result." + f), g === this.STATUS_VALIDATING || g === this.STATUS_NOT_VALIDATED) return null;
if (g === this.STATUS_INVALID) return !1
}
return !0
},
offLiveChange: function(b, c) {
if (null === b || 0 === b.length) return this;
var d = this._namespace,
e = this._getFieldTrigger(b.eq(0)),
f = a.map(e, function(a) {
return a + "." + c + "." + d
}).join(" ");
return b.off(f), this
},
onLiveChange: function(b, c, d) {
if (null === b || 0 === b.length) return this;
var e = this._namespace,
f = this._getFieldTrigger(b.eq(0)),
g = a.map(f, function(a) {
return a + "." + c + "." + e
}).join(" ");
switch (this.options.live) {
case "submitted":
break;
case "disabled":
b.off(g);
break;
case "enabled":
default:
b.off(g).on(g, function() {
d.apply(this, arguments)
})
}
return this
},
updateMessage: function(b, c, d) {
var e = this,
f = this._namespace,
g = a([]);
switch (typeof b) {
case "object":
g = b, b = b.attr("data-" + f + "-field");
break;
case "string":
g = this.getFieldElements(b)
}
return g.each(function() {
a(this).data(f + ".messages").find("." + e.options.err.clazz + "[data-" + f + '-validator="' + c + '"][data-' + f + '-for="' + b + '"]').html(d)
}), this
},
updateStatus: function(b, c, d) {
var e = this._namespace,
f = a([]);
switch (typeof b) {
case "object":
f = b, b = b.attr("data-" + e + "-field");
break;
case "string":
f = this.getFieldElements(b)
}
if (!b || !this.options.fields[b]) return this;
c === this.STATUS_NOT_VALIDATED && (this._submitIfValid = !1);
for (var g = this, h = f.attr("type"), i = this.options.fields[b].row || this.options.row.selector, j = "radio" === h || "checkbox" === h ? 1 : f.length, k = 0;j > k;k++) {
var l = f.eq(k);
if (!this._isExcluded(l)) {
var m, n, o = l.closest(i),
p = l.data(e + ".messages");if ( typeof p == 'undefined'){console.log(e,l.data());}
q = p.find("." + this.options.err.clazz.split(" ").join(".") + "[data-" + e + "-validator][data-" + e + '-for="' + b + '"]'),
r = d ? q.filter("[data-" + e + '-validator="' + d + '"]') : q,
s = l.data(e + ".icon"),
t = "function" == typeof(this.options.fields[b].container || this.options.fields[b].err || this.options.err.container) ? (this.options.fields[b].container || this.options.fields[b].err || this.options.err.container).call(this, l, this) : this.options.fields[b].container || this.options.fields[b].err || this.options.err.container,
u = null;
if (d) l.data(e + ".result." + d, c);
else
for (var v in this.options.fields[b].validators) l.data(e + ".result." + v, c);
switch (r.attr("data-" + e + "-result", c), c) {
case this.STATUS_VALIDATING:
u = null, this.disableSubmitButtons(!0), l.removeClass(this.options.control.valid).removeClass(this.options.control.invalid), o.removeClass(this.options.row.valid).removeClass(this.options.row.invalid), s && s.removeClass(this.options.icon.valid).removeClass(this.options.icon.invalid).addClass(this.options.icon.validating).show();
break;
case this.STATUS_INVALID:
u = !1, this.disableSubmitButtons(!0), l.removeClass(this.options.control.valid).addClass(this.options.control.invalid), o.removeClass(this.options.row.valid).addClass(this.options.row.invalid), s && s.removeClass(this.options.icon.valid).removeClass(this.options.icon.validating).addClass(this.options.icon.invalid).show();
break;
case this.STATUS_IGNORED:
case this.STATUS_VALID:
m = q.filter("[data-" + e + '-result="' + this.STATUS_VALIDATING + '"]').length > 0, n = q.filter("[data-" + e + '-result="' + this.STATUS_NOT_VALIDATED + '"]').length > 0;
var w = q.filter("[data-" + e + '-result="' + this.STATUS_IGNORED + '"]').length;
u = m || n ? null : q.filter("[data-" + e + '-result="' + this.STATUS_VALID + '"]').length + w === q.length, l.removeClass(this.options.control.valid).removeClass(this.options.control.invalid), u === !0 ? (this.disableSubmitButtons(this.isValid() === !1), c === this.STATUS_VALID && l.addClass(this.options.control.valid)) : u === !1 && (this.disableSubmitButtons(!0), c === this.STATUS_VALID && l.addClass(this.options.control.invalid)), s && (s.removeClass(this.options.icon.invalid).removeClass(this.options.icon.validating).removeClass(this.options.icon.valid), (c === this.STATUS_VALID || w !== q.length) && s.addClass(null === u ? "" : u ? this.options.icon.valid : m ? this.options.icon.validating : this.options.icon.invalid).show());
var x = this.isValidContainer(o);
null !== x && (o.removeClass(this.options.row.valid).removeClass(this.options.row.invalid), (c === this.STATUS_VALID || w !== q.length) && o.addClass(x ? this.options.row.valid : this.options.row.invalid));
break;
case this.STATUS_NOT_VALIDATED:
default:
u = null, this.disableSubmitButtons(!1), l.removeClass(this.options.control.valid).removeClass(this.options.control.invalid), o.removeClass(this.options.row.valid).removeClass(this.options.row.invalid), s && s.removeClass(this.options.icon.valid).removeClass(this.options.icon.invalid).removeClass(this.options.icon.validating).hide()
}!s || "tooltip" !== t && "popover" !== t ? c === this.STATUS_INVALID ? r.show() : r.hide() : u === !1 ? this._createTooltip(l, q.filter("[data-" + e + '-result="' + g.STATUS_INVALID + '"]').eq(0).html(), t) : this._destroyTooltip(l, t), l.trigger(a.Event(this.options.events.fieldStatus), {
bv: this,
fv: this,
field: b,
element: l,
status: c
}), this._onFieldValidated(l, d)
}
}
return this
},
validate: function() {
if (a.isEmptyObject(this.options.fields)) return this._submit(), this;
this.$form.trigger(a.Event(this.options.events.formPreValidate)), this.disableSubmitButtons(!0), this._submitIfValid = !1;
for (var b in this.options.fields) this.validateField(b);
return this._submit(), this._submitIfValid = !0, this
},
validateField: function(b) {
var c = this._namespace,
d = a([]);
switch (typeof b) {
case "object":
d = b, b = b.attr("data-" + c + "-field");
break;
case "string":
d = this.getFieldElements(b)
}
if (0 === d.length || !this.options.fields[b] || this.options.fields[b].enabled === !1) return this;
for (var e, f, g = this, h = d.attr("type"), i = "radio" === h || "checkbox" === h ? 1 : d.length, j = "radio" === h || "checkbox" === h, k = this.options.fields[b].validators, l = this.isOptionEnabled(b, "verbose"), m = 0;i > m;m++) {
var n = d.eq(m);
if (!this._isExcluded(n)) {
var o = !1;
for (e in k) {
if (n.data(c + ".dfs." + e) && n.data(c + ".dfs." + e).reject(), o) break;
var p = n.data(c + ".result." + e);
if (p !== this.STATUS_VALID && p !== this.STATUS_INVALID)
if (k[e].enabled !== !1)
if (n.data(c + ".result." + e, this.STATUS_VALIDATING), f = FormValidation.Validator[e].validate(this, n, k[e]), "object" == typeof f && f.resolve) this.updateStatus(j ? b : n, this.STATUS_VALIDATING, e), n.data(c + ".dfs." + e, f), f.done(function(a, b, d) {
a.removeData(c + ".dfs." + b).data(c + ".response." + b, d), d.message && g.updateMessage(a, b, d.message), g.updateStatus(j ? a.attr("data-" + c + "-field") : a, d.valid === !0 ? g.STATUS_VALID : d.valid === !1 ? g.STATUS_INVALID : g.STATUS_IGNORED, b), d.valid && g._submitIfValid === !0 ? g._submit() : d.valid !== !1 || l || (o = !0)
});
else if ("object" == typeof f && void 0 !== f.valid) {
if (n.data(c + ".response." + e, f), f.message && this.updateMessage(j ? b : n, e, f.message), this.updateStatus(j ? b : n, f.valid === !0 ? this.STATUS_VALID : f.valid === !1 ? this.STATUS_INVALID : this.STATUS_IGNORED, e), f.valid === !1 && !l) break
} else if ("boolean" == typeof f) {
if (n.data(c + ".response." + e, f), this.updateStatus(j ? b : n, f ? this.STATUS_VALID : this.STATUS_INVALID, e), !f && !l) break
} else null === f && (n.data(c + ".response." + e, f), this.updateStatus(j ? b : n, this.STATUS_IGNORED, e));
else this.updateStatus(j ? b : n, this.STATUS_IGNORED, e);
else this._onFieldValidated(n, e)
}
}
}
return this
},
addField: function(b, c) {
var d = this._namespace,
e = a([]);
switch (typeof b) {
case "object":
e = b, b = b.attr("data-" + d + "-field") || b.attr("name");
break;
case "string":
delete this._cacheFields[b], e = this.getFieldElements(b)
}
e.attr("data-" + d + "-field", b);
for (var f = e.attr("type"), g = "radio" === f || "checkbox" === f ? 1 : e.length, h = 0;g > h;h++) {
var i = e.eq(h),
j = this._parseOptions(i);
j = null === j ? c : a.extend(!0, j, c), this.options.fields[b] = a.extend(!0, this.options.fields[b], j), this._cacheFields[b] = this._cacheFields[b] ? this._cacheFields[b].add(i) : i, this._initField("checkbox" === f || "radio" === f ? b : i)
}
return this.disableSubmitButtons(!1), this.$form.trigger(a.Event(this.options.events.fieldAdded), {
field: b,
element: e,
options: this.options.fields[b]
}), this
},
destroy: function() {
var a, b, c, d, e, f, g, h = this._namespace;
for (b in this.options.fields)
for (c = this.getFieldElements(b), a = 0;a < c.length;a++) {
d = c.eq(a);
for (e in this.options.fields[b].validators) d.data(h + ".dfs." + e) && d.data(h + ".dfs." + e).reject(), d.removeData(h + ".result." + e).removeData(h + ".response." + e).removeData(h + ".dfs." + e), "function" == typeof FormValidation.Validator[e].destroy && FormValidation.Validator[e].destroy(this, d, this.options.fields[b].validators[e])
}
for (b in this.options.fields)
for (c = this.getFieldElements(b), g = this.options.fields[b].row || this.options.row.selector, a = 0;a < c.length;a++) {
d = c.eq(a), d.data(h + ".messages").find("." + this.options.err.clazz.split(" ").join(".") + "[data-" + h + "-validator][data-" + h + '-for="' + b + '"]').remove().end().end().removeData(h + ".messages").closest(g).removeClass(this.options.row.valid).removeClass(this.options.row.invalid).removeClass(this.options.row.feedback).end().off("." + h).removeAttr("data-" + h + "-field");
var i = "function" == typeof(this.options.fields[b].container || this.options.fields[b].err || this.options.err.container) ? (this.options.fields[b].container || this.options.fields[b].err || this.options.err.container).call(this, d, this) : this.options.fields[b].container || this.options.fields[b].err || this.options.err.container;
("tooltip" === i || "popover" === i) && this._destroyTooltip(d, i), f = d.data(h + ".icon"), f && f.remove(), d.removeData(h + ".icon").removeData(h + ".trigger")
}
for (var j in this.options.addOns) "function" == typeof FormValidation.AddOn[j].destroy && FormValidation.AddOn[j].destroy(this, this.options.addOns[j]);
this.disableSubmitButtons(!1), this.$hiddenButton.remove(), this.$form.removeClass(this.options.elementClass).off("." + h).removeData("bootstrapValidator").removeData("formValidation").find("[data-" + h + "-submit-hidden]").remove().end().find('[type="submit"]').off("click." + h)
},
enableFieldValidators: function(a, b, c) {
var d = this.options.fields[a].validators;
if (c && d && d[c] && d[c].enabled !== b) this.options.fields[a].validators[c].enabled = b, this.updateStatus(a, this.STATUS_NOT_VALIDATED, c);
else if (!c && this.options.fields[a].enabled !== b) {
this.options.fields[a].enabled = b;
for (var e in d) this.enableFieldValidators(a, b, e)
}
return this
},
getDynamicOption: function(a, b) {
var c = "string" == typeof a ? this.getFieldElements(a) : a,
d = c.val();
if ("function" == typeof b) return FormValidation.Helper.call(b, [d, this, c]);
if ("string" == typeof b) {
var e = this.getFieldElements(b);
return e.length ? e.val() : FormValidation.Helper.call(b, [d, this, c]) || b
}
return null
},
getForm: function() {
return this.$form
},
getInvalidFields: function() {
return this.$invalidFields
},
getLocale: function() {
return this.options.locale
},
getMessages: function(b, c) {
var d = this,
e = this._namespace,
f = [],
g = a([]);
switch (!0) {
case b && "object" == typeof b:
g = b;
break;
case b && "string" == typeof b:
var h = this.getFieldElements(b);
if (h.length > 0) {
var i = h.attr("type");
g = "radio" === i || "checkbox" === i ? h.eq(0) : h
}
break;
default:
g = this.$invalidFields
}
var j = c ? "[data-" + e + '-validator="' + c + '"]' : "";
return g.each(function() {
f = f.concat(a(this).data(e + ".messages").find("." + d.options.err.clazz + "[data-" + e + '-for="' + a(this).attr("data-" + e + "-field") + '"][data-' + e + '-result="' + d.STATUS_INVALID + '"]' + j).map(function() {
var b = a(this).attr("data-" + e + "-validator"),
c = a(this).attr("data-" + e + "-for");
return d.options.fields[c].validators[b].enabled === !1 ? "" : a(this).html()
}).get())
}), f
},
getSubmitButton: function() {
return this.$submitButton
},
removeField: function(b) {
var c = this._namespace,
d = a([]);
switch (typeof b) {
case "object":
d = b, b = b.attr("data-" + c + "-field") || b.attr("name"), d.attr("data-" + c + "-field", b);
break;
case "string":
d = this.getFieldElements(b)
}
if (0 === d.length) return this;
for (var e = d.attr("type"), f = "radio" === e || "checkbox" === e ? 1 : d.length, g = 0;f > g;g++) {
var h = d.eq(g);
this.$invalidFields = this.$invalidFields.not(h), this._cacheFields[b] = this._cacheFields[b].not(h)
}
return this._cacheFields[b] && 0 !== this._cacheFields[b].length || delete this.options.fields[b], ("checkbox" === e || "radio" === e) && this._initField(b), this.disableSubmitButtons(!1), this.$form.trigger(a.Event(this.options.events.fieldRemoved), {
field: b,
element: d
}), this
},
resetField: function(b, c) {
var d = this._namespace,
e = a([]);
switch (typeof b) {
case "object":
e = b, b = b.attr("data-" + d + "-field");
break;
case "string":
e = this.getFieldElements(b)
}
var f = e.length;
if (this.options.fields[b])
for (var g = 0;f > g;g++)
for (var h in this.options.fields[b].validators) e.eq(g).removeData(d + ".dfs." + h);
if (c) {
var i = e.attr("type");
"radio" === i || "checkbox" === i ? e.prop("checked", !1).removeAttr("selected") : e.val("")
}
return this.updateStatus(b, this.STATUS_NOT_VALIDATED), this
},
resetForm: function(b) {
for (var c in this.options.fields) this.resetField(c, b);
return this.$invalidFields = a([]), this.$submitButton = null, this.disableSubmitButtons(!1), this
},
revalidateField: function(a) {
return this.updateStatus(a, this.STATUS_NOT_VALIDATED).validateField(a), this
},
setLocale: function(b) {
return this.options.locale = b, this.$form.trigger(a.Event(this.options.events.localeChanged), {
locale: b,
bv: this,
fv: this
}), this
},
updateOption: function(a, b, c, d) {
var e = this._namespace;
return "object" == typeof a && (a = a.attr("data-" + e + "-field")), this.options.fields[a] && this.options.fields[a].validators[b] && (this.options.fields[a].validators[b][c] = d, this.updateStatus(a, this.STATUS_NOT_VALIDATED, b)), this
},
validateContainer: function(b) {
var c = this,
d = this._namespace,
e = [],
f = "string" == typeof b ? a(b) : b;
if (0 === f.length) return this;
f.find("[data-" + d + "-field]").each(function() {
var b = a(this);
c._isExcluded(b) || e.push(b)
});
for (var g = e.length, h = 0;g > h;h++) this.validateField(e[h]);
return this
}
}, a.fn.formValidation = function(b) {
var c = arguments;
return this.each(function() {
var d = a(this),
e = d.data("formValidation"),
f = "object" == typeof b && b;
if (!e) {
var g = (f.framework || d.attr("data-fv-framework") || "bootstrap").toLowerCase(),
h = g.substr(0, 1).toUpperCase() + g.substr(1);
if ("undefined" == typeof FormValidation.Framework[h]) throw new Error("The class FormValidation.Framework." + h + " is not implemented");
e = new FormValidation.Framework[h](this, f), d.addClass("fv-form-" + g).data("formValidation", e)
}
"string" == typeof b && e[b].apply(e, Array.prototype.slice.call(c, 1))
})
}, a.fn.formValidation.Constructor = FormValidation.Base, a.fn.formValidation.DEFAULT_OPTIONS = {
autoFocus: !0,
declarative: !0,
elementClass: "fv-form",
events: {
formInit: "init.form.fv",
formPreValidate: "prevalidate.form.fv",
formError: "err.form.fv",
formSuccess: "success.form.fv",
fieldAdded: "added.field.fv",
fieldRemoved: "removed.field.fv",
fieldInit: "init.field.fv",
fieldError: "err.field.fv",
fieldSuccess: "success.field.fv",
fieldStatus: "status.field.fv",
localeChanged: "changed.locale.fv",
validatorError: "err.validator.fv",
validatorSuccess: "success.validator.fv",
validatorIgnored: "ignored.validator.fv"
},
excluded: [":disabled", ":hidden", ":not(:visible)"],
fields: null,
live: "enabled",
locale: "en_US",
message: "This value is not valid",
threshold: null,
verbose: !0,
button: {
selector: '[type="submit"]:not([formnovalidate])',
disabled: ""
},
control: {
valid: "",
invalid: ""
},
err: {
clazz: "",
container: null,
parent: null
},
icon: {
valid: null,
invalid: null,
validating: null,
feedback: ""
},
row: {
selector: null,
valid: "",
invalid: "",
feedback: ""
}
}
}(jQuery),
function(a) {
FormValidation.Helper = {
call: function(a, b) {
if ("function" == typeof a) return a.apply(this, b);
if ("string" == typeof a) {
"()" === a.substring(a.length - 2) && (a = a.substring(0, a.length - 2));
for (var c = a.split("."), d = c.pop(), e = window, f = 0;f < c.length;f++) e = e[c[f]];
return "undefined" == typeof e[d] ? null : e[d].apply(this, b)
}
},
date: function(a, b, c, d) {
if (isNaN(a) || isNaN(b) || isNaN(c)) return !1;
if (c.length > 2 || b.length > 2 || a.length > 4) return !1;
if (c = parseInt(c, 10), b = parseInt(b, 10), a = parseInt(a, 10), 1e3 > a || a > 9999 || 0 >= b || b > 12) return !1;
var e = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if ((a % 400 === 0 || a % 100 !== 0 && a % 4 === 0) && (e[1] = 29), 0 >= c || c > e[b - 1]) return !1;
if (d === !0) {
var f = new Date,
g = f.getFullYear(),
h = f.getMonth(),
i = f.getDate();
return g > a || a === g && h > b - 1 || a === g && b - 1 === h && i > c
}
return !0
},
format: function(b, c) {
a.isArray(c) || (c = [c]);
for (var d in c) b = b.replace("%s", c[d]);
return b
},
luhn: function(a) {
for (var b = a.length, c = 0, d = [
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
], e = 0;b--;) e += d[c][parseInt(a.charAt(b), 10)], c ^= 1;
return e % 10 === 0 && e > 0
},
mod11And10: function(a) {
for (var b = 5, c = a.length, d = 0;c > d;d++) b = (2 * (b || 10) % 11 + parseInt(a.charAt(d), 10)) % 10;
return 1 === b
},
mod37And36: function(a, b) {
b = b || "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var c = b.length, d = a.length, e = Math.floor(c / 2), f = 0;d > f;f++) e = (2 * (e || c) % (c + 1) + b.indexOf(a.charAt(f))) % c;
return 1 === e
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
base64: {
"default": "Please enter a valid base 64 encoded"
}
}
}), FormValidation.Validator.base64 = {
validate: function(a, b) {
var c = a.getFieldValue(b, "base64");
return "" === c ? !0 : /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/.test(c)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
between: {
"default": "Please enter a value between %s and %s",
notInclusive: "Please enter a value between %s and %s strictly"
}
}
}), FormValidation.Validator.between = {
html5Attributes: {
message: "message",
min: "min",
max: "max",
inclusive: "inclusive"
},
enableByHtml5: function(a) {
return "range" === a.attr("type") ? {
min: a.attr("min"),
max: a.attr("max")
} : !1
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "between");
if ("" === e) return !0;
if (e = this._format(e), !a.isNumeric(e)) return !1;
var f = b.getLocale(),
g = a.isNumeric(d.min) ? d.min : b.getDynamicOption(c, d.min),
h = a.isNumeric(d.max) ? d.max : b.getDynamicOption(c, d.max),
i = this._format(g),
j = this._format(h);
return e = parseFloat(e), d.inclusive === !0 || void 0 === d.inclusive ? {
valid: e >= i && j >= e,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].between["default"], [g, h])
} : {
valid: e > i && j > e,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].between.notInclusive, [g, h])
}
},
_format: function(a) {
return (a + "").replace(",", ".")
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
bic: {
"default": "Please enter a valid BIC number"
}
}
}), FormValidation.Validator.bic = {
validate: function(a, b) {
var c = a.getFieldValue(b, "bic");
return "" === c ? !0 : /^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$/.test(c)
}
}
}(jQuery),
function() {
FormValidation.Validator.blank = {
validate: function() {
return !0
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
callback: {
"default": "Please enter a valid value"
}
}
}), FormValidation.Validator.callback = {
html5Attributes: {
message: "message",
callback: "callback"
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "callback"),
f = new a.Deferred,
g = {
valid: !0
};
if (d.callback) {
var h = FormValidation.Helper.call(d.callback, [e, b, c]);
g = "boolean" == typeof h || null === h ? {
valid: h
} : h
}
return f.resolve(c, "callback", g), f
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
choice: {
"default": "Please enter a valid value",
less: "Please choose %s options at minimum",
more: "Please choose %s options at maximum",
between: "Please choose %s - %s options"
}
}
}), FormValidation.Validator.choice = {
html5Attributes: {
message: "message",
min: "min",
max: "max"
},
validate: function(b, c, d) {
var e = b.getLocale(),
f = b.getNamespace(),
g = c.is("select") ? b.getFieldElements(c.attr("data-" + f + "-field")).find("option").filter(":selected").length : b.getFieldElements(c.attr("data-" + f + "-field")).filter(":checked").length,
h = d.min ? a.isNumeric(d.min) ? d.min : b.getDynamicOption(c, d.min) : null,
i = d.max ? a.isNumeric(d.max) ? d.max : b.getDynamicOption(c, d.max) : null,
j = !0,
k = d.message || FormValidation.I18n[e].choice["default"];
switch ((h && g < parseInt(h, 10) || i && g > parseInt(i, 10)) && (j = !1), !0) {
case !!h && !!i:
k = FormValidation.Helper.format(d.message || FormValidation.I18n[e].choice.between, [parseInt(h, 10), parseInt(i, 10)]);
break;
case !!h:
k = FormValidation.Helper.format(d.message || FormValidation.I18n[e].choice.less, parseInt(h, 10));
break;
case !!i:
k = FormValidation.Helper.format(d.message || FormValidation.I18n[e].choice.more, parseInt(i, 10))
}
return {
valid: j,
message: k
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
color: {
"default": "Please enter a valid color"
}
}
}), FormValidation.Validator.color = {
html5Attributes: {
message: "message",
type: "type"
},
enableByHtml5: function(a) {
return "color" === a.attr("type")
},
SUPPORTED_TYPES: ["hex", "rgb", "rgba", "hsl", "hsla", "keyword"],
KEYWORD_COLORS: ["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkgrey", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkslategrey", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dimgrey", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "gainsboro", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "grey", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightgrey", "lightpink", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightslategrey", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "slategrey", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "transparent", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen"],
validate: function(b, c, d) {
var e = b.getFieldValue(c, "color");
if ("" === e) return !0;
if (this.enableByHtml5(c)) return /^#[0-9A-F]{6}$/i.test(e);
var f = d.type || this.SUPPORTED_TYPES;
a.isArray(f) || (f = f.replace(/s/g, "").split(","));
for (var g, h, i = !1, j = 0;j < f.length;j++)
if (h = f[j], g = "_" + h.toLowerCase(), i = i || this[g](e)) return !0;
return !1
},
_hex: function(a) {
return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)
},
_hsl: function(a) {
return /^hsl\((\s*(-?\d+)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*)\)$/.test(a)
},
_hsla: function(a) {
return /^hsla\((\s*(-?\d+)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*,){2}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/.test(a)
},
_keyword: function(b) {
return a.inArray(b, this.KEYWORD_COLORS) >= 0
},
_rgb: function(a) {
var b = /^rgb\((\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*,){2}(\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*)\)$/,
c = /^rgb\((\s*(\b(0?\d{1,2}|100)\b%)\s*,){2}(\s*(\b(0?\d{1,2}|100)\b%)\s*)\)$/;
return b.test(a) || c.test(a)
},
_rgba: function(a) {
var b = /^rgba\((\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*,){3}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/,
c = /^rgba\((\s*(\b(0?\d{1,2}|100)\b%)\s*,){3}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/;
return b.test(a) || c.test(a)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
creditCard: {
"default": "Please enter a valid credit card number"
}
}
}), FormValidation.Validator.creditCard = {
validate: function(b, c) {
var d = b.getFieldValue(c, "creditCard");
if ("" === d) return !0;
if (/[^0-9-\s]+/.test(d)) return !1;
if (d = d.replace(/\D/g, ""), !FormValidation.Helper.luhn(d)) return !1;
var e, f, g = {
AMERICAN_EXPRESS: {
length: [15],
prefix: ["34", "37"]
},
DINERS_CLUB: {
length: [14],
prefix: ["300", "301", "302", "303", "304", "305", "36"]
},
DINERS_CLUB_US: {
length: [16],
prefix: ["54", "55"]
},
DISCOVER: {
length: [16],
prefix: ["6011", "622126", "622127", "622128", "622129", "62213", "62214", "62215", "62216", "62217", "62218", "62219", "6222", "6223", "6224", "6225", "6226", "6227", "6228", "62290", "62291", "622920", "622921", "622922", "622923", "622924", "622925", "644", "645", "646", "647", "648", "649", "65"]
},
JCB: {
length: [16],
prefix: ["3528", "3529", "353", "354", "355", "356", "357", "358"]
},
LASER: {
length: [16, 17, 18, 19],
prefix: ["6304", "6706", "6771", "6709"]
},
MAESTRO: {
length: [12, 13, 14, 15, 16, 17, 18, 19],
prefix: ["5018", "5020", "5038", "6304", "6759", "6761", "6762", "6763", "6764", "6765", "6766"]
},
MASTERCARD: {
length: [16],
prefix: ["51", "52", "53", "54", "55"]
},
SOLO: {
length: [16, 18, 19],
prefix: ["6334", "6767"]
},
UNIONPAY: {
length: [16, 17, 18, 19],
prefix: ["622126", "622127", "622128", "622129", "62213", "62214", "62215", "62216", "62217", "62218", "62219", "6222", "6223", "6224", "6225", "6226", "6227", "6228", "62290", "62291", "622920", "622921", "622922", "622923", "622924", "622925"]
},
VISA: {
length: [16],
prefix: ["4"]
}
};
for (e in g)
for (f in g[e].prefix)
if (d.substr(0, g[e].prefix[f].length) === g[e].prefix[f] && -1 !== a.inArray(d.length, g[e].length)) return {
valid: !0,
type: e
};
return !1
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
cusip: {
"default": "Please enter a valid CUSIP number"
}
}
}), FormValidation.Validator.cusip = {
validate: function(b, c) {
var d = b.getFieldValue(c, "cusip");
if ("" === d) return !0;
if (d = d.toUpperCase(), !/^[0-9A-Z]{9}$/.test(d)) return !1;
for (var e = a.map(d.split(""), function(a) {
var b = a.charCodeAt(0);
return b >= "A".charCodeAt(0) && b <= "Z".charCodeAt(0) ? b - "A".charCodeAt(0) + 10 : a
}), f = e.length, g = 0, h = 0;f - 1 > h;h++) {
var i = parseInt(e[h], 10);
h % 2 !== 0 && (i *= 2), i > 9 && (i -= 9), g += i
}
return g = (10 - g % 10) % 10, g === parseInt(e[f - 1], 10)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
cvv: {
"default": "Please enter a valid CVV number"
}
}
}), FormValidation.Validator.cvv = {
html5Attributes: {
message: "message",
ccfield: "creditCardField"
},
init: function(a, b, c) {
if (c.creditCardField) {
var d = a.getFieldElements(c.creditCardField);
a.onLiveChange(d, "live_cvv", function() {
var c = a.getStatus(b, "cvv");
c !== a.STATUS_NOT_VALIDATED && a.revalidateField(b)
})
}
},
destroy: function(a, b, c) {
if (c.creditCardField) {
var d = a.getFieldElements(c.creditCardField);
a.offLiveChange(d, "live_cvv")
}
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "cvv");
if ("" === e) return !0;
if (!/^[0-9]{3,4}$/.test(e)) return !1;
if (!d.creditCardField) return !0;
var f = b.getFieldElements(d.creditCardField).val();
if ("" === f) return !0;
f = f.replace(/\D/g, "");
var g, h, i = {
AMERICAN_EXPRESS: {
length: [15],
prefix: ["34", "37"]
},
DINERS_CLUB: {
length: [14],
prefix: ["300", "301", "302", "303", "304", "305", "36"]
},
DINERS_CLUB_US: {
length: [16],
prefix: ["54", "55"]
},
DISCOVER: {
length: [16],
prefix: ["6011", "622126", "622127", "622128", "622129", "62213", "62214", "62215", "62216", "62217", "62218", "62219", "6222", "6223", "6224", "6225", "6226", "6227", "6228", "62290", "62291", "622920", "622921", "622922", "622923", "622924", "622925", "644", "645", "646", "647", "648", "649", "65"]
},
JCB: {
length: [16],
prefix: ["3528", "3529", "353", "354", "355", "356", "357", "358"]
},
LASER: {
length: [16, 17, 18, 19],
prefix: ["6304", "6706", "6771", "6709"]
},
MAESTRO: {
length: [12, 13, 14, 15, 16, 17, 18, 19],
prefix: ["5018", "5020", "5038", "6304", "6759", "6761", "6762", "6763", "6764", "6765", "6766"]
},
MASTERCARD: {
length: [16],
prefix: ["51", "52", "53", "54", "55"]
},
SOLO: {
length: [16, 18, 19],
prefix: ["6334", "6767"]
},
UNIONPAY: {
length: [16, 17, 18, 19],
prefix: ["622126", "622127", "622128", "622129", "62213", "62214", "62215", "62216", "62217", "62218", "62219", "6222", "6223", "6224", "6225", "6226", "6227", "6228", "62290", "62291", "622920", "622921", "622922", "622923", "622924", "622925"]
},
VISA: {
length: [16],
prefix: ["4"]
}
},
j = null;
for (g in i)
for (h in i[g].prefix)
if (f.substr(0, i[g].prefix[h].length) === i[g].prefix[h] && -1 !== a.inArray(f.length, i[g].length)) {
j = g;
break
}
return null === j ? !1 : "AMERICAN_EXPRESS" === j ? 4 === e.length : 3 === e.length
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
date: {
"default": "Please enter a valid date",
min: "Please enter a date after %s",
max: "Please enter a date before %s",
range: "Please enter a date in the range %s - %s"
}
}
}), FormValidation.Validator.date = {
html5Attributes: {
message: "message",
format: "format",
min: "min",
max: "max",
separator: "separator"
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "date");
if ("" === e) return !0;
d.format = d.format || "MM/DD/YYYY", "date" === c.attr("type") && (d.format = "YYYY-MM-DD");
var f = b.getLocale(),
g = d.message || FormValidation.I18n[f].date["default"],
h = d.format.split(" "),
i = h[0],
j = h.length > 1 ? h[1] : null,
k = h.length > 2 ? h[2] : null,
l = e.split(" "),
m = l[0],
n = l.length > 1 ? l[1] : null;
if (h.length !== l.length) return {
valid: !1,
message: g
};
var o = d.separator;
if (o || (o = -1 !== m.indexOf("/") ? "/" : -1 !== m.indexOf("-") ? "-" : -1 !== m.indexOf(".") ? "." : null), null === o || -1 === m.indexOf(o)) return {
valid: !1,
message: g
};
if (m = m.split(o), i = i.split(o), m.length !== i.length) return {
valid: !1,
message: g
};
var p = m[a.inArray("YYYY", i)],
q = m[a.inArray("MM", i)],
r = m[a.inArray("DD", i)];
if (!p || !q || !r || 4 !== p.length) return {
valid: !1,
message: g
};
var s = null,
t = null,
u = null;
if (j) {
if (j = j.split(":"), n = n.split(":"), j.length !== n.length) return {
valid: !1,
message: g
};
if (t = n.length > 0 ? n[0] : null, s = n.length > 1 ? n[1] : null, u = n.length > 2 ? n[2] : null, "" === t || "" === s || "" === u) return {
valid: !1,
message: g
};
if (u) {
if (isNaN(u) || u.length > 2) return {
valid: !1,
message: g
};
if (u = parseInt(u, 10), 0 > u || u > 60) return {
valid: !1,
message: g
}
}
if (t) {
if (isNaN(t) || t.length > 2) return {
valid: !1,
message: g
};
if (t = parseInt(t, 10), 0 > t || t >= 24 || k && t > 12) return {
valid: !1,
message: g
}
}
if (s) {
if (isNaN(s) || s.length > 2) return {
valid: !1,
message: g
};
if (s = parseInt(s, 10), 0 > s || s > 59) return {
valid: !1,
message: g
}
}
}
var v = FormValidation.Helper.date(p, q, r),
w = null,
x = null,
y = d.min,
z = d.max;
switch (y && (isNaN(Date.parse(y)) && (y = b.getDynamicOption(c, y)), w = y instanceof Date ? y : this._parseDate(y, i, o), y = y instanceof Date ? this._formatDate(y, d.format) : y), z && (isNaN(Date.parse(z)) && (z = b.getDynamicOption(c, z)), x = z instanceof Date ? z : this._parseDate(z, i, o), z = z instanceof Date ? this._formatDate(z, d.format) : z), m = new Date(p, q - 1, r, t, s, u), !0) {
case y && !z && v:
v = m.getTime() >= w.getTime(), g = d.message || FormValidation.Helper.format(FormValidation.I18n[f].date.min, y);
break;
case z && !y && v:
v = m.getTime() <= x.getTime(), g = d.message || FormValidation.Helper.format(FormValidation.I18n[f].date.max, z);
break;
case z && y && v:
v = m.getTime() <= x.getTime() && m.getTime() >= w.getTime(), g = d.message || FormValidation.Helper.format(FormValidation.I18n[f].date.range, [y, z])
}
return {
valid: v,
date: m,
message: g
}
},
_parseDate: function(b, c, d) {
var e = 0,
f = 0,
g = 0,
h = b.split(" "),
i = h[0],
j = h.length > 1 ? h[1] : null;
i = i.split(d);
var k = i[a.inArray("YYYY", c)],
l = i[a.inArray("MM", c)],
m = i[a.inArray("DD", c)];
return j && (j = j.split(":"), f = j.length > 0 ? j[0] : null, e = j.length > 1 ? j[1] : null, g = j.length > 2 ? j[2] : null), new Date(k, l - 1, m, f, e, g)
},
_formatDate: function(a, b) {
b = b.replace(/Y/g, "y").replace(/M/g, "m").replace(/D/g, "d").replace(/:m/g, ":M").replace(/:mm/g, ":MM").replace(/:S/, ":s").replace(/:SS/, ":ss");
var c = {
d: function(a) {
return a.getDate()
},
dd: function(a) {
var b = a.getDate();
return 10 > b ? "0" + b : b
},
m: function(a) {
return a.getMonth() + 1
},
mm: function(a) {
var b = a.getMonth() + 1;
return 10 > b ? "0" + b : b
},
yy: function(a) {
return ("" + a.getFullYear()).substr(2)
},
yyyy: function(a) {
return a.getFullYear()
},
h: function(a) {
return a.getHours() % 12 || 12
},
hh: function(a) {
var b = a.getHours() % 12 || 12;
return 10 > b ? "0" + b : b
},
H: function(a) {
return a.getHours()
},
HH: function(a) {
var b = a.getHours();
return 10 > b ? "0" + b : b
},
M: function(a) {
return a.getMinutes()
},
MM: function(a) {
var b = a.getMinutes();
return 10 > b ? "0" + b : b
},
s: function(a) {
return a.getSeconds()
},
ss: function(a) {
var b = a.getSeconds();
return 10 > b ? "0" + b : b
}
};
return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\1?|"[^"]*"|'[^']*'/g, function(b) {
return c[b] ? c[b](a) : b.slice(1, b.length - 1)
})
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
different: {
"default": "Please enter a different value"
}
}
}), FormValidation.Validator.different = {
html5Attributes: {
message: "message",
field: "field"
},
init: function(a, b, c) {
for (var d = c.field.split(","), e = 0;e < d.length;e++) {
var f = a.getFieldElements(d[e]);
a.onLiveChange(f, "live_different", function() {
var c = a.getStatus(b, "different");
c !== a.STATUS_NOT_VALIDATED && a.revalidateField(b)
})
}
},
destroy: function(a, b, c) {
for (var d = c.field.split(","), e = 0;e < d.length;e++) {
var f = a.getFieldElements(d[e]);
a.offLiveChange(f, "live_different")
}
},
validate: function(a, b, c) {
var d = a.getFieldValue(b, "different");
if ("" === d) return !0;
for (var e = c.field.split(","), f = !0, g = 0;g < e.length;g++) {
var h = a.getFieldElements(e[g]);
if (null != h && 0 !== h.length) {
var i = a.getFieldValue(h, "different");
d === i ? f = !1 : "" !== i && a.updateStatus(h, a.STATUS_VALID, "different")
}
}
return f
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
digits: {
"default": "Please enter only digits"
}
}
}), FormValidation.Validator.digits = {
validate: function(a, b) {
var c = a.getFieldValue(b, "digits");
return "" === c ? !0 : /^\d+$/.test(c)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
ean: {
"default": "Please enter a valid EAN number"
}
}
}), FormValidation.Validator.ean = {
validate: function(a, b) {
var c = a.getFieldValue(b, "ean");
if ("" === c) return !0;
if (!/^(\d{8}|\d{12}|\d{13})$/.test(c)) return !1;
for (var d = c.length, e = 0, f = 8 === d ? [3, 1] : [1, 3], g = 0;d - 1 > g;g++) e += parseInt(c.charAt(g), 10) * f[g % 2];
return e = (10 - e % 10) % 10, e + "" === c.charAt(d - 1)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
ein: {
"default": "Please enter a valid EIN number"
}
}
}), FormValidation.Validator.ein = {
CAMPUS: {
ANDOVER: ["10", "12"],
ATLANTA: ["60", "67"],
AUSTIN: ["50", "53"],
BROOKHAVEN: ["01", "02", "03", "04", "05", "06", "11", "13", "14", "16", "21", "22", "23", "25", "34", "51", "52", "54", "55", "56", "57", "58", "59", "65"],
CINCINNATI: ["30", "32", "35", "36", "37", "38", "61"],
FRESNO: ["15", "24"],
KANSAS_CITY: ["40", "44"],
MEMPHIS: ["94", "95"],
OGDEN: ["80", "90"],
PHILADELPHIA: ["33", "39", "41", "42", "43", "46", "48", "62", "63", "64", "66", "68", "71", "72", "73", "74", "75", "76", "77", "81", "82", "83", "84", "85", "86", "87", "88", "91", "92", "93", "98", "99"],
INTERNET: ["20", "26", "27", "45", "46"],
SMALL_BUSINESS_ADMINISTRATION: ["31"]
},
validate: function(b, c) {
var d = b.getFieldValue(c, "ein");
if ("" === d) return !0;
if (!/^[0-9]{2}-?[0-9]{7}$/.test(d)) return !1;
var e = d.substr(0, 2) + "";
for (var f in this.CAMPUS)
if (-1 !== a.inArray(e, this.CAMPUS[f])) return {
valid: !0,
campus: f
};
return !1
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
emailAddress: {
"default": "Please enter a valid email address"
}
}
}), FormValidation.Validator.emailAddress = {
html5Attributes: {
message: "message",
multiple: "multiple",
separator: "separator"
},
enableByHtml5: function(a) {
return "email" === a.attr("type")
},
validate: function(a, b, c) {
var d = a.getFieldValue(b, "emailAddress");
if ("" === d) return !0;
var e = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@[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])?)*$/,
f = c.multiple === !0 || "true" === c.multiple;
if (f) {
for (var g = c.separator || /[,;]/, h = this._splitEmailAddresses(d, g), i = 0;i < h.length;i++)
if (!e.test(h[i])) return !1;
return !0
}
return e.test(d)
},
_splitEmailAddresses: function(a, b) {
for (var c = a.split(/"/), d = c.length, e = [], f = "", g = 0;d > g;g++)
if (g % 2 === 0) {
var h = c[g].split(b),
i = h.length;
if (1 === i) f += h[0];
else {
e.push(f + h[0]);
for (var j = 1;i - 1 > j;j++) e.push(h[j]);
f = h[i - 1]
}
} else f += '"' + c[g], d - 1 > g && (f += '"');
return e.push(f), e
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
file: {
"default": "Please choose a valid file"
}
}
}), FormValidation.Validator.file = {
html5Attributes: {
extension: "extension",
maxfiles: "maxFiles",
minfiles: "minFiles",
maxsize: "maxSize",
minsize: "minSize",
maxtotalsize: "maxTotalSize",
mintotalsize: "minTotalSize",
message: "message",
type: "type"
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "file");
if ("" === e) return !0;
var f, g = d.extension ? d.extension.toLowerCase().split(",") : null,
h = d.type ? d.type.toLowerCase().split(",") : null,
i = window.File && window.FileList && window.FileReader;
if (i) {
var j = c.get(0).files,
k = j.length,
l = 0;
if (d.maxFiles && k > parseInt(d.maxFiles, 10) || d.minFiles && k < parseInt(d.minFiles, 10)) return !1;
for (var m = 0;k > m;m++)
if (l += j[m].size, f = j[m].name.substr(j[m].name.lastIndexOf(".") + 1), d.minSize && j[m].size < parseInt(d.minSize, 10) || d.maxSize && j[m].size > parseInt(d.maxSize, 10) || g && -1 === a.inArray(f.toLowerCase(), g) || j[m].type && h && -1 === a.inArray(j[m].type.toLowerCase(), h)) return !1;
if (d.maxTotalSize && l > parseInt(d.maxTotalSize, 10) || d.minTotalSize && l < parseInt(d.minTotalSize, 10)) return !1
} else if (f = e.substr(e.lastIndexOf(".") + 1), g && -1 === a.inArray(f.toLowerCase(), g)) return !1;
return !0
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
greaterThan: {
"default": "Please enter a value greater than or equal to %s",
notInclusive: "Please enter a value greater than %s"
}
}
}), FormValidation.Validator.greaterThan = {
html5Attributes: {
message: "message",
value: "value",
inclusive: "inclusive"
},
enableByHtml5: function(a) {
var b = a.attr("type"),
c = a.attr("min");
return c && "date" !== b ? {
value: c
} : !1
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "greaterThan");
if ("" === e) return !0;
if (e = this._format(e), !a.isNumeric(e)) return !1;
var f = b.getLocale(),
g = a.isNumeric(d.value) ? d.value : b.getDynamicOption(c, d.value),
h = this._format(g);
return e = parseFloat(e), d.inclusive === !0 || void 0 === d.inclusive ? {
valid: e >= h,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].greaterThan["default"], g)
} : {
valid: e > h,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].greaterThan.notInclusive, g)
}
},
_format: function(a) {
return (a + "").replace(",", ".")
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
grid: {
"default": "Please enter a valid GRId number"
}
}
}), FormValidation.Validator.grid = {
validate: function(a, b) {
var c = a.getFieldValue(b, "grid");
return "" === c ? !0 : (c = c.toUpperCase(), /^[GRID:]*([0-9A-Z]{2})[-\s]*([0-9A-Z]{5})[-\s]*([0-9A-Z]{10})[-\s]*([0-9A-Z]{1})$/g.test(c) ? (c = c.replace(/\s/g, "").replace(/-/g, ""), "GRID:" === c.substr(0, 5) && (c = c.substr(5)), FormValidation.Helper.mod37And36(c)) : !1)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
hex: {
"default": "Please enter a valid hexadecimal number"
}
}
}), FormValidation.Validator.hex = {
validate: function(a, b) {
var c = a.getFieldValue(b, "hex");
return "" === c ? !0 : /^[0-9a-fA-F]+$/.test(c)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
iban: {
"default": "Please enter a valid IBAN number",
country: "Please enter a valid IBAN number in %s",
countries: {
AD: "Andorra",
AE: "United Arab Emirates",
AL: "Albania",
AO: "Angola",
AT: "Austria",
AZ: "Azerbaijan",
BA: "Bosnia and Herzegovina",
BE: "Belgium",
BF: "Burkina Faso",
BG: "Bulgaria",
BH: "Bahrain",
BI: "Burundi",
BJ: "Benin",
BR: "Brazil",
CH: "Switzerland",
CI: "Ivory Coast",
CM: "Cameroon",
CR: "Costa Rica",
CV: "Cape Verde",
CY: "Cyprus",
CZ: "Czech Republic",
DE: "Germany",
DK: "Denmark",
DO: "Dominican Republic",
DZ: "Algeria",
EE: "Estonia",
ES: "Spain",
FI: "Finland",
FO: "Faroe Islands",
FR: "France",
GB: "United Kingdom",
GE: "Georgia",
GI: "Gibraltar",
GL: "Greenland",
GR: "Greece",
GT: "Guatemala",
HR: "Croatia",
HU: "Hungary",
IE: "Ireland",
IL: "Israel",
IR: "Iran",
IS: "Iceland",
IT: "Italy",
JO: "Jordan",
KW: "Kuwait",
KZ: "Kazakhstan",
LB: "Lebanon",
LI: "Liechtenstein",
LT: "Lithuania",
LU: "Luxembourg",
LV: "Latvia",
MC: "Monaco",
MD: "Moldova",
ME: "Montenegro",
MG: "Madagascar",
MK: "Macedonia",
ML: "Mali",
MR: "Mauritania",
MT: "Malta",
MU: "Mauritius",
MZ: "Mozambique",
NL: "Netherlands",
NO: "Norway",
PK: "Pakistan",
PL: "Poland",
PS: "Palestine",
PT: "Portugal",
QA: "Qatar",
RO: "Romania",
RS: "Serbia",
SA: "Saudi Arabia",
SE: "Sweden",
SI: "Slovenia",
SK: "Slovakia",
SM: "San Marino",
SN: "Senegal",
TL: "East Timor",
TN: "Tunisia",
TR: "Turkey",
VG: "Virgin Islands, British",
XK: "Republic of Kosovo"
}
}
}
}), FormValidation.Validator.iban = {
html5Attributes: {
message: "message",
country: "country",
sepa: "sepa"
},
REGEX: {
AD: "AD[0-9]{2}[0-9]{4}[0-9]{4}[A-Z0-9]{12}",
AE: "AE[0-9]{2}[0-9]{3}[0-9]{16}",
AL: "AL[0-9]{2}[0-9]{8}[A-Z0-9]{16}",
AO: "AO[0-9]{2}[0-9]{21}",
AT: "AT[0-9]{2}[0-9]{5}[0-9]{11}",
AZ: "AZ[0-9]{2}[A-Z]{4}[A-Z0-9]{20}",
BA: "BA[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{8}[0-9]{2}",
BE: "BE[0-9]{2}[0-9]{3}[0-9]{7}[0-9]{2}",
BF: "BF[0-9]{2}[0-9]{23}",
BG: "BG[0-9]{2}[A-Z]{4}[0-9]{4}[0-9]{2}[A-Z0-9]{8}",
BH: "BH[0-9]{2}[A-Z]{4}[A-Z0-9]{14}",
BI: "BI[0-9]{2}[0-9]{12}",
BJ: "BJ[0-9]{2}[A-Z]{1}[0-9]{23}",
BR: "BR[0-9]{2}[0-9]{8}[0-9]{5}[0-9]{10}[A-Z][A-Z0-9]",
CH: "CH[0-9]{2}[0-9]{5}[A-Z0-9]{12}",
CI: "CI[0-9]{2}[A-Z]{1}[0-9]{23}",
CM: "CM[0-9]{2}[0-9]{23}",
CR: "CR[0-9]{2}[0-9]{3}[0-9]{14}",
CV: "CV[0-9]{2}[0-9]{21}",
CY: "CY[0-9]{2}[0-9]{3}[0-9]{5}[A-Z0-9]{16}",
CZ: "CZ[0-9]{2}[0-9]{20}",
DE: "DE[0-9]{2}[0-9]{8}[0-9]{10}",
DK: "DK[0-9]{2}[0-9]{14}",
DO: "DO[0-9]{2}[A-Z0-9]{4}[0-9]{20}",
DZ: "DZ[0-9]{2}[0-9]{20}",
EE: "EE[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{11}[0-9]{1}",
ES: "ES[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{1}[0-9]{1}[0-9]{10}",
FI: "FI[0-9]{2}[0-9]{6}[0-9]{7}[0-9]{1}",
FO: "FO[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",
FR: "FR[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",
GB: "GB[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",
GE: "GE[0-9]{2}[A-Z]{2}[0-9]{16}",
GI: "GI[0-9]{2}[A-Z]{4}[A-Z0-9]{15}",
GL: "GL[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",
GR: "GR[0-9]{2}[0-9]{3}[0-9]{4}[A-Z0-9]{16}",
GT: "GT[0-9]{2}[A-Z0-9]{4}[A-Z0-9]{20}",
HR: "HR[0-9]{2}[0-9]{7}[0-9]{10}",
HU: "HU[0-9]{2}[0-9]{3}[0-9]{4}[0-9]{1}[0-9]{15}[0-9]{1}",
IE: "IE[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",
IL: "IL[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{13}",
IR: "IR[0-9]{2}[0-9]{22}",
IS: "IS[0-9]{2}[0-9]{4}[0-9]{2}[0-9]{6}[0-9]{10}",
IT: "IT[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",
JO: "JO[0-9]{2}[A-Z]{4}[0-9]{4}[0]{8}[A-Z0-9]{10}",
KW: "KW[0-9]{2}[A-Z]{4}[0-9]{22}",
KZ: "KZ[0-9]{2}[0-9]{3}[A-Z0-9]{13}",
LB: "LB[0-9]{2}[0-9]{4}[A-Z0-9]{20}",
LI: "LI[0-9]{2}[0-9]{5}[A-Z0-9]{12}",
LT: "LT[0-9]{2}[0-9]{5}[0-9]{11}",
LU: "LU[0-9]{2}[0-9]{3}[A-Z0-9]{13}",
LV: "LV[0-9]{2}[A-Z]{4}[A-Z0-9]{13}",
MC: "MC[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",
MD: "MD[0-9]{2}[A-Z0-9]{20}",
ME: "ME[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",
MG: "MG[0-9]{2}[0-9]{23}",
MK: "MK[0-9]{2}[0-9]{3}[A-Z0-9]{10}[0-9]{2}",
ML: "ML[0-9]{2}[A-Z]{1}[0-9]{23}",
MR: "MR13[0-9]{5}[0-9]{5}[0-9]{11}[0-9]{2}",
MT: "MT[0-9]{2}[A-Z]{4}[0-9]{5}[A-Z0-9]{18}",
MU: "MU[0-9]{2}[A-Z]{4}[0-9]{2}[0-9]{2}[0-9]{12}[0-9]{3}[A-Z]{3}",
MZ: "MZ[0-9]{2}[0-9]{21}",
NL: "NL[0-9]{2}[A-Z]{4}[0-9]{10}",
NO: "NO[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{1}",
PK: "PK[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",
PL: "PL[0-9]{2}[0-9]{8}[0-9]{16}",
PS: "PS[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",
PT: "PT[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{11}[0-9]{2}",
QA: "QA[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",
RO: "RO[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",
RS: "RS[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",
SA: "SA[0-9]{2}[0-9]{2}[A-Z0-9]{18}",
SE: "SE[0-9]{2}[0-9]{3}[0-9]{16}[0-9]{1}",
SI: "SI[0-9]{2}[0-9]{5}[0-9]{8}[0-9]{2}",
SK: "SK[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{10}",
SM: "SM[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",
SN: "SN[0-9]{2}[A-Z]{1}[0-9]{23}",
TL: "TL38[0-9]{3}[0-9]{14}[0-9]{2}",
TN: "TN59[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",
TR: "TR[0-9]{2}[0-9]{5}[A-Z0-9]{1}[A-Z0-9]{16}",
VG: "VG[0-9]{2}[A-Z]{4}[0-9]{16}",
XK: "XK[0-9]{2}[0-9]{4}[0-9]{10}[0-9]{2}"
},
SEPA_COUNTRIES: ["AT", "BE", "BG", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GI", "GR", "HR", "HU", "IE", "IS", "IT", "LI", "LT", "LU", "LV", "MC", "MT", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "SK", "SM"],
validate: function(b, c, d) {
var e = b.getFieldValue(c, "iban");
if ("" === e) return !0;
e = e.replace(/[^a-zA-Z0-9]/g, "").toUpperCase();
var f = d.country;
f ? "string" == typeof f && this.REGEX[f] || (f = b.getDynamicOption(c, f)) : f = e.substr(0, 2);
var g = b.getLocale();
if (!this.REGEX[f]) return !1;
if (void 0 !== typeof d.sepa) {
var h = -1 !== a.inArray(f, this.SEPA_COUNTRIES);
if (("true" === d.sepa || d.sepa === !0) && !h || ("false" === d.sepa || d.sepa === !1) && h) return !1
}
if (!new RegExp("^" + this.REGEX[f] + "$").test(e)) return {
valid: !1,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[g].iban.country, FormValidation.I18n[g].iban.countries[f])
};
e = e.substr(4) + e.substr(0, 4), e = a.map(e.split(""), function(a) {
var b = a.charCodeAt(0);
return b >= "A".charCodeAt(0) && b <= "Z".charCodeAt(0) ? b - "A".charCodeAt(0) + 10 : a
}), e = e.join("");
for (var i = parseInt(e.substr(0, 1), 10), j = e.length, k = 1;j > k;++k) i = (10 * i + parseInt(e.substr(k, 1), 10)) % 97;
return {
valid: 1 === i,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[g].iban.country, FormValidation.I18n[g].iban.countries[f])
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
id: {
"default": "Please enter a valid identification number",
country: "Please enter a valid identification number in %s",
countries: {
BA: "Bosnia and Herzegovina",
BG: "Bulgaria",
BR: "Brazil",
CH: "Switzerland",
CL: "Chile",
CN: "China",
CZ: "Czech Republic",
DK: "Denmark",
EE: "Estonia",
ES: "Spain",
FI: "Finland",
HR: "Croatia",
IE: "Ireland",
IS: "Iceland",
LT: "Lithuania",
LV: "Latvia",
ME: "Montenegro",
MK: "Macedonia",
NL: "Netherlands",
PL: "Poland",
RO: "Romania",
RS: "Serbia",
SE: "Sweden",
SI: "Slovenia",
SK: "Slovakia",
SM: "San Marino",
TH: "Thailand",
ZA: "South Africa"
}
}
}
}), FormValidation.Validator.id = {
html5Attributes: {
message: "message",
country: "country"
},
COUNTRY_CODES: ["BA", "BG", "BR", "CH", "CL", "CN", "CZ", "DK", "EE", "ES", "FI", "HR", "IE", "IS", "LT", "LV", "ME", "MK", "NL", "PL", "RO", "RS", "SE", "SI", "SK", "SM", "TH", "ZA"],
validate: function(b, c, d) {
var e = b.getFieldValue(c, "id");
if ("" === e) return !0;
var f = b.getLocale(),
g = d.country;
if (g ? ("string" != typeof g || -1 === a.inArray(g.toUpperCase(), this.COUNTRY_CODES)) && (g = b.getDynamicOption(c, g)) : g = e.substr(0, 2), -1 === a.inArray(g, this.COUNTRY_CODES)) return !0;
var h = ["_", g.toLowerCase()].join("");
return this[h](e) ? !0 : {
valid: !1,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].id.country, FormValidation.I18n[f].id.countries[g.toUpperCase()])
}
},
_validateJMBG: function(a, b) {
if (!/^\d{13}$/.test(a)) return !1;
var c = parseInt(a.substr(0, 2), 10),
d = parseInt(a.substr(2, 2), 10),
e = (parseInt(a.substr(4, 3), 10), parseInt(a.substr(7, 2), 10)),
f = parseInt(a.substr(12, 1), 10);
if (c > 31 || d > 12) return !1;
for (var g = 0, h = 0;6 > h;h++) g += (7 - h) * (parseInt(a.charAt(h), 10) + parseInt(a.charAt(h + 6), 10));
if (g = 11 - g % 11, (10 === g || 11 === g) && (g = 0), g !== f) return !1;
switch (b.toUpperCase()) {
case "BA":
return e >= 10 && 19 >= e;
case "MK":
return e >= 41 && 49 >= e;
case "ME":
return e >= 20 && 29 >= e;
case "RS":
return e >= 70 && 99 >= e;
case "SI":
return e >= 50 && 59 >= e;
default:
return !0
}
},
_ba: function(a) {
return this._validateJMBG(a, "BA")
},
_mk: function(a) {
return this._validateJMBG(a, "MK")
},
_me: function(a) {
return this._validateJMBG(a, "ME")
},
_rs: function(a) {
return this._validateJMBG(a, "RS")
},
_si: function(a) {
return this._validateJMBG(a, "SI")
},
_bg: function(a) {
if (!/^\d{10}$/.test(a) && !/^\d{6}\s\d{3}\s\d{1}$/.test(a)) return !1;
a = a.replace(/\s/g, "");
var b = parseInt(a.substr(0, 2), 10) + 1900,
c = parseInt(a.substr(2, 2), 10),
d = parseInt(a.substr(4, 2), 10);
if (c > 40 ? (b += 100, c -= 40) : c > 20 && (b -= 100, c -= 20), !FormValidation.Helper.date(b, c, d)) return !1;
for (var e = 0, f = [2, 4, 8, 5, 10, 9, 7, 3, 6], g = 0;9 > g;g++) e += parseInt(a.charAt(g), 10) * f[g];
return e = e % 11 % 10, e + "" === a.substr(9, 1)
},
_br: function(a) {
if (a = a.replace(/\D/g, ""), !/^\d{11}$/.test(a) || /^1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}$/.test(a)) return !1;
for (var b = 0, c = 0;9 > c;c++) b += (10 - c) * parseInt(a.charAt(c), 10);
if (b = 11 - b % 11, (10 === b || 11 === b) && (b = 0), b + "" !== a.charAt(9)) return !1;
var d = 0;
for (c = 0;10 > c;c++) d += (11 - c) * parseInt(a.charAt(c), 10);
return d = 11 - d % 11, (10 === d || 11 === d) && (d = 0), d + "" === a.charAt(10)
},
_ch: function(a) {
if (!/^756[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{2}$/.test(a)) return !1;
a = a.replace(/\D/g, "").substr(3);
for (var b = a.length, c = 0, d = 8 === b ? [3, 1] : [1, 3], e = 0;b - 1 > e;e++) c += parseInt(a.charAt(e), 10) * d[e % 2];
return c = 10 - c % 10, c + "" === a.charAt(b - 1)
},
_cl: function(a) {
if (!/^\d{7,8}[-]{0,1}[0-9K]$/i.test(a)) return !1;
for (a = a.replace(/\-/g, "");a.length < 9;) a = "0" + a;
for (var b = 0, c = [3, 2, 7, 6, 5, 4, 3, 2], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b = 11 - b % 11, 11 === b ? b = 0 : 10 === b && (b = "K"), b + "" === a.charAt(8).toUpperCase()
},
_cn: function(b) {
if (b = b.trim(), !/^\d{15}$/.test(b) && !/^\d{17}[\dXx]{1}$/.test(b)) return !1;
var c = {
11: {
0: [0],
1: [
[0, 9],
[11, 17]
],
2: [0, 28, 29]
},
12: {
0: [0],
1: [
[0, 16]
],
2: [0, 21, 23, 25]
},
13: {
0: [0],
1: [
[0, 5], 7, 8, 21, [23, 33],
[81, 85]
],
2: [
[0, 5],
[7, 9],
[23, 25], 27, 29, 30, 81, 83
],
3: [
[0, 4],
[21, 24]
],
4: [
[0, 4], 6, 21, [23, 35], 81
],
5: [
[0, 3],
[21, 35], 81, 82
],
6: [
[0, 4],
[21, 38],
[81, 84]
],
7: [
[0, 3], 5, 6, [21, 33]
],
8: [
[0, 4],
[21, 28]
],
9: [
[0, 3],
[21, 30],
[81, 84]
],
10: [
[0, 3],
[22, 26], 28, 81, 82
],
11: [
[0, 2],
[21, 28], 81, 82
]
},
14: {
0: [0],
1: [0, 1, [5, 10],
[21, 23], 81
],
2: [
[0, 3], 11, 12, [21, 27]
],
3: [
[0, 3], 11, 21, 22
],
4: [
[0, 2], 11, 21, [23, 31], 81
],
5: [
[0, 2], 21, 22, 24, 25, 81
],
6: [
[0, 3],
[21, 24]
],
7: [
[0, 2],
[21, 29], 81
],
8: [
[0, 2],
[21, 30], 81, 82
],
9: [
[0, 2],
[21, 32], 81
],
10: [
[0, 2],
[21, 34], 81, 82
],
11: [
[0, 2],
[21, 30], 81, 82
],
23: [
[0, 3], 22, 23, [25, 30], 32, 33
]
},
15: {
0: [0],
1: [
[0, 5],
[21, 25]
],
2: [
[0, 7],
[21, 23]
],
3: [
[0, 4]
],
4: [
[0, 4],
[21, 26],
[28, 30]
],
5: [
[0, 2],
[21, 26], 81
],
6: [
[0, 2],
[21, 27]
],
7: [
[0, 3],
[21, 27],
[81, 85]
],
8: [
[0, 2],
[21, 26]
],
9: [
[0, 2],
[21, 29], 81
],
22: [
[0, 2],
[21, 24]
],
25: [
[0, 2],
[22, 31]
],
26: [
[0, 2],
[24, 27],
[29, 32], 34
],
28: [0, 1, [22, 27]],
29: [0, [21, 23]]
},
21: {
0: [0],
1: [
[0, 6],
[11, 14],
[22, 24], 81
],
2: [
[0, 4],
[11, 13], 24, [81, 83]
],
3: [
[0, 4], 11, 21, 23, 81
],
4: [
[0, 4], 11, [21, 23]
],
5: [
[0, 5], 21, 22
],
6: [
[0, 4], 24, 81, 82
],
7: [
[0, 3], 11, 26, 27, 81, 82
],
8: [
[0, 4], 11, 81, 82
],
9: [
[0, 5], 11, 21, 22
],
10: [
[0, 5], 11, 21, 81
],
11: [
[0, 3], 21, 22
],
12: [
[0, 2], 4, 21, 23, 24, 81, 82
],
13: [
[0, 3], 21, 22, 24, 81, 82
],
14: [
[0, 4], 21, 22, 81
]
},
22: {
0: [0],
1: [
[0, 6], 12, 22, [81, 83]
],
2: [
[0, 4], 11, 21, [81, 84]
],
3: [
[0, 3], 22, 23, 81, 82
],
4: [
[0, 3], 21, 22
],
5: [
[0, 3], 21, 23, 24, 81, 82
],
6: [
[0, 2], 4, 5, [21, 23], 25, 81
],
7: [
[0, 2],
[21, 24], 81
],
8: [
[0, 2], 21, 22, 81, 82
],
24: [
[0, 6], 24, 26
]
},
23: {
0: [0],
1: [
[0, 12], 21, [23, 29],
[81, 84]
],
2: [
[0, 8], 21, [23, 25], 27, [29, 31], 81
],
3: [
[0, 7], 21, 81, 82
],
4: [
[0, 7], 21, 22
],
5: [
[0, 3], 5, 6, [21, 24]
],
6: [
[0, 6],
[21, 24]
],
7: [
[0, 16], 22, 81
],
8: [
[0, 5], 11, 22, 26, 28, 33, 81, 82
],
9: [
[0, 4], 21
],
10: [
[0, 5], 24, 25, 81, [83, 85]
],
11: [
[0, 2], 21, 23, 24, 81, 82
],
12: [
[0, 2],
[21, 26],
[81, 83]
],
27: [
[0, 4],
[21, 23]
]
},
31: {
0: [0],
1: [0, 1, [3, 10],
[12, 20]
],
2: [0, 30]
},
32: {
0: [0],
1: [
[0, 7], 11, [13, 18], 24, 25
],
2: [
[0, 6], 11, 81, 82
],
3: [
[0, 5], 11, 12, [21, 24], 81, 82
],
4: [
[0, 2], 4, 5, 11, 12, 81, 82
],
5: [
[0, 9],
[81, 85]
],
6: [
[0, 2], 11, 12, 21, 23, [81, 84]
],
7: [0, 1, 3, 5, 6, [21, 24]],
8: [
[0, 4], 11, 26, [29, 31]
],
9: [
[0, 3],
[21, 25], 28, 81, 82
],
10: [
[0, 3], 11, 12, 23, 81, 84, 88
],
11: [
[0, 2], 11, 12, [81, 83]
],
12: [
[0, 4],
[81, 84]
],
13: [
[0, 2], 11, [21, 24]
]
},
33: {
0: [0],
1: [
[0, 6],
[8, 10], 22, 27, 82, 83, 85
],
2: [0, 1, [3, 6], 11, 12, 25, 26, [81, 83]],
3: [
[0, 4], 22, 24, [26, 29], 81, 82
],
4: [
[0, 2], 11, 21, 24, [81, 83]
],
5: [
[0, 3],
[21, 23]
],
6: [
[0, 2], 21, 24, [81, 83]
],
7: [
[0, 3], 23, 26, 27, [81, 84]
],
8: [
[0, 3], 22, 24, 25, 81
],
9: [
[0, 3], 21, 22
],
10: [
[0, 4],
[21, 24], 81, 82
],
11: [
[0, 2],
[21, 27], 81
]
},
34: {
0: [0],
1: [
[0, 4], 11, [21, 24], 81
],
2: [
[0, 4], 7, 8, [21, 23], 25
],
3: [
[0, 4], 11, [21, 23]
],
4: [
[0, 6], 21
],
5: [
[0, 4], 6, [21, 23]
],
6: [
[0, 4], 21
],
7: [
[0, 3], 11, 21
],
8: [
[0, 3], 11, [22, 28], 81
],
10: [
[0, 4],
[21, 24]
],
11: [
[0, 3], 22, [24, 26], 81, 82
],
12: [
[0, 4], 21, 22, 25, 26, 82
],
13: [
[0, 2],
[21, 24]
],
14: [
[0, 2],
[21, 24]
],
15: [
[0, 3],
[21, 25]
],
16: [
[0, 2],
[21, 23]
],
17: [
[0, 2],
[21, 23]
],
18: [
[0, 2],
[21, 25], 81
]
},
35: {
0: [0],
1: [
[0, 5], 11, [21, 25], 28, 81, 82
],
2: [
[0, 6],
[11, 13]
],
3: [
[0, 5], 22
],
4: [
[0, 3], 21, [23, 30], 81
],
5: [
[0, 5], 21, [24, 27],
[81, 83]
],
6: [
[0, 3],
[22, 29], 81
],
7: [
[0, 2],
[21, 25],
[81, 84]
],
8: [
[0, 2],
[21, 25], 81
],
9: [
[0, 2],
[21, 26], 81, 82
]
},
36: {
0: [0],
1: [
[0, 5], 11, [21, 24]
],
2: [
[0, 3], 22, 81
],
3: [
[0, 2], 13, [21, 23]
],
4: [
[0, 3], 21, [23, 30], 81, 82
],
5: [
[0, 2], 21
],
6: [
[0, 2], 22, 81
],
7: [
[0, 2],
[21, 35], 81, 82
],
8: [
[0, 3],
[21, 30], 81
],
9: [
[0, 2],
[21, 26],
[81, 83]
],
10: [
[0, 2],
[21, 30]
],
11: [
[0, 2],
[21, 30], 81
]
},
37: {
0: [0],
1: [
[0, 5], 12, 13, [24, 26], 81
],
2: [
[0, 3], 5, [11, 14],
[81, 85]
],
3: [
[0, 6],
[21, 23]
],
4: [
[0, 6], 81
],
5: [
[0, 3],
[21, 23]
],
6: [
[0, 2],
[11, 13], 34, [81, 87]
],
7: [
[0, 5], 24, 25, [81, 86]
],
8: [
[0, 2], 11, [26, 32],
[81, 83]
],
9: [
[0, 3], 11, 21, 23, 82, 83
],
10: [
[0, 2],
[81, 83]
],
11: [
[0, 3], 21, 22
],
12: [
[0, 3]
],
13: [
[0, 2], 11, 12, [21, 29]
],
14: [
[0, 2],
[21, 28], 81, 82
],
15: [
[0, 2],
[21, 26], 81
],
16: [
[0, 2],
[21, 26]
],
17: [
[0, 2],
[21, 28]
]
},
41: {
0: [0],
1: [
[0, 6], 8, 22, [81, 85]
],
2: [
[0, 5], 11, [21, 25]
],
3: [
[0, 7], 11, [22, 29], 81
],
4: [
[0, 4], 11, [21, 23], 25, 81, 82
],
5: [
[0, 3], 5, 6, 22, 23, 26, 27, 81
],
6: [
[0, 3], 11, 21, 22
],
7: [
[0, 4], 11, 21, [24, 28], 81, 82
],
8: [
[0, 4], 11, [21, 23], 25, [81, 83]
],
9: [
[0, 2], 22, 23, [26, 28]
],
10: [
[0, 2],
[23, 25], 81, 82
],
11: [
[0, 4],
[21, 23]
],
12: [
[0, 2], 21, 22, 24, 81, 82
],
13: [
[0, 3],
[21, 30], 81
],
14: [
[0, 3],
[21, 26], 81
],
15: [
[0, 3],
[21, 28]
],
16: [
[0, 2],
[21, 28], 81
],
17: [
[0, 2],
[21, 29]
],
90: [0, 1]
},
42: {
0: [0],
1: [
[0, 7],
[11, 17]
],
2: [
[0, 5], 22, 81
],
3: [
[0, 3],
[21, 25], 81
],
5: [
[0, 6],
[25, 29],
[81, 83]
],
6: [
[0, 2], 6, 7, [24, 26],
[82, 84]
],
7: [
[0, 4]
],
8: [
[0, 2], 4, 21, 22, 81
],
9: [
[0, 2],
[21, 23], 81, 82, 84
],
10: [
[0, 3],
[22, 24], 81, 83, 87
],
11: [
[0, 2],
[21, 27], 81, 82
],
12: [
[0, 2],
[21, 24], 81
],
13: [
[0, 3], 21, 81
],
28: [
[0, 2], 22, 23, [25, 28]
],
90: [0, [4, 6], 21]
},
43: {
0: [0],
1: [
[0, 5], 11, 12, 21, 22, 24, 81
],
2: [
[0, 4], 11, 21, [23, 25], 81
],
3: [
[0, 2], 4, 21, 81, 82
],
4: [0, 1, [5, 8], 12, [21, 24], 26, 81, 82],
5: [
[0, 3], 11, [21, 25],
[27, 29], 81
],
6: [
[0, 3], 11, 21, 23, 24, 26, 81, 82
],
7: [
[0, 3],
[21, 26], 81
],
8: [
[0, 2], 11, 21, 22
],
9: [
[0, 3],
[21, 23], 81
],
10: [
[0, 3],
[21, 28], 81
],
11: [
[0, 3],
[21, 29]
],
12: [
[0, 2],
[21, 30], 81
],
13: [
[0, 2], 21, 22, 81, 82
],
31: [0, 1, [22, 27], 30]
},
44: {
0: [0],
1: [
[0, 7],
[11, 16], 83, 84
],
2: [
[0, 5], 21, 22, 24, 29, 32, 33, 81, 82
],
3: [0, 1, [3, 8]],
4: [
[0, 4]
],
5: [0, 1, [6, 15], 23, 82, 83],
6: [0, 1, [4, 8]],
7: [0, 1, [3, 5], 81, [83, 85]],
8: [
[0, 4], 11, 23, 25, [81, 83]
],
9: [
[0, 3], 23, [81, 83]
],
12: [
[0, 3],
[23, 26], 83, 84
],
13: [
[0, 3],
[22, 24], 81
],
14: [
[0, 2],
[21, 24], 26, 27, 81
],
15: [
[0, 2], 21, 23, 81
],
16: [
[0, 2],
[21, 25]
],
17: [
[0, 2], 21, 23, 81
],
18: [
[0, 3], 21, 23, [25, 27], 81, 82
],
19: [0],
20: [0],
51: [
[0, 3], 21, 22
],
52: [
[0, 3], 21, 22, 24, 81
],
53: [
[0, 2],
[21, 23], 81
]
},
45: {
0: [0],
1: [
[0, 9],
[21, 27]
],
2: [
[0, 5],
[21, 26]
],
3: [
[0, 5], 11, 12, [21, 32]
],
4: [0, 1, [3, 6], 11, [21, 23], 81],
5: [
[0, 3], 12, 21
],
6: [
[0, 3], 21, 81
],
7: [
[0, 3], 21, 22
],
8: [
[0, 4], 21, 81
],
9: [
[0, 3],
[21, 24], 81
],
10: [
[0, 2],
[21, 31]
],
11: [
[0, 2],
[21, 23]
],
12: [
[0, 2],
[21, 29], 81
],
13: [
[0, 2],
[21, 24], 81
],
14: [
[0, 2],
[21, 25], 81
]
},
46: {
0: [0],
1: [0, 1, [5, 8]],
2: [0, 1],
3: [0, [21, 23]],
90: [
[0, 3],
[5, 7],
[21, 39]
]
},
50: {
0: [0],
1: [
[0, 19]
],
2: [0, [22, 38],
[40, 43]
],
3: [0, [81, 84]]
},
51: {
0: [0],
1: [0, 1, [4, 8],
[12, 15],
[21, 24], 29, 31, 32, [81, 84]
],
3: [
[0, 4], 11, 21, 22
],
4: [
[0, 3], 11, 21, 22
],
5: [
[0, 4], 21, 22, 24, 25
],
6: [0, 1, 3, 23, 26, [81, 83]],
7: [0, 1, 3, 4, [22, 27], 81],
8: [
[0, 2], 11, 12, [21, 24]
],
9: [
[0, 4],
[21, 23]
],
10: [
[0, 2], 11, 24, 25, 28
],
11: [
[0, 2],
[11, 13], 23, 24, 26, 29, 32, 33, 81
],
13: [
[0, 4],
[21, 25], 81
],
14: [
[0, 2],
[21, 25]
],
15: [
[0, 3],
[21, 29]
],
16: [
[0, 3],
[21, 23], 81
],
17: [
[0, 3],
[21, 25], 81
],
18: [
[0, 3],
[21, 27]
],
19: [
[0, 3],
[21, 23]
],
20: [
[0, 2], 21, 22, 81
],
32: [0, [21, 33]],
33: [0, [21, 38]],
34: [0, 1, [22, 37]]
},
52: {
0: [0],
1: [
[0, 3],
[11, 15],
[21, 23], 81
],
2: [0, 1, 3, 21, 22],
3: [
[0, 3],
[21, 30], 81, 82
],
4: [
[0, 2],
[21, 25]
],
5: [
[0, 2],
[21, 27]
],
6: [
[0, 3],
[21, 28]
],
22: [0, 1, [22, 30]],
23: [0, 1, [22, 28]],
24: [0, 1, [22, 28]],
26: [0, 1, [22, 36]],
27: [
[0, 2], 22, 23, [25, 32]
]
},
53: {
0: [0],
1: [
[0, 3],
[11, 14], 21, 22, [24, 29], 81
],
3: [
[0, 2],
[21, 26], 28, 81
],
4: [
[0, 2],
[21, 28]
],
5: [
[0, 2],
[21, 24]
],
6: [
[0, 2],
[21, 30]
],
7: [
[0, 2],
[21, 24]
],
8: [
[0, 2],
[21, 29]
],
9: [
[0, 2],
[21, 27]
],
23: [0, 1, [22, 29], 31],
25: [
[0, 4],
[22, 32]
],
26: [0, 1, [21, 28]],
27: [0, 1, [22, 30]],
28: [0, 1, 22, 23],
29: [0, 1, [22, 32]],
31: [0, 2, 3, [22, 24]],
34: [0, [21, 23]],
33: [0, 21, [23, 25]],
35: [0, [21, 28]]
},
54: {
0: [0],
1: [
[0, 2],
[21, 27]
],
21: [0, [21, 29], 32, 33],
22: [0, [21, 29],
[31, 33]
],
23: [0, 1, [22, 38]],
24: [0, [21, 31]],
25: [0, [21, 27]],
26: [0, [21, 27]]
},
61: {
0: [0],
1: [
[0, 4],
[11, 16], 22, [24, 26]
],
2: [
[0, 4], 22
],
3: [
[0, 4],
[21, 24],
[26, 31]
],
4: [
[0, 4],
[22, 31], 81
],
5: [
[0, 2],
[21, 28], 81, 82
],
6: [
[0, 2],
[21, 32]
],
7: [
[0, 2],
[21, 30]
],
8: [
[0, 2],
[21, 31]
],
9: [
[0, 2],
[21, 29]
],
10: [
[0, 2],
[21, 26]
]
},
62: {
0: [0],
1: [
[0, 5], 11, [21, 23]
],
2: [0, 1],
3: [
[0, 2], 21
],
4: [
[0, 3],
[21, 23]
],
5: [
[0, 3],
[21, 25]
],
6: [
[0, 2],
[21, 23]
],
7: [
[0, 2],
[21, 25]
],
8: [
[0, 2],
[21, 26]
],
9: [
[0, 2],
[21, 24], 81, 82
],
10: [
[0, 2],
[21, 27]
],
11: [
[0, 2],
[21, 26]
],
12: [
[0, 2],
[21, 28]
],
24: [0, 21, [24, 29]],
26: [0, 21, [23, 30]],
29: [0, 1, [21, 27]],
30: [0, 1, [21, 27]]
},
63: {
0: [0],
1: [
[0, 5],
[21, 23]
],
2: [0, 2, [21, 25]],
21: [0, [21, 23],
[26, 28]
],
22: [0, [21, 24]],
23: [0, [21, 24]],
25: [0, [21, 25]],
26: [0, [21, 26]],
27: [0, 1, [21, 26]],
28: [
[0, 2],
[21, 23]
]
},
64: {
0: [0],
1: [0, 1, [4, 6], 21, 22, 81],
2: [
[0, 3], 5, [21, 23]
],
3: [
[0, 3],
[21, 24], 81
],
4: [
[0, 2],
[21, 25]
],
5: [
[0, 2], 21, 22
]
},
65: {
0: [0],
1: [
[0, 9], 21
],
2: [
[0, 5]
],
21: [0, 1, 22, 23],
22: [0, 1, 22, 23],
23: [
[0, 3],
[23, 25], 27, 28
],
28: [0, 1, [22, 29]],
29: [0, 1, [22, 29]],
30: [0, 1, [22, 24]],
31: [0, 1, [21, 31]],
32: [0, 1, [21, 27]],
40: [0, 2, 3, [21, 28]],
42: [
[0, 2], 21, [23, 26]
],
43: [0, 1, [21, 26]],
90: [
[0, 4]
],
27: [
[0, 2], 22, 23
]
},
71: {
0: [0]
},
81: {
0: [0]
},
82: {
0: [0]
}
},
d = parseInt(b.substr(0, 2), 10),
e = parseInt(b.substr(2, 2), 10),
f = parseInt(b.substr(4, 2), 10);
if (!c[d] || !c[d][e]) return !1;
for (var g = !1, h = c[d][e], i = 0;i < h.length;i++)
if (a.isArray(h[i]) && h[i][0] <= f && f <= h[i][1] || !a.isArray(h[i]) && f === h[i]) {
g = !0;
break
}
if (!g) return !1;
var j;
j = 18 === b.length ? b.substr(6, 8) : "19" + b.substr(6, 6);
var k = parseInt(j.substr(0, 4), 10),
l = parseInt(j.substr(4, 2), 10),
m = parseInt(j.substr(6, 2), 10);
if (!FormValidation.Helper.date(k, l, m)) return !1;
if (18 === b.length) {
var n = 0,
o = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
for (i = 0;17 > i;i++) n += parseInt(b.charAt(i), 10) * o[i];
n = (12 - n % 11) % 11;
var p = "X" !== b.charAt(17).toUpperCase() ? parseInt(b.charAt(17), 10) : 10;
return p === n
}
return !0
},
_cz: function(a) {
if (!/^\d{9,10}$/.test(a)) return !1;
var b = 1900 + parseInt(a.substr(0, 2), 10),
c = parseInt(a.substr(2, 2), 10) % 50 % 20,
d = parseInt(a.substr(4, 2), 10);
if (9 === a.length) {
if (b >= 1980 && (b -= 100), b > 1953) return !1
} else 1954 > b && (b += 100);
if (!FormValidation.Helper.date(b, c, d)) return !1;
if (10 === a.length) {
var e = parseInt(a.substr(0, 9), 10) % 11;
return 1985 > b && (e %= 10), e + "" === a.substr(9, 1)
}
return !0
},
_dk: function(a) {
if (!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(a)) return !1;
a = a.replace(/-/g, "");
var b = parseInt(a.substr(0, 2), 10),
c = parseInt(a.substr(2, 2), 10),
d = parseInt(a.substr(4, 2), 10);
switch (!0) {
case -1 !== "5678".indexOf(a.charAt(6)) && d >= 58:
d += 1800;
break;
case -1 !== "0123".indexOf(a.charAt(6)):
case -1 !== "49".indexOf(a.charAt(6)) && d >= 37:
d += 1900;
break;
default:
d += 2e3
}
return FormValidation.Helper.date(d, c, b)
},
_ee: function(a) {
return this._lt(a)
},
_es: function(a) {
var b = /^[0-9]{8}[-]{0,1}[A-HJ-NP-TV-Z]$/.test(a),
c = /^[XYZ][-]{0,1}[0-9]{7}[-]{0,1}[A-HJ-NP-TV-Z]$/.test(a),
d = /^[A-HNPQS][-]{0,1}[0-9]{7}[-]{0,1}[0-9A-J]$/.test(a);
if (!b && !c && !d) return !1;
a = a.replace(/-/g, "");
var e;
if (b || c) {
var f = "XYZ".indexOf(a.charAt(0));
return -1 !== f && (a = f + a.substr(1) + ""), e = parseInt(a.substr(0, 8), 10), e = "TRWAGMYFPDXBNJZSQVHLCKE" [e % 23], e === a.substr(8, 1)
}
e = a.substr(1, 7);
for (var g = a[0], h = a.substr(-1), i = 0, j = 0;j < e.length;j++)
if (j % 2 !== 0) i += parseInt(e[j], 10);
else {
var k = "" + 2 * parseInt(e[j], 10);
i += parseInt(k[0], 10), 2 === k.length && (i += parseInt(k[1], 10))
}
var l = i - 10 * Math.floor(i / 10);
return 0 !== l && (l = 10 - l), -1 !== "KQS".indexOf(g) ? h === "JABCDEFGHI" [l] : -1 !== "ABEH".indexOf(g) ? h === "" + l : h === "" + l || h === "JABCDEFGHI" [l]
},
_fi: function(a) {
if (!/^[0-9]{6}[-+A][0-9]{3}[0-9ABCDEFHJKLMNPRSTUVWXY]$/.test(a)) return !1;
var b = parseInt(a.substr(0, 2), 10),
c = parseInt(a.substr(2, 2), 10),
d = parseInt(a.substr(4, 2), 10),
e = {
"+": 1800,
"-": 1900,
A: 2e3
};
if (d = e[a.charAt(6)] + d, !FormValidation.Helper.date(d, c, b)) return !1;
var f = parseInt(a.substr(7, 3), 10);
if (2 > f) return !1;
var g = a.substr(0, 6) + a.substr(7, 3) + "";
return g = parseInt(g, 10), "0123456789ABCDEFHJKLMNPRSTUVWXY".charAt(g % 31) === a.charAt(10)
},
_hr: function(a) {
return /^[0-9]{11}$/.test(a) ? FormValidation.Helper.mod11And10(a) : !1
},
_ie: function(a) {
if (!/^\d{7}[A-W][AHWTX]?$/.test(a)) return !1;
var b = function(a) {
for (;a.length < 7;) a = "0" + a;
for (var b = "WABCDEFGHIJKLMNOPQRSTUV", c = 0, d = 0;7 > d;d++) c += parseInt(a.charAt(d), 10) * (8 - d);
return c += 9 * b.indexOf(a.substr(7)), b[c % 23]
};
return 9 !== a.length || "A" !== a.charAt(8) && "H" !== a.charAt(8) ? a.charAt(7) === b(a.substr(0, 7)) : a.charAt(7) === b(a.substr(0, 7) + a.substr(8) + "")
},
_is: function(a) {
if (!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(a)) return !1;
a = a.replace(/-/g, "");
var b = parseInt(a.substr(0, 2), 10),
c = parseInt(a.substr(2, 2), 10),
d = parseInt(a.substr(4, 2), 10),
e = parseInt(a.charAt(9), 10);
if (d = 9 === e ? 1900 + d : 100 * (20 + e) + d, !FormValidation.Helper.date(d, c, b, !0)) return !1;
for (var f = 0, g = [3, 2, 7, 6, 5, 4, 3, 2], h = 0;8 > h;h++) f += parseInt(a.charAt(h), 10) * g[h];
return f = 11 - f % 11, f + "" === a.charAt(8)
},
_lt: function(a) {
if (!/^[0-9]{11}$/.test(a)) return !1;
var b = parseInt(a.charAt(0), 10),
c = parseInt(a.substr(1, 2), 10),
d = parseInt(a.substr(3, 2), 10),
e = parseInt(a.substr(5, 2), 10),
f = b % 2 === 0 ? 17 + b / 2 : 17 + (b + 1) / 2;
if (c = 100 * f + c, !FormValidation.Helper.date(c, d, e, !0)) return !1;
for (var g = 0, h = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1], i = 0;10 > i;i++) g += parseInt(a.charAt(i), 10) * h[i];
if (g %= 11, 10 !== g) return g + "" === a.charAt(10);
for (g = 0, h = [3, 4, 5, 6, 7, 8, 9, 1, 2, 3], i = 0;10 > i;i++) g += parseInt(a.charAt(i), 10) * h[i];
return g %= 11, 10 === g && (g = 0), g + "" === a.charAt(10)
},
_lv: function(a) {
if (!/^[0-9]{6}[-]{0,1}[0-9]{5}$/.test(a)) return !1;
a = a.replace(/\D/g, "");
var b = parseInt(a.substr(0, 2), 10),
c = parseInt(a.substr(2, 2), 10),
d = parseInt(a.substr(4, 2), 10);
if (d = d + 1800 + 100 * parseInt(a.charAt(6), 10), !FormValidation.Helper.date(d, c, b, !0)) return !1;
for (var e = 0, f = [10, 5, 8, 4, 2, 1, 6, 3, 7, 9], g = 0;10 > g;g++) e += parseInt(a.charAt(g), 10) * f[g];
return e = (e + 1) % 11 % 10, e + "" === a.charAt(10)
},
_nl: function(a) {
if (a.length < 8) return !1;
if (8 === a.length && (a = "0" + a), !/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(a)) return !1;
if (a = a.replace(/\./g, ""), 0 === parseInt(a, 10)) return !1;
for (var b = 0, c = a.length, d = 0;c - 1 > d;d++) b += (9 - d) * parseInt(a.charAt(d), 10);
return b %= 11, 10 === b && (b = 0), b + "" === a.charAt(c - 1)
},
_pl: function(a) {
if (!/^[0-9]{11}$/.test(a)) return !1;
for (var b = 0, c = a.length, d = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 7], e = 0;c - 1 > e;e++) b += d[e] * parseInt(a.charAt(e), 10);
return b %= 10, 0 === b && (b = 10), b = 10 - b, b + "" === a.charAt(c - 1)
},
_ro: function(a) {
if (!/^[0-9]{13}$/.test(a)) return !1;
var b = parseInt(a.charAt(0), 10);
if (0 === b || 7 === b || 8 === b) return !1;
var c = parseInt(a.substr(1, 2), 10),
d = parseInt(a.substr(3, 2), 10),
e = parseInt(a.substr(5, 2), 10),
f = {
1: 1900,
2: 1900,
3: 1800,
4: 1800,
5: 2e3,
6: 2e3
};
if (e > 31 && d > 12) return !1;
if (9 !== b && (c = f[b + ""] + c, !FormValidation.Helper.date(c, d, e))) return !1;
for (var g = 0, h = [2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9], i = a.length, j = 0;i - 1 > j;j++) g += parseInt(a.charAt(j), 10) * h[j];
return g %= 11, 10 === g && (g = 1), g + "" === a.charAt(i - 1)
},
_se: function(a) {
if (!/^[0-9]{10}$/.test(a) && !/^[0-9]{6}[-|+][0-9]{4}$/.test(a)) return !1;
a = a.replace(/[^0-9]/g, "");
var b = parseInt(a.substr(0, 2), 10) + 1900,
c = parseInt(a.substr(2, 2), 10),
d = parseInt(a.substr(4, 2), 10);
return FormValidation.Helper.date(b, c, d) ? FormValidation.Helper.luhn(a) : !1
},
_sk: function(a) {
return this._cz(a)
},
_sm: function(a) {
return /^\d{5}$/.test(a)
},
_th: function(a) {
if (13 !== a.length) return !1;
for (var b = 0, c = 0;12 > c;c++) b += parseInt(a.charAt(c), 10) * (13 - c);
return (11 - b % 11) % 10 === parseInt(a.charAt(12), 10)
},
_za: function(a) {
if (!/^[0-9]{10}[0|1][8|9][0-9]$/.test(a)) return !1;
var b = parseInt(a.substr(0, 2), 10),
c = (new Date).getFullYear() % 100,
d = parseInt(a.substr(2, 2), 10),
e = parseInt(a.substr(4, 2), 10);
return b = b >= c ? b + 1900 : b + 2e3, FormValidation.Helper.date(b, d, e) ? FormValidation.Helper.luhn(a) : !1
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
identical: {
"default": "Please enter the same value"
}
}
}), FormValidation.Validator.identical = {
html5Attributes: {
message: "message",
field: "field"
},
init: function(a, b, c) {
var d = a.getFieldElements(c.field);
a.onLiveChange(d, "live_identical", function() {
var c = a.getStatus(b, "identical");
c !== a.STATUS_NOT_VALIDATED && a.revalidateField(b)
})
},
destroy: function(a, b, c) {
var d = a.getFieldElements(c.field);
a.offLiveChange(d, "live_identical")
},
validate: function(a, b, c) {
var d = a.getFieldValue(b, "identical"),
e = a.getFieldElements(c.field);
if (null === e || 0 === e.length) return !0;
var f = a.getFieldValue(e, "identical");
return d === f ? (a.updateStatus(e, a.STATUS_VALID, "identical"), !0) : !1
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
imei: {
"default": "Please enter a valid IMEI number"
}
}
}), FormValidation.Validator.imei = {
validate: function(a, b) {
var c = a.getFieldValue(b, "imei");
if ("" === c) return !0;
switch (!0) {
case /^\d{15}$/.test(c):
case /^\d{2}-\d{6}-\d{6}-\d{1}$/.test(c):
case /^\d{2}\s\d{6}\s\d{6}\s\d{1}$/.test(c):
return c = c.replace(/[^0-9]/g, ""), FormValidation.Helper.luhn(c);
case /^\d{14}$/.test(c):
case /^\d{16}$/.test(c):
case /^\d{2}-\d{6}-\d{6}(|-\d{2})$/.test(c):
case /^\d{2}\s\d{6}\s\d{6}(|\s\d{2})$/.test(c):
return !0;
default:
return !1
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
imo: {
"default": "Please enter a valid IMO number"
}
}
}), FormValidation.Validator.imo = {
validate: function(a, b) {
var c = a.getFieldValue(b, "imo");
if ("" === c) return !0;
if (!/^IMO \d{7}$/i.test(c)) return !1;
for (var d = 0, e = c.replace(/^.*(\d{7})$/, "$1"), f = 6;f >= 1;f--) d += e.slice(6 - f, -f) * (f + 1);
return d % 10 === parseInt(e.charAt(6), 10)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
integer: {
"default": "Please enter a valid number"
}
}
}), FormValidation.Validator.integer = {
enableByHtml5: function(a) {
return "number" === a.attr("type") && (void 0 === a.attr("step") || a.attr("step") % 1 === 0)
},
validate: function(a, b) {
if (this.enableByHtml5(b) && b.get(0).validity && b.get(0).validity.badInput === !0) return !1;
var c = a.getFieldValue(b, "integer");
return "" === c ? !0 : /^(?:-?(?:0|[1-9][0-9]*))$/.test(c)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
ip: {
"default": "Please enter a valid IP address",
ipv4: "Please enter a valid IPv4 address",
ipv6: "Please enter a valid IPv6 address"
}
}
}), FormValidation.Validator.ip = {
html5Attributes: {
message: "message",
ipv4: "ipv4",
ipv6: "ipv6"
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "ip");
if ("" === e) return !0;
d = a.extend({}, {
ipv4: !0,
ipv6: !0
}, d);
var f, g = b.getLocale(),
h = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
i = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,
j = !1;
switch (!0) {
case d.ipv4 && !d.ipv6:
j = h.test(e), f = d.message || FormValidation.I18n[g].ip.ipv4;
break;
case !d.ipv4 && d.ipv6:
j = i.test(e), f = d.message || FormValidation.I18n[g].ip.ipv6;
break;
case d.ipv4 && d.ipv6:
default:
j = h.test(e) || i.test(e), f = d.message || FormValidation.I18n[g].ip["default"]
}
return {
valid: j,
message: f
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
isbn: {
"default": "Please enter a valid ISBN number"
}
}
}), FormValidation.Validator.isbn = {
validate: function(a, b) {
var c = a.getFieldValue(b, "isbn");
if ("" === c) return !0;
var d;
switch (!0) {
case /^\d{9}[\dX]$/.test(c):
case 13 === c.length && /^(\d+)-(\d+)-(\d+)-([\dX])$/.test(c):
case 13 === c.length && /^(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(c):
d = "ISBN10";
break;
case /^(978|979)\d{9}[\dX]$/.test(c):
case 17 === c.length && /^(978|979)-(\d+)-(\d+)-(\d+)-([\dX])$/.test(c):
case 17 === c.length && /^(978|979)\s(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(c):
d = "ISBN13";
break;
default:
return !1
}
c = c.replace(/[^0-9X]/gi, "");
var e, f, g = c.split(""),
h = g.length,
i = 0;
switch (d) {
case "ISBN10":
for (i = 0, e = 0;h - 1 > e;e++) i += parseInt(g[e], 10) * (10 - e);
return f = 11 - i % 11, 11 === f ? f = 0 : 10 === f && (f = "X"), {
type: d,
valid: f + "" === g[h - 1]
};
case "ISBN13":
for (i = 0, e = 0;h - 1 > e;e++) i += e % 2 === 0 ? parseInt(g[e], 10) : 3 * parseInt(g[e], 10);
return f = 10 - i % 10, 10 === f && (f = "0"), {
type: d,
valid: f + "" === g[h - 1]
};
default:
return !1
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
isin: {
"default": "Please enter a valid ISIN number"
}
}
}), FormValidation.Validator.isin = {
COUNTRY_CODES: "AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW",
validate: function(a, b) {
var c = a.getFieldValue(b, "isin");
if ("" === c) return !0;
c = c.toUpperCase();
var d = new RegExp("^(" + this.COUNTRY_CODES + ")[0-9A-Z]{10}$");
if (!d.test(c)) return !1;
for (var e = "", f = c.length, g = 0;f - 1 > g;g++) {
var h = c.charCodeAt(g);
e += h > 57 ? (h - 55).toString() : c.charAt(g)
}
var i = "",
j = e.length,
k = j % 2 !== 0 ? 0 : 1;
for (g = 0;j > g;g++) i += parseInt(e[g], 10) * (g % 2 === k ? 2 : 1) + "";
var l = 0;
for (g = 0;g < i.length;g++) l += parseInt(i.charAt(g), 10);
return l = (10 - l % 10) % 10, l + "" === c.charAt(f - 1)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
ismn: {
"default": "Please enter a valid ISMN number"
}
}
}), FormValidation.Validator.ismn = {
validate: function(a, b) {
var c = a.getFieldValue(b, "ismn");
if ("" === c) return !0;
var d;
switch (!0) {
case /^M\d{9}$/.test(c):
case /^M-\d{4}-\d{4}-\d{1}$/.test(c):
case /^M\s\d{4}\s\d{4}\s\d{1}$/.test(c):
d = "ISMN10";
break;
case /^9790\d{9}$/.test(c):
case /^979-0-\d{4}-\d{4}-\d{1}$/.test(c):
case /^979\s0\s\d{4}\s\d{4}\s\d{1}$/.test(c):
d = "ISMN13";
break;
default:
return !1
}
"ISMN10" === d && (c = "9790" + c.substr(1)), c = c.replace(/[^0-9]/gi, "");
for (var e = c.length, f = 0, g = [1, 3], h = 0;e - 1 > h;h++) f += parseInt(c.charAt(h), 10) * g[h % 2];
return f = 10 - f % 10, {
type: d,
valid: f + "" === c.charAt(e - 1)
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
issn: {
"default": "Please enter a valid ISSN number"
}
}
}), FormValidation.Validator.issn = {
validate: function(a, b) {
var c = a.getFieldValue(b, "issn");
if ("" === c) return !0;
if (!/^\d{4}\-\d{3}[\dX]$/.test(c)) return !1;
c = c.replace(/[^0-9X]/gi, "");
var d = c.split(""),
e = d.length,
f = 0;
"X" === d[7] && (d[7] = 10);
for (var g = 0;e > g;g++) f += parseInt(d[g], 10) * (8 - g);
return f % 11 === 0
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
lessThan: {
"default": "Please enter a value less than or equal to %s",
notInclusive: "Please enter a value less than %s"
}
}
}), FormValidation.Validator.lessThan = {
html5Attributes: {
message: "message",
value: "value",
inclusive: "inclusive"
},
enableByHtml5: function(a) {
var b = a.attr("type"),
c = a.attr("max");
return c && "date" !== b ? {
value: c
} : !1
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "lessThan");
if ("" === e) return !0;
if (e = this._format(e), !a.isNumeric(e)) return !1;
var f = b.getLocale(),
g = a.isNumeric(d.value) ? d.value : b.getDynamicOption(c, d.value),
h = this._format(g);
return e = parseFloat(e), d.inclusive === !0 || void 0 === d.inclusive ? {
valid: h >= e,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].lessThan["default"], g)
} : {
valid: h > e,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].lessThan.notInclusive, g)
}
},
_format: function(a) {
return (a + "").replace(",", ".")
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
mac: {
"default": "Please enter a valid MAC address"
}
}
}), FormValidation.Validator.mac = {
validate: function(a, b) {
var c = a.getFieldValue(b, "mac");
return "" === c ? !0 : /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/.test(c)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
meid: {
"default": "Please enter a valid MEID number"
}
}
}), FormValidation.Validator.meid = {
validate: function(a, b) {
var c = a.getFieldValue(b, "meid");
if ("" === c) return !0;
switch (!0) {
case /^[0-9A-F]{15}$/i.test(c):
case /^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}[- ][0-9A-F]$/i.test(c):
case /^\d{19}$/.test(c):
case /^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}[- ]\d$/.test(c):
var d = c.charAt(c.length - 1);
if (c = c.replace(/[- ]/g, ""), c.match(/^\d*$/i)) return FormValidation.Helper.luhn(c);
c = c.slice(0, -1);
for (var e = "", f = 1;13 >= f;f += 2) e += (2 * parseInt(c.charAt(f), 16)).toString(16);
var g = 0;
for (f = 0;f < e.length;f++) g += parseInt(e.charAt(f), 16);
return g % 10 === 0 ? "0" === d : d === (2 * (10 * Math.floor((g + 10) / 10) - g)).toString(16);
case /^[0-9A-F]{14}$/i.test(c):
case /^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}$/i.test(c):
case /^\d{18}$/.test(c):
case /^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}$/.test(c):
return !0;
default:
return !1
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
notEmpty: {
"default": "Please enter a value"
}
}
}), FormValidation.Validator.notEmpty = {
enableByHtml5: function(a) {
var b = a.attr("required") + "";
return "required" === b || "true" === b
},
validate: function(b, c) {
var d = c.attr("type");
if ("radio" === d || "checkbox" === d) {
var e = b.getNamespace();
return b.getFieldElements(c.attr("data-" + e + "-field")).filter(":checked").length > 0
}
if ("number" === d && c.get(0).validity && c.get(0).validity.badInput === !0) return !0;
var f = b.getFieldValue(c, "notEmpty");
return "" !== a.trim(f)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
numeric: {
"default": "Please enter a valid float number"
}
}
}), FormValidation.Validator.numeric = {
html5Attributes: {
message: "message",
separator: "separator"
},
enableByHtml5: function(a) {
return "number" === a.attr("type") && void 0 !== a.attr("step") && a.attr("step") % 1 !== 0
},
validate: function(a, b, c) {
if (this.enableByHtml5(b) && b.get(0).validity && b.get(0).validity.badInput === !0) return !1;
var d = a.getFieldValue(b, "numeric");
if ("" === d) return !0;
var e = c.separator || ".";
return "." !== e && (d = d.replace(e, ".")), !isNaN(parseFloat(d)) && isFinite(d)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
phone: {
"default": "Please enter a valid phone number",
country: "Please enter a valid phone number in %s",
countries: {
AE: "United Arab Emirates",
BG: "Bulgaria",
BR: "Brazil",
CN: "China",
CZ: "Czech Republic",
DE: "Germany",
DK: "Denmark",
ES: "Spain",
FR: "France",
GB: "United Kingdom",
IN: "India",
MA: "Morocco",
NL: "Netherlands",
PK: "Pakistan",
RO: "Romania",
RU: "Russia",
SK: "Slovakia",
TH: "Thailand",
US: "USA",
VE: "Venezuela"
}
}
}
}), FormValidation.Validator.phone = {
html5Attributes: {
message: "message",
country: "country"
},
COUNTRY_CODES: ["AE", "BG", "BR", "CN", "CZ", "DE", "DK", "ES", "FR", "GB", "IN", "MA", "NL", "PK", "RO", "RU", "SK", "TH", "US", "VE"],
validate: function(b, c, d) {
var e = b.getFieldValue(c, "phone");
if ("" === e) return !0;
var f = b.getLocale(),
g = d.country;
if (("string" != typeof g || -1 === a.inArray(g, this.COUNTRY_CODES)) && (g = b.getDynamicOption(c, g)), !g || -1 === a.inArray(g.toUpperCase(), this.COUNTRY_CODES)) return !0;
var h = !0;
switch (g.toUpperCase()) {
case "AE":
e = a.trim(e), h = /^(((\+|00)?971[\s\.-]?(\(0\)[\s\.-]?)?|0)(\(5(0|2|5|6)\)|5(0|2|5|6)|2|3|4|6|7|9)|60)([\s\.-]?[0-9]){7}$/.test(e);
break;
case "BG":
e = e.replace(/\+|\s|-|\/|\(|\)/gi, ""), h = /^(0|359|00)(((700|900)[0-9]{5}|((800)[0-9]{5}|(800)[0-9]{4}))|(87|88|89)([0-9]{7})|((2[0-9]{7})|(([3-9][0-9])(([0-9]{6})|([0-9]{5})))))$/.test(e);
break;
case "BR":
e = a.trim(e), h = /^(([\d]{4}[-.\s]{1}[\d]{2,3}[-.\s]{1}[\d]{2}[-.\s]{1}[\d]{2})|([\d]{4}[-.\s]{1}[\d]{3}[-.\s]{1}[\d]{4})|((\(?\+?[0-9]{2}\)?\s?)?(\(?\d{2}\)?\s?)?\d{4,5}[-.\s]?\d{4}))$/.test(e);
break;
case "CN":
e = a.trim(e), h = /^((00|\+)?(86(?:-| )))?((\d{11})|(\d{3}[- ]{1}\d{4}[- ]{1}\d{4})|((\d{2,4}[- ]){1}(\d{7,8}|(\d{3,4}[- ]{1}\d{4}))([- ]{1}\d{1,4})?))$/.test(e);
break;
case "CZ":
h = /^(((00)([- ]?)|\+)(420)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(e);
break;
case "DE":
e = a.trim(e), h = /^(((((((00|\+)49[ \-/]?)|0)[1-9][0-9]{1,4})[ \-/]?)|((((00|\+)49\()|\(0)[1-9][0-9]{1,4}\)[ \-/]?))[0-9]{1,7}([ \-/]?[0-9]{1,5})?)$/.test(e);
break;
case "DK":
e = a.trim(e), h = /^(\+45|0045|\(45\))?\s?[2-9](\s?\d){7}$/.test(e);
break;
case "ES":
e = a.trim(e), h = /^(?:(?:(?:\+|00)34\D?))?(?:5|6|7|8|9)(?:\d\D?){8}$/.test(e);
break;
case "FR":
e = a.trim(e), h = /^(?:(?:(?:\+|00)33[ ]?(?:\(0\)[ ]?)?)|0){1}[1-9]{1}([ .-]?)(?:\d{2}\1?){3}\d{2}$/.test(e);
break;
case "GB":
e = a.trim(e), h = /^\(?(?:(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?\(?(?:0\)?[\s-]?\(?)?|0)(?:\d{2}\)?[\s-]?\d{4}[\s-]?\d{4}|\d{3}\)?[\s-]?\d{3}[\s-]?\d{3,4}|\d{4}\)?[\s-]?(?:\d{5}|\d{3}[\s-]?\d{3})|\d{5}\)?[\s-]?\d{4,5}|8(?:00[\s-]?11[\s-]?11|45[\s-]?46[\s-]?4\d))(?:(?:[\s-]?(?:x|ext\.?\s?|\#)\d+)?)$/.test(e);
break;
case "IN":
e = a.trim(e), h = /((\+?)((0[ -]+)*|(91 )*)(\d{12}|\d{10}))|\d{5}([- ]*)\d{6}/.test(e);
break;
case "MA":
e = a.trim(e), h = /^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/.test(e);
break;
case "NL":
e = a.trim(e), h = /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9])((\s|\s?-\s?)?[0-9])((\s|\s?-\s?)?[0-9])\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]$/gm.test(e);
break;
case "PK":
e = a.trim(e), h = /^0?3[0-9]{2}[0-9]{7}$/.test(e);
break;
case "RO":
h = /^(\+4|)?(07[0-8]{1}[0-9]{1}|02[0-9]{2}|03[0-9]{2}){1}?(\s|\.|\-)?([0-9]{3}(\s|\.|\-|)){2}$/g.test(e);
break;
case "RU":
h = /^((8|\+7|007)[\-\.\/ ]?)?([\(\/\.]?\d{3}[\)\/\.]?[\-\.\/ ]?)?[\d\-\.\/ ]{7,10}$/g.test(e);
break;
case "SK":
h = /^(((00)([- ]?)|\+)(421)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(e);
break;
case "TH":
h = /^0\(?([6|8-9]{2})*-([0-9]{3})*-([0-9]{4})$/.test(e);
break;
case "VE":
e = a.trim(e), h = /^0(?:2(?:12|4[0-9]|5[1-9]|6[0-9]|7[0-8]|8[1-35-8]|9[1-5]|3[45789])|4(?:1[246]|2[46]))\d{7}$/.test(e);
break;
case "US":
default:
h = /^(?:(1\-?)|(\+1 ?))?\(?(\d{3})[\)\-\.]?(\d{3})[\-\.]?(\d{4})$/.test(e);
}
return {
valid: h,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].phone.country, FormValidation.I18n[f].phone.countries[g])
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
promise: {
"default": "Please enter a valid value"
}
}
}), FormValidation.Validator.promise = {
html5Attributes: {
message: "message",
promise: "promise"
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "promise"),
f = new a.Deferred,
g = FormValidation.Helper.call(d.promise, [e, b, c]);
return g.done(function(a) {
f.resolve(c, "promise", a)
}).fail(function(a) {
a = a || {}, a.valid = !1, f.resolve(c, "promise", a)
}), f
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
regexp: {
"default": "Please enter a value matching the pattern"
}
}
}), FormValidation.Validator.regexp = {
html5Attributes: {
message: "message",
regexp: "regexp"
},
enableByHtml5: function(a) {
var b = a.attr("pattern");
return b ? {
regexp: b
} : !1
},
validate: function(a, b, c) {
var d = a.getFieldValue(b, "regexp");
if ("" === d) return !0;
var e = "string" == typeof c.regexp ? new RegExp(c.regexp) : c.regexp;
return e.test(d)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
remote: {
"default": "Please enter a valid value"
}
}
}), FormValidation.Validator.remote = {
html5Attributes: {
crossdomain: "crossDomain",
data: "data",
datatype: "dataType",
delay: "delay",
message: "message",
name: "name",
type: "type",
url: "url",
validkey: "validKey"
},
destroy: function(a, b) {
var c = a.getNamespace(),
d = b.data(c + ".remote.timer");
d && (clearTimeout(d), b.removeData(c + ".remote.timer"))
},
validate: function(b, c, d) {
function e() {
var b = a.ajax(m);
return b.success(function(a) {
a.valid = a[l] === !0 || "true" === a[l] ? !0 : a[l] === !1 || "false" === a[l] ? !1 : null, h.resolve(c, "remote", a)
}).error(function() {
h.resolve(c, "remote", {
valid: !1
})
}), h.fail(function() {
b.abort()
}), h
}
var f = b.getNamespace(),
g = b.getFieldValue(c, "remote"),
h = new a.Deferred;
if ("" === g) return h.resolve(c, "remote", {
valid: !0
}), h;
var i = c.attr("data-" + f + "-field"),
j = d.data || {},
k = d.url,
l = d.validKey || "valid";
"function" == typeof j && (j = j.call(this, b, c, g)), "string" == typeof j && (j = JSON.parse(j)), "function" == typeof k && (k = k.call(this, b, c, g)), j[d.name || i] = g;
var m = {
data: j,
dataType: d.dataType || "json",
headers: d.headers || {},
type: d.type || "GET",
url: k
};
return null !== d.crossDomain && (m.crossDomain = d.crossDomain === !0 || "true" === d.crossDomain), d.delay ? (c.data(f + ".remote.timer") && clearTimeout(c.data(f + ".remote.timer")), c.data(f + ".remote.timer", setTimeout(e, d.delay)), h) : e()
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
rtn: {
"default": "Please enter a valid RTN number"
}
}
}), FormValidation.Validator.rtn = {
validate: function(a, b) {
var c = a.getFieldValue(b, "rtn");
if ("" === c) return !0;
if (!/^\d{9}$/.test(c)) return !1;
for (var d = 0, e = 0;e < c.length;e += 3) d += 3 * parseInt(c.charAt(e), 10) + 7 * parseInt(c.charAt(e + 1), 10) + parseInt(c.charAt(e + 2), 10);
return 0 !== d && d % 10 === 0
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
sedol: {
"default": "Please enter a valid SEDOL number"
}
}
}), FormValidation.Validator.sedol = {
validate: function(a, b) {
var c = a.getFieldValue(b, "sedol");
if ("" === c) return !0;
if (c = c.toUpperCase(), !/^[0-9A-Z]{7}$/.test(c)) return !1;
for (var d = 0, e = [1, 3, 1, 7, 3, 9, 1], f = c.length, g = 0;f - 1 > g;g++) d += e[g] * parseInt(c.charAt(g), 36);
return d = (10 - d % 10) % 10, d + "" === c.charAt(f - 1)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
siren: {
"default": "Please enter a valid SIREN number"
}
}
}), FormValidation.Validator.siren = {
validate: function(a, b) {
var c = a.getFieldValue(b, "siren");
return "" === c ? !0 : /^\d{9}$/.test(c) ? FormValidation.Helper.luhn(c) : !1
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
siret: {
"default": "Please enter a valid SIRET number"
}
}
}), FormValidation.Validator.siret = {
validate: function(a, b) {
var c = a.getFieldValue(b, "siret");
if ("" === c) return !0;
for (var d, e = 0, f = c.length, g = 0;f > g;g++) d = parseInt(c.charAt(g), 10), g % 2 === 0 && (d = 2 * d, d > 9 && (d -= 9)), e += d;
return e % 10 === 0
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
step: {
"default": "Please enter a valid step of %s"
}
}
}), FormValidation.Validator.step = {
html5Attributes: {
message: "message",
base: "baseValue",
step: "step"
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "step");
if ("" === e) return !0;
if (d = a.extend({}, {
baseValue: 0,
step: 1
}, d), e = parseFloat(e), !a.isNumeric(e)) return !1;
var f = function(a, b) {
var c = Math.pow(10, b);
a *= c;
var d = a > 0 | -(0 > a),
e = a % 1 === .5 * d;
return e ? (Math.floor(a) + (d > 0)) / c : Math.round(a) / c
},
g = function(a, b) {
if (0 === b) return 1;
var c = (a + "").split("."),
d = (b + "").split("."),
e = (1 === c.length ? 0 : c[1].length) + (1 === d.length ? 0 : d[1].length);
return f(a - b * Math.floor(a / b), e)
},
h = b.getLocale(),
i = g(e - d.baseValue, d.step);
return {
valid: 0 === i || i === d.step,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[h].step["default"], [d.step])
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
stringCase: {
"default": "Please enter only lowercase characters",
upper: "Please enter only uppercase characters"
}
}
}), FormValidation.Validator.stringCase = {
html5Attributes: {
message: "message",
"case": "case"
},
validate: function(a, b, c) {
var d = a.getFieldValue(b, "stringCase");
if ("" === d) return !0;
var e = a.getLocale(),
f = (c["case"] || "lower").toLowerCase();
return {
valid: "upper" === f ? d === d.toUpperCase() : d === d.toLowerCase(),
message: c.message || ("upper" === f ? FormValidation.I18n[e].stringCase.upper : FormValidation.I18n[e].stringCase["default"])
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
stringLength: {
"default": "Please enter a value with valid length",
less: "Please enter less than %s characters",
more: "Please enter more than %s characters",
between: "Please enter value between %s and %s characters long"
}
}
}), FormValidation.Validator.stringLength = {
html5Attributes: {
message: "message",
min: "min",
max: "max",
trim: "trim",
utf8bytes: "utf8Bytes"
},
enableByHtml5: function(b) {
var c = {},
d = b.attr("maxlength"),
e = b.attr("minlength");
return d && (c.max = parseInt(d, 10)), e && (c.min = parseInt(e, 10)), a.isEmptyObject(c) ? !1 : c
},
validate: function(b, c, d) {
var e = b.getFieldValue(c, "stringLength");
if ((d.trim === !0 || "true" === d.trim) && (e = a.trim(e)), "" === e) return !0;
var f = b.getLocale(),
g = a.isNumeric(d.min) ? d.min : b.getDynamicOption(c, d.min),
h = a.isNumeric(d.max) ? d.max : b.getDynamicOption(c, d.max),
i = function(a) {
for (var b = a.length, c = a.length - 1;c >= 0;c--) {
var d = a.charCodeAt(c);
d > 127 && 2047 >= d ? b++ : d > 2047 && 65535 >= d && (b += 2), d >= 56320 && 57343 >= d && c--
}
return b
},
j = d.utf8Bytes ? i(e) : e.length,
k = !0,
l = d.message || FormValidation.I18n[f].stringLength["default"];
switch ((g && j < parseInt(g, 10) || h && j > parseInt(h, 10)) && (k = !1), !0) {
case !!g && !!h:
l = FormValidation.Helper.format(d.message || FormValidation.I18n[f].stringLength.between, [parseInt(g, 10), parseInt(h, 10)]);
break;
case !!g:
l = FormValidation.Helper.format(d.message || FormValidation.I18n[f].stringLength.more, parseInt(g, 10));
break;
case !!h:
l = FormValidation.Helper.format(d.message || FormValidation.I18n[f].stringLength.less, parseInt(h, 10))
}
return {
valid: k,
message: l
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
uri: {
"default": "Please enter a valid URI"
}
}
}), FormValidation.Validator.uri = {
html5Attributes: {
message: "message",
allowlocal: "allowLocal",
allowemptyprotocol: "allowEmptyProtocol",
protocol: "protocol"
},
enableByHtml5: function(a) {
return "url" === a.attr("type")
},
validate: function(a, b, c) {
var d = a.getFieldValue(b, "uri");
if ("" === d) return !0;
var e = c.allowLocal === !0 || "true" === c.allowLocal,
f = c.allowEmptyProtocol === !0 || "true" === c.allowEmptyProtocol,
g = (c.protocol || "http, https, ftp").split(",").join("|").replace(/\s/g, ""),
h = new RegExp("^(?:(?:" + g + ")://)" + (f ? "?" : "") + "(?:\\S+(?::\\S*)?@)?(?:" + (e ? "" : "(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})") + "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9])*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" + (e ? "?" : "") + ")(?::\\d{2,5})?(?:/[^\\s]*)?$", "i");
return h.test(d)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
uuid: {
"default": "Please enter a valid UUID number",
version: "Please enter a valid UUID version %s number"
}
}
}), FormValidation.Validator.uuid = {
html5Attributes: {
message: "message",
version: "version"
},
validate: function(a, b, c) {
var d = a.getFieldValue(b, "uuid");
if ("" === d) return !0;
var e = a.getLocale(),
f = {
3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i
},
g = c.version ? c.version + "" : "all";
return {
valid: null === f[g] ? !0 : f[g].test(d),
message: c.version ? FormValidation.Helper.format(c.message || FormValidation.I18n[e].uuid.version, c.version) : c.message || FormValidation.I18n[e].uuid["default"]
}
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
vat: {
"default": "Please enter a valid VAT number",
country: "Please enter a valid VAT number in %s",
countries: {
AT: "Austria",
BE: "Belgium",
BG: "Bulgaria",
BR: "Brazil",
CH: "Switzerland",
CY: "Cyprus",
CZ: "Czech Republic",
DE: "Germany",
DK: "Denmark",
EE: "Estonia",
ES: "Spain",
FI: "Finland",
FR: "France",
GB: "United Kingdom",
GR: "Greek",
EL: "Greek",
HU: "Hungary",
HR: "Croatia",
IE: "Ireland",
IS: "Iceland",
IT: "Italy",
LT: "Lithuania",
LU: "Luxembourg",
LV: "Latvia",
MT: "Malta",
NL: "Netherlands",
NO: "Norway",
PL: "Poland",
PT: "Portugal",
RO: "Romania",
RU: "Russia",
RS: "Serbia",
SE: "Sweden",
SI: "Slovenia",
SK: "Slovakia",
VE: "Venezuela",
ZA: "South Africa"
}
}
}
}), FormValidation.Validator.vat = {
html5Attributes: {
message: "message",
country: "country"
},
COUNTRY_CODES: ["AT", "BE", "BG", "BR", "CH", "CY", "CZ", "DE", "DK", "EE", "EL", "ES", "FI", "FR", "GB", "GR", "HR", "HU", "IE", "IS", "IT", "LT", "LU", "LV", "MT", "NL", "NO", "PL", "PT", "RO", "RU", "RS", "SE", "SK", "SI", "VE", "ZA"],
validate: function(b, c, d) {
var e = b.getFieldValue(c, "vat");
if ("" === e) return !0;
var f = b.getLocale(),
g = d.country;
if (g ? ("string" != typeof g || -1 === a.inArray(g.toUpperCase(), this.COUNTRY_CODES)) && (g = b.getDynamicOption(c, g)) : g = e.substr(0, 2), -1 === a.inArray(g, this.COUNTRY_CODES)) return !0;
var h = ["_", g.toLowerCase()].join("");
return this[h](e) ? !0 : {
valid: !1,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].vat.country, FormValidation.I18n[f].vat.countries[g.toUpperCase()])
}
},
_at: function(a) {
if (/^ATU[0-9]{8}$/.test(a) && (a = a.substr(2)), !/^U[0-9]{8}$/.test(a)) return !1;
a = a.substr(1);
for (var b = 0, c = [1, 2, 1, 2, 1, 2, 1], d = 0, e = 0;7 > e;e++) d = parseInt(a.charAt(e), 10) * c[e], d > 9 && (d = Math.floor(d / 10) + d % 10), b += d;
return b = 10 - (b + 4) % 10, 10 === b && (b = 0), b + "" === a.substr(7, 1)
},
_be: function(a) {
if (/^BE[0]{0,1}[0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[0]{0,1}[0-9]{9}$/.test(a)) return !1;
if (9 === a.length && (a = "0" + a), "0" === a.substr(1, 1)) return !1;
var b = parseInt(a.substr(0, 8), 10) + parseInt(a.substr(8, 2), 10);
return b % 97 === 0
},
_bg: function(a) {
if (/^BG[0-9]{9,10}$/.test(a) && (a = a.substr(2)), !/^[0-9]{9,10}$/.test(a)) return !1;
var b = 0,
c = 0;
if (9 === a.length) {
for (c = 0;8 > c;c++) b += parseInt(a.charAt(c), 10) * (c + 1);
if (b %= 11, 10 === b)
for (b = 0, c = 0;8 > c;c++) b += parseInt(a.charAt(c), 10) * (c + 3);
return b %= 10, b + "" === a.substr(8)
}
if (10 === a.length) {
var d = function(a) {
var b = parseInt(a.substr(0, 2), 10) + 1900,
c = parseInt(a.substr(2, 2), 10),
d = parseInt(a.substr(4, 2), 10);
if (c > 40 ? (b += 100, c -= 40) : c > 20 && (b -= 100, c -= 20), !FormValidation.Helper.date(b, c, d)) return !1;
for (var e = 0, f = [2, 4, 8, 5, 10, 9, 7, 3, 6], g = 0;9 > g;g++) e += parseInt(a.charAt(g), 10) * f[g];
return e = e % 11 % 10, e + "" === a.substr(9, 1)
},
e = function(a) {
for (var b = 0, c = [21, 19, 17, 13, 11, 9, 7, 3, 1], d = 0;9 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b %= 10, b + "" === a.substr(9, 1)
},
f = function(a) {
for (var b = 0, c = [4, 3, 2, 7, 6, 5, 4, 3, 2], d = 0;9 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b = 11 - b % 11, 10 === b ? !1 : (11 === b && (b = 0), b + "" === a.substr(9, 1))
};
return d(a) || e(a) || f(a)
}
return !1
},
_br: function(a) {
if ("" === a) return !0;
var b = a.replace(/[^\d]+/g, "");
if ("" === b || 14 !== b.length) return !1;
if ("00000000000000" === b || "11111111111111" === b || "22222222222222" === b || "33333333333333" === b || "44444444444444" === b || "55555555555555" === b || "66666666666666" === b || "77777777777777" === b || "88888888888888" === b || "99999999999999" === b) return !1;
for (var c = b.length - 2, d = b.substring(0, c), e = b.substring(c), f = 0, g = c - 7, h = c;h >= 1;h--) f += parseInt(d.charAt(c - h), 10) * g--, 2 > g && (g = 9);
var i = 2 > f % 11 ? 0 : 11 - f % 11;
if (i !== parseInt(e.charAt(0), 10)) return !1;
for (c += 1, d = b.substring(0, c), f = 0, g = c - 7, h = c;h >= 1;h--) f += parseInt(d.charAt(c - h), 10) * g--, 2 > g && (g = 9);
return i = 2 > f % 11 ? 0 : 11 - f % 11, i === parseInt(e.charAt(1), 10)
},
_ch: function(a) {
if (/^CHE[0-9]{9}(MWST)?$/.test(a) && (a = a.substr(2)), !/^E[0-9]{9}(MWST)?$/.test(a)) return !1;
a = a.substr(1);
for (var b = 0, c = [5, 4, 3, 2, 7, 6, 5, 4], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b = 11 - b % 11, 10 === b ? !1 : (11 === b && (b = 0), b + "" === a.substr(8, 1))
},
_cy: function(a) {
if (/^CY[0-5|9]{1}[0-9]{7}[A-Z]{1}$/.test(a) && (a = a.substr(2)), !/^[0-5|9]{1}[0-9]{7}[A-Z]{1}$/.test(a)) return !1;
if ("12" === a.substr(0, 2)) return !1;
for (var b = 0, c = {
0: 1,
1: 0,
2: 5,
3: 7,
4: 9,
5: 13,
6: 15,
7: 17,
8: 19,
9: 21
}, d = 0;8 > d;d++) {
var e = parseInt(a.charAt(d), 10);
d % 2 === 0 && (e = c[e + ""]), b += e
}
return b = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" [b % 26], b + "" === a.substr(8, 1)
},
_cz: function(a) {
if (/^CZ[0-9]{8,10}$/.test(a) && (a = a.substr(2)), !/^[0-9]{8,10}$/.test(a)) return !1;
var b = 0,
c = 0;
if (8 === a.length) {
if (a.charAt(0) + "" == "9") return !1;
for (b = 0, c = 0;7 > c;c++) b += parseInt(a.charAt(c), 10) * (8 - c);
return b = 11 - b % 11, 10 === b && (b = 0), 11 === b && (b = 1), b + "" === a.substr(7, 1)
}
if (9 === a.length && a.charAt(0) + "" == "6") {
for (b = 0, c = 0;7 > c;c++) b += parseInt(a.charAt(c + 1), 10) * (8 - c);
return b = 11 - b % 11, 10 === b && (b = 0), 11 === b && (b = 1), b = [8, 7, 6, 5, 4, 3, 2, 1, 0, 9, 10][b - 1], b + "" === a.substr(8, 1)
}
if (9 === a.length || 10 === a.length) {
var d = 1900 + parseInt(a.substr(0, 2), 10),
e = parseInt(a.substr(2, 2), 10) % 50 % 20,
f = parseInt(a.substr(4, 2), 10);
if (9 === a.length) {
if (d >= 1980 && (d -= 100), d > 1953) return !1
} else 1954 > d && (d += 100);
if (!FormValidation.Helper.date(d, e, f)) return !1;
if (10 === a.length) {
var g = parseInt(a.substr(0, 9), 10) % 11;
return 1985 > d && (g %= 10), g + "" === a.substr(9, 1)
}
return !0
}
return !1
},
_de: function(a) {
return /^DE[0-9]{9}$/.test(a) && (a = a.substr(2)), /^[0-9]{9}$/.test(a) ? FormValidation.Helper.mod11And10(a) : !1
},
_dk: function(a) {
if (/^DK[0-9]{8}$/.test(a) && (a = a.substr(2)), !/^[0-9]{8}$/.test(a)) return !1;
for (var b = 0, c = [2, 7, 6, 5, 4, 3, 2, 1], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b % 11 === 0
},
_ee: function(a) {
if (/^EE[0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[0-9]{9}$/.test(a)) return !1;
for (var b = 0, c = [3, 7, 1, 3, 7, 1, 3, 7, 1], d = 0;9 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b % 10 === 0
},
_es: function(a) {
if (/^ES[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(a) && (a = a.substr(2)), !/^[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(a)) return !1;
var b = function(a) {
var b = parseInt(a.substr(0, 8), 10);
return b = "TRWAGMYFPDXBNJZSQVHLCKE" [b % 23], b + "" === a.substr(8, 1)
},
c = function(a) {
var b = ["XYZ".indexOf(a.charAt(0)), a.substr(1)].join("");
return b = parseInt(b, 10), b = "TRWAGMYFPDXBNJZSQVHLCKE" [b % 23], b + "" === a.substr(8, 1)
},
d = function(a) {
var b, c = a.charAt(0);
if (-1 !== "KLM".indexOf(c)) return b = parseInt(a.substr(1, 8), 10), b = "TRWAGMYFPDXBNJZSQVHLCKE" [b % 23], b + "" === a.substr(8, 1);
if (-1 !== "ABCDEFGHJNPQRSUVW".indexOf(c)) {
for (var d = 0, e = [2, 1, 2, 1, 2, 1, 2], f = 0, g = 0;7 > g;g++) f = parseInt(a.charAt(g + 1), 10) * e[g], f > 9 && (f = Math.floor(f / 10) + f % 10), d += f;
return d = 10 - d % 10, 10 === d && (d = 0), d + "" === a.substr(8, 1) || "JABCDEFGHI" [d] === a.substr(8, 1)
}
return !1
},
e = a.charAt(0);
return /^[0-9]$/.test(e) ? b(a) : /^[XYZ]$/.test(e) ? c(a) : d(a)
},
_fi: function(a) {
if (/^FI[0-9]{8}$/.test(a) && (a = a.substr(2)), !/^[0-9]{8}$/.test(a)) return !1;
for (var b = 0, c = [7, 9, 10, 5, 8, 4, 2, 1], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b % 11 === 0
},
_fr: function(a) {
if (/^FR[0-9A-Z]{2}[0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[0-9A-Z]{2}[0-9]{9}$/.test(a)) return !1;
if (!FormValidation.Helper.luhn(a.substr(2))) return !1;
if (/^[0-9]{2}$/.test(a.substr(0, 2))) return a.substr(0, 2) === parseInt(a.substr(2) + "12", 10) % 97 + "";
var b, c = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";
return b = /^[0-9]{1}$/.test(a.charAt(0)) ? 24 * c.indexOf(a.charAt(0)) + c.indexOf(a.charAt(1)) - 10 : 34 * c.indexOf(a.charAt(0)) + c.indexOf(a.charAt(1)) - 100, (parseInt(a.substr(2), 10) + 1 + Math.floor(b / 11)) % 11 === b % 11
},
_gb: function(a) {
if ((/^GB[0-9]{9}$/.test(a) || /^GB[0-9]{12}$/.test(a) || /^GBGD[0-9]{3}$/.test(a) || /^GBHA[0-9]{3}$/.test(a) || /^GB(GD|HA)8888[0-9]{5}$/.test(a)) && (a = a.substr(2)), !(/^[0-9]{9}$/.test(a) || /^[0-9]{12}$/.test(a) || /^GD[0-9]{3}$/.test(a) || /^HA[0-9]{3}$/.test(a) || /^(GD|HA)8888[0-9]{5}$/.test(a))) return !1;
var b = a.length;
if (5 === b) {
var c = a.substr(0, 2),
d = parseInt(a.substr(2), 10);
return "GD" === c && 500 > d || "HA" === c && d >= 500
}
if (11 === b && ("GD8888" === a.substr(0, 6) || "HA8888" === a.substr(0, 6))) return "GD" === a.substr(0, 2) && parseInt(a.substr(6, 3), 10) >= 500 || "HA" === a.substr(0, 2) && parseInt(a.substr(6, 3), 10) < 500 ? !1 : parseInt(a.substr(6, 3), 10) % 97 === parseInt(a.substr(9, 2), 10);
if (9 === b || 12 === b) {
for (var e = 0, f = [8, 7, 6, 5, 4, 3, 2, 10, 1], g = 0;9 > g;g++) e += parseInt(a.charAt(g), 10) * f[g];
return e %= 97, parseInt(a.substr(0, 3), 10) >= 100 ? 0 === e || 42 === e || 55 === e : 0 === e
}
return !0
},
_gr: function(a) {
if (/^(GR|EL)[0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[0-9]{9}$/.test(a)) return !1;
8 === a.length && (a = "0" + a);
for (var b = 0, c = [256, 128, 64, 32, 16, 8, 4, 2], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b = b % 11 % 10, b + "" === a.substr(8, 1)
},
_el: function(a) {
return this._gr(a)
},
_hu: function(a) {
if (/^HU[0-9]{8}$/.test(a) && (a = a.substr(2)), !/^[0-9]{8}$/.test(a)) return !1;
for (var b = 0, c = [9, 7, 3, 1, 9, 7, 3, 1], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b % 10 === 0
},
_hr: function(a) {
return /^HR[0-9]{11}$/.test(a) && (a = a.substr(2)), /^[0-9]{11}$/.test(a) ? FormValidation.Helper.mod11And10(a) : !1
},
_ie: function(a) {
if (/^IE[0-9]{1}[0-9A-Z\*\+]{1}[0-9]{5}[A-Z]{1,2}$/.test(a) && (a = a.substr(2)), !/^[0-9]{1}[0-9A-Z\*\+]{1}[0-9]{5}[A-Z]{1,2}$/.test(a)) return !1;
var b = function(a) {
for (;a.length < 7;) a = "0" + a;
for (var b = "WABCDEFGHIJKLMNOPQRSTUV", c = 0, d = 0;7 > d;d++) c += parseInt(a.charAt(d), 10) * (8 - d);
return c += 9 * b.indexOf(a.substr(7)), b[c % 23]
};
return /^[0-9]+$/.test(a.substr(0, 7)) ? a.charAt(7) === b(a.substr(0, 7) + a.substr(8) + "") : -1 !== "ABCDEFGHIJKLMNOPQRSTUVWXYZ+*".indexOf(a.charAt(1)) ? a.charAt(7) === b(a.substr(2, 5) + a.substr(0, 1) + "") : !0
},
_is: function(a) {
return /^IS[0-9]{5,6}$/.test(a) && (a = a.substr(2)), /^[0-9]{5,6}$/.test(a)
},
_it: function(a) {
if (/^IT[0-9]{11}$/.test(a) && (a = a.substr(2)), !/^[0-9]{11}$/.test(a)) return !1;
if (0 === parseInt(a.substr(0, 7), 10)) return !1;
var b = parseInt(a.substr(7, 3), 10);
return 1 > b || b > 201 && 999 !== b && 888 !== b ? !1 : FormValidation.Helper.luhn(a)
},
_lt: function(a) {
if (/^LT([0-9]{7}1[0-9]{1}|[0-9]{10}1[0-9]{1})$/.test(a) && (a = a.substr(2)), !/^([0-9]{7}1[0-9]{1}|[0-9]{10}1[0-9]{1})$/.test(a)) return !1;
var b, c = a.length,
d = 0;
for (b = 0;c - 1 > b;b++) d += parseInt(a.charAt(b), 10) * (1 + b % 9);
var e = d % 11;
if (10 === e)
for (d = 0, b = 0;c - 1 > b;b++) d += parseInt(a.charAt(b), 10) * (1 + (b + 2) % 9);
return e = e % 11 % 10, e + "" === a.charAt(c - 1)
},
_lu: function(a) {
return /^LU[0-9]{8}$/.test(a) && (a = a.substr(2)), /^[0-9]{8}$/.test(a) ? parseInt(a.substr(0, 6), 10) % 89 + "" === a.substr(6, 2) : !1
},
_lv: function(a) {
if (/^LV[0-9]{11}$/.test(a) && (a = a.substr(2)), !/^[0-9]{11}$/.test(a)) return !1;
var b, c = parseInt(a.charAt(0), 10),
d = 0,
e = [],
f = a.length;
if (c > 3) {
for (d = 0, e = [9, 1, 4, 8, 3, 10, 2, 5, 7, 6, 1], b = 0;f > b;b++) d += parseInt(a.charAt(b), 10) * e[b];
return d %= 11, 3 === d
}
var g = parseInt(a.substr(0, 2), 10),
h = parseInt(a.substr(2, 2), 10),
i = parseInt(a.substr(4, 2), 10);
if (i = i + 1800 + 100 * parseInt(a.charAt(6), 10), !FormValidation.Helper.date(i, h, g)) return !1;
for (d = 0, e = [10, 5, 8, 4, 2, 1, 6, 3, 7, 9], b = 0;f - 1 > b;b++) d += parseInt(a.charAt(b), 10) * e[b];
return d = (d + 1) % 11 % 10, d + "" === a.charAt(f - 1)
},
_mt: function(a) {
if (/^MT[0-9]{8}$/.test(a) && (a = a.substr(2)), !/^[0-9]{8}$/.test(a)) return !1;
for (var b = 0, c = [3, 4, 6, 7, 8, 9, 10, 1], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b % 37 === 0
},
_nl: function(a) {
if (/^NL[0-9]{9}B[0-9]{2}$/.test(a) && (a = a.substr(2)), !/^[0-9]{9}B[0-9]{2}$/.test(a)) return !1;
for (var b = 0, c = [9, 8, 7, 6, 5, 4, 3, 2], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b %= 11, b > 9 && (b = 0), b + "" === a.substr(8, 1)
},
_no: function(a) {
if (/^NO[0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[0-9]{9}$/.test(a)) return !1;
for (var b = 0, c = [3, 2, 7, 6, 5, 4, 3, 2], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b = 11 - b % 11, 11 === b && (b = 0), b + "" === a.substr(8, 1)
},
_pl: function(a) {
if (/^PL[0-9]{10}$/.test(a) && (a = a.substr(2)), !/^[0-9]{10}$/.test(a)) return !1;
for (var b = 0, c = [6, 5, 7, 2, 3, 4, 5, 6, 7, -1], d = 0;10 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b % 11 === 0
},
_pt: function(a) {
if (/^PT[0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[0-9]{9}$/.test(a)) return !1;
for (var b = 0, c = [9, 8, 7, 6, 5, 4, 3, 2], d = 0;8 > d;d++) b += parseInt(a.charAt(d), 10) * c[d];
return b = 11 - b % 11, b > 9 && (b = 0), b + "" === a.substr(8, 1)
},
_ro: function(a) {
if (/^RO[1-9][0-9]{1,9}$/.test(a) && (a = a.substr(2)), !/^[1-9][0-9]{1,9}$/.test(a)) return !1;
for (var b = a.length, c = [7, 5, 3, 2, 1, 7, 5, 3, 2].slice(10 - b), d = 0, e = 0;b - 1 > e;e++) d += parseInt(a.charAt(e), 10) * c[e];
return d = 10 * d % 11 % 10, d + "" === a.substr(b - 1, 1)
},
_ru: function(a) {
if (/^RU([0-9]{10}|[0-9]{12})$/.test(a) && (a = a.substr(2)), !/^([0-9]{10}|[0-9]{12})$/.test(a)) return !1;
var b = 0;
if (10 === a.length) {
var c = 0,
d = [2, 4, 10, 3, 5, 9, 4, 6, 8, 0];
for (b = 0;10 > b;b++) c += parseInt(a.charAt(b), 10) * d[b];
return c %= 11, c > 9 && (c %= 10), c + "" === a.substr(9, 1)
}
if (12 === a.length) {
var e = 0,
f = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0],
g = 0,
h = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0];
for (b = 0;11 > b;b++) e += parseInt(a.charAt(b), 10) * f[b], g += parseInt(a.charAt(b), 10) * h[b];
return e %= 11, e > 9 && (e %= 10), g %= 11, g > 9 && (g %= 10), e + "" === a.substr(10, 1) && g + "" === a.substr(11, 1)
}
return !1
},
_rs: function(a) {
if (/^RS[0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[0-9]{9}$/.test(a)) return !1;
for (var b = 10, c = 0, d = 0;8 > d;d++) c = (parseInt(a.charAt(d), 10) + b) % 10, 0 === c && (c = 10), b = 2 * c % 11;
return (b + parseInt(a.substr(8, 1), 10)) % 10 === 1
},
_se: function(a) {
return /^SE[0-9]{10}01$/.test(a) && (a = a.substr(2)), /^[0-9]{10}01$/.test(a) ? (a = a.substr(0, 10), FormValidation.Helper.luhn(a)) : !1
},
_si: function(a) {
var b = a.match(/^(SI)?([1-9][0-9]{7})$/);
if (!b) return !1;
b[1] && (a = a.substr(2));
for (var c = 0, d = [8, 7, 6, 5, 4, 3, 2], e = 0;7 > e;e++) c += parseInt(a.charAt(e), 10) * d[e];
return c = 11 - c % 11, 10 === c && (c = 0), c + "" === a.substr(7, 1)
},
_sk: function(a) {
return /^SK[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(a) && (a = a.substr(2)), /^[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(a) ? parseInt(a, 10) % 11 === 0 : !1
},
_ve: function(a) {
if (/^VE[VEJPG][0-9]{9}$/.test(a) && (a = a.substr(2)), !/^[VEJPG][0-9]{9}$/.test(a)) return !1;
for (var b = {
V: 4,
E: 8,
J: 12,
P: 16,
G: 20
}, c = b[a.charAt(0)], d = [3, 2, 7, 6, 5, 4, 3, 2], e = 0;8 > e;e++) c += parseInt(a.charAt(e + 1), 10) * d[e];
return c = 11 - c % 11, (11 === c || 10 === c) && (c = 0), c + "" === a.substr(9, 1)
},
_za: function(a) {
return /^ZA4[0-9]{9}$/.test(a) && (a = a.substr(2)), /^4[0-9]{9}$/.test(a)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
vin: {
"default": "Please enter a valid VIN number"
}
}
}), FormValidation.Validator.vin = {
validate: function(a, b) {
var c = a.getFieldValue(b, "vin");
if ("" === c) return !0;
if (!/^[a-hj-npr-z0-9]{8}[0-9xX][a-hj-npr-z0-9]{8}$/i.test(c)) return !1;
c = c.toUpperCase();
for (var d = {
A: 1,
B: 2,
C: 3,
D: 4,
E: 5,
F: 6,
G: 7,
H: 8,
J: 1,
K: 2,
L: 3,
M: 4,
N: 5,
P: 7,
R: 9,
S: 2,
T: 3,
U: 4,
V: 5,
W: 6,
X: 7,
Y: 8,
Z: 9,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6,
7: 7,
8: 8,
9: 9,
0: 0
}, e = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2], f = 0, g = c.length, h = 0;g > h;h++) f += d[c.charAt(h) + ""] * e[h];
var i = f % 11;
return 10 === i && (i = "X"), i + "" === c.charAt(8)
}
}
}(jQuery),
function(a) {
FormValidation.I18n = a.extend(!0, FormValidation.I18n || {}, {
en_US: {
zipCode: {
"default": "Please enter a valid postal code",
country: "Please enter a valid postal code in %s",
countries: {
AT: "Austria",
BG: "Bulgaria",
BR: "Brazil",
CA: "Canada",
CH: "Switzerland",
CZ: "Czech Republic",
DE: "Germany",
DK: "Denmark",
ES: "Spain",
FR: "France",
GB: "United Kingdom",
IE: "Ireland",
IN: "India",
IT: "Italy",
MA: "Morocco",
NL: "Netherlands",
PL: "Poland",
PT: "Portugal",
RO: "Romania",
RU: "Russia",
SE: "Sweden",
SG: "Singapore",
SK: "Slovakia",
US: "USA"
}
}
}
}), FormValidation.Validator.zipCode = {
html5Attributes: {
message: "message",
country: "country"
},
COUNTRY_CODES: ["AT", "BG", "BR", "CA", "CH", "CZ", "DE", "DK", "ES", "FR", "GB", "IE", "IN", "IT", "MA", "NL", "PL", "PT", "RO", "RU", "SE", "SG", "SK", "US"],
validate: function(b, c, d) {
var e = b.getFieldValue(c, "zipCode");
if ("" === e || !d.country) return !0;
var f = b.getLocale(),
g = d.country;
if (("string" != typeof g || -1 === a.inArray(g, this.COUNTRY_CODES)) && (g = b.getDynamicOption(c, g)), !g || -1 === a.inArray(g.toUpperCase(), this.COUNTRY_CODES)) return !0;
var h = !1;
switch (g = g.toUpperCase()) {
case "AT":
h = /^([1-9]{1})(\d{3})$/.test(e);
break;
case "BG":
h = /^([1-9]{1}[0-9]{3})$/.test(a.trim(e));
break;
case "BR":
h = /^(\d{2})([\.]?)(\d{3})([\-]?)(\d{3})$/.test(e);
break;
case "CA":
h = /^(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}\s?[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}[0-9]{1}$/i.test(e);
break;
case "CH":
h = /^([1-9]{1})(\d{3})$/.test(e);
break;
case "CZ":
h = /^(\d{3})([ ]?)(\d{2})$/.test(e);
break;
case "DE":
h = /^(?!01000|99999)(0[1-9]\d{3}|[1-9]\d{4})$/.test(e);
break;
case "DK":
h = /^(DK(-|\s)?)?\d{4}$/i.test(e);
break;
case "ES":
h = /^(?:0[1-9]|[1-4][0-9]|5[0-2])\d{3}$/.test(e);
break;
case "FR":
h = /^[0-9]{5}$/i.test(e);
break;
case "GB":
h = this._gb(e);
break;
case "IN":
h = /^\d{3}\s?\d{3}$/.test(e);
break;
case "IE":
h = /^(D6W|[ACDEFHKNPRTVWXY]\d{2})\s[0-9ACDEFHKNPRTVWXY]{4}$/.test(e);
break;
case "IT":
h = /^(I-|IT-)?\d{5}$/i.test(e);
break;
case "MA":
h = /^[1-9][0-9]{4}$/i.test(e);
break;
case "NL":
h = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test(e);
break;
case "PL":
h = /^[0-9]{2}\-[0-9]{3}$/.test(e);
break;
case "PT":
h = /^[1-9]\d{3}-\d{3}$/.test(e);
break;
case "RO":
h = /^(0[1-8]{1}|[1-9]{1}[0-5]{1})?[0-9]{4}$/i.test(e);
break;
case "RU":
h = /^[0-9]{6}$/i.test(e);
break;
case "SE":
h = /^(S-)?\d{3}\s?\d{2}$/i.test(e);
break;
case "SG":
h = /^([0][1-9]|[1-6][0-9]|[7]([0-3]|[5-9])|[8][0-2])(\d{4})$/i.test(e);
break;
case "SK":
h = /^(\d{3})([ ]?)(\d{2})$/.test(e);
break;
case "US":
default:
h = /^\d{4,5}([\-]?\d{4})?$/.test(e)
}
return {
valid: h,
message: FormValidation.Helper.format(d.message || FormValidation.I18n[f].zipCode.country, FormValidation.I18n[f].zipCode.countries[g])
}
},
_gb: function(a) {
for (var b = "[ABCDEFGHIJKLMNOPRSTUWYZ]", c = "[ABCDEFGHKLMNOPQRSTUVWXY]", d = "[ABCDEFGHJKPMNRSTUVWXY]", e = "[ABEHMNPRVWXY]", f = "[ABDEFGHJLNPQRSTUWXYZ]", g = [new RegExp("^(" + b + "{1}" + c + "?[0-9]{1,2})(\\s*)([0-9]{1}" + f + "{2})$", "i"), new RegExp("^(" + b + "{1}[0-9]{1}" + d + "{1})(\\s*)([0-9]{1}" + f + "{2})$", "i"), new RegExp("^(" + b + "{1}" + c + "{1}?[0-9]{1}" + e + "{1})(\\s*)([0-9]{1}" + f + "{2})$", "i"), new RegExp("^(BF1)(\\s*)([0-6]{1}[ABDEFGHJLNPQRST]{1}[ABDEFGHJLNPQRSTUWZYZ]{1})$", "i"), /^(GIR)(\s*)(0AA)$/i, /^(BFPO)(\s*)([0-9]{1,4})$/i, /^(BFPO)(\s*)(c\/o\s*[0-9]{1,3})$/i, /^([A-Z]{4})(\s*)(1ZZ)$/i, /^(AI-2640)$/i], h = 0;h < g.length;h++)
if (g[h].test(a)) return !0;
return !1
}
}
}(jQuery);