$.validator.unobtrusive.adapters.add("checkboxrequired",[""],function(n){n.rules.checkboxrequired=n.params;n.messages.checkboxrequired=n.message});$.validator.addMethod("checkboxrequired",function(n,t){return $(t).is(":checked")});$.validator.unobtrusive.adapters.add("liststringlength",["min","max"],function(n){n.rules.liststringlength=n.params;n.messages.liststringlength=n.message});$.validator.addMethod("liststringlength",function(n,t,i){var r=$(t).next("div").find('input[type="checkbox"]:checked').map(function(){return $(this).val()}).get().join(","),u=parseInt(i.min),f=parseInt(i.max);return r.length>=u&&r.length<=f});$.validator.unobtrusive.adapters.add("timepickershouldbegreaterorequal",["targetpickername","referringpickername","allowequalvalues"],function(n){n.rules.timepickershouldbegreaterorequal=n.params;n.messages.timepickershouldbegreaterorequal=n.message});$.validator.addMethod("timepickershouldbegreaterorequal",function(n,t,i){var h=i.targetpickername,c=i.referringpickername,o=i.allowequalvalues,s=$(t).prop("id"),l=s.lastIndexOf(c),a=s.substring(0,l)+h,r=$(t).next("div.bootstrap-timepicker").find('input[type="text"]'),u=$("#"+a).next("div.bootstrap-timepicker").find('input[type="text"]'),f,e;return $(r)==undefined||u==undefined?!0:$(r).is(":disabled")||$(r).is(":hidden")||$(u).is(":disabled")||$(u).is(":hidden")?!0:(f=Date.parse("1/1/2000 "+$(u).val()),e=Date.parse("1/1/2000 "+$(r).val()),f<=e&&o||f<e&&!o)?!0:!1});$.validator.unobtrusive.adapters.add("yqtimepickerrequired",[""],function(n){n.rules.yqtimepickerrequired=n.params;n.messages.yqtimepickerrequired=n.message});$.validator.addMethod("yqtimepickerrequired",function(n,t){var i=$(t).next("div.bootstrap-timepicker").find('input[type="text"]');return $(i)==undefined?!0:$(i).is(":disabled")||$(i).is(":hidden")?!0:$(i).val().length>0})