~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~                           jsDOMenu Changelog                            ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

16 January 2005 (Version 1.3)

 ~ Changed the method signature of global public constructor jsDOMenu(). Order 
   of arguments is changed, and a new argument id is added. This new argument 
   is required when mode = "static" (see below).
 ~ Added new mode of menu "static". A static menu is fixed at a particular 
   position with respect to the document structure, i.e. the position of the 
   menu will "flow" with the document when the browser is resized. Thus, it is 
   not required to call methods like setX(), moveTo(), etc to position the 
   menu. To achieve this, users need to specify the id of the element that 
   will contain the menu.
 ~ Menu item can now have an icon before the display text.
 ~ Added public method showIcon(). Shows the icon before the display text.
 ~ Added public method setIconClassName(). Accepts a string that specifies the 
   CSS class selector for the icon of the menu item.
 ~ Added public method setIconClassNameOver(). Accepts a string that specifies 
   the CSS class selector for the icon of the menu item when the cursor is 
   over the menu item.
 ~ Added global public property menuMode. String that specifies the default 
   mode of the menus.
 ~ Fixed a bug reported by Stas Ovcharenko.
 ~ Some other miscellaneous bug fixes/improvements/changes.


15 July 2004 (Version 1.2.1):

 ~ Fixed a bug that caused Javascript errors if you do not install 
   jsDOMenuBar.
 ~ Added some semi-colons so that the script will still work after going 
   through safe compress, i.e. removing comments and unnecessary whitespaces.


04 July 2004 (Version 1.2):

There are a lot of new features and improvements/changes in this release.

New features:

 ~ Horizontal menu bars are now possible by installing jsDOMenuBar Version 
   1.0. The menu bar menus are created using jsDOMenu.
 ~ Works in Mac browsers like Safari 1.2 and Camino 0.8. Earlier versions 
   of Safari 1.x should also work.
 ~ Users can now change the theme (appearances, colour, style, etc) of 
   the menus through the click of a menu item (e.g. clicking the "Switch to 
   an alternate stylesheet" icon in Mozilla Firefox). This is done using 
   alternate stylesheets.

Improvements/Changes:

 ~ Due to huge changes in this version, it is not backward compatible. That 
   is, configuration codes for previous version of jsDOMenu may not work in 
   this version.
 ~ Relative menu is now being called fixed menu. Absolute menu is still 
   being called absolute menu. This is to be consistent with the fact 
   that absolute menu has property "position: absolute", while fixed menu 
   have property "position: fixed".
 ~ Allow values for the mode of menu are "cursor", "absolute", and "fixed" 
   (see above).
 ~ Change in the implementation of fixed menus by making use of fixed 
   positioning. This is to prevent the "dragging" effect of fixed menus 
   in browsers that support it. For browsers that do not support fixed 
   positioning (e.g. Microsoft Internet Explorer 6), the "dragging" effect 
   will still be seen.
 ~ The arrow image is now loaded as the background-image of a div element. 
   This allows complete change of theme without user writing extra codes to 
   change the arrow image source to suit the new theme.
 ~ Deleted public method setImgSrc(). Use setArrowClassName() method (see 
   below) to change the arrow image by setting a different CSS class 
   selector.
 ~ Deleted public method setImgSrcOver(). Use setArrowClassNameOver() 
   method (see below) to change the arrow image over by setting a different 
   CSS class selector.
 ~ Deleted public method setImgSrcOffset(). The arrow offset will be set 
   using CSS class selectors "jsdomenuarrow"/"jsdomenuarrowover".
 ~ Added public method setArrowClassName(). Accepts a string that specifies 
   the CSS class selector for the arrow.
 ~ Added public method setArrowClassNameOver(). Accepts a string that 
   specifies the CSS class selector for the arrow when the cursor is 
   over the menu item.
 ~ Added global public method hideMenus(). Accepts a menu object and hides 
   the menu, as well as all submenus of it.
 ~ Deleted global public method preloadImg(). Not needed to preload the 
   arrow image/arrow image over as they will be loaded using stylesheet 
   (using CSS class selectors "jsdomenuarrow"/"jsdomenuarrowover").
 ~ Renamed several global public properties (see below). This is to be 
   consistent with the naming convention.
 ~ Renamed global public property menuClass to menuClassName.
 ~ Renamed global public property itemClass to menuItemClassName.
 ~ Renamed global public property itemClassOver to menuItemClassNameOver.
 ~ Renamed global public property sepClass to sepClassName.
 ~ Deleted global public property imgSrc. The arrow image source will be 
   set using CSS class selector "jsdomenuarrow".
 ~ Deleted global public property imgSrcOver. The arrow image over source 
   will be set using CSS class selector "jsdomenuarrowover".
 ~ Deleted global public property imgOffset. The arrow offset will be set 
   using CSS class selectors "jsdomenuarrow"/"jsdomenuarrowover".
 ~ Added global public property arrowClassName. String that specifies the 
   default CSS class selector for the arrow.
 ~ Added global public property arrowClassNameOver. String that specifies 
   the default CSS class selector for the arrow when the cursor is over it.
 ~ Deleted global public property menuDelay. Does not seem to be useful in 
   the previous versions.


30 December 2003 (Version 1.1.3):

 ~ Fixed a bug that causes an error if no pop-up menu is defined.
 ~ In order to style the menu separator, the menu separator is created
   as a child of a div element.


29 December 2003 (Version 1.1.2):

 ~ Fixed another bug that causes incorrect menu positioning in some 
   browsers.


27 December 2003 (Version 1.1.1):

 ~ Fixed a small bug so as to allow it to work in earlier version of 
   Mozilla 1.x.


16 December 2003 (Version 1.1):

There are a lot of new features/improvements/bug fixed. Some are outlined 
below:

 ~ Now works in IE5 (SP2), IE5.5 (SP2), Opera 7.23.
 ~ Determine the mode of the page using document.compatMode, instead of 
   user having the need to define it.
 ~ Besides pop-up menus, 2 additional menu modes are introduced: absolute
   and relative. Absolute menu is fixed at a point in the web page, while 
   relative menu is fixed at a point in the web page, but moves with 
   scrolling.
 ~ Pop-menu can show/hide differently. For example, show by left click, 
   hide by right click, etc.
 ~ Preloading of arrow images (including image over) is done now.
 ~ The arrow image should be positioned correctly now.
 ~ Test whether the browser is DOM-compatible before creating the menus.
 ~ Additional methods and properties are available to control the menus/ 
   menu items. Refer to Documentation page for more information.


31 July 2003 (Version 1.0):

 ~ Initial release.