### PopCalendar eXtremely Perfect

PopCalendarXP is arguably the most powerful and configurable JavaScript date picker available. There are very few, if any, things that other JavaScript date pickers can do that PopCalendarXP can not. Simply put with a cliche, it lets you get far more done in far less time. And the way we name it XP not only because it's perfect, but also because it's designed to be extremely perfect.

#### Installation Guide

To install, simply extract the zip package to any directory on your hard drive, say c:\calendar.

- The fastest way to test is to using your browser to open the Demos.htm, where you may find many live examples.
- To get to know the insight, please open the Tutorials.htm in any browser, and

- Read "HelloWorld - the beginner's guide" tutorial carefully for how to use the calendar tags on your page.
- Read "Working with themes" tutorial for how to choose and setup a theme for the calendar, as well as how to customize theme options like date range and color.
- Read "Setting up agendas & holidays" if you want to have events shown on the calendar or get events from a backend DB.
- Read other tutorials for localization, internationalization and making your own plugins.

#### Features

- Written in 100% JavaScript, no installation process needed on the client side.
- Support all major browsers on Windows, MacOS, Linux and Solaris.
- Calendar look is extremely customizable and can be switched among different themes.
- Lightweight and high-performance, main engine is only around 23KB in size.
- "Bulletproof" calendar panel won't be penetrated by any form elements.
- Various fascinating effects to highlight selected date, today, agendas and holidays.
- Sophisticated dynamic date range support, visually strike-out any disabled date.
- Retrieving agendas from either script file or backend database.
- Auto-adaptive or static positioning with localizer support.
- Powerful date parsing and auto-correction.
- Contextual agenda messages in status-bar and/or tooltips.
- Versatile and removable top/bottom sections.
- Diversified context-sensitive behaviors, like popups, auto-mail or any JavaScript statement.
- USA/Europe/ISO-8601 conformant calendar formats and selectable week numbers.
- Build-in major date formats support and can be expanded to deal with any format via your own plugins.
- Unicode compliant and ready for localization and/or internationalization.
- Unique plug-in design maximizes the extensibility.
- Expandable holiday function can accommodate most sophisticated holiday algorithms.
- Unlimited date pickers on the same page and the engine only need to be loaded once.
- Agenda can be shared across multiple calendars, even with FlatCalendarXP.
- Easy to install, easy to use. (NN4 needs more care)
- Fully compatible with ASP.NET, JSP, PHP, ColdFusion and other cgi technologies.
- and a lot more ...

#### System Requirements

PopCalendarXP Commercial Edition was tested working in the following browsers with JavaScript support option enabled.

- Windows 9x/ME/NT/2000/XP
  - Internet Explorer 4.01, 5.0, 5.5, 6.0, 7.0+
  - Netscape 4.08, 4.75, 4.79, 4.80
  - Netscape 6.0, 7.0, 8.0+
  - Mozilla FireFox 1.0, 2.0+
  - Opera 7.0, 8.0, 9.0+
  - Safari 3.0+
- MacOS 9/10
  - Internet Explorer 5.0, 5.1, 5.2
  - Netscape 6.0, 6.2, 7.0
  - Mozilla FireFox 1.0+
  - Safari 1.0+
  - Opera 8.5+
- Mandrake/RedHat Linux 9
  - Mozilla FireFox 1.0+
  - Konqueror 3.0, 3.1
- Solaris 8
  - Netscape 6.0
  - Mozilla FireFox 1.0+

Some customers also reported that they had it successfully running in browsers on other systems like IRIX and AIX.

Please also have a look at the known problems and make sure they are acceptable before ordering.

#### Known Problems

- Problem: Netscape 4.x doesn't support tooltips and only IE4+ supports multi-line tooltips.
  Cause: Browser incapabilities.
  Workaround: Upgrade to Netscape 6+ or IE 5+.
- Problem: Netscape 4.x doesn't support implementing different themes in the same page.
  Cause: Browser CSS incapabilities.
  Workaround: Upgrade to Netscape 6+ or avoid using different themes in the same page.
- Problem: Garbage chars show up in Netscape 4.x if the web server employs "gzip" http compression.
  Cause: Infamous bug of NN4.
  Workaround: Turn off the http response compression on web server.
- Problem: Implementing the calendar in Netscape 4.x under certain situations could result extra complexity in web authoring.
  Cause: The buggy and non-standard-compliant DHTML engine of Netscape 4.x.
  Workaround: Follow the NN4 tutorials bundled with the commercial edition.

#### Revision History

> ##### Release 9.8.308

> + Added support to Safari 3.

> ##### Release 9.7.307

