The calendar is implemented in pure JavaScript code.
Here are some key features of "JSCal2":
· Supports single or multiple dates selection, as well as selection of date ranges. Click a start date, then hold SHIFT and click the end date. There is no limit to the number of days in a range. Can also hold CTRL and click to select individual dates.
· The selection object can return an array of dates or date ranges.
· Supports popup mode.
· Can be limited to a certain time period (start y/m/d - end y/m/d). It supports disabling individual dates as well, based on an user-supplied callback function.
· Animated change of month/year1
· Animated drop-down menu for quick selection of month/year1
· The calendar is focusable as a standard browser control, i.e. you can focus it using the TAB key. Supports full keyboard navigation2
· Supports time selection.
· Can change month/year/hour/minute using the mouse scroll wheel. Rolling the wheel on top of the calendar changes the month, but if you hover one of the » or « or "Today" buttons, then it'll change the year. If you roll over the time fields, well, go figure. ;-)
· Easily internationalizable. All the language strings are in a separate file.
· The look is infinitely customizable via CSS. Currently we have 5 color themes, but expect more soon.
· Has a nice and clean API and a few utilities. Full source code is available to licensed users.
· The source code is small (around 32K, or 10K gzipped) and self-contained. It does not depend on any third party libraries and has no side effects whatsoever. Should be able to use it with jQuery, Prototype and anything else.
· The look is customizable through external CSS
· High quality color themes
· Keyboard navigation
· Can show days from adjacent months
· Can show week numbers
· Translated into many languages
· Any day can be “the first day of week”
· The default “first day of week” can be configured in the language file
· One can easily jump back or forward with 24 years
· Provides help hints (also configurable)
· Includes an optional time selector with 1 minute resolution
· Special days (configurable list of days that are displayed differently)
· Allows multiple days selection
· Fast and very easy to setup
Requirements:
· JavaScript enabled on client side
What's New in This Release: [ read full changelog ]
· Added checkRange constructor argument.
· Fixed parsing of date + time (it was a bit random when time was included).
· When showTime is true, read time too from the input field.