Make your own free website on
The author and Lithic Software Corporation assume no liability for the use of the Ides Applet.  It is distributed without any warrantee of any type.

This applet, documentation, and accompanying images may not be distributed for profit or on CD without the express written consent of the copyright holder. The applet, images, and documentation are Copyright 1998-1999, Lithic Software Corporation, all rights reserved.
For updates stop by:

The help files cover the following topics:
Using Ides
Dates File
Improving download speeds
Changes from version 1.x
Changes from version 2.1

Using Ides:
There are three general considerations with using Ides, the dates file, the images, and the parameters.

The dates used for Ides are stored in a dates file.  The format for the dates file is discussed below.  The directory that the dates file is in must be specified in the parameter named "source".  For example, if your server was, and the value of the source parameter was "java/dates.txt", the applet would look for to get the dates information.  If Ides cannot find the dates file, it will set the license text to show where it is looking for the dates file.  If your dates aren't showing up, click the about button (which looks like a question mark) to see where Ides expects the date file.

The images you use with Ides should be uniformly sized (the example images included in the distribution package are all 320X180 pixels, for example).  Name them january.jpg, february.jpg, march.jpg, etc. (this can be modified (see below)).  Load the pictures in the same directory as the applet class files. If the applets and images are located in a different directory than the web page, you will need to include a codebase modifier. If you use an image for the background that the calendar portion of the applet is drawn on, it should be the same size as the calendar (if it is another size, it will be resized prior to rendering, unless the tilecalendarbackground parameter is set to yes).

The parameters are discussed below.  Many of them can be left as is when you first use Ides, but you may want to glance through them to see the configuration options.

An example HTML file, ides.html, is included for demonstration.  To begin, you should examine the tag and parameters in that file, then make modifications after you have seen the way that it works.  You will most likely have to change the source parameter to make it work.  The source parameter is
discussed  below.

To upload the class files for an applet, you need to use binary mode rather than ASCII mode.  Binary mode is the default mode for a lot of FTP clients, so generally just upload as normal.  The dates file should be uploaded in ASCII mode.


The parameters are briefly discussed below.

<APPLET CODE="ides21.class" width=330 height=380>
The width and height can be adjusted to accomodate the size of the images that you are using, or the amount of space that you have available on your page.  The width should be the width of the images or calendar (these generally should be the same size, but you can make one or the other wider, if one is wider, use it for this calculation) plus 10.  So if your images are 320 wide, the width should be 330. The height is the calendarheight plus the imageheight plus 20. You can also use an archive file for faster downloading. If you want to store the class files in a different directory than the html file, use a codebase modifier (for example, codebase="../applets") in the applet tag.

The source and sendtime parameters are discussed below under Data File.  The source is the file that contains information about the dates, descriptions and links that Ides displays, so it is important to understand. The sendtime is used to get around caching. There is an example dates file, dates.txt, included in the distribution package.

Added to each link in the dates file that does not start with "http".  If all the links will be full URLs, use "." here.

<PARAM NAME=target VALUE=".">
Three possibilities.  Use "." to point the current browser at the link.  Use "new" to create a new instance of the browser and pass it the URL.  In a frames environment you can use the name of a frame as the target (be sure to NOT name the target frame "new").  So if your target frame is named "show", use "show" as the target.

These are the names of the days.  If you use a language other than English, you can substitute the appropriate three letters from your language for the defaults.

<PARAM NAME=January VALUE="January">
<PARAM NAME=February VALUE="February">
<PARAM NAME=March VALUE="March">
<PARAM NAME=April VALUE="April">
<PARAM NAME=August VALUE="August">
<PARAM NAME=September VALUE="September">
<PARAM NAME=October VALUE="October">
<PARAM NAME=November VALUE="November">
<PARAM NAME=December VALUE="December">
These are the names of the months.  If you use a language other than English, you can substitute the the month name from your language for the month name given above.