> + Added seconds support to datetime theme.
> + Added support to IE 7 beta2.
> + Added date range constraint to classic demo with combo-boxes.
> + Added Double theme.
> + Added 508 compliant support for basic themes.
> + Adjusted gbAutoClose option so that the calendar will be closed on external clicks.
> * Allowed TAB key to navigate the focus through the dates and ENTER key to select.
> * Adjusted mini theme to fix border issue in IE 5.5.
> * Optimized demos with more combined features.
> * Update agenda tutorial with MySQL and PHP examples.
> - Fixed a bug of fLoadScript and made it pure AJAX.
> - Fixed a bug that disables the calendar when running in Netscape 8.x browsers. - Fixed a bug so as to allow showing only the top (for selecting month only).
> - Fixed the xml loading bugs in agenda tutorial.
> - Fixed a bug related to auto-close.
> - Fixed a bug in fW2Date regarding the customized week offset. - Removed the automatical onchange trigger as it conflicts with ASP.NET validator scripts.

> ##### Release 9.6.283

> + Added _cacheOther option to switch caching of theme and plugin files (gbCacheAgenda option is for agenda-cache only).
> + Enabled CSS cursor support for Safari 1.x and Mozilla.
> + Added support to create time-only picker.
> + Added a new theme - OutlookTriplexVertical.
> * Major improvement and bug fixes to datetime theme.
> * Renamed the Developer License to Enterprise License.
> - Remove the default utf-8 charset setting, you can always set it in name & id if needed.
> - Fixed a browser cache problem.
> - Fixed a bug in OutlookTwin theme.
> - Fixed a bug in datetime theme in Lite Edition.
> - Fixed a bug that prevents onchange event of date field from being fired properly.

> ##### Release 9.5.270

> + Added charset support to make localization even easier.
> * Updated tutorials.
> - Fixed a bug that causes extra white space at the top in Opera 8.5.
> - Minor bug fixes.

> ##### Release 9.4.266

> + Enable the boxit param of agenda to set border color of date cell individually instead of relying on bgcolor.
> + Added undocumented _preferOOR option to keep the agenda style even when they are out-of-range.
> + Made hovering mouse cursor context(action) sensitive.
> * Updated agenda tutorial including samples regarding XML agenda.
> * Refactored the calendar engine to eliminate the onclick restriction from the html param of agenda.
> * Returning value of fOnDrag plugin is no longer needed, since date picking is triggered via onclick now.
> * Fine-tuned the mini theme.
> * Fine-tuned the classic demo.
> * Fine-tuned script loading sequence inside the calendar engine.
> * Optimized fInitRange() to set default safe-month to the begin of range in case it's missing.
> * Improved datetime theme.
> * Adjusted calendar position when there is not enough space to pop it up or down.
> - Fixed a minor bug in agenda effect logic.
> - Added "left:-500px" to iframe style to work around a bug of IE, people use RTL page flow (dir="rtl") should change it to "left:2000px".
> - Fixed a bug in datetime 24hour plugin that produces error under Opera 7.54.
> - Fixed a bug in parsing month name that is abbreviated with more than 3 letters.

> ##### Release 9.3.250

> + Added support to Opera 8.
> * Restructured demos directory to give a better idea of code separation.
> * Updated License Agreement with new license type.
> * Moved all FAQ into online forum with better support and easier to find.
> * Optimized some themes.
> * Updated tutorials.
> * Added workaround for Mcafee8 slowdown.
> - Adjusted css rules to make tutorial more readable in firefox.
> - Fixed a bug that reveals the calendar inappropriately in "right-to-left" localed page.
> - Fixed minor bugs in demos.
> - Added a workaround to avoid the relative path issue in NN4.

> ##### Release 9.2.242

> + Added sliding out pop-effect to IE and NN4.
> + Added type-in-year support to the contrast theme, as well as a FAQ for how to apply it to other themes.
> + Added fOnload event handler to plugins.js
> - Fixed a bug in type-in-year support that crashes safari and IE on Mac.

> ##### Release 9.1.240

> + Made domain license more friendly to Intranet by having all non-dotted local hostnames covered.
> + Added OnDoWClick plugin function to enable clicking events on week titles.
> + Integrated the getDateByDOW from plugin into engine core, renamed to fGetDateByDOW.
> * Updated FAQ and License Agreement.
> - Fixed a bug in Mac theme and Datetime theme.

> ##### Release 9.0.238

