Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.abbrDayNames=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.abbrMonthNames=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];Date.firstDayOfWeek=1;Date.format="dd/mm/yyyy";Date.fullYearStart="20";(function(){function a(a,b){if(!Date.prototype[a])Date.prototype[a]=b}a("isLeapYear",function(){var a=this.getFullYear();return a%4==0&&a%100!=0||a%400==0});a("isWeekend",function(){return this.getDay()==0||this.getDay()==6});a("isWeekDay",function(){return!this.isWeekend()});a("getDaysInMonth",function(){return([31,this.isLeapYear()?29:28,31,30,31,30,31,31,30,31,30,31])[this.getMonth()]});a("getDayName",function(a){return a?Date.abbrDayNames[this.getDay()]:Date.dayNames[this.getDay()]});a("getMonthName",function(a){return a?Date.abbrMonthNames[this.getMonth()]:Date.monthNames[this.getMonth()]});a("getDayOfYear",function(){var a=new Date("1/1/"+this.getFullYear());return Math.floor((this.getTime()-a.getTime())/8.64e7)});a("getWeekOfYear",function(){return Math.ceil(this.getDayOfYear()/7)});a("setDayOfYear",function(a){this.setMonth(0);this.setDate(a);return this});a("addYears",function(a){this.setFullYear(this.getFullYear()+a);return this});a("addMonths",function(c){var a=this,b=a.getDate();a.setMonth(a.getMonth()+c);b>a.getDate()&&a.addDays(-a.getDate());return a});a("addDays",function(a){this.setTime(this.getTime()+a*8.64e7);return this});a("addHours",function(a){this.setHours(this.getHours()+a);return this});a("addMinutes",function(a){this.setMinutes(this.getMinutes()+a);return this});a("addSeconds",function(a){this.setSeconds(this.getSeconds()+a);return this});a("zeroTime",function(){var a=this;a.setMilliseconds(0);a.setSeconds(0);a.setMinutes(0);a.setHours(0);return a});a("asString",function(c){var a=this,d=c||Date.format;return d.split("yyyy").join(a.getFullYear()).split("yy").join((a.getFullYear()+"").substring(2)).split("mmmm").join(a.getMonthName(false)).split("mmm").join(a.getMonthName(true)).split("mm").join(b(a.getMonth()+1)).split("dd").join(b(a.getDate()))});Date.fromString=function(f){var e=Date.format,c=new Date("01/01/1977"),g=0,b=e.indexOf("mmmm");if(b>-1){for(var a=0;a<Date.monthNames.length;a++){var i=f.substr(b,Date.monthNames[a].length);if(Date.monthNames[a]==i){g=Date.monthNames[a].length-4;break}}c.setMonth(a)}else{b=e.indexOf("mmm");if(b>-1){for(var i=f.substr(b,3),a=0;a<Date.abbrMonthNames.length;a++)if(Date.abbrMonthNames[a]==i)break;c.setMonth(a)}else c.setMonth(Number(f.substr(e.indexOf("mm"),2))-1)}var d=e.indexOf("yyyy");if(d>-1){if(b<d)d+=g;c.setFullYear(Number(f.substr(d,4)))}else{if(b<d)d+=g;c.setFullYear(Number(Date.fullYearStart+f.substr(e.indexOf("yy"),2)))}var h=e.indexOf("dd");if(b<h)h+=g;c.setDate(Number(f.substr(h,2)));return isNaN(c.getTime())?false:c};var b=function(b){var a="0"+b;return a.substring(a.length-2)}})();