<PARAM NAME=JanuaryImage VALUE="january.jpg">
<PARAM NAME=FebruaryImage VALUE="february.jpg">
<PARAM NAME=MarchImage VALUE="march.jpg">
<PARAM NAME=AprilImage VALUE="april.jpg">
<PARAM NAME=MayImage VALUE="may.jpg">
<PARAM NAME=JuneImage VALUE="june.jpg">
<PARAM NAME=JulyImage VALUE="july.jpg">
<PARAM NAME=AugustImage VALUE="august.jpg">
<PARAM NAME=SeptemberImage VALUE="september.jpg">
<PARAM NAME=OctoberImage VALUE="october.jpg">
<PARAM NAME=NovemberImage VALUE="november.jpg">
<PARAM NAME=DecemberImage VALUE="december.jpg">
These are the names of the images that will be loaded for the corresponding month.  The images must be in the codebase (if you upload everything to the same directory, and do not change the applet tag, that is the codebase).  You can change them, but they should be a file name, do not use a URL.  To ensure reliable loading, these images should not be very large.

<PARAM NAME=About VALUE="About">
<PARAM NAME=Previous VALUE="Previous">
<PARAM NAME=Current VALUE="Current Month">
<PARAM NAME=loading VALUE="Loading Image...">
These values are used to supply the floating text for the navigation button, and for the text that is displayed when the images are loading.

<PARAM NAME=weekstartsonmonday VALUE="false">
Most Europeans start the week on Monday, so they would set this to true.  Americans start the week on Sunday, so leave it false.  Everybody else, set appropriately for your locale or audience.

<PARAM NAME=wrapyear VALUE=".">
If you want to set the calendar to only display a certain year, set this to that year (for example, use VALUE="1999" to show only 1999).  Set this to ".", as shown, to display a perpetual calendar.

<PARAM NAME=calendarfont VALUE="TimesRoman">
<PARAM NAME=calendarpoint VALUE="12">
<PARAM NAME=calendarstyle VALUE="plain">
<PARAM NAME=headerfont VALUE="Arial">
<PARAM NAME=headerpoint VALUE="16">
<PARAM NAME=headerstyle VALUE="italic">
<PARAM NAME=menufont VALUE="Arial">
<PARAM NAME=menupoint VALUE="12">
<PARAM NAME=menustyle VALUE="plain">
These let you set the font for the header (month and year), calendar (days), and floating menu font.  The permissible values for style are plain, bold, italic, and bolditalic (case sensitive).  If the font you refer to is not available on the viewing system, it will substitute TimesRoman 12 point plain. You should try to use common fonts, for example:

