/* http://keith-wood.name/datepick.html
   Datepicker Validation extension for jQuery 3.5.1.
   Requires Jörn Zaefferer's Validation plugin (http://plugins.jquery.com/project/validate).
   Written by Keith Wood (kbwood@virginbroadband.com.au).
   Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and 
   MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses. 
   Please attribute the authors if you use it. */
(function($){$.datepick._selectDate2=$.datepick._selectDate;$.extend($.datepick,{_selectDate:function(a,b){this._selectDate2(a,b);var c=this._getInst($(a)[0]);if(!c.inline&&$.fn.validate)$(a).parents('form').each(function(){$(this).valid()})},errorPlacement:function(a,b){var c=b.next('.'+$.datepick._triggerClass);a.insertAfter(c.length>0?c:b)},errorFormat:function(a,b){var c=($.datepick._curInst?$.datepick._get($.datepick._curInst,'dateFormat'):$.datepick._defaults.dateFormat);$.each(b,function(i,v){a=a.replace(new RegExp('\\{'+i+'\\}','g'),$.datepick.formatDate(c,v)||'nothing')});return a}});function validateEach(b,c,d){var f=$.datepick._getInst(c);var g=($.datepick._get(f,'rangeSelect')?b.split($.datepick._get(f,'rangeSeparator')):[b]);var h=true;try{$.each(g,function(i,v){var a=$.datepick.parseDate($.datepick._get(f,'dateFormat'),v);h=h&&d(a)})}catch(e){h=false}return h}if($.fn.validate){$.validator.addMethod('dpDate',function(b,c){return this.optional(c)||validateEach(b,c,function(a){return true})},'Please enter a valid date');$.validator.addMethod('dpMinDate',function(b,c,d){var e=$.datepick._getInst(c);d[0]=$.datepick._determineDate($.datepick._get(e,'minDate'),null);return this.optional(c)||validateEach(b,c,function(a){return(!a||!d[0]||a>=d[0])})},function(a){return $.datepick.errorFormat('Please enter a date on or after {0}',a)});$.validator.addMethod('dpMaxDate',function(b,c,d){var e=$.datepick._getInst(c);d[0]=$.datepick._determineDate($.datepick._get(e,'maxDate'),null);return this.optional(c)||validateEach(b,c,function(a){return(!a||!d[0]||a<=d[0])})},function(a){return $.datepick.errorFormat('Please enter a date on or before {0}',a)});$.validator.addMethod('dpMinMaxDate',function(b,c,d){var e=$.datepick._getInst(c);d[0]=$.datepick._determineDate($.datepick._get(e,'minDate'),null);d[1]=$.datepick._determineDate($.datepick._get(e,'maxDate'),null);return this.optional(c)||validateEach(b,c,function(a){return(!a||((!d[0]||a>=d[0])&&(!d[1]||a<=d[1])))})},function(a){return $.datepick.errorFormat('Please enter a date between {0} and {1}',a)})}})(jQuery);
