/** * @version: 1.0 Alpha-1 * @author: Coolite Inc. http://www.coolite.com/ * @date: 2008-05-13 * @copyright: Copyright (c) 2006-2008, Coolite Inc. (http://www.coolite.com/). All rights reserved. * @license: Licensed under The MIT License. See license.txt and http://www.datejs.com/license/. * @website: http://www.datejs.com/ */ Date.CultureInfo={name:"en-US",englishName:"English (United States)",nativeName:"English (United States)",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbreviatedDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],shortestDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],firstLetterDayNames:["S","M","T","W","T","F","S"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],abbreviatedMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],amDesignator:"AM",pmDesignator:"PM",firstDayOfWeek:0,twoDigitYearMax:2029,dateElementOrder:"mdy",formatPatterns:{shortDate:"M/d/yyyy",longDate:"dddd, MMMM dd, yyyy",shortTime:"h:mm tt",longTime:"h:mm:ss tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",sortableDateTime:"yyyy-MM-ddTHH:mm:ss",universalSortableDateTime:"yyyy-MM-dd HH:mm:ssZ",rfc1123:"ddd, dd MMM yyyy HH:mm:ss GMT",monthDay:"MMMM dd",yearMonth:"MMMM, yyyy"},regexPatterns:{jan:/^jan(uary)?/i,feb:/^feb(ruary)?/i,mar:/^mar(ch)?/i,apr:/^apr(il)?/i,may:/^may/i,jun:/^jun(e)?/i,jul:/^jul(y)?/i,aug:/^aug(ust)?/i,sep:/^sep(t(ember)?)?/i,oct:/^oct(ober)?/i,nov:/^nov(ember)?/i,dec:/^dec(ember)?/i,sun:/^su(n(day)?)?/i,mon:/^mo(n(day)?)?/i,tue:/^tu(e(s(day)?)?)?/i,wed:/^we(d(nesday)?)?/i,thu:/^th(u(r(s(day)?)?)?)?/i,fri:/^fr(i(day)?)?/i,sat:/^sa(t(urday)?)?/i,future:/^next/i,past:/^last|past|prev(ious)?/i,add:/^(\+|aft(er)?|from|hence)/i,subtract:/^(\-|bef(ore)?|ago)/i,yesterday:/^yes(terday)?/i,today:/^t(od(ay)?)?/i,tomorrow:/^tom(orrow)?/i,now:/^n(ow)?/i,millisecond:/^ms|milli(second)?s?/i,second:/^sec(ond)?s?/i,minute:/^mn|min(ute)?s?/i,hour:/^h(our)?s?/i,week:/^w(eek)?s?/i,month:/^m(onth)?s?/i,day:/^d(ay)?s?/i,year:/^y(ear)?s?/i,shortMeridian:/^(a|p)/i,longMeridian:/^(a\.?m?\.?|p\.?m?\.?)/i,timezone:/^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt|utc)/i,ordinalSuffix:/^\s*(st|nd|rd|th)/i,timeContext:/^\s*(\:|a(?!u|p)|p)/i},timezones:[{name:"UTC",offset:"-000"},{name:"GMT",offset:"-000"},{name:"EST",offset:"-0500"},{name:"EDT",offset:"-0400"},{name:"CST",offset:"-0600"},{name:"CDT",offset:"-0500"},{name:"MST",offset:"-0700"},{name:"MDT",offset:"-0600"},{name:"PST",offset:"-0800"},{name:"PDT",offset:"-0700"}]},function(){var t,e,n,r=Date,i=r.prototype,s=r.CultureInfo,a=function(t,e){return e||(e=2),("000"+t).slice(-1*e)};i.clearTime=function(){return this.setHours(0),this.setMinutes(0),this.setSeconds(0),this.setMilliseconds(0),this},i.setTimeToNow=function(){var t=new Date;return this.setHours(t.getHours()),this.setMinutes(t.getMinutes()),this.setSeconds(t.getSeconds()),this.setMilliseconds(t.getMilliseconds()),this},r.today=function(){return(new Date).clearTime()},r.compare=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(t+" - "+e);if(t instanceof Date&&e instanceof Date)return te?1:0;throw new TypeError(t+" - "+e)},r.equals=function(t,e){return 0===t.compareTo(e)},r.getDayNumberFromName=function(t){for(var e=s.dayNames,n=s.abbreviatedDayNames,r=s.shortestDayNames,i=t.toLowerCase(),a=0;a=t.getTime()&&this.getTime()<=e.getTime()},i.isAfter=function(t){return 1===this.compareTo(t||new Date)},i.isBefore=function(t){return-1===this.compareTo(t||new Date)},i.isToday=function(){return this.isSameDay(new Date)},i.isSameDay=function(t){return this.clone().clearTime().equals(t.clone().clearTime())},i.addMilliseconds=function(t){return this.setMilliseconds(this.getMilliseconds()+t),this},i.addSeconds=function(t){return this.addMilliseconds(1e3*t)},i.addMinutes=function(t){return this.addMilliseconds(6e4*t)},i.addHours=function(t){return this.addMilliseconds(36e5*t)},i.addDays=function(t){return this.setDate(this.getDate()+t),this},i.addWeeks=function(t){return this.addDays(7*t)},i.addMonths=function(t){var e=this.getDate();return this.setDate(1),this.setMonth(this.getMonth()+t),this.setDate(Math.min(e,r.getDaysInMonth(this.getFullYear(),this.getMonth()))),this},i.addYears=function(t){return this.addMonths(12*t)},i.add=function(t){if("number"==typeof t)return this._orient=t,this;var e=t;return e.milliseconds&&this.addMilliseconds(e.milliseconds),e.seconds&&this.addSeconds(e.seconds),e.minutes&&this.addMinutes(e.minutes),e.hours&&this.addHours(e.hours),e.weeks&&this.addWeeks(e.weeks),e.months&&this.addMonths(e.months),e.years&&this.addYears(e.years),e.days&&this.addDays(e.days),this},i.getWeek=function(){var r,i,s,a,o,u,h;return t=t||this.getFullYear(),e=e||this.getMonth()+1,n=n||this.getDate(),e<=2?(h=(i=((r=t-1)/4|0)-(r/100|0)+(r/400|0))-(((r-1)/4|0)-((r-1)/100|0)+((r-1)/400|0)),s=0,a=n-1+31*(e-1)):(s=(h=(i=((r=t)/4|0)-(r/100|0)+(r/400|0))-(((r-1)/4|0)-((r-1)/100|0)+((r-1)/400|0)))+1,a=n+(153*(e-3)+2)/5+58+h),t=e=n=null,(u=a+3-(a+(o=(r+i)%7)-s)%7|0)<0?53-((o-h)/5|0):u>364+h?1:1+(u/7|0)},i.getISOWeek=function(){return t=this.getUTCFullYear(),e=this.getUTCMonth()+1,n=this.getUTCDate(),a(this.getWeek())},i.setWeek=function(t){return this.moveToDayOfWeek(1).addWeeks(t-this.getWeek())},r._validate=function(t,e,n,r){if(void 0===t)return!1;if("number"!=typeof t)throw new TypeError(t+" is not a Number.");if(tn)throw new RangeError(t+" is not a valid value for "+r+".");return!0},r.validateMillisecond=function(t){return r._validate(t,0,999,"millisecond")},r.validateSecond=function(t){return r._validate(t,0,59,"second")},r.validateMinute=function(t){return r._validate(t,0,59,"minute")},r.validateHour=function(t){return r._validate(t,0,23,"hour")},r.validateDay=function(t,e,n){return r._validate(t,1,r.getDaysInMonth(e,n),"day")},r.validateMonth=function(t){return r._validate(t,0,11,"month")},r.validateYear=function(t){return r._validate(t,0,9999,"year")},i.set=function(t){return r.validateMillisecond(t.millisecond)&&this.addMilliseconds(t.millisecond-this.getMilliseconds()),r.validateSecond(t.second)&&this.addSeconds(t.second-this.getSeconds()),r.validateMinute(t.minute)&&this.addMinutes(t.minute-this.getMinutes()),r.validateHour(t.hour)&&this.addHours(t.hour-this.getHours()),r.validateMonth(t.month)&&this.addMonths(t.month-this.getMonth()),r.validateYear(t.year)&&this.addYears(t.year-this.getFullYear()),r.validateDay(t.day,this.getFullYear(),this.getMonth())&&this.addDays(t.day-this.getDate()),t.timezone&&this.setTimezone(t.timezone),t.timezoneOffset&&this.setTimezoneOffset(t.timezoneOffset),t.week&&r._validate(t.week,0,53,"week")&&this.setWeek(t.week),this},i.moveToFirstDayOfMonth=function(){return this.set({day:1})},i.moveToLastDayOfMonth=function(){return this.set({day:r.getDaysInMonth(this.getFullYear(),this.getMonth())})},i.moveToNthOccurrence=function(t,e){var n=0;if(e>0)n=e-1;else if(-1===e)return this.moveToLastDayOfMonth(),this.getDay()!==t&&this.moveToDayOfWeek(t,-1),this;return this.moveToFirstDayOfMonth().addDays(-1).moveToDayOfWeek(t,1).addWeeks(n)},i.moveToDayOfWeek=function(t,e){var n=(t-this.getDay()+7*(e||1))%7;return this.addDays(0===n?n+=7*(e||1):n)},i.moveToMonth=function(t,e){var n=(t-this.getMonth()+12*(e||1))%12;return this.addMonths(0===n?n+=12*(e||1):n)},i.getOrdinalNumber=function(){return Math.ceil((this.clone().clearTime()-new Date(this.getFullYear(),0,1))/864e5)+1},i.getTimezone=function(){return r.getTimezoneAbbreviation(this.getUTCOffset())},i.setTimezoneOffset=function(t){var e=this.getTimezoneOffset(),n=-6*Number(t)/10;return this.addMinutes(n-e)},i.setTimezone=function(t){return this.setTimezoneOffset(r.getTimezoneOffset(t))},i.hasDaylightSavingTime=function(){return Date.today().set({month:0,day:1}).getTimezoneOffset()!==Date.today().set({month:6,day:1}).getTimezoneOffset()},i.isDaylightSavingTime=function(){return this.hasDaylightSavingTime()&&(new Date).getTimezoneOffset()===Date.today().set({month:6,day:1}).getTimezoneOffset()},i.getUTCOffset=function(){var t,e=-10*this.getTimezoneOffset()/6;return e<0?(t=(e-1e4).toString()).charAt(0)+t.substr(2):"+"+(t=(e+1e4).toString()).substr(1)},i.getElapsed=function(t){return(t||new Date)-this},i.toISOString||(i.toISOString=function(){function t(t){return t<10?"0"+t:t}return'"'+this.getUTCFullYear()+"-"+t(this.getUTCMonth()+1)+"-"+t(this.getUTCDate())+"T"+t(this.getUTCHours())+":"+t(this.getUTCMinutes())+":"+t(this.getUTCSeconds())+'Z"'}),i._toString=i.toString,i.toString=function(t){var e=this;if(t&&1==t.length){var n=s.formatPatterns;switch(e.t=e.toString,t){case"d":return e.t(n.shortDate);case"D":return e.t(n.longDate);case"F":return e.t(n.fullDateTime);case"m":return e.t(n.monthDay);case"r":return e.t(n.rfc1123);case"s":return e.t(n.sortableDateTime);case"t":return e.t(n.shortTime);case"T":return e.t(n.longTime);case"u":return e.t(n.universalSortableDateTime);case"y":return e.t(n.yearMonth)}}return t?t.replace(/(\\)?(dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|S)/g,function(t){if("\\"===t.charAt(0))return t.replace("\\","");switch(e.h=e.getHours,t){case"hh":return a(e.h()<13?0===e.h()?12:e.h():e.h()-12);case"h":return e.h()<13?0===e.h()?12:e.h():e.h()-12;case"HH":return a(e.h());case"H":return e.h();case"mm":return a(e.getMinutes());case"m":return e.getMinutes();case"ss":return a(e.getSeconds());case"s":return e.getSeconds();case"yyyy":return a(e.getFullYear(),4);case"yy":return a(e.getFullYear());case"dddd":return s.dayNames[e.getDay()];case"ddd":return s.abbreviatedDayNames[e.getDay()];case"dd":return a(e.getDate());case"d":return e.getDate();case"MMMM":return s.monthNames[e.getMonth()];case"MMM":return s.abbreviatedMonthNames[e.getMonth()];case"MM":return a(e.getMonth()+1);case"M":return e.getMonth()+1;case"t":return e.h()<12?s.amDesignator.substring(0,1):s.pmDesignator.substring(0,1);case"tt":return e.h()<12?s.amDesignator:s.pmDesignator;case"S":return function(t){switch(1*t){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}}(e.getDate());default:return t}}):this._toString()}}(),function(){var t=Date,e=t.prototype,n=t.CultureInfo,r=Number.prototype;e._orient=1,e._nth=null,e._is=!1,e._same=!1,e._isSecond=!1,r._dateElement="day",e.next=function(){return this._orient=1,this},t.next=function(){return t.today().next()},e.last=e.prev=e.previous=function(){return this._orient=-1,this},t.last=t.prev=t.previous=function(){return t.today().last()},e.is=function(){return this._is=!0,this},e.same=function(){return this._same=!0,this._isSecond=!1,this},e.today=function(){return this.same().day()},e.weekday=function(){return!!this._is&&(this._is=!1,!this.is().sat()&&!this.is().sun())},e.at=function(e){return"string"==typeof e?t.parse(this.toString("d")+" "+e):this.set(e)},r.fromNow=r.after=function(t){var e={};return e[this._dateElement]=this,(t?t.clone():new Date).add(e)},r.ago=r.before=function(t){var e={};return e[this._dateElement]=-1*this,(t?t.clone():new Date).add(e)};var i,s="sunday monday tuesday wednesday thursday friday saturday".split(/\s/),a="january february march april may june july august september october november december".split(/\s/),o="Millisecond Second Minute Hour Day Week Month Year".split(/\s/),u="Milliseconds Seconds Minutes Hours Date Week Month FullYear".split(/\s/),h="final first second third fourth fifth".split(/\s/);e.toObject=function(){for(var t={},e=0;er)throw new RangeError(t.getDayName(e)+" does not occur "+n+" times in the month of "+t.getMonthName(r.getMonth())+" "+r.getFullYear()+".");return this}return this.moveToDayOfWeek(e,this._orient)}},d=function(e){return function(){var r=t.today(),i=e-r.getDay();return 0===e&&1===n.firstDayOfWeek&&0!==r.getDay()&&(i+=7),r.addDays(i)}},l=0;l-1;s--){if(e[r=o[s].toLowerCase()]!=n[r])return!1;if(i==r)break}return!0}return"s"!=t.substring(t.length-1)&&(t+="s"),this["add"+t](this._orient)}},M=function(t){return function(){return this._dateElement=t,this}},p=0;p0&&!d)try{u=r.call(this,a[1])}catch(t){d=!0}else d=!0;if(d||0!==u[1].length||(d=!0),!d){for(var f=[],y=0;y0&&(h[0]=h[0].concat(o[0]),h[1]=o[1])}if(h[1].length1?e=Array.prototype.slice.call(arguments):arguments[0]instanceof Array&&(e=arguments[0]),!e)return t.apply(null,arguments);for(var r=0,i=e.shift();r2?n:n+(n+2e3t.getDaysInMonth(this.year,this.month))throw new RangeError(this.day+" is not a valid value for days.");var i=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second);return this.timezone?i.set({timezone:this.timezone}):this.timezoneOffset&&i.set({timezoneOffset:this.timezoneOffset}),i},finish:function(e){if(0===(e=e instanceof Array?n(e):[e]).length)return null;for(var r=0;r