<PARAM NAME=imagewidth VALUE="320">
<PARAM NAME=imageheight VALUE="180">
<PARAM NAME=calendarwidth VALUE="320">
<PARAM NAME=calendarheight VALUE="180">
The imagewidth and image height specify the width and height of the images shown above the calendar.  If the images you use are a different size, they will be resized prior to rendering.  The calendarwidth and calendarheight are the width and height of the calendar.  The calendar will be rendered best is the calendarheight is evenly divisible by 8 and the calendarwidth is evenly divisible by 7 (the example above isn't, but the effect is rather subtle, the drawing of the lines is off by one pixel in one of the rows and one of the columns). If you do not want to use images above the calendar, you can set imagewidth and imageheight to 0.

<PARAM NAME=backcolor VALUE="F0F0F0">
<PARAM NAME=calendarimage VALUE="back.jpg">
<PARAM NAME=tilecalendarbackground VALUE="no">
<PARAM NAME=calendarback VALUE="F0F0F0">
<PARAM NAME=text VALUE="000000">
<PARAM NAME=today VALUE="FF0000">
<PARAM NAME=lines VALUE="909090">
<PARAM NAME=dark VALUE="505050">
The backcolor is the color of the applet background.   The calendarback is the color of the calendar background.   The lines, bright, and dark parameters are used to draw the lines on the calendar, and to make important dates appear raised.  The text parameter is  used to set the text color.  The today parameter draws the current day in the indicated color.  The calendarimage is used if there is a background image.  If there is no background image, use a "." as the value.  If there is an image, you can tile it (if the image is too small, it will repeat itself to fill up the available space), by setting the tilecalendarbackground value to "yes", otherwise set it to "no".  If you use a background image, the file size of the background image should be as small as possible, as the calendar will not render completely until it is downloaded.

<PARAM NAME=menuselected VALUE="BBBBFF">
<PARAM NAME=menulink VALUE="0000FF">
<PARAM NAME=menutext VALUE="000000">
<PARAM NAME=menudark VALUE="88AA88">
These are the colors associated with the menu.  menu is the menu background color, menuselected is the color that an item turns when it is selected, menu link is the color that the menu draws linked items in, menutext is the color that the text that isn't linked is drawn in, menubright and menudark are the colors that are used to make the menu look raised.

The colors must be in hex format, as shown.  If you need some help with this format, try the hex color calculator (for Windows 3.1/95) located at:

If you make a mistake with a color (for example, using a non-hex color), a default color will be used.  So if you aren't sure why your colors aren't showing up, have a look at the colors used in the parameters.

Dates File
<PARAM NAME=sendtime VALUE="yes">
The send time parameter appends a time to the file, in the query string.  So if the file was dates.txt and you had downloaded from, the file that was actually requested would be  The time number is generated by the applet, and will change each time.  The reason for using this is to get around caching, so that you are getting a new file each time.  If you are having problems retrieving the file, you may try turning it off (replace yes with no).

<PARAM NAME=source VALUE="java/dates.txt">
The dates used for Ides are stored in a dates file.  The path to the dates file must be specified in the source parameter.  For example, if your server was, and the value of the source parameter was "java/dates.txt", the applet would look for to get the dates information.  The path must be the full path (no relative paths).  If the applet cannot find the dates file, it will set the license text to show where it expects the file.  If there is an error with your dates showing up, and you know they are in the correct format (format is discussed below this), click the about button.  If Ides can't find the dates file, it will indicate where Ides thinks the dates file is.

Here are some example dates (for more, see the dates file):

10/12/1999 Safety Meeting
1/1 Happy New Year!! .
6/7 Bryce Canyon NP, 1924 bryce-canyon-1946.htm

The format is:
[date][single space][description][single space][URL]
The date format is m/d for a date that is recurring on the same date each year, or m/d/yyyy for a single date.  Dates should not use leading zeros (ie, don't use 01/01/2000 for January 1, 2000, use 1/1/2000 instead).

The URL can be either a full URL, as shown on the first line, a dot (.), as shown on the second line, or an html file, as shown on the third line.  You should generally use a full URL.  If there is no URL associated with a date, use a "." .   You can use an html file if the root parameter (discussed above in parameters) is used.  If the root parameter is used, a leading path, as specified in the root parameter, is pre-pended to any URL that does not start with http.

Please be sure that the date, description, and URL are separated by a single space.  Also, be sure to use a simple text editor (for example, notepad on Windows systems, vi on UNIX, or simpletext on a Mac), when creating the file.  The dates file must be plain text. You should not have additional returns (ie blank lines) at the end of the dates file.

Improving download speeds
The best way to improve download speeds for an applet is to use an archive file to store all the class files in.  The easiest way to do this is to take all the class files, and create a zip file from them.  Then put the zip file in the same directory as your class files and add an "archive=" modifier to your applet tag.   If your zip file was called, you would use the following tag:
<APPLET CODE="ides21.class" ARCHIVE="" width=330 height=380>

There is a zip file called in the distribution package that you can use.  To use it, put it in the codebase and add ARCHIVE="" to your applet tag.

When you received your new license class, if you are using an archive, you will need to create a new zip file with the new ideslicense class.  You should name the new zip file differently from the old zip file, for example, then make the appropriate change in the applet tag.  This is because, if the "archive=" modifier is not changed, the browser may use the old zip file that it has in cache rather than the new one.

Changes from version 1.x
There are several major changes from any of the previous version.  The main changes are the way that the dates are stored and the way that links are displayed for a day.  There are also many more parameters than there were in earlier versions.

Because Ides has many new features, there isn't an easy way to upgrade the html page so that it can support the current version.  Please read this entire documentation for information on setting up Ides v2.1.

Changes from version 2.1
End user control over menu fonts was added, the license class was replaced by a license code, and a bug that prevented accented text from appearing in the floating menus was fixed.  To upgrade your page to use version 2.2, the following will be necessary:

Include the following parameters:
<PARAM NAME=menufont VALUE="TimeRoman">
<PARAM NAME=menupoint VALUE="12">
<PARAM NAME=menustyle VALUE="plain">

Change the applet tag to refer to ides22
<APPLET CODE="ides22.class" archive="" width=330 height=380>

For general questions, contact John Keogh at  Consulting, help with the parameters, customizing, and programming are available for a fee from Lithic Software Corporation.  To contact Lithic Software, email to