﻿/* Datepicker Validation 1.0.0 for jQuery UI Datepicker 1.8.6.
   Requires Jörn Zaefferer's Validation plugin (http://plugins.jquery.com/project/validate).
   Written by Keith Wood (kbwood{at}iinet.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($){if($.fn.validate){$.datepicker._selectDate2=$.datepicker._selectDate;$.extend($.datepicker.regional[''],{validateDate:'Please enter a valid date',validateDateMin:'Please enter a date on or after {0}',validateDateMax:'Please enter a date on or before {0}',validateDateMinMax:'Please enter a date between {0} and {1}'});$.extend($.datepicker._defaults,$.datepicker.regional['']);$.extend($.datepicker,{_selectDate:function(a,b){this._selectDate2(a,b);var c=$(a);var d=this._getInst(c[0]);if(!d.inline&&$.fn.validate)c.parents('form').validate().element(c)},errorPlacement:function(a,b){var c=b.next('.'+$.datepicker._triggerClass);var d=false;if(c.length==0){c=b.prev('.'+$.datepicker._triggerClass);d=(c.length>0)}a[d?'insertBefore':'insertAfter'](c.length>0?c:b)},errorFormat:function(a,b,c){var d=$.datepicker._get(a,'dateFormat');$.each(c,function(i,v){b=b.replace(new RegExp('\\{'+i+'\\}','g'),$.datepicker.formatDate(d,v)||'nothing')});return b}});var l=null;$.validator.addMethod('dpDate',function(a,b,c){l=b;var d=$.datepicker._getInst(b);var f=$.datepicker._get(d,'dateFormat');var g=$.datepicker._getFormatConfig(d);try{var h=$.datepicker.parseDate(f,a,g);var i=$.datepicker._determineDate(d,$.datepicker._get(d,'minDate'),null);var j=$.datepicker._determineDate(d,$.datepicker._get(d,'maxDate'),null);var k=$.datepicker._get(d,'beforeShowDay');return this.optional(b)||!h||((!i||h>=i)&&(!j||h<=j)&&(!k||k.apply(b,[h])[0]))}catch(e){return false}},function(a){var b=$.datepicker._getInst(l);var c=$.datepicker._determineDate(b,$.datepicker._get(b,'minDate'),null);var d=$.datepicker._determineDate(b,$.datepicker._get(b,'maxDate'),null);var e=$.datepicker._defaults;return(c&&d?$.datepicker.errorFormat(b,e.validateDateMinMax,[c,d]):(c?$.datepicker.errorFormat(b,e.validateDateMin,[c]):(d?$.datepicker.errorFormat(b,e.validateDateMax,[d]):e.validateDate)))});$.validator.addClassRules('dpDate',{dpDate:true})}})(jQuery);
