Description

This flexible pop-up calendar is written to work across browsers. It's fully commented and is easily customisable for language, colours and date format.

Features include flexible week numbering, multiple calendars on the page, static and dynamic calendars, date disabling and enabling, time selection and coder-defined function execution after calendar use.

The display shows a month at a time from a specified range of years. The optional input date determines the initial month displayed. The year can be in two or four digits while the month can be digits or a month name (easily be set up for any language). Any date or day of the week can be disabled (and re-enabled) using JavaScript on the calling page. This is ideal for combination with server-side technologies to produce a professional application.

Features
  • Easily customised for output date format, colours, language, and year range.

  • Accepts a date as input.

  • You choose the first day of the week for the display.

  • You can invoke any number of both static and dynamic calendars.

  • You can disable specified week days, dates and date ranges or invert that behaviour to enable only those you specify.

  • Week numbering can be displayed.

  • Allows dynamic control of calendar attributes.

  • Calendar position can be specified relative to the page or relative to the element the calendar is based on.

  • Optionally draggable.

  • Tested against:
    Firefox 0.9.1+
    (& Netscape 8.0.4+ & Flock 0.4.9)
    Internet Explorer 6.0.28+
    Opera 7.52+ Mozilla 1.7.1
    Konqueror 4.0.1 Safari (for Windows)
Known issues No current bugs

Working with Applets and Objects
This script is designed to be as robust as possible. However, in many implementations the canvas for objects and applets is not drawn by the browser. If the object/applet is refreshed it will overwrite anything displayed in the same location, including the calendar. There is no way to prevent this issue in JavaScript. If you wish to use both dynamic objects and the calendar on the same page then the only option is to position them carefully so that they cannot overlap.
Rights and Responsibilities
  • This script is published under the GNU Lesser General Public License. The License gives you wide-ranging rights to use the script. Please read it to ensure that your use of the script falls within your rights. if you have any questions or requests in relation to the license.

  • I am also happy to discuss licensing if you wish to use the script outside the terms of the GNU LGPL.

  • If you speak a language that isn't in this demonstration already, you could .

  • Of course, I want to know of any faults you might discover.

  • If you would like a new feature that might suit a wider audience, . I like a challenge so all ideas are welcome.

  • I spend a lot of time developing this just because I enjoy it. However, I have costs keeping it available and need to repay my family for all those hours hacking the code by taking them out for a meal once in a blue moon so, any and all donations are welcome. Go on - make someone happy!

Contact I can't offer formal support for this but if you find a problem (or just want to tell me how much you like the script), please .

I will try to fix problems and deliver improvements quickly but this is a spare time thing for me (if it wasn't, it wouldn't be free! Smile.  Fair's fair!).

Credits This script is based on my Simple Calendar Widget script which I wrote from scratch myself but I couldn't have done either without the superb "JavaScript The Definitive Guide" by David Flanagan (Pub. O'Reilly ISBN 0-596-00048-0) and Peter-Paul Koch's (PPK) brilliant Quirksmode site. I am very grateful to those users who have given their time to let me know their ideas and enhancements. When I use those, individuals are credited in the script.

Link back If your use of the script allows, please give me credit and link back to my page. Your links will help the script to gain and keep a good ranking with search engines. Please add the following HTML to any indexed page on your web site:

     <A HREF='http://www.tarrget.info/calendar/jacs.htm'>
         Javascript Advanced Calendar Script (JACS)
    </A> by Anthony Garrett