> + Integrated support to restrict years shown in the dropdown selector according to the dynamic date range.
> + Added another marker option to identify the trigger tag in addition to naming it as "popcal".
> + Added an additional param to the fAddEvent() so as to allow user to attach any object with the event.
> + You now have the option to remove the line-through effect on disabled dates, see FAQ for details.
> + Added additional support to offset week number algorithm.
> + Integrated auto-hide and esc-key-hide support in engine.
> + Added a workaround FAQ for the positioning bug regarding relative-positioned elements in IE.
> * Improved engine so that you may now use '\n' directly in the action string.
> * Improved classic demo to make it easy showing how to separate a date into 3 dropdowns.
> * Updated FAQ with more tips.
> - Fixed a bug that may prevent agenda from being shared properly. Please update if you use the agenda sharing feature.
> - Minor bug fixes.

> ##### Release 9.0.213

> + Added more plugin functions.
> + Added a new date-time picker theme.
> + Added offset-adjustment parameters to fPopCalendar() call.
> + Added support to allow loading agendas on-demond (per month), see tutorials for details.
> + Added auto-traverse support when holding down the navigation button.
> + Supported more browsers, including Safari on MacOS.
> + Added support to make any day as first day of week. (gbEuroCal option is deprecated)
> + Added a new demo with a versatile picker that can pick either a single date or a whole week.
> * Revised all themes and plugins.
> * Enhanced dragging support and multi-select plugin.
> * Optimized engine core.
> * Updated tutorials and FAQ.
> - Fixed a bug that may prevent the form fields from getting focused.
> - Minor bug fixes.

> ##### Release 8.1.188

> + Added a new theme.
> + Now you can hide all the contents in a date cell by setting its agenda fgcolor to "" (empty string). This gives you another way to disable a date.
> * Adjusted month navigator options of certain themes to follow a bug fix.
> * Enhanced date range demo and contrast theme.
> * Updated tutorials and FAQ.
> - General bug fixes.

> ##### Release 8.0.182

> + Enhanced support for handling server-side charset encoding and i18n.
> + Added built-in support for non-seperator date format, e.g. "yyyymmdd".
> + Added new demos and themes.
> + Added in FAQ on how to append multiple sub-events to a day.
> * Updated documentation with new tips and tricks.
> * When upgrading from previous version, theme/plugin files also need upgrading.
> - Fixed a tiny bug in the xp theme.
> - Default multiselect key changed to Ctrl from Alt Key.
> - gEvent has been deprecated, event object is now directly passed into plugin functions.
> - Fixed a minor bug that may stop showing hint messages on status-bar.
> - Fixed a bug that can't hide days in other months when set background color to transparent.

> ##### Release 7.1.174

> * License schema changed.
> - Fixed license related issues on IIS 6.0 and tomcat 4.0.

> ##### Release 7.0.172

> + New multi-select plugin supports dragging and ctrl/alt/shift-key-assisted dates picking.
> + Support run-time agenda sharing with FlatCalendarXP.
> + More theme options that can help creating gorgeous effects.
> + Added more high-quality themes!
> + Added more powerful demos!
> * Enhanced code engine is 2-8 times faster on various browsers.
> * Enhanced auto-resizing under all supported browsers.
> * Enhanced internal dropdown plugins.
> * Updated product tutorials and FAQ.
> - Fixed the border overflow bug in Opera 7 and the frame border bug in IE6 with DOCTYPE.
> - Fixed a bug that caused the calendar title always left-aligned in IE on Mac.
> - Other minor bugs fixed.

> ##### Release 6.1.120a

> * Optimized some demos.
> * Updated product tutorials and FAQ.
> * Minor optimization to the engine.

> ##### Release 6.1.119a

> + Added a new option in themes to invert the boldface effect.
> + Setting `gsOutOfRange` to empty string (i.e. "") can now prevent the out-of-range alert from showing up.
> * Added more FAQs to documentation.
> * Updated the agenda tutorial to improve the JSP/Database sample.
> - Removed some redundant code from engine.

> ##### Release 6.1.116

> + Added support to Opera 7.0!
> - Fixed a bug that crashes IE 5.0 on MacOS 9.2.

> ##### Release 6.0.115

> + Tons of new features added in the theme.
> + More highlighting effects on agenda date.
> + New exquisite high-quality cross-browser themes.
> + New plugin support, extremely extensible.
> + New well-organized well-documented tutorials and demos.
> * Code engine has been rewritten and is 4 times faster than before!!!
> * Week number is now ISO-8601 conformant.
> - Minor bugs fixed.

Copyright© 2003-2007 Idemfactor Solutions, Inc. All rights reserved.

* The calendar panel is bulletproof against form elements in all supported browsers except Netscape 4.x, in which case tricks are needed to avoid penetrating. We've packaged detailed demos telling you how to do it right.

+This product includes software developed by the Apache Software Foundation (http://www.apache.org/) - the Tigris CSS Style Sheet (http://style.tigris.org/), which is used to render tutorial documents only.