if(typeof jQuery==='undefined'){throw new Error('BootstrapValidator\'s JavaScript requires jQuery');}
(function($){var BootstrapValidator=function(form,options){this.$form=$(form);this.options=$.extend({},$.fn.bootstrapValidator.DEFAULT_OPTIONS,options);this.$invalidFields=$([]);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 ieVersion=(function(){var v=3,div=document.createElement('div'),a=div.all||[];while(div.innerHTML='',a[0]){}
return v>4?v:!v;}());var el=document.createElement('div');this._changeEvent=(ieVersion===9||!('oninput'in el))?'keyup':'input';this._submitIfValid=null;this._cacheFields={};this._init();};BootstrapValidator.prototype={constructor:BootstrapValidator,_init:function(){var that=this,options={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(e){e.preventDefault();that.validate();}).on('click.bv',this.options.submitButtons,function(){that.$submitButton=$(this);that._submitIfValid=true;}).find('[name], [data-bv-field]').each(function(){var $field=$(this),field=$field.attr('name')||$field.attr('data-bv-field'),opts=that._parseOptions($field);if(opts){$field.attr('data-bv-field',field);options.fields[field]=$.extend({},opts,options.fields[field]);}});this.options=$.extend(true,this.options,options);this.$hiddenButton=$('').attr('type','submit').prependTo(this.$form).addClass('bv-hidden-submit').css({display:'none',width:0,height:0});this.$form.on('click.bv','[type="submit"]',function(e){if(!e.isDefaultPrevented()){var $target=$(e.target),$button=$target.is('[type="submit"]')?$target.eq(0):$target.parent('[type="submit"]').eq(0);if(that.options.submitButtons&&!$button.is(that.options.submitButtons)&&!$button.is(that.$hiddenButton)){that.$form.off('submit.bv').submit();}}});for(var field in this.options.fields){this._initField(field);}
this.$form.trigger($.Event(this.options.events.formInit),{bv:this,options:this.options});if(this.options.onSuccess){this.$form.on(this.options.events.formSuccess,function(e){$.fn.bootstrapValidator.helpers.call(that.options.onSuccess,[e]);});}
if(this.options.onError){this.$form.on(this.options.events.formError,function(e){$.fn.bootstrapValidator.helpers.call(that.options.onError,[e]);});}},_parseOptions:function($field){var field=$field.attr('name')||$field.attr('data-bv-field'),validators={},validator,v,enabled,optionName,optionValue,html5AttrName,html5AttrMap;for(v in $.fn.bootstrapValidator.validators){validator=$.fn.bootstrapValidator.validators[v];enabled=$field.attr('data-bv-'+v.toLowerCase())+'';html5AttrMap=('function'===typeof validator.enableByHtml5)?validator.enableByHtml5($field):null;if((html5AttrMap&&enabled!=='false')||(html5AttrMap!==true&&(''===enabled||'true'===enabled)))
{validator.html5Attributes=$.extend({},{message:'message',onerror:'onError',onsuccess:'onSuccess'},validator.html5Attributes);validators[v]=$.extend({},html5AttrMap===true?{}:html5AttrMap,validators[v]);for(html5AttrName in validator.html5Attributes){optionName=validator.html5Attributes[html5AttrName];optionValue=$field.attr('data-bv-'+v.toLowerCase()+'-'+html5AttrName);if(optionValue){if('true'===optionValue){optionValue=true;}else if('false'===optionValue){optionValue=false;}
validators[v][optionName]=optionValue;}}}}
var opts={container:$field.attr('data-bv-container'),excluded:$field.attr('data-bv-excluded'),feedbackIcons:$field.attr('data-bv-feedbackicons'),group:$field.attr('data-bv-group'),message:$field.attr('data-bv-message'),onError:$field.attr('data-bv-onerror'),onStatus:$field.attr('data-bv-onstatus'),onSuccess:$field.attr('data-bv-onsuccess'),selector:$field.attr('data-bv-selector'),threshold:$field.attr('data-bv-threshold'),trigger:$field.attr('data-bv-trigger'),verbose:$field.attr('data-bv-verbose'),validators:validators},emptyOptions=$.isEmptyObject(opts),emptyValidators=$.isEmptyObject(validators);if(!emptyValidators||(!emptyOptions&&this.options.fields&&this.options.fields[field])){opts.validators=validators;return opts;}else{return null;}},_initField:function(field){var fields=$([]);switch(typeof field){case'object':fields=field;field=field.attr('data-bv-field');break;case'string':fields=this.getFieldElements(field);fields.attr('data-bv-field',field);break;default:break;}
if(fields.length===0){return;}
if(this.options.fields[field]===null||this.options.fields[field].validators===null){return;}
var validatorName;for(validatorName in this.options.fields[field].validators){if(!$.fn.bootstrapValidator.validators[validatorName]){delete this.options.fields[field].validators[validatorName];}}
if(this.options.fields[field].enabled===null){this.options.fields[field].enabled=true;}
var that=this,total=fields.length,type=fields.attr('type'),updateAll=(total===1)||('radio'===type)||('checkbox'===type),event=('radio'===type||'checkbox'===type||'file'===type||'SELECT'===fields.eq(0).get(0).tagName)?'change':this._changeEvent,trigger=(this.options.fields[field].trigger||this.options.trigger||event).split(' '),events=$.map(trigger,function(item){return item+'.update.bv';}).join(' ');for(var i=0;i').css('display','none').addClass('help-block').attr('data-bv-validator',validatorName).attr('data-bv-for',field).attr('data-bv-result',this.STATUS_NOT_VALIDATED).html(this._getMessage(field,validatorName)).appendTo($message);}
if('function'===typeof $.fn.bootstrapValidator.validators[validatorName].init){$.fn.bootstrapValidator.validators[validatorName].init(this,$field,this.options.fields[field].validators[validatorName]);}}
if(this.options.fields[field].feedbackIcons!==false&&this.options.fields[field].feedbackIcons!=='false'&&this.options.feedbackIcons&&this.options.feedbackIcons.validating&&this.options.feedbackIcons.invalid&&this.options.feedbackIcons.valid&&(!updateAll||i===total-1))
{$parent.addClass('has-feedback');var $icon=$('').css('display','none').addClass('form-control-feedback').attr('data-bv-icon-for',field).insertAfter($field);if('checkbox'===type||'radio'===type){var $fieldParent=$field.parent();if($fieldParent.hasClass(type)){$icon.insertAfter($fieldParent);}else if($fieldParent.parent().hasClass(type)){$icon.insertAfter($fieldParent.parent());}}
if($parent.find('label').length===0){$icon.addClass('bv-no-label');}
if($parent.find('.input-group').length!==0){$icon.addClass('bv-icon-input-group').insertAfter($parent.find('.input-group').eq(0));}
if(container){$field.off('focus.bv').on('focus.bv',function(){switch(container){case'tooltip':$icon.tooltip('show');break;case'popover':$icon.popover('show');break;default:break;}}).off('blur.bv').on('blur.bv',function(){switch(container){case'tooltip':$icon.tooltip('hide');break;case'popover':$icon.popover('hide');break;default:break;}});}}}
fields.on(this.options.events.fieldSuccess,function(e,data){var onSuccess=that.getOptions(data.field,null,'onSuccess');if(onSuccess){$.fn.bootstrapValidator.helpers.call(onSuccess,[e,data]);}}).on(this.options.events.fieldError,function(e,data){var onError=that.getOptions(data.field,null,'onError');if(onError){$.fn.bootstrapValidator.helpers.call(onError,[e,data]);}}).on(this.options.events.fieldStatus,function(e,data){var onStatus=that.getOptions(data.field,null,'onStatus');if(onStatus){$.fn.bootstrapValidator.helpers.call(onStatus,[e,data]);}}).on(this.options.events.validatorError,function(e,data){var onError=that.getOptions(data.field,data.validator,'onError');if(onError){$.fn.bootstrapValidator.helpers.call(onError,[e,data]);}}).on(this.options.events.validatorSuccess,function(e,data){var onSuccess=that.getOptions(data.field,data.validator,'onSuccess');if(onSuccess){$.fn.bootstrapValidator.helpers.call(onSuccess,[e,data]);}});events=$.map(trigger,function(item){return item+'.live.bv';}).join(' ');switch(this.options.live){case'submitted':break;case'disabled':fields.off(events);break;case'enabled':default:fields.off(events).on(events,function(){if(that._exceedThreshold($(this))){that.validateField($(this));}});break;}
fields.trigger($.Event(this.options.events.fieldInit),{bv:this,field:field,element:fields});},_getMessage:function(field,validatorName){if(!this.options.fields[field]||!$.fn.bootstrapValidator.validators[validatorName]||!this.options.fields[field].validators||!this.options.fields[field].validators[validatorName])
{return'';}
var options=this.options.fields[field].validators[validatorName];switch(true){case(!!options.message):return options.message;case(!!this.options.fields[field].message):return this.options.fields[field].message;case(!!$.fn.bootstrapValidator.i18n[validatorName]):return $.fn.bootstrapValidator.i18n[validatorName]['default'];default:return this.options.message;}},_getMessageContainer:function($field,group){var $parent=$field.parent();if($parent.is(group)){return $parent;}
var cssClasses=$parent.attr('class');if(!cssClasses){return this._getMessageContainer($parent,group);}
cssClasses=cssClasses.split(' ');var n=cssClasses.length;for(var i=0;i=threshold);},_onError:function(e){if(e.isDefaultPrevented()){return;}
if('submitted'===this.options.live){this.options.live='enabled';var that=this;for(var field in this.options.fields){(function(f){var fields=that.getFieldElements(f);if(fields.length){var type=$(fields[0]).attr('type'),event=('radio'===type||'checkbox'===type||'file'===type||'SELECT'===$(fields[0]).get(0).tagName)?'change':that._changeEvent,trigger=that.options.fields[field].trigger||that.options.trigger||event,events=$.map(trigger.split(' '),function(item){return item+'.live.bv';}).join(' ');fields.off(events).on(events,function(){if(that._exceedThreshold($(this))){that.validateField($(this));}});}})(field);}}
var $invalidField=this.$invalidFields.eq(0);if($invalidField){var $tabPane=$invalidField.parents('.tab-pane'),tabId;if($tabPane&&(tabId=$tabPane.attr('id'))){$('a[href="#'+tabId+'"][data-toggle="tab"]').tab('show');}
$invalidField.focus();}},_onSuccess:function(e){if(e.isDefaultPrevented()){return;}
this.disableSubmitButtons(true).defaultSubmit();},_onFieldValidated:function($field,validatorName){var field=$field.attr('data-bv-field'),validators=this.options.fields[field].validators,counter={},numValidators=0,data={bv:this,field:field,element:$field,validator:validatorName,result:$field.data('bv.response.'+validatorName)};if(validatorName){switch($field.data('bv.result.'+validatorName)){case this.STATUS_INVALID:$field.trigger($.Event(this.options.events.validatorError),data);break;case this.STATUS_VALID:$field.trigger($.Event(this.options.events.validatorSuccess),data);break;default:break;}}
counter[this.STATUS_NOT_VALIDATED]=0;counter[this.STATUS_VALIDATING]=0;counter[this.STATUS_INVALID]=0;counter[this.STATUS_VALID]=0;for(var v in validators){if(validators[v].enabled===false){continue;}
numValidators++;var result=$field.data('bv.result.'+v);if(result){counter[result]++;}}
if(counter[this.STATUS_VALID]===numValidators){this.$invalidFields=this.$invalidFields.not($field);$field.trigger($.Event(this.options.events.fieldSuccess),data);}
else if(counter[this.STATUS_NOT_VALIDATED]===0&&counter[this.STATUS_VALIDATING]===0&&counter[this.STATUS_INVALID]>0){this.$invalidFields=this.$invalidFields.add($field);$field.trigger($.Event(this.options.events.fieldError),data);}},getFieldElements:function(field){if(!this._cacheFields[field]){this._cacheFields[field]=(this.options.fields[field]&&this.options.fields[field].selector)?$(this.options.fields[field].selector):this.$form.find('[name="'+field+'"]');}
return this._cacheFields[field];},getOptions:function(field,validator,option){if(!field){return this.options;}
if('object'===typeof field){field=field.attr('data-bv-field');}
if(!this.options.fields[field]){return null;}
var options=this.options.fields[field];if(!validator){return option?options[option]:options;}
if(!options.validators||!options.validators[validator]){return null;}
return option?options.validators[validator][option]:options.validators[validator];},disableSubmitButtons:function(disabled){if(!disabled){this.$form.find(this.options.submitButtons).removeAttr('disabled');}else if(this.options.live!=='disabled'){this.$form.find(this.options.submitButtons).attr('disabled','disabled');}
return this;},validate:function(){if(!this.options.fields){return this;}
this.disableSubmitButtons(true);for(var field in this.options.fields){this.validateField(field);}
this._submit();return this;},validateField:function(field){var fields=$([]);switch(typeof field){case'object':fields=field;field=field.attr('data-bv-field');break;case'string':fields=this.getFieldElements(field);break;default:break;}
if(fields.length===0||(this.options.fields[field]&&this.options.fields[field].enabled===false)){return this;}
var that=this,type=fields.attr('type'),total=('radio'===type||'checkbox'===type)?1:fields.length,updateAll=('radio'===type||'checkbox'===type),validators=this.options.fields[field].validators,verbose=this.options.fields[field].verbose==='true'||this.options.fields[field].verbose===true||this.options.verbose==='true'||this.options.verbose===true,validatorName,validateResult;for(var i=0;i0)
{return false;}}
return true;},defaultSubmit:function(){if(this.$submitButton){$('').attr('type','hidden').attr('data-bv-submit-hidden','').attr('name',this.$submitButton.attr('name')).val(this.$submitButton.val()).appendTo(this.$form);}
this.$form.off('submit.bv').submit();},getInvalidFields:function(){return this.$invalidFields;},getSubmitButton:function(){return this.$submitButton;},getMessages:function(field,validator){var that=this,messages=[],$fields=$([]);switch(true){case(field&&'object'===typeof field):$fields=field;break;case(field&&'string'===typeof field):var f=this.getFieldElements(field);if(f.length>0){var type=f.attr('type');$fields=('radio'===type||'checkbox'===type)?f.eq(0):f;}
break;default:$fields=this.$invalidFields;break;}
var filter=validator?'[data-bv-validator="'+validator+'"]':'';$fields.each(function(){messages=messages.concat($(this).data('bv.messages').find('.help-block[data-bv-for="'+$(this).attr('data-bv-field')+'"][data-bv-result="'+that.STATUS_INVALID+'"]'+filter).map(function(){var v=$(this).attr('data-bv-validator'),f=$(this).attr('data-bv-for');return(that.options.fields[f].validators[v].enabled===false)?'':$(this).html();}).get());});return messages;},updateOption:function(field,validator,option,value){if('object'===typeof field){field=field.attr('data-bv-field');}
if(this.options.fields[field]&&this.options.fields[field].validators[validator]){this.options.fields[field].validators[validator][option]=value;this.updateStatus(field,this.STATUS_NOT_VALIDATED,validator);}
return this;},addField:function(field,options){var fields=$([]);switch(typeof field){case'object':fields=field;field=field.attr('data-bv-field')||field.attr('name');break;case'string':delete this._cacheFields[field];fields=this.getFieldElements(field);break;default:break;}
fields.attr('data-bv-field',field);var type=fields.attr('type'),total=('radio'===type||'checkbox'===type)?1:fields.length;for(var i=0;i2||month.length>2||year.length>4){return false;}
day=parseInt(day,10);month=parseInt(month,10);year=parseInt(year,10);if(year<1000||year>9999||month<=0||month>12){return false;}
var numDays=[31,28,31,30,31,30,31,31,30,31,30,31];if(year%400===0||(year%100!==0&&year%4===0)){numDays[1]=29;}
if(day<=0||day>numDays[month-1]){return false;}
if(notInFuture===true){var currentDate=new Date(),currentYear=currentDate.getFullYear(),currentMonth=currentDate.getMonth(),currentDay=currentDate.getDate();return(year0);},mod11And10:function(value){var check=5,length=value.length;for(var i=0;i=min&&value<=max,message:$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.between['default'],[min,max])}:{valid:value>min&&valueparseInt(max,10))){isValid=false;}
switch(true){case(!!min&&!!max):message=$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.choice.between,[parseInt(min,10),parseInt(max,10)]);break;case(!!min):message=$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.choice.less,parseInt(min,10));break;case(!!max):message=$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.choice.more,parseInt(max,10));break;default:break;}
return{valid:isValid,message:message};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.creditCard=$.extend($.fn.bootstrapValidator.i18n.creditCard||{},{'default':'Please enter a valid credit card number'});$.fn.bootstrapValidator.validators.creditCard={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
if(/[^0-9-\s]+/.test(value)){return false;}
value=value.replace(/\D/g,'');if(!$.fn.bootstrapValidator.helpers.luhn(value)){return false;}
var cards={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']}};var type,i;for(type in cards){for(i in cards[type].prefix){if(value.substr(0,cards[type].prefix[i].length)===cards[type].prefix[i]&&$.inArray(value.length,cards[type].length)!==-1)
{return true;}}}
return false;}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.cusip=$.extend($.fn.bootstrapValidator.i18n.cusip||{},{'default':'Please enter a valid CUSIP number'});$.fn.bootstrapValidator.validators.cusip={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
value=value.toUpperCase();if(!/^[0-9A-Z]{9}$/.test(value)){return false;}
var converted=$.map(value.split(''),function(item){var code=item.charCodeAt(0);return(code>='A'.charCodeAt(0)&&code<='Z'.charCodeAt(0))?(code-'A'.charCodeAt(0)+10):item;}),length=converted.length,sum=0;for(var i=0;i9){num-=9;}
sum+=num;}
sum=(10-(sum%10))%10;return sum===converted[length-1];}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.cvv=$.extend($.fn.bootstrapValidator.i18n.cvv||{},{'default':'Please enter a valid CVV number'});$.fn.bootstrapValidator.validators.cvv={html5Attributes:{message:'message',ccfield:'creditCardField'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
if(!/^[0-9]{3,4}$/.test(value)){return false;}
if(!options.creditCardField){return true;}
var creditCard=validator.getFieldElements(options.creditCardField).val();if(creditCard===''){return true;}
creditCard=creditCard.replace(/\D/g,'');var cards={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']}};var type,i,creditCardType=null;for(type in cards){for(i in cards[type].prefix){if(creditCard.substr(0,cards[type].prefix[i].length)===cards[type].prefix[i]&&$.inArray(creditCard.length,cards[type].length)!==-1)
{creditCardType=type;break;}}}
return(creditCardType===null)?false:(('AMERICAN_EXPRESS'===creditCardType)?(value.length===4):(value.length===3));}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.date=$.extend($.fn.bootstrapValidator.i18n.date||{},{'default':'Please enter a valid date'});$.fn.bootstrapValidator.validators.date={html5Attributes:{message:'message',format:'format',separator:'separator'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
options.format=options.format||'MM/DD/YYYY';if($field.attr('type')==='date'){options.format='YYYY-MM-DD';}
var formats=options.format.split(' '),dateFormat=formats[0],timeFormat=(formats.length>1)?formats[1]:null,amOrPm=(formats.length>2)?formats[2]:null,sections=value.split(' '),date=sections[0],time=(sections.length>1)?sections[1]:null;if(formats.length!==sections.length){return false;}
var separator=options.separator;if(!separator){separator=(date.indexOf('/')!==-1)?'/':((date.indexOf('-')!==-1)?'-':null);}
if(separator===null||date.indexOf(separator)===-1){return false;}
date=date.split(separator);dateFormat=dateFormat.split(separator);if(date.length!==dateFormat.length){return false;}
var year=date[$.inArray('YYYY',dateFormat)],month=date[$.inArray('MM',dateFormat)],day=date[$.inArray('DD',dateFormat)];if(!year||!month||!day||year.length!==4){return false;}
var minutes=null,hours=null,seconds=null;if(timeFormat){timeFormat=timeFormat.split(':');time=time.split(':');if(timeFormat.length!==time.length){return false;}
hours=time.length>0?time[0]:null;minutes=time.length>1?time[1]:null;seconds=time.length>2?time[2]:null;if(seconds){if(isNaN(seconds)||seconds.length>2){return false;}
seconds=parseInt(seconds,10);if(seconds<0||seconds>60){return false;}}
if(hours){if(isNaN(hours)||hours.length>2){return false;}
hours=parseInt(hours,10);if(hours<0||hours>=24||(amOrPm&&hours>12)){return false;}}
if(minutes){if(isNaN(minutes)||minutes.length>2){return false;}
minutes=parseInt(minutes,10);if(minutes<0||minutes>59){return false;}}}
return $.fn.bootstrapValidator.helpers.date(year,month,day);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.different=$.extend($.fn.bootstrapValidator.i18n.different||{},{'default':'Please enter a different value'});$.fn.bootstrapValidator.validators.different={html5Attributes:{message:'message',field:'field'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var fields=options.field.split(','),isValid=true;for(var i=0;i()[\]\\.,;:\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])?)*$/,allowMultiple=options.multiple===true||options.multiple==='true';if(allowMultiple){var separator=options.separator||/[,;]/,addresses=this._splitEmailAddresses(value,separator);for(var i=0;iparseInt(options.maxSize,10)){return false;}
ext=files[i].name.substr(files[i].name.lastIndexOf('.')+1);if(extensions&&$.inArray(ext.toLowerCase(),extensions)===-1){return false;}
if(files[i].type&&types&&$.inArray(files[i].type.toLowerCase(),types)===-1){return false;}}}else{ext=value.substr(value.lastIndexOf('.')+1);if(extensions&&$.inArray(ext.toLowerCase(),extensions)===-1){return false;}}
return true;}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.greaterThan=$.extend($.fn.bootstrapValidator.i18n.greaterThan||{},{'default':'Please enter a value greater than or equal to %s',notInclusive:'Please enter a value greater than %s'});$.fn.bootstrapValidator.validators.greaterThan={html5Attributes:{message:'message',value:'value',inclusive:'inclusive'},enableByHtml5:function($field){var type=$field.attr('type'),min=$field.attr('min');if(min&&type!=='date'){return{value:min};}
return false;},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
if(!$.isNumeric(value)){return false;}
var compareTo=$.isNumeric(options.value)?options.value:validator.getDynamicOption($field,options.value);value=parseFloat(value);return(options.inclusive===true||options.inclusive===undefined)?{valid:value>=compareTo,message:$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.greaterThan['default'],compareTo)}:{valid:value>compareTo,message:$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.greaterThan.notInclusive,compareTo)};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.grid=$.extend($.fn.bootstrapValidator.i18n.grid||{},{'default':'Please enter a valid GRId number'});$.fn.bootstrapValidator.validators.grid={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
value=value.toUpperCase();if(!/^[GRID:]*([0-9A-Z]{2})[-\s]*([0-9A-Z]{5})[-\s]*([0-9A-Z]{10})[-\s]*([0-9A-Z]{1})$/g.test(value)){return false;}
value=value.replace(/\s/g,'').replace(/-/g,'');if('GRID:'===value.substr(0,5)){value=value.substr(5);}
return $.fn.bootstrapValidator.helpers.mod37And36(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.hex=$.extend($.fn.bootstrapValidator.i18n.hex||{},{'default':'Please enter a valid hexadecimal number'});$.fn.bootstrapValidator.validators.hex={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
return/^[0-9a-fA-F]+$/.test(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.hexColor=$.extend($.fn.bootstrapValidator.i18n.hexColor||{},{'default':'Please enter a valid hex color'});$.fn.bootstrapValidator.validators.hexColor={enableByHtml5:function($field){return('color'===$field.attr('type'));},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.iban=$.extend($.fn.bootstrapValidator.i18n.iban||{},{'default':'Please enter a valid IBAN number',countryNotSupported:'The country code %s is not supported',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:'Dominica',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',TN:'Tunisia',TR:'Turkey',VG:'Virgin Islands, British'}});$.fn.bootstrapValidator.validators.iban={html5Attributes:{message:'message',country:'country'},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}',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}'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
value=value.replace(/[^a-zA-Z0-9]/g,'').toUpperCase();var country=options.country;if(!country){country=value.substr(0,2);}else if(typeof country!=='string'||!this.REGEX[country]){country=validator.getDynamicOption($field,country);}
if(!this.REGEX[country]){return{valid:false,message:$.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.iban.countryNotSupported,country)};}
if(!(new RegExp('^'+this.REGEX[country]+'$')).test(value)){return{valid:false,message:$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.iban.country,$.fn.bootstrapValidator.i18n.iban.countries[country])};}
value=value.substr(4)+value.substr(0,4);value=$.map(value.split(''),function(n){var code=n.charCodeAt(0);return(code>='A'.charCodeAt(0)&&code<='Z'.charCodeAt(0))?(code-'A'.charCodeAt(0)+10):n;});value=value.join('');var temp=parseInt(value.substr(0,1),10),length=value.length;for(var i=1;i31||month>12){return false;}
var sum=0;for(var i=0;i<6;i++){sum+=(7-i)*(parseInt(value.charAt(i),10)+parseInt(value.charAt(i+6),10));}
sum=11-sum%11;if(sum===10||sum===11){sum=0;}
if(sum!==k){return false;}
switch(countryCode.toUpperCase()){case'BA':return(10<=rr&&rr<=19);case'MK':return(41<=rr&&rr<=49);case'ME':return(20<=rr&&rr<=29);case'RS':return(70<=rr&&rr<=99);case'SI':return(50<=rr&&rr<=59);default:return true;}},_ba:function(value){return this._validateJMBG(value,'BA');},_mk:function(value){return this._validateJMBG(value,'MK');},_me:function(value){return this._validateJMBG(value,'ME');},_rs:function(value){return this._validateJMBG(value,'RS');},_si:function(value){return this._validateJMBG(value,'SI');},_bg:function(value){if(!/^\d{10}$/.test(value)&&!/^\d{6}\s\d{3}\s\d{1}$/.test(value)){return false;}
value=value.replace(/\s/g,'');var year=parseInt(value.substr(0,2),10)+1900,month=parseInt(value.substr(2,2),10),day=parseInt(value.substr(4,2),10);if(month>40){year+=100;month-=40;}else if(month>20){year-=100;month-=20;}
if(!$.fn.bootstrapValidator.helpers.date(year,month,day)){return false;}
var sum=0,weight=[2,4,8,5,10,9,7,3,6];for(var i=0;i<9;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=(sum%11)%10;return(sum+''===value.substr(9,1));},_br:function(value){if(/^1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}$/.test(value)){return false;}
if(!/^\d{11}$/.test(value)&&!/^\d{3}\.\d{3}\.\d{3}-\d{2}$/.test(value)){return false;}
value=value.replace(/\./g,'').replace(/-/g,'');var d1=0;for(var i=0;i<9;i++){d1+=(10-i)*parseInt(value.charAt(i),10);}
d1=11-d1%11;if(d1===10||d1===11){d1=0;}
if(d1+''!==value.charAt(9)){return false;}
var d2=0;for(i=0;i<10;i++){d2+=(11-i)*parseInt(value.charAt(i),10);}
d2=11-d2%11;if(d2===10||d2===11){d2=0;}
return(d2+''===value.charAt(10));},_ch:function(value){if(!/^756[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{4}[\.]{0,1}[0-9]{2}$/.test(value)){return false;}
value=value.replace(/\D/g,'').substr(3);var length=value.length,sum=0,weight=(length===8)?[3,1]:[1,3];for(var i=0;i=1980){year-=100;}
if(year>1953){return false;}}else if(year<1954){year+=100;}
if(!$.fn.bootstrapValidator.helpers.date(year,month,day)){return false;}
if(value.length===10){var check=parseInt(value.substr(0,9),10)%11;if(year<1985){check=check%10;}
return(check+''===value.substr(9,1));}
return true;},_dk:function(value){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(value)){return false;}
value=value.replace(/-/g,'');var day=parseInt(value.substr(0,2),10),month=parseInt(value.substr(2,2),10),year=parseInt(value.substr(4,2),10);switch(true){case('5678'.indexOf(value.charAt(6))!==-1&&year>=58):year+=1800;break;case('0123'.indexOf(value.charAt(6))!==-1):case('49'.indexOf(value.charAt(6))!==-1&&year>=37):year+=1900;break;default:year+=2000;break;}
return $.fn.bootstrapValidator.helpers.date(year,month,day);},_ee:function(value){return this._lt(value);},_es:function(value){if(!/^[0-9A-Z]{8}[-]{0,1}[0-9A-Z]$/.test(value)&&!/^[XYZ][-]{0,1}[0-9]{7}[-]{0,1}[0-9A-Z]$/.test(value)){return false;}
value=value.replace(/-/g,'');var index='XYZ'.indexOf(value.charAt(0));if(index!==-1){value=index+value.substr(1)+'';}
var check=parseInt(value.substr(0,8),10);check='TRWAGMYFPDXBNJZSQVHLCKE'[check%23];return(check===value.substr(8,1));},_fi:function(value){if(!/^[0-9]{6}[-+A][0-9]{3}[0-9ABCDEFHJKLMNPRSTUVWXY]$/.test(value)){return false;}
var day=parseInt(value.substr(0,2),10),month=parseInt(value.substr(2,2),10),year=parseInt(value.substr(4,2),10),centuries={'+':1800,'-':1900,'A':2000};year=centuries[value.charAt(6)]+year;if(!$.fn.bootstrapValidator.helpers.date(year,month,day)){return false;}
var individual=parseInt(value.substr(7,3),10);if(individual<2){return false;}
var n=value.substr(0,6)+value.substr(7,3)+'';n=parseInt(n,10);return'0123456789ABCDEFHJKLMNPRSTUVWXY'.charAt(n%31)===value.charAt(10);},_hr:function(value){if(!/^[0-9]{11}$/.test(value)){return false;}
return $.fn.bootstrapValidator.helpers.mod11And10(value);},_ie:function(value){if(!/^\d{7}[A-W][AHWTX]?$/.test(value)){return false;}
var getCheckDigit=function(value){while(value.length<7){value='0'+value;}
var alphabet='WABCDEFGHIJKLMNOPQRSTUV',sum=0;for(var i=0;i<7;i++){sum+=parseInt(value.charAt(i),10)*(8-i);}
sum+=9*alphabet.indexOf(value.substr(7));return alphabet[sum%23];};if(value.length===9&&('A'===value.charAt(8)||'H'===value.charAt(8))){return value.charAt(7)===getCheckDigit(value.substr(0,7)+value.substr(8)+'');}
else{return value.charAt(7)===getCheckDigit(value.substr(0,7));}},_is:function(value){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(value)){return false;}
value=value.replace(/-/g,'');var day=parseInt(value.substr(0,2),10),month=parseInt(value.substr(2,2),10),year=parseInt(value.substr(4,2),10),century=parseInt(value.charAt(9),10);year=(century===9)?(1900+year):((20+century)*100+year);if(!$.fn.bootstrapValidator.helpers.date(year,month,day,true)){return false;}
var sum=0,weight=[3,2,7,6,5,4,3,2];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=11-sum%11;return(sum+''===value.charAt(8));},_lt:function(value){if(!/^[0-9]{11}$/.test(value)){return false;}
var gender=parseInt(value.charAt(0),10),year=parseInt(value.substr(1,2),10),month=parseInt(value.substr(3,2),10),day=parseInt(value.substr(5,2),10),century=(gender%2===0)?(17+gender/2):(17+(gender+1)/2);year=century*100+year;if(!$.fn.bootstrapValidator.helpers.date(year,month,day,true)){return false;}
var sum=0,weight=[1,2,3,4,5,6,7,8,9,1];for(var i=0;i<10;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=sum%11;if(sum!==10){return sum+''===value.charAt(10);}
sum=0;weight=[3,4,5,6,7,8,9,1,2,3];for(i=0;i<10;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=sum%11;if(sum===10){sum=0;}
return(sum+''===value.charAt(10));},_lv:function(value){if(!/^[0-9]{6}[-]{0,1}[0-9]{5}$/.test(value)){return false;}
value=value.replace(/\D/g,'');var day=parseInt(value.substr(0,2),10),month=parseInt(value.substr(2,2),10),year=parseInt(value.substr(4,2),10);year=year+1800+parseInt(value.charAt(6),10)*100;if(!$.fn.bootstrapValidator.helpers.date(year,month,day,true)){return false;}
var sum=0,weight=[10,5,8,4,2,1,6,3,7,9];for(var i=0;i<10;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=(sum+1)%11%10;return(sum+''===value.charAt(10));},_nl:function(value){while(value.length<9){value='0'+value;}
if(!/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(value)){return false;}
value=value.replace(/\./g,'');if(parseInt(value,10)===0){return false;}
var sum=0,length=value.length;for(var i=0;i31&&month>12){return false;}
if(gender!==9){year=centuries[gender+'']+year;if(!$.fn.bootstrapValidator.helpers.date(year,month,day)){return false;}}
var sum=0,weight=[2,7,9,1,4,6,3,5,8,2,7,9],length=value.length;for(var i=0;i=currentYear)?(year+1900):(year+2000);if(!$.fn.bootstrapValidator.helpers.date(year,month,day)){return false;}
return $.fn.bootstrapValidator.helpers.luhn(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.identical=$.extend($.fn.bootstrapValidator.i18n.identical||{},{'default':'Please enter the same value'});$.fn.bootstrapValidator.validators.identical={html5Attributes:{message:'message',field:'field'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var compareWith=validator.getFieldElements(options.field);if(compareWith===null||compareWith.length===0){return true;}
if(value===compareWith.val()){validator.updateStatus(options.field,validator.STATUS_VALID,'identical');return true;}else{return false;}}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.imei=$.extend($.fn.bootstrapValidator.i18n.imei||{},{'default':'Please enter a valid IMEI number'});$.fn.bootstrapValidator.validators.imei={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
switch(true){case/^\d{15}$/.test(value):case/^\d{2}-\d{6}-\d{6}-\d{1}$/.test(value):case/^\d{2}\s\d{6}\s\d{6}\s\d{1}$/.test(value):value=value.replace(/[^0-9]/g,'');return $.fn.bootstrapValidator.helpers.luhn(value);case/^\d{14}$/.test(value):case/^\d{16}$/.test(value):case/^\d{2}-\d{6}-\d{6}(|-\d{2})$/.test(value):case/^\d{2}\s\d{6}\s\d{6}(|\s\d{2})$/.test(value):return true;default:return false;}}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.imo=$.extend($.fn.bootstrapValidator.i18n.imo||{},{'default':'Please enter a valid IMO number'});$.fn.bootstrapValidator.validators.imo={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
if(!/^IMO \d{7}$/i.test(value)){return false;}
var sum=0,digits=value.replace(/^.*(\d{7})$/,'$1');for(var i=6;i>=1;i--){sum+=(digits.slice((6-i),-i)*(i+1));}
return sum%10===parseInt(digits.charAt(6),10);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.integer=$.extend($.fn.bootstrapValidator.i18n.integer||{},{'default':'Please enter a valid number'});$.fn.bootstrapValidator.validators.integer={enableByHtml5:function($field){return('number'===$field.attr('type'))&&($field.attr('step')===undefined||$field.attr('step')%1===0);},validate:function(validator,$field,options){if(this.enableByHtml5($field)&&$field.get(0).validity&&$field.get(0).validity.badInput===true){return false;}
var value=$field.val();if(value===''){return true;}
return/^(?:-?(?:0|[1-9][0-9]*))$/.test(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.ip=$.extend($.fn.bootstrapValidator.i18n.ip||{},{'default':'Please enter a valid IP address',ipv4:'Please enter a valid IPv4 address',ipv6:'Please enter a valid IPv6 address'});$.fn.bootstrapValidator.validators.ip={html5Attributes:{message:'message',ipv4:'ipv4',ipv6:'ipv6'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
options=$.extend({},{ipv4:true,ipv6:true},options);var ipv4Regex=/^(?:(?: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]?)$/,ipv6Regex=/^\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*$/,valid=false,message;switch(true){case(options.ipv4&&!options.ipv6):valid=ipv4Regex.test(value);message=options.message||$.fn.bootstrapValidator.i18n.ip.ipv4;break;case(!options.ipv4&&options.ipv6):valid=ipv6Regex.test(value);message=options.message||$.fn.bootstrapValidator.i18n.ip.ipv6;break;case(options.ipv4&&options.ipv6):default:valid=ipv4Regex.test(value)||ipv6Regex.test(value);message=options.message||$.fn.bootstrapValidator.i18n.ip['default'];break;}
return{valid:valid,message:message};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.isbn=$.extend($.fn.bootstrapValidator.i18n.isbn||{},{'default':'Please enter a valid ISBN number'});$.fn.bootstrapValidator.validators.isbn={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var type;switch(true){case/^\d{9}[\dX]$/.test(value):case(value.length===13&&/^(\d+)-(\d+)-(\d+)-([\dX])$/.test(value)):case(value.length===13&&/^(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(value)):type='ISBN10';break;case/^(978|979)\d{9}[\dX]$/.test(value):case(value.length===17&&/^(978|979)-(\d+)-(\d+)-(\d+)-([\dX])$/.test(value)):case(value.length===17&&/^(978|979)\s(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(value)):type='ISBN13';break;default:return false;}
value=value.replace(/[^0-9X]/gi,'');var chars=value.split(''),length=chars.length,sum=0,i,checksum;switch(type){case'ISBN10':sum=0;for(i=0;i57)?(c-55).toString():value.charAt(i));}
var digits='',n=converted.length,group=(n%2!==0)?0:1;for(i=0;i0;}
if('number'===type&&$field.get(0).validity&&$field.get(0).validity.badInput===true){return true;}
return $.trim($field.val())!=='';}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.numeric=$.extend($.fn.bootstrapValidator.i18n.numeric||{},{'default':'Please enter a valid float number'});$.fn.bootstrapValidator.validators.numeric={html5Attributes:{message:'message',separator:'separator'},enableByHtml5:function($field){return('number'===$field.attr('type'))&&($field.attr('step')!==undefined)&&($field.attr('step')%1!==0);},validate:function(validator,$field,options){if(this.enableByHtml5($field)&&$field.get(0).validity&&$field.get(0).validity.badInput===true){return false;}
var value=$field.val();if(value===''){return true;}
var separator=options.separator||'.';if(separator!=='.'){value=value.replace(separator,'.');}
return!isNaN(parseFloat(value))&&isFinite(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.phone=$.extend($.fn.bootstrapValidator.i18n.phone||{},{'default':'Please enter a valid phone number',countryNotSupported:'The country code %s is not supported',country:'Please enter a valid phone number in %s',countries:{BR:'Brazil',CN:'China',CZ:'Czech Republic',DK:'Denmark',ES:'Spain',FR:'France',GB:'United Kingdom',MA:'Morocco',PK:'Pakistan',RO:'Romania',RU:'Russia',SK:'Slovakia',TH:'Thailand',US:'USA',VE:'Venezuela'}});$.fn.bootstrapValidator.validators.phone={html5Attributes:{message:'message',country:'country'},COUNTRY_CODES:['BR','CN','CZ','DK','ES','FR','GB','MA','PK','RO','RU','SK','TH','US','VE'],validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var country=options.country;if(typeof country!=='string'||$.inArray(country,this.COUNTRY_CODES)===-1){country=validator.getDynamicOption($field,country);}
if(!country||$.inArray(country.toUpperCase(),this.COUNTRY_CODES)===-1){return{valid:false,message:$.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.phone.countryNotSupported,country)};}
var isValid=true;switch(country.toUpperCase()){case'BR':value=$.trim(value);isValid=(/^(([\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(value);break;case'CN':value=$.trim(value);isValid=(/^((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(value);break;case'CZ':isValid=/^(((00)([- ]?)|\+)(420)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(value);break;case'DK':value=$.trim(value);isValid=(/^(\+45|0045|\(45\))?\s?[2-9](\s?\d){7}$/).test(value);break;case'ES':value=$.trim(value);isValid=(/^(?:(?:(?:\+|00)34\D?))?(?:9|6)(?:\d\D?){8}$/).test(value);break;case'FR':value=$.trim(value);isValid=(/^(?:(?:(?:\+|00)33[ ]?(?:\(0\)[ ]?)?)|0){1}[1-9]{1}([ .-]?)(?:\d{2}\1?){3}\d{2}$/).test(value);break;case'GB':value=$.trim(value);isValid=(/^\(?(?:(?: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(value);break;case'MA':value=$.trim(value);isValid=(/^(?:(?:(?:\+|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(value);break;case'PK':value=$.trim(value);isValid=(/^0?3[0-9]{2}[0-9]{7}$/).test(value);break;case'RO':isValid=(/^(\+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(value);break;case'RU':isValid=(/^((8|\+7|007)[\-\.\/ ]?)?([\(\/\.]?\d{3}[\)\/\.]?[\-\.\/ ]?)?[\d\-\.\/ ]{7,10}$/g).test(value);break;case'SK':isValid=/^(((00)([- ]?)|\+)(420)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(value);break;case'TH':isValid=(/^0\(?([6|8-9]{2})*-([0-9]{3})*-([0-9]{4})$/).test(value);break;case'VE':value=$.trim(value);isValid=(/^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(value);break;case'US':default:value=value.replace(/\D/g,'');isValid=(/^(?:(1\-?)|(\+1 ?))?\(?(\d{3})[\)\-\.]?(\d{3})[\-\.]?(\d{4})$/).test(value)&&(value.length===10);break;}
return{valid:isValid,message:$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.phone.country,$.fn.bootstrapValidator.i18n.phone.countries[country])};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.regexp=$.extend($.fn.bootstrapValidator.i18n.regexp||{},{'default':'Please enter a value matching the pattern'});$.fn.bootstrapValidator.validators.regexp={html5Attributes:{message:'message',regexp:'regexp'},enableByHtml5:function($field){var pattern=$field.attr('pattern');if(pattern){return{regexp:pattern};}
return false;},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var regexp=('string'===typeof options.regexp)?new RegExp(options.regexp):options.regexp;return regexp.test(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.remote=$.extend($.fn.bootstrapValidator.i18n.remote||{},{'default':'Please enter a valid value'});$.fn.bootstrapValidator.validators.remote={html5Attributes:{message:'message',name:'name',type:'type',url:'url',delay:'delay'},destroy:function(validator,$field,options){if($field.data('bv.remote.timer')){clearTimeout($field.data('bv.remote.timer'));$field.removeData('bv.remote.timer');}},validate:function(validator,$field,options){var value=$field.val(),dfd=new $.Deferred();if(value===''){dfd.resolve($field,'remote',{valid:true});return dfd;}
var name=$field.attr('data-bv-field'),data=options.data||{},url=options.url,type=options.type||'GET',headers=options.headers||{};if('function'===typeof data){data=data.call(this,validator);}
if('function'===typeof url){url=url.call(this,validator);}
data[options.name||name]=value;function runCallback(){var xhr=$.ajax({type:type,headers:headers,url:url,dataType:'json',data:data});xhr.then(function(response){response.valid=response.valid===true||response.valid==='true';dfd.resolve($field,'remote',response);});dfd.fail(function(){xhr.abort();});return dfd;}
if(options.delay){if($field.data('bv.remote.timer')){clearTimeout($field.data('bv.remote.timer'));}
$field.data('bv.remote.timer',setTimeout(runCallback,options.delay));return dfd;}else{return runCallback();}}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.rtn=$.extend($.fn.bootstrapValidator.i18n.rtn||{},{'default':'Please enter a valid RTN number'});$.fn.bootstrapValidator.validators.rtn={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
if(!/^\d{9}$/.test(value)){return false;}
var sum=0;for(var i=0;i9){tmp-=9;}}
sum+=tmp;}
return(sum%10===0);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.step=$.extend($.fn.bootstrapValidator.i18n.step||{},{'default':'Please enter a valid step of %s'});$.fn.bootstrapValidator.validators.step={html5Attributes:{message:'message',base:'baseValue',step:'step'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
options=$.extend({},{baseValue:0,step:1},options);value=parseFloat(value);if(!$.isNumeric(value)){return false;}
var round=function(x,precision){var m=Math.pow(10,precision);x=x*m;var sign=(x>0)|-(x<0),isHalf=(x%1===0.5*sign);if(isHalf){return(Math.floor(x)+(sign>0))/m;}else{return Math.round(x)/m;}},floatMod=function(x,y){if(y===0.0){return 1.0;}
var dotX=(x+'').split('.'),dotY=(y+'').split('.'),precision=((dotX.length===1)?0:dotX[1].length)+((dotY.length===1)?0:dotY[1].length);return round(x-y*Math.floor(x/y),precision);};var mod=floatMod(value-options.baseValue,options.step);return{valid:mod===0.0||mod===options.step,message:$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.step['default'],[options.step])};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.stringCase=$.extend($.fn.bootstrapValidator.i18n.stringCase||{},{'default':'Please enter only lowercase characters',upper:'Please enter only uppercase characters'});$.fn.bootstrapValidator.validators.stringCase={html5Attributes:{message:'message','case':'case'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var stringCase=(options['case']||'lower').toLowerCase();return{valid:('upper'===stringCase)?value===value.toUpperCase():value===value.toLowerCase(),message:options.message||(('upper'===stringCase)?$.fn.bootstrapValidator.i18n.stringCase.upper:$.fn.bootstrapValidator.i18n.stringCase['default'])};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.stringLength=$.extend($.fn.bootstrapValidator.i18n.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'});$.fn.bootstrapValidator.validators.stringLength={html5Attributes:{message:'message',min:'min',max:'max'},enableByHtml5:function($field){var options={},maxLength=$field.attr('maxlength'),minLength=$field.attr('minlength');if(maxLength){options.max=parseInt(maxLength,10);}
if(minLength){options.min=parseInt(minLength,10);}
return $.isEmptyObject(options)?false:options;},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var min=$.isNumeric(options.min)?options.min:validator.getDynamicOption($field,options.min),max=$.isNumeric(options.max)?options.max:validator.getDynamicOption($field,options.max),length=value.length,isValid=true,message=options.message||$.fn.bootstrapValidator.i18n.stringLength['default'];if((min&&lengthparseInt(max,10))){isValid=false;}
switch(true){case(!!min&&!!max):message=$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.stringLength.between,[parseInt(min,10),parseInt(max,10)]);break;case(!!min):message=$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.stringLength.more,parseInt(min,10));break;case(!!max):message=$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.stringLength.less,parseInt(max,10));break;default:break;}
return{valid:isValid,message:message};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.uri=$.extend($.fn.bootstrapValidator.i18n.uri||{},{'default':'Please enter a valid URI'});$.fn.bootstrapValidator.validators.uri={html5Attributes:{message:'message',allowlocal:'allowLocal',protocol:'protocol'},enableByHtml5:function($field){return('url'===$field.attr('type'));},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var allowLocal=options.allowLocal===true||options.allowLocal==='true',protocol=(options.protocol||'http, https, ftp').split(',').join('|').replace(/\s/g,''),urlExp=new RegExp("^"+"(?:(?:"+protocol+")://)"+"(?:\\S+(?::\\S*)?@)?"+"(?:"+(allowLocal?'':("(?!(?: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,}))"+(allowLocal?'?':'')+")"+"(?::\\d{2,5})?"+"(?:/[^\\s]*)?"+"$","i");return urlExp.test(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.uuid=$.extend($.fn.bootstrapValidator.i18n.uuid||{},{'default':'Please enter a valid UUID number',version:'Please enter a valid UUID version %s number'});$.fn.bootstrapValidator.validators.uuid={html5Attributes:{message:'message',version:'version'},validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
var patterns={'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},version=options.version?(options.version+''):'all';return{valid:(null===patterns[version])?true:patterns[version].test(value),message:options.version?$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.uuid.version,options.version):(options.message||$.fn.bootstrapValidator.i18n.uuid['default'])};}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.vat=$.extend($.fn.bootstrapValidator.i18n.vat||{},{'default':'Please enter a valid VAT number',countryNotSupported:'The country code %s is not supported',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'}});$.fn.bootstrapValidator.validators.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(validator,$field,options){var value=$field.val();if(value===''){return true;}
var country=options.country;if(!country){country=value.substr(0,2);}else if(typeof country!=='string'||$.inArray(country.toUpperCase(),this.COUNTRY_CODES)===-1){country=validator.getDynamicOption($field,country);}
if($.inArray(country,this.COUNTRY_CODES)===-1){return{valid:false,message:$.fn.bootstrapValidator.helpers.format($.fn.bootstrapValidator.i18n.vat.countryNotSupported,country)};}
var method=['_',country.toLowerCase()].join('');return this[method](value)?true:{valid:false,message:$.fn.bootstrapValidator.helpers.format(options.message||$.fn.bootstrapValidator.i18n.vat.country,$.fn.bootstrapValidator.i18n.vat.countries[country.toUpperCase()])};},_at:function(value){if(/^ATU[0-9]{8}$/.test(value)){value=value.substr(2);}
if(!/^U[0-9]{8}$/.test(value)){return false;}
value=value.substr(1);var sum=0,weight=[1,2,1,2,1,2,1],temp=0;for(var i=0;i<7;i++){temp=parseInt(value.charAt(i),10)*weight[i];if(temp>9){temp=Math.floor(temp/10)+temp%10;}
sum+=temp;}
sum=10-(sum+4)%10;if(sum===10){sum=0;}
return(sum+''===value.substr(7,1));},_be:function(value){if(/^BE[0]{0,1}[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0]{0,1}[0-9]{9}$/.test(value)){return false;}
if(value.length===9){value='0'+value;}
if(value.substr(1,1)==='0'){return false;}
var sum=parseInt(value.substr(0,8),10)+parseInt(value.substr(8,2),10);return(sum%97===0);},_bg:function(value){if(/^BG[0-9]{9,10}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{9,10}$/.test(value)){return false;}
var sum=0,i=0;if(value.length===9){for(i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*(i+1);}
sum=sum%11;if(sum===10){sum=0;for(i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*(i+3);}}
sum=sum%10;return(sum+''===value.substr(8));}
else if(value.length===10){var egn=function(value){var year=parseInt(value.substr(0,2),10)+1900,month=parseInt(value.substr(2,2),10),day=parseInt(value.substr(4,2),10);if(month>40){year+=100;month-=40;}else if(month>20){year-=100;month-=20;}
if(!$.fn.bootstrapValidator.helpers.date(year,month,day)){return false;}
var sum=0,weight=[2,4,8,5,10,9,7,3,6];for(var i=0;i<9;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=(sum%11)%10;return(sum+''===value.substr(9,1));},pnf=function(value){var sum=0,weight=[21,19,17,13,11,9,7,3,1];for(var i=0;i<9;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=sum%10;return(sum+''===value.substr(9,1));},vat=function(value){var sum=0,weight=[4,3,2,7,6,5,4,3,2];for(var i=0;i<9;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=11-sum%11;if(sum===10){return false;}
if(sum===11){sum=0;}
return(sum+''===value.substr(9,1));};return(egn(value)||pnf(value)||vat(value));}
return false;},_br:function(value){if(value===''){return true;}
var cnpj=value.replace(/[^\d]+/g,'');if(cnpj===''||cnpj.length!==14){return false;}
if(cnpj==='00000000000000'||cnpj==='11111111111111'||cnpj==='22222222222222'||cnpj==='33333333333333'||cnpj==='44444444444444'||cnpj==='55555555555555'||cnpj==='66666666666666'||cnpj==='77777777777777'||cnpj==='88888888888888'||cnpj==='99999999999999')
{return false;}
var length=cnpj.length-2,numbers=cnpj.substring(0,length),digits=cnpj.substring(length),sum=0,pos=length-7;for(var i=length;i>=1;i--){sum+=parseInt(numbers.charAt(length-i),10)*pos--;if(pos<2){pos=9;}}
var result=sum%11<2?0:11-sum%11;if(result!==parseInt(digits.charAt(0),10)){return false;}
length=length+1;numbers=cnpj.substring(0,length);sum=0;pos=length-7;for(i=length;i>=1;i--){sum+=parseInt(numbers.charAt(length-i),10)*pos--;if(pos<2){pos=9;}}
result=sum%11<2?0:11-sum%11;return(result===parseInt(digits.charAt(1),10));},_ch:function(value){if(/^CHE[0-9]{9}(MWST)?$/.test(value)){value=value.substr(2);}
if(!/^E[0-9]{9}(MWST)?$/.test(value)){return false;}
value=value.substr(1);var sum=0,weight=[5,4,3,2,7,6,5,4];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=11-sum%11;if(sum===10){return false;}
if(sum===11){sum=0;}
return(sum+''===value.substr(8,1));},_cy:function(value){if(/^CY[0-5|9]{1}[0-9]{7}[A-Z]{1}$/.test(value)){value=value.substr(2);}
if(!/^[0-5|9]{1}[0-9]{7}[A-Z]{1}$/.test(value)){return false;}
if(value.substr(0,2)==='12'){return false;}
var sum=0,translation={'0':1,'1':0,'2':5,'3':7,'4':9,'5':13,'6':15,'7':17,'8':19,'9':21};for(var i=0;i<8;i++){var temp=parseInt(value.charAt(i),10);if(i%2===0){temp=translation[temp+''];}
sum+=temp;}
sum='ABCDEFGHIJKLMNOPQRSTUVWXYZ'[sum%26];return(sum+''===value.substr(8,1));},_cz:function(value){if(/^CZ[0-9]{8,10}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{8,10}$/.test(value)){return false;}
var sum=0,i=0;if(value.length===8){if(value.charAt(0)+''==='9'){return false;}
sum=0;for(i=0;i<7;i++){sum+=parseInt(value.charAt(i),10)*(8-i);}
sum=11-sum%11;if(sum===10){sum=0;}
if(sum===11){sum=1;}
return(sum+''===value.substr(7,1));}else if(value.length===9&&(value.charAt(0)+''==='6')){sum=0;for(i=0;i<7;i++){sum+=parseInt(value.charAt(i+1),10)*(8-i);}
sum=11-sum%11;if(sum===10){sum=0;}
if(sum===11){sum=1;}
sum=[8,7,6,5,4,3,2,1,0,9,10][sum-1];return(sum+''===value.substr(8,1));}else if(value.length===9||value.length===10){var year=1900+parseInt(value.substr(0,2),10),month=parseInt(value.substr(2,2),10)%50%20,day=parseInt(value.substr(4,2),10);if(value.length===9){if(year>=1980){year-=100;}
if(year>1953){return false;}}else if(year<1954){year+=100;}
if(!$.fn.bootstrapValidator.helpers.date(year,month,day)){return false;}
if(value.length===10){var check=parseInt(value.substr(0,9),10)%11;if(year<1985){check=check%10;}
return(check+''===value.substr(9,1));}
return true;}
return false;},_de:function(value){if(/^DE[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{9}$/.test(value)){return false;}
return $.fn.bootstrapValidator.helpers.mod11And10(value);},_dk:function(value){if(/^DK[0-9]{8}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{8}$/.test(value)){return false;}
var sum=0,weight=[2,7,6,5,4,3,2,1];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
return(sum%11===0);},_ee:function(value){if(/^EE[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{9}$/.test(value)){return false;}
var sum=0,weight=[3,7,1,3,7,1,3,7,1];for(var i=0;i<9;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
return(sum%10===0);},_es:function(value){if(/^ES[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(value)){value=value.substr(2);}
if(!/^[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(value)){return false;}
var dni=function(value){var check=parseInt(value.substr(0,8),10);check='TRWAGMYFPDXBNJZSQVHLCKE'[check%23];return(check+''===value.substr(8,1));},nie=function(value){var check=['XYZ'.indexOf(value.charAt(0)),value.substr(1)].join('');check=parseInt(check,10);check='TRWAGMYFPDXBNJZSQVHLCKE'[check%23];return(check+''===value.substr(8,1));},cif=function(value){var first=value.charAt(0),check;if('KLM'.indexOf(first)!==-1){check=parseInt(value.substr(1,8),10);check='TRWAGMYFPDXBNJZSQVHLCKE'[check%23];return(check+''===value.substr(8,1));}else if('ABCDEFGHJNPQRSUVW'.indexOf(first)!==-1){var sum=0,weight=[2,1,2,1,2,1,2],temp=0;for(var i=0;i<7;i++){temp=parseInt(value.charAt(i+1),10)*weight[i];if(temp>9){temp=Math.floor(temp/10)+temp%10;}
sum+=temp;}
sum=10-sum%10;return(sum+''===value.substr(8,1)||'JABCDEFGHI'[sum]===value.substr(8,1));}
return false;};var first=value.charAt(0);if(/^[0-9]$/.test(first)){return dni(value);}else if(/^[XYZ]$/.test(first)){return nie(value);}else{return cif(value);}},_fi:function(value){if(/^FI[0-9]{8}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{8}$/.test(value)){return false;}
var sum=0,weight=[7,9,10,5,8,4,2,1];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
return(sum%11===0);},_fr:function(value){if(/^FR[0-9A-Z]{2}[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0-9A-Z]{2}[0-9]{9}$/.test(value)){return false;}
if(!$.fn.bootstrapValidator.helpers.luhn(value.substr(2))){return false;}
if(/^[0-9]{2}$/.test(value.substr(0,2))){return value.substr(0,2)===(parseInt(value.substr(2)+'12',10)%97+'');}else{var alphabet='0123456789ABCDEFGHJKLMNPQRSTUVWXYZ',check;if(/^[0-9]{1}$/.test(value.charAt(0))){check=alphabet.indexOf(value.charAt(0))*24+alphabet.indexOf(value.charAt(1))-10;}else{check=alphabet.indexOf(value.charAt(0))*34+alphabet.indexOf(value.charAt(1))-100;}
return((parseInt(value.substr(2),10)+1+Math.floor(check/11))%11)===(check%11);}},_gb:function(value){if(/^GB[0-9]{9}$/.test(value)||/^GB[0-9]{12}$/.test(value)||/^GBGD[0-9]{3}$/.test(value)||/^GBHA[0-9]{3}$/.test(value)||/^GB(GD|HA)8888[0-9]{5}$/.test(value))
{value=value.substr(2);}
if(!/^[0-9]{9}$/.test(value)&&!/^[0-9]{12}$/.test(value)&&!/^GD[0-9]{3}$/.test(value)&&!/^HA[0-9]{3}$/.test(value)&&!/^(GD|HA)8888[0-9]{5}$/.test(value))
{return false;}
var length=value.length;if(length===5){var firstTwo=value.substr(0,2),lastThree=parseInt(value.substr(2),10);return('GD'===firstTwo&&lastThree<500)||('HA'===firstTwo&&lastThree>=500);}else if(length===11&&('GD8888'===value.substr(0,6)||'HA8888'===value.substr(0,6))){if(('GD'===value.substr(0,2)&&parseInt(value.substr(6,3),10)>=500)||('HA'===value.substr(0,2)&&parseInt(value.substr(6,3),10)<500))
{return false;}
return(parseInt(value.substr(6,3),10)%97===parseInt(value.substr(9,2),10));}else if(length===9||length===12){var sum=0,weight=[8,7,6,5,4,3,2,10,1];for(var i=0;i<9;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=sum%97;if(parseInt(value.substr(0,3),10)>=100){return(sum===0||sum===42||sum===55);}else{return(sum===0);}}
return true;},_gr:function(value){if(/^(GR|EL)[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{9}$/.test(value)){return false;}
if(value.length===8){value='0'+value;}
var sum=0,weight=[256,128,64,32,16,8,4,2];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=(sum%11)%10;return(sum+''===value.substr(8,1));},_el:function(value){return this._gr(value);},_hu:function(value){if(/^HU[0-9]{8}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{8}$/.test(value)){return false;}
var sum=0,weight=[9,7,3,1,9,7,3,1];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
return(sum%10===0);},_hr:function(value){if(/^HR[0-9]{11}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{11}$/.test(value)){return false;}
return $.fn.bootstrapValidator.helpers.mod11And10(value);},_ie:function(value){if(/^IE[0-9]{1}[0-9A-Z\*\+]{1}[0-9]{5}[A-Z]{1,2}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{1}[0-9A-Z\*\+]{1}[0-9]{5}[A-Z]{1,2}$/.test(value)){return false;}
var getCheckDigit=function(value){while(value.length<7){value='0'+value;}
var alphabet='WABCDEFGHIJKLMNOPQRSTUV',sum=0;for(var i=0;i<7;i++){sum+=parseInt(value.charAt(i),10)*(8-i);}
sum+=9*alphabet.indexOf(value.substr(7));return alphabet[sum%23];};if(/^[0-9]+$/.test(value.substr(0,7))){return value.charAt(7)===getCheckDigit(value.substr(0,7)+value.substr(8)+'');}else if('ABCDEFGHIJKLMNOPQRSTUVWXYZ+*'.indexOf(value.charAt(1))!==-1){return value.charAt(7)===getCheckDigit(value.substr(2,5)+value.substr(0,1)+'');}
return true;},_is:function(value){if(/^IS[0-9]{5,6}$/.test(value)){value=value.substr(2);}
return/^[0-9]{5,6}$/.test(value);},_it:function(value){if(/^IT[0-9]{11}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{11}$/.test(value)){return false;}
if(parseInt(value.substr(0,7),10)===0){return false;}
var lastThree=parseInt(value.substr(7,3),10);if((lastThree<1)||(lastThree>201)&&lastThree!==999&&lastThree!==888){return false;}
return $.fn.bootstrapValidator.helpers.luhn(value);},_lt:function(value){if(/^LT([0-9]{7}1[0-9]{1}|[0-9]{10}1[0-9]{1})$/.test(value)){value=value.substr(2);}
if(!/^([0-9]{7}1[0-9]{1}|[0-9]{10}1[0-9]{1})$/.test(value)){return false;}
var length=value.length,sum=0,i;for(i=0;i3){sum=0;weight=[9,1,4,8,3,10,2,5,7,6,1];for(i=0;i9){sum=0;}
return(sum+''===value.substr(8,1));},_no:function(value){if(/^NO[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{9}$/.test(value)){return false;}
var sum=0,weight=[3,2,7,6,5,4,3,2];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=11-sum%11;if(sum===11){sum=0;}
return(sum+''===value.substr(8,1));},_pl:function(value){if(/^PL[0-9]{10}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{10}$/.test(value)){return false;}
var sum=0,weight=[6,5,7,2,3,4,5,6,7,-1];for(var i=0;i<10;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
return(sum%11===0);},_pt:function(value){if(/^PT[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{9}$/.test(value)){return false;}
var sum=0,weight=[9,8,7,6,5,4,3,2];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=11-sum%11;if(sum>9){sum=0;}
return(sum+''===value.substr(8,1));},_ro:function(value){if(/^RO[1-9][0-9]{1,9}$/.test(value)){value=value.substr(2);}
if(!/^[1-9][0-9]{1,9}$/.test(value)){return false;}
var length=value.length,weight=[7,5,3,2,1,7,5,3,2].slice(10-length),sum=0;for(var i=0;i9){sum=sum%10;}
return(sum+''===value.substr(9,1));}else if(value.length===12){var sum1=0,weight1=[7,2,4,10,3,5,9,4,6,8,0],sum2=0,weight2=[3,7,2,4,10,3,5,9,4,6,8,0];for(i=0;i<11;i++){sum1+=parseInt(value.charAt(i),10)*weight1[i];sum2+=parseInt(value.charAt(i),10)*weight2[i];}
sum1=sum1%11;if(sum1>9){sum1=sum1%10;}
sum2=sum2%11;if(sum2>9){sum2=sum2%10;}
return(sum1+''===value.substr(10,1)&&sum2+''===value.substr(11,1));}
return false;},_rs:function(value){if(/^RS[0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{9}$/.test(value)){return false;}
var sum=10,temp=0;for(var i=0;i<8;i++){temp=(parseInt(value.charAt(i),10)+sum)%10;if(temp===0){temp=10;}
sum=(2*temp)%11;}
return((sum+parseInt(value.substr(8,1),10))%10===1);},_se:function(value){if(/^SE[0-9]{10}01$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{10}01$/.test(value)){return false;}
value=value.substr(0,10);return $.fn.bootstrapValidator.helpers.luhn(value);},_si:function(value){if(/^SI[0-9]{8}$/.test(value)){value=value.substr(2);}
if(!/^[0-9]{8}$/.test(value)){return false;}
var sum=0,weight=[8,7,6,5,4,3,2];for(var i=0;i<7;i++){sum+=parseInt(value.charAt(i),10)*weight[i];}
sum=11-sum%11;if(sum===10){sum=0;}
return(sum+''===value.substr(7,1));},_sk:function(value){if(/^SK[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(value)){value=value.substr(2);}
if(!/^[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(value)){return false;}
return(parseInt(value,10)%11===0);},_ve:function(value){if(/^VE[VEJPG][0-9]{9}$/.test(value)){value=value.substr(2);}
if(!/^[VEJPG][0-9]{9}$/.test(value)){return false;}
var types={'V':4,'E':8,'J':12,'P':16,'G':20},sum=types[value.charAt(0)],weight=[3,2,7,6,5,4,3,2];for(var i=0;i<8;i++){sum+=parseInt(value.charAt(i+1),10)*weight[i];}
sum=11-sum%11;if(sum===11||sum===10){sum=0;}
return(sum+''===value.substr(9,1));},_za:function(value){if(/^ZA4[0-9]{9}$/.test(value)){value=value.substr(2);}
return/^4[0-9]{9}$/.test(value);}};}(window.jQuery));;(function($){$.fn.bootstrapValidator.i18n.vin=$.extend($.fn.bootstrapValidator.i18n.vin||{},{'default':'Please enter a valid VIN number'});$.fn.bootstrapValidator.validators.vin={validate:function(validator,$field,options){var value=$field.val();if(value===''){return true;}
if(!/^[a-hj-npr-z0-9]{8}[0-9xX][a-hj-npr-z0-9]{8}$/i.test(value)){return false;}
value=value.toUpperCase();var chars={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},weights=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],sum=0,length=value.length;for(var i=0;i