YUI.add("datatype-date-math",function(e,t){var a=e.Lang;e.mix(e.namespace("Date"),{isValidDate:function(e){return!(!a.isDate(e)||!isFinite(e)||"Invalid Date"==e||isNaN(e)||null==e)},areEqual:function(e,t){return this.isValidDate(e)&&this.isValidDate(t)&&e.getTime()==t.getTime()},isGreater:function(e,t){return this.isValidDate(e)&&this.isValidDate(t)&&e.getTime()>t.getTime()},isGreaterOrEqual:function(e,t){return this.isValidDate(e)&&this.isValidDate(t)&&e.getTime()>=t.getTime()},isInRange:function(e,t,a){return this.isGreaterOrEqual(e,t)&&this.isGreaterOrEqual(a,e)},addDays:function(e,t){return new Date(e.getTime()+864e5*t)},addMonths:function(e,t){var a=e.getFullYear(),t=e.getMonth()+t,a=Math.floor(a+t/12),t=(t%12+12)%12,e=new Date(e.getTime());return e.setFullYear(a),e.setMonth(t),e},addYears:function(e,t){t=e.getFullYear()+t,e=new Date(e.getTime());return e.setFullYear(t),e},listOfDatesInMonth:function(e){var t,a,i,n,r;if(!this.isValidDate(e))return[];for(t=this.daysInMonth(e),a=e.getFullYear(),i=e.getMonth(),n=[],r=1;r<=t;r++)n.push(new Date(a,i,r,12,0,0));return n},daysInMonth:function(e){var t;return this.isValidDate(e)?1!=(t=e.getMonth())?[31,28,31,30,31,30,31,31,30,31,30,31][t]:(t=e.getFullYear())%400==0||t%100!=0&&t%4==0?29:28:0}}),e.namespace("DataType"),e.DataType.Date=e.Date},"patched-v3.18.3",{requires:["yui-base"]});