$.validator.unobtrusive.adapters.add("arraylength",["minlength","maxlength"],function(n){n.rules.arraylength=n.params;n.message&&(n.messages.arraylength=n.message)});$.validator.addMethod("arraylength",function(n,t,i){var r=$("input[name="+t.name+"]:checked");return r.length>=i.minlength&&r.length<=i.maxlength?!0:!1});$.validator.unobtrusive.adapters.add("atleastonechecked",["checkboxfields"],function(n){var t={checkboxfields:n.params.checkboxfields.split(",")};n.rules.atleastonechecked=t;n.message&&(n.messages.atleastonechecked=n.message)});$.validator.addMethod("atleastonechecked",function(n,t,i){for(var u,r=0;r<i.checkboxfields.length;r++)if(u=$("input#"+i.checkboxfields[r]).is(":checked"),u!==null&&u!==""&&u!==!1)return!0;return!1});$.validator.unobtrusive.adapters.add("atleastonenotempty",["fields"],function(n){var t={fields:n.params.fields.split(",")};n.rules.atleastonenotempty=t;n.message&&(n.messages.atleastonenotempty=n.message)});$.validator.addMethod("atleastonenotempty",function(n,t,i){for(var u,r=0;r<i.fields.length;r++)if(u=$("input#"+i.fields[r]).val(),u!==null&&u!=="")return!0;return!1});$.validator.unobtrusive.adapters.add("dependentspecific",["requiredvalue","fieldtype","dependentjsname","invert"],function(options){var params={fieldType:eval(options.params.fieldtype),requiredValue:options.params.requiredvalue.toLocaleLowerCase(),dependentjsname:options.params.dependentjsname,invert:options.params.invert};options.rules.dependentspecific=params;options.message&&(options.messages.dependentspecific=options.message)});$.validator.addMethod("dependentspecific",function(n,t,i){var f,e,u,r;if(n!=null&&n!=="")return!0;for(f=i.requiredValue.split("|"),e=i.dependentjsname.split(","),u=0;u<e.length;u++){r="";switch(i.fieldType){case 1:case 2:if(r=$("input#"+e[u]),r==null||r.length===0)break;if(i.invert.toLowerCase()==="false"){if(r.is(":checked"))return!1}else if(!r.is(":checked"))return!1;break;case 3:if(r=$("select#"+e[u]),r==null||r.length===0)break;if(i.invert.toLowerCase()==="false"){if(f.indexOf(r.val().toLocaleLowerCase())>-1)return!1}else if(f.indexOf(r.val().toLocaleLowerCase())<=-1)return!1;break;default:if(r=$("input#"+e[u]),r==null||r.length===0)break;if(i.invert.toLowerCase()==="false"){if(f.indexOf(r.val().toLocaleLowerCase())>-1)return!1}else if(f.indexOf(r.val().toLocaleLowerCase())<=-1)return!1}}return!0});$.validator.unobtrusive.adapters.add("dependentspecificmulti",["requiredvalues","fieldtypes","dependentjsnames","invert"],function(n){var t={fieldTypes:n.params.fieldtypes.split(","),requiredValues:n.params.requiredvalues.split(","),dependentjsnames:n.params.dependentjsnames.split(","),invert:n.params.invert};n.rules.dependentspecificmulti=t;n.message&&(n.messages.dependentspecificmulti=n.message)});$.validator.addMethod("dependentspecificmulti",function(n,t,i){var u,f,r;if(n!=null&&n!=="")return!0;for(u=0;u<i.dependentjsnames.length;u++){f=i.requiredValues[u].split("|");r="";switch(i.fieldTypes[u]){case"1":case"2":if(r=$("input#"+i.dependentjsnames[u]),r==null||r.length===0)break;if(i.invert.toLowerCase()==="false"){if(r.is(":checked"))return!1}else if(!r.is(":checked"))return!1;break;case"3":if(r=$("select#"+i.dependentjsnames[u]),r==null||r.length===0)break;if(i.invert.toLowerCase()==="false"){if(f.indexOf(r.val().toLocaleLowerCase())>-1)return!1}else if(f.indexOf(r.val().toLocaleLowerCase())<=-1)return!1;break;default:if(r=$("input#"+i.dependentjsnames[u]),r==null||r.length===0)break;if(i.invert.toLowerCase()==="false"){if(f.indexOf(r.val().toLocaleLowerCase())>-1)return!1}else if(f.indexOf(r.val().toLocaleLowerCase())<=-1)return!1}}return!0});$.validator.unobtrusive.adapters.add("double",["minvalue","maxvalue","mininclusive","maxinclusive"],function(n){var t={minvalue:n.params.minvalue,maxvalue:n.params.maxvalue,mininclusive:n.params.mininclusive,maxinclusive:n.params.maxinclusive};n.rules.double=t;n.message&&(n.messages.double=n.message)});$.validator.addMethod("double",function(n,t,i){if(n==null||n===""||n==undefined)return!0;var r=parseFloat(n.split(" ")[0].replace(/[.]/g,"").replace(",","."));return isNaN(r)?!1:i.mininclusive&&i.maxinclusive?r>=i.minvalue&&r<=i.maxvalue:i.mininclusive&&!i.maxinclusive?r>=i.minvalue&&r<i.maxvalue:!i.mininclusive&&i.maxinclusive?r>i.minvalue&&r<=i.maxvalue:!i.mininclusive&&!i.maxinclusive?r>i.minvalue&&r<i.maxvalue:!1});$.validator.unobtrusive.adapters.add("eancode",["valueselector"],function(n){var t={selector:"input#"+n.params.valueselector};n.rules.eancode=t;n.message&&(n.messages.eancode=n.message)});$.validator.addMethod("eancode",function(n,t,i){var r=$(i.selector).val(),s,f,u,e,o;if(r==null||r.length===0)return!0;if(isNaN(parseInt(r))||r.length!==18||r.substring(0,2)!=="54")return!1;for(s=parseInt(r.charAt(r.length-1)),f=0,u=0;u<18;u=u+2)e=parseInt(r.charAt(u)),o=parseInt(r.charAt(u+1)),u===16&&(o=0),e=e*3,f=f+o+e;return f=(10-f%10)%10,f===s});$.validator.unobtrusive.adapters.add("iban",["pattern"],function(n){var t={pattern:n.params.pattern};n.rules.iban=t;n.message&&(n.messages.iban=n.message)});$.validator.addMethod("iban",function(n,t,i){var h=i.pattern,s,f,o,u,r,e;if(n=n.replace(/\s/g,"").toUpperCase(),!new RegExp(h).test(n))return!1;for(n=n.substr(4,n.length-4)+n.substr(0,4),s=55,f="",r=0;r<n.length;r++)e=n[r].match(/[a-z]/i)?n[r].charCodeAt(0)-s:parseInt(n[r]),f=f+e;for(o=f,u=parseInt(o.substr(0,1)),r=1;r<o.length;r++)e=parseInt(o.substr(r,1)),u*=10,u+=e,u%=97;return u===1});$.validator.unobtrusive.adapters.add("maxfilesize",["maxsize"],function(n){n.rules.maxfilesize=n.params;n.message&&(n.messages.maxfilesize=n.message)});$.validator.addMethod("maxfilesize",function(n,t,i){return t.files.length===0?!0:!t.files||!t.files[0].size?!0:t.files[0].size<i.maxsize});$.validator.unobtrusive.adapters.add("maxfilesizecollection",["maxsize","maxfiles","maxsizecollection"],function(n){n.rules.maxfilesizecollection=n.params;n.message&&(n.messages.maxfilesizecollection=n.message)});$.validator.addMethod("maxfilesizecollection",function(n,t,i){var f,u,r;if(t.files.length===0||!t.files||!t.files[0].size)return!0;if(t.files.length>i.maxfiles)return!1;for(f=i.maxsizecollection!==0?i.maxsizecollection:i.maxsize*t.files.length,u=0,r=0;r<t.files.length;r++){if(t.files[r].size>i.maxsize)return!1;u+=t.files[r].size}return u<=f});$.validator.unobtrusive.adapters.add("checkdigit",["memberidfield"],function(n){var t={memberIdSelector:"input#"+n.params.memberidfield};n.rules.checkdigit=t;n.message&&(n.messages.checkdigit=n.message)});$.validator.addMethod("checkdigit",function(n,t,i){var u=$(i.memberIdSelector).val(),r;return n===""&&u===""?!0:(r=u%97,n=parseInt(n),r!==0&&r===n||r===0&&n===97)});$.validator.unobtrusive.adapters.addBool("positivedecimal");$.validator.addMethod("positivedecimal",function(n){if(n==null)return!0;var t=parseFloat(n.split(" ")[0].replace(".","").replace(",","."));return!isNaN(t)&&t>0});$.validator.unobtrusive.adapters.addBool("requiredcheckbox");$.validator.addMethod("requiredcheckbox",function(n){return n!=null&&n});$.validator.unobtrusive.adapters.add("dependent",["dependentvalueselector"],function(n){var t={dependentvalueselector:n.params.dependentvalueselector};n.rules.dependent=t;n.message&&(n.messages.dependent=n.message)});$.validator.addMethod("dependent",function(n,t,i){if(n)return!0;var r=$("#"+i.dependentvalueselector).attr("type"),u=$("#"+i.dependentvalueselector).val();return((r==="radio"||r==="checkbox")&&(u=$("#"+i.dependentvalueselector+":checked").val()),u)?!1:!0});$.validator.unobtrusive.adapters.add("requiredmulticheckbox",["dependentpropertynames"],function(n){var t={dependentpropertynames:n.params.dependentpropertynames.split(",")};n.rules.requiredmulticheckbox=t;n.message&&(n.messages.requiredmulticheckbox=n.message)});$.validator.addMethod("requiredmulticheckbox",function(n,t,i){for(var r=0;r<i.dependentpropertynames.length;r++)if($('[name="'+i.dependentpropertynames[r]+'"]').is(":checked"))return!0;return!1});$.validator.unobtrusive.adapters.add("requiredonedependent",["dependentpropertynames"],function(n){var t={dependentpropertynames:n.params.dependentpropertynames.split(",")};n.rules.requiredonedependent=t;n.message&&(n.messages.requiredonedependent=n.message)});$.validator.addMethod("requiredonedependent",function(n,t,i){var r,u,f;if(n)return!0;for(r=0;r<i.dependentpropertynames.length;r++)if(u=$("#"+i.dependentpropertynames[r]).attr("type"),f=$("#"+i.dependentpropertynames[r]).val(),(u==="radio"||u==="checkbox")&&(f=$("#"+i.dependentpropertynames[r]+":checked").val()),f)return!1;return!0})