/*! * bootstrapvalidator * the best jquery plugin to validate form fields. designed to use with bootstrap 3 * * @version v0.5.3, built on 2014-11-05 9:14:18 pm * @author * @copyright (c) 2013 - 2014 nguyen huu phuoc * * */ if("undefined"==typeof jquery)throw new error("bootstrapvalidator 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("bootstrapvalidator requires jquery version 1.9.1 or higher")}(window.jquery),function(a){var b=function(b,c){this.$form=a(b),this.options=a.extend({},a.fn.bootstrapvalidator.default_options,c),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";var d=function(){for(var a=3,b=document.createelement("div"),c=b.all||[];b.innerhtml="",c[0];);return a>4?a:!a}(),e=document.createelement("div");this._changeevent=9!==d&&"oninput"in e?"input":"keyup",this._submitifvalid=null,this._cachefields={},this._init()};b.prototype={constructor:b,_init:function(){var b=this,c={autofocus:this.$form.attr("data-bv-autofocus"),container:this.$form.attr("data-bv-container"),events:{forminit:this.$form.attr("data-bv-events-form-init"),formerror:this.$form.attr("data-bv-events-form-error"),formsuccess:this.$form.attr("data-bv-events-form-success"),fieldadded:this.$form.attr("data-bv-events-field-added"),fieldremoved:this.$form.attr("data-bv-events-field-removed"),fieldinit:this.$form.attr("data-bv-events-field-init"),fielderror:this.$form.attr("data-bv-events-field-error"),fieldsuccess:this.$form.attr("data-bv-events-field-success"),fieldstatus:this.$form.attr("data-bv-events-field-status"),validatorerror:this.$form.attr("data-bv-events-validator-error"),validatorsuccess:this.$form.attr("data-bv-events-validator-success")},excluded:this.$form.attr("data-bv-excluded"),feedbackicons:{valid:this.$form.attr("data-bv-feedbackicons-valid"),invalid:this.$form.attr("data-bv-feedbackicons-invalid"),validating:this.$form.attr("data-bv-feedbackicons-validating")},group:this.$form.attr("data-bv-group"),live:this.$form.attr("data-bv-live"),message:this.$form.attr("data-bv-message"),onerror:this.$form.attr("data-bv-onerror"),onsuccess:this.$form.attr("data-bv-onsuccess"),submitbuttons:this.$form.attr("data-bv-submitbuttons"),threshold:this.$form.attr("data-bv-threshold"),trigger:this.$form.attr("data-bv-trigger"),verbose:this.$form.attr("data-bv-verbose"),fields:{}};this.$form.attr("novalidate","novalidate").addclass(this.options.elementclass).on("submit.bv",function(a){a.preventdefault(),b.validate()}).on("click.bv",this.options.submitbuttons,function(){b.$submitbutton=a(this),b._submitifvalid=!0}).find("[name], [data-bv-field]").each(function(){var d=a(this),e=d.attr("name")||d.attr("data-bv-field"),f=b._parseoptions(d);f&&(d.attr("data-bv-field",e),c.fields[e]=a.extend({},f,c.fields[e]))}),this.options=a.extend(!0,this.options,c),this.$hiddenbutton=a("