Change History for the overlibmws
DHTML Popup Library
maintained by Foteos Macrides at Macrides Web Services

  Review the Most Recent Changes in overlibmws  

Copyright Foteos Macrides
  All rights reserved.

Explore the Download and Test Directory for overlibmws  
Also study the Command Reference for overlibmws  
And use the overlibmws Support Group

The overlibmws DHTML tooltip and sticky popup library extends Erik Bosrup's overLIB with contributions by Foteos Macrides and other open source software developers.  Only a minority of its code and API now correspond with Erik's version, and it is under separate copyright.  The overlibmws library is smaller and more efficient, yet contains more features and many enhancements.  What follows is the Change History for overlibmws since its creation in 2002.  Go to the bottom to see the most recent changes, and check them regularly for any enhancements or bug fixes which merit your doing an upgrade.

  1. August 18, 2002 - Modified all layer generation functions so that the FGCLASS, BGCLASS, TEXTFONTCLASS, CAPTIONFONTCLASS, and CLOSEFONTCLASS commands each cause their class attributes to be included regardless of whether ol_css is CSSOFF or CSSCLASS (i.e., if it is not CSSSTYLE), and each do so only if specified (even if CSSCLASS is set), otherwise yielding the CSSOFF attribute inclusions.  [Eliminated the superfluous CSSOFF, CSSCLASS, and CSSSTYLE commands and their configuration variables on August 23, 2002.]
  2. August 18, 2002 - Added CGCLASS, and complementary CGCOLOR and CGBACKGROUND (if CGCLASS is not used), command options for setting the caption background to a different color from the border, or tiling in a background image for the caption box, distinct from the border and main text box.
  3. August 18, 2002 - Added mod for the ability to close a STICKY popup when the NOCLOSE option was specified by mousing over and then out of the popup.  Note that because overlib supports only one pupup at a time, NOCLOSE stickies also are closed if another popup is available on the page and that one is invoked.
  4. August 18, 2002 - Added mod for the opt_FUNCTION routine to allow one to specify parameters when calling an external javascript function. This is designed to work by passing a string value to the FUNCTION command, rather than a reference to a javascript function. You may have to build this string outside of the actual overlib call. It is similar to the way one calls the built-in setTimeout javascript method. However, since this function must return a string value, you can also use: FUNCTION, myFunction(arg1, arg2, arg3) where argx are the actual arguments to the function.
  5. August 18, 2002 - Added WRAP command. This will cause the popup to be no wider than its content, except for normal padding. It is not allowed when specifying fullhtml. It's default value is NO wrap. When used on the command line, it behaves as a toggle switch.
  6. August 20, 2002 - Added BASE command which takes a number (of pixels) as its parameter, for thickening the base of the border by the specified number of pixels.
  7. August 20, 2002 - Modified the "closing" string in the layer generation functions to indicate the function for closing the popup as the HREF when CLOSECLICK is set. It was indicating the server root directory, and this was appearing as the target URL in the browser status bar, giving a false indication of what will happen if one clicks on the CLOSETEXT.
  8. August 21, 2002 - Modified the overlib() and overlib350() functions so that they return false or true depending on whether the STATUS, AUTOSTATUS, or AUTOSTATUSCAP commands (or their corresponding ol_status and ol_autostatus variables) have been used to specify a string to be used in the browser's status line. If not, we now always see the fully resolved HREF attribute value, as when we are not associating popups with links. If for some reason one does want to hide the resolved href attribute value but not replace it with another readable string, use a space as the replacement string.
  9. August 23, 2002 - Eliminated the ol_css variable and its directly related commands (CSSOFF, CSSCLASS, and CSSSTYLE) and corresponding ol_ variables. Also eliminated the CSSSTYLE-related commands (PADUNIT, HEIGHTUNIT, WIDTHUNIT, TEXTSIZEUNIT, TEXTDECORATION, TEXTSTYLE, TEXTWEIGHT, CAPTIONSIZEUNIT, CAPTIONDECORATION, CAPTIONSTYLE, CAPTIONWEIGHT, CLOSESIZEUNIT, CLOSEDECORATION, CLOSESTYLE, and CLOSEWEIGHT) and corresponding ol_ variables. We can use any one or more the class commands (FGCLASS, BGCLASS, CGCLASS, TEXTFONTCLASS, CAPTIONFONTCLASS, and CLOSEFONTCLASS) and corresponding ol_ variables to achieve more efficiently what might have been done via the CSSSTYLE-related commands and ol_variables, with the bloat and greater library file size they had created now reduced.
  10. August 24, 2002 -- Added DRAGGABLE command and ol_draggable variable for making popups draggable.  Use with stickies, constructed normally, or within a BACKGROUND image and/or use of FULLHTML.  [Moved the DRAGGABLE code out to a plugin on July 14, 2003.]
  11. August 28, 2002 -- Added use of a fudge factor to adjust for the width of the vertical scrollbar and track when setting the horizontal position of popups for NS4 and NS6. Modeled after the Horizonal Positioning portion of the placeLayer() patch for v3.33 by Dennis Sandow at Also worked in variants of his other mods for Horizonal Positioning so that popups are not allowed to overrun the left or right margins of the window display, except for FIXX, which can overrun the right margin if necessary in order to respect the horizontal positioning instructions associated with the overlib call. (See August 31, September 2, and September 17, 2002 entries for expansions and revisions of these mods.)
  12. August 28, 2002 -- Worked in mods from Robert E. Boughner to make onClick and links work for NS4 in DRAGGABLE stickies.
  13. August 29, 2002 -- Made DRAGGABLE (ol_draggable) a toggle.
  14. August 31, 2002 -- Added homologues of the Vertical Positioning mods in Dennis Sandow's placeLayer() patch for v3.33 at  We now prevent overruns of either the top or bottom window margins for all positioning commands and variables except FIXY (ol_fixy).
  15. September 2, 2002 -- Added NOJUSTX and NOJUSTY commands, and corresponding ol_nojustx and ol_nojusty variables, which are off (0) by default and function as toggles. Modified the Horizontal and Vertical Positioning mods so that justification to the window margins always occurs with those defaults, including for FIXX and FIXY. Toggling NOJUSTX (ol_nojustx) on (1) suppresses justification in the horizontal dimension so that overruns of the left or right margin could occur if nessessary to respect the horizontal positioning instructions associated with the overlib call. Similarly, toggling NOJUSTY (ol_nojusty) on suppresses justification in the vertical dimension. These mods are based on Dennis Sandow's discussion of positioning issues in  Note that when justification is enabled but the popup is wider or taller than the window display and an overrun cannot be avoided, the justification is applied for the left and top margins, so that the overrun occurs at the right or bottom margin.
  16. September 2, 2002 -- Added a VCENTER command and ol_vcenter variable complementary to BELOW (default) and ABOVE, and homologous to CENTER (ol_center). Whereas CENTER centers the popup relative to the cursor in the horizontal dimension, VCENTER centers the popup relative to the cursor in the vertical dimension. The default or an explicit OFFSETY value is added to the positioning for VCENTER in the same direction as for BELOW (and oppositely to that for ABOVE). Similarly, the default or an explicit OFFSETX value is added to the positioning for CENTER in the same direction as for RIGHT. If you want the centering performed relative to the tip of the finger in the cursor for anchors, then OFFSETY for VCENTER, or OFFSETX for CENTER, should be set to 0.
  17. September 3, 2002 -- Modified the WRAP code so that IE now works equivalently to NS, not exceeding the content width except for normal padding, not wrapping until the page width would be exceeded, and justifying fully to the right or left window margins rather than to the HTML body margins.
  18. September 4, 2002 -- Tweak of yesterday's WRAP mods to deal more explicitly with use of it in conjunction with the BACKGROUND command. Use of WRAP instead of an explicit WIDTH value creates a variable tiling condition for any background image, contrary to the intent of the BACKGROUND command. But the two commands can be used together in this code set, should someone think of a worthwhile reason to combine them.
  19. September 6, 2002 -- Another tweak of the WRAP mods. Use over.pixelWidth=0 instead of the repositioning trick for IE4 before the second call to the layer generation functions, for greater efficiency. There is no equivalent for the gecko-engine browsers, so the repositioning trick is still used for them, with noticeable flicker due to their display echo problem (Note that the flicker problem has been eliminated, as well as the use of over.pixelWidth=0.  See entry for October 4, 2002.).
  20. September 14, 2002 -- Mod to cancel a TIMEOUT for NOCLOSE stickies if the user moves the mouse onto the popup, in which case it reverts to the standard NOCLOSE behavior of closing on mouse off.
  21. September 17, 2002 -- Renamed the current FIXX and FIXY commands to RELX (ol_relx) and RELY (ol_rely) to make clear that with the August 31 and September 2 mods the positioning is relative to the current margins of the window display, and retored FIXX (ol_fixx) and FIXY (ol_fixy) commands that function equivalently to the originals in the standard distribution, except that NOJUSTX and NOJUSTY must be set if justification at the window margins is not desired.
  22. September 23, 2002 -- Added MIDX (ol_midx) and MIDY (ol_midy) commands which each accept pixel values as parameters inicating the horizontal (positive to the right, negative left) and vertical (positive down, negative up) displacements for positioning the midpoints of the popups relative to the midpoint of the window display. For example, MIDX,0,MIDY,O centers the popup within the current window display regardless of scrolling. Similarly, RELX,20,MIDY,0 places the popup 20 pixels from the left window margin and centered vertically, regardless of any scrolling that has occurred. NOJUSTX and NOJUSTY must be set if justification at the window margins is not desired. If the popup is larger than the current window display, default justification is at the left and top window margins.
  23. September 27, 2002 -- Added ability to select text in draggable stickies for copy and paste operations by using Alt+Click (Option+Click on MACs; Ctrl+Click for Opera).
  24. October 2, 2002 -- Overlib v3.51 Beta 2 was released today but there is nothing in it not already dealt with in this code set. Updated the header to correspond with that for the new release, and simply dropped the 'b1' from this code set's name rather than changing it to 'b2'.
  25. October 4, 2002 -- Came up with a workaround for the popup display echo in gecko engine (post-version 4.x Netscape) browsers. This mod was exercised with Netscape v7.0, nominally equivalent to Mozilla v1.0, on a Wintel box. With this mod, such browsers no longer display the new popup initially at the location of the previous popup (or original position of the overDiv layer when the very first popup is invoked) before jumping to the specified position for the new popup. This also eliminates the flicker for such browsers when using WRAP (ol_wrap), so that this useful feature should be appropriate now for all browsers supported by overlib.
  26. October 7, 2002 -- Worked in a setTimeout()-based delay in disp() as a workaround for the popup display echo in gecko engine browsers, but with a check and clearTimeout() call if needed in hideObject() to prevent orphan popups.  The overall workaround improves cursor tracking in addition to alleviating the display echo.
  27. October 8, 2002 -- Added a workaround in placeLayer() for older gecko engine browsers which were passing the test for whether they support clientWidth and clientHeight but were not returning the current window width and height. They now should fall through the test and instead use innerWidth and innerHeight, which appear to be properly supported by all gecko engine browsers.
  28. October 9, 2002 -- Added daisy-chain code for sharing onMouseMove captures with another script. The other script should be called ahead of the overlib script. The code includes a check to avoid breaking IE's handling of overlib popups when the other script is using window.onmousemove (which IE does not support) instead of document.onmousemove.
  29. October 10, 2002 -- Converted AUTOSTATUS and AUTOSTATUSCAP to toggles.
  30. October 11, 2002 -- Added ability to position popups by using other objects in the document as references.  Used a port of the jwin markername feature as the starting point, and made a number of enhancements.  The popups can be postitioned with named anchors as well as images and positioned layers as reference objects for all of the browsers supported by overlib.  One can specify corners to be used as positioning reference points for both the reference object and the popup, in conjuncton with horizontal and/or vertical displacements betweeen the reference points.  The named anchors can have a transparent character such as the non-breaking space as content, allowing positioning relative to any loction in the document (a small, transparent gif image also can be used in this manner).  For the gecko-engine browsers and IE, the popups can be positioned using any element in the body as the reference with an ID attribute value for the element, but only named anchors and images, and positioned layers with an ID, are supported for Netscape 4.x.  The command names are REF, REFC, REFP, REFX and REFY.
  31. October 20, 2002 -- Added SCROLL (ol_scroll) which when toggled on will keep re-establishing a sticky popup's position with respect to the window margins and/or center (i.e., when RELX or MIDX, and RELY or MIDY are used) if the document is scrolled via the window's scroll bars.  [Moved the SCROLL code out to a plugin on January 29, 2004.]
  32. November 1, 2002 -- Updated the copyright notice and commenting in relation to today's formal release of overlib v3.51.
  33. November 16, 2002 -- Worked my external OLdelayClose(time) function into an internal nd(time) function. One can now include a numeric parameter indicating the number of millisec after an onMouseOut for closing a sticky.  For example, onMouseOut="nd(2000);" will cause a sticky popup to close 2 sec after a mouseout from the object which invoked it. The parameter is optional, and if included will be used only for sticky popups. (NOTE: Modified on December 7, 2002 to work with non-sticky popups as well).
  34. November 18, 2002 -- Changed the ns4, ns6, ie4 and ie5 variable names to OLns4, OLns6, OLie4 and OLie5 to avoid possible namespace collisions with other scripts.
  35. November 20, 2002 -- Modified OLmouseMove(e) to use event.clientX and event.clientY with scrollLeft and scrollTop additions for both OLie4 and OLie5.
  36. November 23, 2002 -- Added an OLieM variable which is true if the browser is IE on a MAC, an OLopr variable for Opera on any platform, and OLop7 for Opera v7 or later, which was released as v7.0 Beta 1 on November 13, 2002 and now supports dynamic loading of layers as used by overlib. The new variables are used to regulate some differences among IE on MAC, Opera in IE emulation mode, and IE on PCs. The Opera-related variables also are used for regulation of overlib behavior in relation to supported versus unsupported versions, and in conjunction with workarounds for some bugs in the v7.0 Beta 1 release.
  37. December 7, 2002 -- Modified the nd(time) function to permit delayed closes with any popup, not just stickies.
  38. December 29, 2002 -- Minor tweaks for better support of Opera v7 Beta 2.
  39. February 2, 2003 -- Changed the order of daisy-chaining when mouse capture is sensed so that the overlib function's routine is executed last.
  40. February 3, 2003 -- Tweaks for better support of the Opera v7 final release.
  41. May 4, 2003 -- Tweaks to make the mouse capture sharing work when the competing mouse capture routine is not set globally, as for recent Milonic menus.
  42. May 29, 2003 -- Tweak to deal with the tiling problem for background images with IE 5.1 or higher on MACs. The workaround is always to empty innerHTML before loading new text into it.
  43. June 21, 2003 -- Tweaks for better support of WRAP across browsers and DTDs.
  44. June 27, 2003 -- Added the CLOSETITLE, FOLLOWMOUSE, and MOUSEOFF commands which have been proposed for the next "standard" release of overlib.  [Changed FOLLOWMOUSE to NOFOLLOW (ol_nofollow) on January 30, 2004.]
  45. June 29, 2003 -- Added an OLsetDefaults() function to allow setting of the default configuration (ol_foo) variables in a page-specific manner with the arguments structured as in an overlib() call, i.e., as a comma-separated list of commands and their parameters if any.  [Changed the function name to OLpageDefaults() on September 4, 2003.]
  46. July 1, 2003 -- Added a coreCmds definition and registerCommands() function for setting the numeric values of the command name tokens.
  47. July 14, 2003 -- Converted overlibmws.js to a core module, and added plugin modules overlibmws_draggable.js, overlibmws_overtwo.js, and overlibmws_shadow.js.
  48. July 15, 2003 -- Tweaks of overlibmws_overtwo.js so that the secondary popups now support BACKGROUND (ol_background) and FULLHTML (o3_fullhtml), and now handle WRAP (ol_wrap) properly.
  49. July 22, 2003 -- Tweak of FOLLOWMOUSE so that the block of cursor following when a popup is displayed is identical to that for stickies.  [Changed to NOFOLLOW (ol_nofollow) on January 30, 2004.]
  50. July 26, 2003 -- Added plugin modules overlibmws_bubble.js, overlibmws_capture.js, and overlibmws_debug.js.
  51. July 27, 2003 -- Changed the name of the public function in overlibmws_debug.js to OLshowProperties().
  52. August 1, 2003 -- Fixed some bad logic in the moveToBack() function of the overlibmws_debug.js plugin module which was causing toggling between the last and second to last debug layers instead of cycling through all of the debug layers when more than two OLshowProperties() functions are included in the debug code set.
    -- Also tweaked its OLshowProperties() function so as to add the styling for non-NS4 browsers when the debug layers have been declared in the body for support of NS4 as well.
    -- Removed the overlibmws_capture.js plugin module.  Still haven't come up with a situation for which the order of daisy chaining matters, and the module is still experimental, so why carry that baggage in the distribution for now?
  53. August 3, 2003 -- Added an overlib_regCore.js file which should be imported by a frame document to register the core commands for that document when it will not, itself, import the core module but instead will be using a frame reference to access the overlib() and nd() functions via another document of the frameset which did import the core module.
  54. August 4, 2003 -- Added public functions OLregisterCommands() and OLregisterPlugins() to the overlib_regCore.js file to enable a frame document to register plugin commands (following the core commands) for that document when it will not, itself, import the core and plugin modules but instead will be using a frame reference to access the overlib() and nd() functions via another document of the frameset which did import the core and plugin modules.
  55. August 6, 2003 -- Modified code for NS4, borrowed in v3.51 from a Webreferences tutorial, so that the reload on resize will not be blocked when font size handling is changed via NS4's ctrl-] and ctrl-[ shortcuts.  Otherwise, with the block, all present v3.x and proposed v4.x versions exhibit styling problems and/or crashes for the document and/or popups following ctrl-] or ctrl-[ with NS4.  The multiple-resizes bug described in the Webreferences tutorial appeared in the initial and earliest Netscape v4.0x versions, and was quickly fixed by the NS developers, so it is unlikely to be encountered in versions of NS4 currently in use.  The mws code set primarily seeks to support latter versions of NS, which are still in use at many corparate sites.  Nonetheless, if a workaround for the styling problems and/or crashes is found, the block will be reinstated.
  56. August 7, 2003 -- Modified the overlibmws_debug.js plugin module to include an ALLOWDEBUG command which can be used in overlib() calls for allowing debug layers which were made hidden via their close link at upper right to become visible whenever those overlib calls are made again. The ALLOWDEBUG command takes a parameter which is a string with a debug layer ID or a comma-separated list of debug layer IDs, has a configuration variable (ol_allowdebug), and can be used in OLsetDefaults() calls.  [Changed function name to OLpageDefaults() on September 4, 2003.]
  57. August 21, 2003 -- Miscellaneous cosmetic changes in the core and plugin modules for easier cross-references with the August 19, 2003 overLIB v4.00 Alpha 1 pre-release.
  58. August 22, 2003 -- Fixed a visibility glitch for NS4 in overlibmws_debug.js.
  59. September 1, 2003 -- Modified the Layer Generation Functions so that when class-based font styling is not used, the modern browsers use DIV or SPAN encasing (depending on whether the permitted content is block-level or inline, respectively) with inline STYLE attributes, but FONT encasing without STYLE attributes is still used for NS4 so as not to trash any class-based styling for NS4 in other parts of the document.  This ensures that the overDiv layer content generated by the LGFs will conform to the Strict DTD standards for the modern browsers which support Strict HTML DTDs.
  60. September 4, 2003 -- Changed the name of the page default configuration function to OLpageDefaults().
  61. September 6, 2003 -- Reversed the double- versus single-quote orders in the core module's LGFs for easier reading and to eliminate the need for backslash escaping of the double-quotes around attribute values.  Also modified overlibmws_debug.js so that the styling of the debug layers is less dependent on external style sheets.
  62. September 11, 2003 -- Further modified the core and plugin modules such that all elements, attributes, and standard attribute values generated in markup are case sensitive, all attribute values are quoted, and all empty element close tokens have a space-slash prefix.  This ensures that the generated markup will conform to the standards and HTML-compatibility recommendations for the current XHTML/XML DTDs.
  63. September 13, 2003 -- Modified the overlibmws_bubble.js plugin module so that it no longer trashes class-based styling for NS4.
  64. September 14, 2003 -- Tweak of yesterday's mods to yield smoother following of the cursor for NS4 when speech bubbles are in follow mode.
  65. September 19, 2003 -- Tweaks to allow use of quoted strings with dimensions (e.g., '83%' or '16px') as the values for TEXTSIZE, CAPTIONSIZE and/or CLOSESIZE, and not only the use of dimensionless numbers in the range of 1 - 7.  Note that to avoid trashing class-based styling for NS4, when quoted strings instead of dimensionless numbers are used, for NS4 the value is forced to the dimensionless number 2.  It is better to use TEXTFONTCLASS, CAPTIONFONTCLASS and/or CLOSEFONTCLASS for setting font sizes (and any other font properties), because they work equivalently across all of the supported browsers including NS4.
  66. October 12, 2003 -- Added the BabelFish.js script for using AltaVista's Babel Fish page translation service via an overlib popup to the archive.  The demonstration file is:
  67. October 15, 2003 -- Added a function for ensuring that multi-word font names are quoted in the LGF outputs.
  68. October 18, 2003 -- Minor tweaks to reduce file size.
  69. October 19, 2003 -- Created and added the overlibmws_iframe.js plugin module for using an iframe shim to prevent any system objects (e.g., some form elements, flash objects, applets) from obscuring overlib popups for IE v5.5 or higher.  For earlier versions of IE and other browsers, you still must hide the elements or objects with system controls if they overlap overlib popups.  Also modified the overlibmws_shadow.js and overlibmws_draggable.js plugin modules for coordination with overlibmws_iframe.js.
  70. October 20, 2003 -- Tweaks of the overlibmws.js core module and the overlibmws_draggable.js, overlibmws_iframe.js and overlibmws_overtwo.js plugin modules for better coordination and minimum file sizes.
  71. October 21, 2003 -- More tweaks of the overlibmws_iframe.js plugin module for better coordination with the other plugin modules.
  72. October 26, 2003 -- Added title attributes to the area tags in BabelFish.js for ToolTips which indicate the language to which the document will be tranlated if the flag over which the user is hovering in the image map is activated.
  73. October 27, 2003 -- Converted STICKY (ol_sticky) and FULLHTML (ol_fullhtml) to toggles with defaults of 0.
  74. November 1, 2003 -- Mods of overlibmws.js, overlibmws_iframe.js, overlibmws_overtwo.js and overlibmws_shadow.js to support iframe shims for the secondary popups.
  75. November 4, 2003 -- Mods of overlibmws.js and overlibmws_bubble.js to support RELX/Y, MIDX/Y and FIXX/Y for bubble popups.
  76. November 6, 2003 -- Added the calendarmws.js script for selecting dates via overlib popups with calendars to the archive.  The demonstration file is:
  77. November 7, 2003 -- Mods of overlibmws.js to support an EXCLUSIVE command (ol_exclusive) for sticky pupups.  When exclusive, no other popups can be invoked and replace it until the exclusive sticky popup has been actively closed.  Implemented as a toggle (default 0).
  78. November 8, 2003 -- Added the EXCLUSIVE command to the calendar popups generated by calendarmws.js so that they cannot be closed inadvertently but only actively via selection of a date or their Close link.
  79. November 9, 2003 -- Added title attributes to the links in the calendar popups generated by calendarmws.js so that we get tool tip messages and not just status line messages about what the links do.
  80. November 11, 2003 -- Moved the code for FUNCTION to an overlibmws_function.js plugin module.
  81. November 12, 2003 -- Supplemented the EXCLUSIVE command toggle with the EXCLUSIVESTATUS command which accepts a string parameter for display in the status line. and the EXCLUSIVEOVERRIDE command, implemented as a toggle, for overriding the EXCLUSIVE command.  Moved the code to an overlibmws_exclusive.js plugin module.
  82. November 13, 2003 -- Added an overlibmws_hide.js plugin module for hiding form elements and other objects with system controls such as flash and applets.  It's current commands are HIDESELECTBOXES (ol_hideselectboxes), HIDEBYID (ol_hidebyid), HIDEBYIDALL (ol_hidebyidall) and HIDEBYIDNS4 (ol_hidebyidns4).  See the Command Reference for more information about them.
  83. November 14, 2003 -- Tweak of overlibmws_hide.js for better cross frame support.
  84. November 15, 2003 -- Tweak of overlibmws_iframe.js for better cross frame support.
  85. November 18, 2003 -- Moved the frame support to an overlibmws_crossframe.js plugin module.  Added TEXTPADDING and CAPTIONPADDING commands (the Close text inherits the CAPTIONPADDING).  Defaults are still 2.
  86. November 19, 2003 -- Tweak of overlibmws_overtwo.js to support TEXTPADDING and CAPTIONPADDING commands for secondary popups independendly of any such commands for the primary popup.
  87. November 20, 2003 -- Amplified core and plugin module headers with copyright and licensing notices as indicated by Erik Bosrup.
  88. November 22, 2003 -- Added overlibmwslogo.gif to the distribution.
  89. November 24, 2003 -- Added an explicit link to the licensing agreement in the overlibmws.js header.
  90. November 27, 2003 -- Created and added the overlibmws_filter.js plugin module for applying MS transform filters to the popups with IE v5.5 or higher. The feature set is toggled on via the FILTER command (ol_filter), and includes a FADEIN command with parameter values of 0-50 for specifying one of 51 available fadein transform types, or 51 (default) for randomly selecting the type.  The set also has FADETIME, FILTEROPACITY, FILTERSHADOW (parameter value 0, the default, is for off, 1 for the filter-based dropshadow, and 2 for the filter-based tapered shadow), and FILTERSHADOWCOLOR commands.  The opacity sub-feature (for the entire popup) also is implemented for earlier versions of IE on PCs (not MACs) and for Mozilla/Netscape6/7.  Also added an OLgateOK flag for gating access to the overlib(), nd() and cClick() functions until the onload event, should that ever be needed (but hasn't been needed thus far).
  91. November 29, 2003 -- Added a FADEOUT command (ol_fadeout) for the overlibmws_filter.js plugin module.  Also revised the indexing for the fade types so tha 0 specifies off, 1 to 51 specifies one of the 51 types, and 52 specifies selection at random from among the 51 types.  See Section 8 of the Command Reference for more information.
  92. November 30, 2003 -- Simplified the API for Speech Bubble Popups and created full support by IE v5.5+ browsers for the entire FILTER style set (fadein, fadeout, shadows, shadow colors, and opacity) with all of the bubble types.
  93. December 3, 4 and 6, 2003 -- Tweaks of the overlibmws_hide.js plugin module for more reliable handling of the HIDESELECTBOXES command with Netscape v6.x and corresponding Mozilla browsers, and to override the command for Netscape v7.1+ and Mozilla v1.4+ browsers because those no longer use system controls for the slide bars of select boxes.  Note that some (but not all) Netscape v6.x and corresponding Mozilla browsers (primarily those released in the fall and winter of 2001) do not hide their system-control-based slide bars when the select boxes are cast to 'hidden' via DHTML. They similarly do not hide system controls such as flash via DHTML.  Nothing can be done about the consequent obscuring of overlib popups beyond encouraging users of those obsolete, buggy browsers to upgrade to the much improved Netscape v7.1+ releases.
  94. December 13, 2003 -- Tweak of the overlibmws_shadow.js plugin module for more reliable re-initializing of the shadow opacity.
  95. December 26, 2003 -- Tweak of the overlibmws.js core module for better support of the overlibmws_hide.js plugin module when the popups are not sticky.
  96. January 3, 2004 -- Added Dennis Sandow's DONOTHING command in the overlibmws.js core module for use with shell wrapper functions.
  97. January 4, 2004 -- Updated the overlibmws_regCore.js plugin module to recognize the DONOTHING command in frame documents.  Added a workaround in overlibmws_iframe.js for a bug in IE v5.5 and v6.0 on XP when handling iframes in SSL-encoded documents.
  98. January 6, 2004 -- Added OLbubbleImages and OLbubbleImageDir pre-init variables for the overlibmws_bubble.js plugin module.  One or both of these can be defined for a document in a script block placed before the block for importing the plugin module.  See Section 7 of the Command Reference for more information about them.
  99. January 29, 2004 -- Moved the SCROLL (ol_scroll) code out to an overlibmws_scroll.js plugin module and included recurring (timer) refreshes of popup position during the scrolling of the document.
  100. January 30, 2004 -- Changed the FOLLOWMOUSE command to NOFOLLOW (ol_nofollow) with off (0) as its distrubution default.  This makes it consistent with the other toggles for which the command name indicates what will happen if the command is included in the overlib call.
  101. January 31, 2004 -- Miscellaneous tweaks in most of the modules for greater efficiency and smaller sizes.
  102. February 2, 2004 -- Modified the calendarmws.js support script to use DONOTHING in lieu of DRAGGABLE in the overlib() calls if draggability of the calandar popups is not desired and thus overlibmws_draggable.js is not imported.
  103. February 3, 2004 -- Added CAPBELOW as a core command.  Implemented as a toggle with off (0) as the distribution default.  When on, causes the caption to be positioned below rather than above the main text area.  Useful when the main text area is an image.
  104. February 6, 2004 -- Tweak of AUTOSTATUSCAP handling such that it will not override a STATUS command if no CAPTION is specified.
  105. February 7, 2004 -- Tweak of AUTOSTATUSCAP, AUTOSTATUS and STATUS handling such that o3_exclusivestatus, if not set to a null string, immediately overrides all of them when EXCLUSIVE is set.
  106. February 8, 2004 -- Tweak of WRAP handling to work around a bug in the IE back-button behavior for documents with deeply nested tables.
  107. February 9, 2004 -- Added exit.gif to the archive for possible use as the CLOSETEXT, demonstrated in the STICKY examples.
  108. February 10, 2004 -- Modified overlibmws_shadow.js to negate SHADOW for IE v5.5+ browsers if FILTER and FILTERSHADOW are specified.  Thus, inclusion of all three of the commands in the overlib call will yield shadows for all of the supported browsers plus the fadein/fadoout effects for IE v5.5+ browsers.  If FILTERSHADOW is not included, SHADOW still overrides the FILTER-based fadein/fadeout effects and the SHADOW-based dropshadow is used for all of the supported browsers.
  109. February 13, 2004 -- Tweak of escSglQuote() in the core module for fuller equivalence to pre-plugin-capable versions in the handling of parameters in overlib calls despite coding changes associated with the new parser for support of the OLpageDefaults() function.
  110. February 21, 2004 -- Tweaks in core module for greater efficiency in handling of MOUSEOFF.  Now stops probing for a mouse off from the popup immediately upon its being hidden via the "Close" link, as if there were also a mouse off at that moment.
  111. February 24, 2004 -- Created ability to use a minus sign immediately in front of commands that are implemented as toggles to signify an unconditional off (i.e., regardless of whether the default for the command had been made on or off).  This feature normally would be used in an overlib() call to force off for the command in that call, but also can be used in an OLpageDefaults() call to force off as the page default for that command.
  112. March 9, 2004 -- Tweak in core module, for WRAP handling, to avoid flicker in IE and Opera 7 on first invocation of a popup when another script which captures mouse movements has initiated its captures after the overlibmws core module (e.g., as the Milonic menu system can do even if its js files are imported first).
  113. March 15, 2004 -- Tweaks in core module's setting of global variables associated with browser sniffing, and trimming of fractions when setting popup positions.
  114. March 20, 2004 -- Came up with a way to load markup dynamically that serves effectively as positioned div containers for NS4 browsers, just as for the modern browsers, and therefor modifed the overlibmws_debug.js, overlibmws_overtwo.js, and overlibmws_shadow.js plugin modules to use it such that we no longer require that any positioned div containers be declared explicitly in the document for those plugin modules.  The code is intended to be backward compatible with documents which do declare them, but henceforth, with the overlibmws code set as of today, only the overDiv container for the core module need be declared.
  115. March 21, 2004 -- Added a workaround in overlibmws_bubble.js for a buffer boundary glitch in some Netscape v4.x browsers which could trash some overlib calls on a page which imported that module.  Also modified overlibmws_iframe.js for greater efficiency and smaller file size.
  116. March 22, 2004 -- Modified overlibmws_overtwo.js and overlibmws_shadow.js to enable mouse following by secondary popups, and made that the default as for primary popups.  The NOFOLLOW command and commands such as REF, RELX/Y, and MIDX/Y which stop mouse following also can be used in the overlib2() calls for secondary popups. Also added support for STATUS, AUTOSTATUS, AUTOSTATUSCAP, DELAY and TIMEOUT in secondary popups.
  117. March 25, 2004 -- Added WRAPMAX (ol_wrapmax) as a core command which allows setting of maximum widths for primary or secondary popups which have WRAP set.  Also implemented Dennis Sandow's recommendation that if the command parser sees ABOVE, VCENTER, or BELOW in the overlib() or OLpagdDefaults() arg list, VAUTO is set to off so that the intended run-time or default positioning, respectively, is not overridden.  Similarly, HAUTO is set to off by overt inclusion of LEFT, CENTER, or RIGHT in the arg list. [Further modified on April 12,2004 so that VAUTO and HAUTO need not be negated when mouse-based positioning commands are included overtly.]
  118. April 1, 2004 -- Added error handling in mouse capture code of core module.
  119. April 3, 2004 -- Modified the core and plugin modules so that all global variables and associated objects (except over) and all functions (except overlib(), nd(), overlib2(), nd2(), cClick() and no_overlib()) which did not already have OL prefixes now do.  The configuration variables still have ol_ prefixes and their run-time homologs still have o3_ prefixes, with the other variables and functions now all reliably conforming to the OLfooBar naming convention.  This, in turn, should more relably prevent name space collisions with variables and/or functions in other scripts which might also be used in documents with overlibmws DHTML tooltips and sticky popups.
  120. April 4, 2004 -- Miscellaneous tweaks for greater efficiency and smaller file sizes.
  121. April 9, 2004 -- Consolidated code common to overlibmws.js and overlibmws_overtwo.js into an "overlib main function set" for yet greater efficiency and smaller file sizes.
  122. April 10, 2004 -- Miscellaneous tweaks of yesterday's mods (primarily to yield equivalent behavior for WRAP and WRAPMAX across the supported browsers).
  123. April 12, 2004 -- Further modified VAUTO and HAUTO (see March 25, 2004 entry) so that they are not negated by overt inclusion of mouse-based positioning commands (e.g., ABOVE and LEFT) but still respect those commands.  Also, the automatic flips between BELOW vs. ABOVE or RIGHT vs. LEFT positioning no longer are based solely on whether the mouse (cursor) is in the upper vs. lower half or left vs. right half of the screen, but also take into account whether the popup would extend beyond the screen margins.
  124. April 15, 2004 -- Fixed a bug in overlibmws_overtwo.js which could cause SCROLL to be negated inappropriately when secondary popups were invoked.
  125. April 17, 2004 -- Added OL prefix to fnRef in calendarmws.js (had missed it when doing the April 3, 2004 prefixing mods).  Also updated the hrefs in BabelFish.js (were recently changed from Akamai).
  126. April 20, 2004 -- Tweak of core module for better taking into account whether FILTERSHADOW is on and browser is IE v5.5+ when positioning popups.  Also tweaked the overlibmws_regCore.js plugin for full registration of the commands for the FILTER feature.
  127. April 22, 2004 -- Fixed a typo (introduced on April 9, 2004) in the core module which prevented use of a default value for DELAY (ol_delay) at run-time.  Also tweaked overlibmws_overtwo.js so that a TIMEOUT interval does not commence until any DELAY interval has expired and the secondary popup has been desplayed, as is done for primary popups.
  128. April 23, 2004 -- Modified overlibmws_overtwo.js and the core so that secondary popups now also are supported in any primary popups that have NOCLOSE or MOUSEOFF toggled on, and/or a TIMEOUT interval set.
  129. April 28, 2004 -- Fixed a bug in overlibmws_overtwo.js which was causing the pimary popup to use the width of the last-evoked secondary popup, and thus a wrong right popup margin, when checking for a mouseoff from the primary popup with MOUSEOFF or NOCLOSE on.
  130. May 3, 2004 -- Added CSSOFF and CSSCLASS definitions equated to DONOTHING, for the convenience of new users converting from Erik's version (they need not delete those two obsolete commands from their pre-existing HTML files; their CSS class-based commands and existing styling rules all will work as intended; and so they can simply start using the more powerful CSS support in overlibmws).
  131. May 8, 2004 -- Tweaks of main return values in overlibmws_overtwo.js and the core for optimal performance while still ensuring the switch to a "hand" by Opera v7.5b1 and earlier v7.x releases when hovering over a link with a secondary or primary popup.
  132. May 14, 2004 -- Tweaks in overlibmws_scroll.js and the core to deal with some flakiness in eval() handling by Opera v7.50.
  133. May 17, 2004 -- Tweaks of the May 8th mods in overlibmws_overtwo.js and the core to check that the Opera7 event object in not null before checking whether its type is 'mouseover' (it is null for parent.overlib and parent.overlib2 function calls from within an iframe).
  134. June 12, 2004 -- Tweak of Close link handling in core module for better compliance with strict XML standards.
  135. June 21, 2004 -- Tweaks in overlibmws_filter.js and overlibmws_shadow.js for better opacity handling with old IE v5.0 browsers.
  136. June 22, 2004 -- Tweak in the core module for more reliable handling of the cClick function.
  137. June 27, 2004 -- Added an OFFDELAY core command whose parameter specifies the delay in millisecs (default 300) for closing NOCLOSE or MOUSEOFF popups following a mouse off.  If a mouse back over the popup occurs during this delay, the close is cancelled.
  138. July 1, 2004 -- Tweak in the core module for more reliable handling of the nd(time) function with NS4.
  139. July 23, 2004 -- Included a copy of the open source license agreement in the distribution.
  140. July 25, 2004 -- Tweak of the core module to eliminate a redundant declaration of the snapping variable.
  141. July 27, 2004 -- Tweaks of the core and plugin modules to make them more efficient.
  142. July 31, 2004 -- Tweak of the overlibmws_debug.js plugin module to avoid potential problems with the "Undetectable document.all Support" kludge scheduled by the Mozilla Foundation for releases of the Gecko-engine browsers (e.g., expected in the Mozilla v1.8 milestone release).  The current overlibmws core and plugin modules all can handle that kludge, should the Mozilla Foundation really go through with it.
  143. August 9, 2004 -- Tweaks of the overlibmws_filter.js and overlibmws_shadow.js plugin modules for broader cross-browser support of opacity settings.
  144. August 25, 2004 -- Tweak of core module for workaround to the poor implementation of clientHeight/Width in KHTML-engine browsers (Safari and Konqueror).
  145. September 3, 2004 -- Tweaks of core module to ensure that over is non-null if OLcursorOff() is called.  Also tweaked the overlibmws_iframe.js plugin module for proper order of calling OLsetIfShimRef() and inserting the shims.
  146. September 4, 2004 -- Tweak of core module to ensure that over is non-null if OLplaceLayer() is called.
  147. September 5, 2004 -- Tweaks of the overlibmws_filter.js and overlibmws_shadow.js plugin modules for better crossframe support on document changes within a frame.
  148. September 6, 2004 -- More tweaks of the overlibmws_shadow.js plugin module for better crossframe support on document changes within a frame.
  149. September 7, 2004 -- Tweak of the overlibmws_iframe.js plugin module so that the shim also encompasses the shadow when the FILTERSHADOW command is used with the FILTER command.  Also tweaked the core module and overlibmws_hide.js plugin module for better crossframe support on document changes within a frame.
  150. September 8, 2004 -- More tweaks of the core module and the overlibmws_crossframe.js, overlibmws_filter.js, overlibmws_hide.js and overlibmws_iframe.js plugin modules for better crossframe support.
  151. September 9, 2004 -- More tweaks of the core module and the overlibmws_crossframe.js, overlibmws_overtwo.js, and overlibmws_shadow.js plugin modules for better crossframe support.
  152. September 10, 2004 -- Miscellaneous tweaks of this week's mods for greater efficiency and smaller file sizes.
  153. September 11, 2004 -- Tweaks of the overlibmws_crossframe.js, overlibmws_hide.js and overlibmws_overtwo.js plugin modules for broader support of old versions of the Gecko-engine browsers and IE.
  154. September 12, 2004 -- Tweaks of the core module and the overlibmws_exclusive.js and overlibmws_scroll.js plugin modules for better crossframe support.
  155. September 13, 2004 -- Tweak of the overlibmws_scroll.js plugin module for better crossframe support.  Eliminated use of blank.html for SSL in overlibmws_iframe.js.
  156. September 14, 2004 -- Modified the core module and the overlibmws_scroll.js plugin module so that DRAGGABLE does not override SCROLL if those features are specified for different frames.
  157. September 15, 2004 -- Tweaks of the core and overlibmws_crossframe.js plugin modules for more efficiency and smaller file sizes.
  158. September 20, 2004 -- More tweaks of the core module for higher efficiency and smaller file size.
  159. September 22, 2004 -- Added workaround in core module for bad values of clientHeight reported by Gecko-engine browsers when scrolling="no" for frames in framesets.
  160. September 25, 2004 -- Additional workaround in core module for handling of clientWidth and clientHeight by Gecko-engine browsers across their Quirks, Almost Standards and Full Standards modes for windows or frames.
  161. September 27, 2004 -- Modified the core module and the overlibmws_scroll.js and overlibmws_debug.js plugin modules so that for the crossframe support the various frames need not have the same standards or quirks mode as that of the frame which imported the overlibmws scripts.
  162. September 30, 2004 -- Tweaks of the core module for smaller file size.
  163. October 3, 2004 -- Added workarounds in the core module and the overlibmws_debug.js plugin module for the clipping on horizontal scrolling by Gecko-engine and Opera browsers of any background color or image applied directly to positioned divs.
  164. October 6, 2004 -- Modified the core module and the overlibmws_draggable.js, overlibmws_exlusive.js, overlibmws_overtwo.js and overlibmws_scroll.js plugin modules so that any runtime variables which had "o3_" prefixes but were not for configuration variables with "ol_" prefixes now have "OL" prefixes instead.  Also modified the core module for more efficient handling of nd(time) when the time is set to 1 msec for avoiding flicker when mousing across adjacent fields that evoke popups.
  165. October 8, 2004 -- Tweak of the overlibmws_overtwo.js plugin module for better crossframe support.
  166. October 9, 2004 -- Modified the overlibmws_hide.js and overlibmws_overtwo.js plugin modules so that when HIDESELECTBOXES is set, a secondary popup which does not overlap any select boxes that are hidden because the primary popup overlaps them no longer causes them to become visible inappropriately.
  167. October 17, 2004 -- Modified the core and overlibmws_draggable.js modules for greater efficiency when dragging.
  168. October 18, 2004 -- Modified the core module so that it creates the overDiv positioned div (layer) dynamically if it was not declared in the self or cross frame document in which the popup is to be evoked.  Also modified the overlibmws_debug.js, overlibmws_overtwo.js and overlibmws_shadow.js plugin modules to use a common function in the core module for creating their positioned divs dynamically instead of reiterating the code in each module.
  169. October 19, 2004 -- Tweaked the core module and the overlibmws_crossframe.js, overlibmws_exclusive.js, overlibmws_hide.js, overlibmws_iframe.js, overlibmws_overtwo.js, overlibmws_scroll.js and overlibmws_shadow.js plugin modules for greater efficiency and smaller file sizes.
  170. October 20, 2004 -- Tweaked the core module and the overlibmws_debug.js, overlibmws_draggable.js and overlibmws_filter.js plugin modules for greater efficiency and smaller file sizes.
  171. October 21, 2004 -- More tweaks of the core module and the overlibmws_crossframe.js, overlibmws_debug.js, overlibmws_overtwo.js and overlibmws_shadow.js plugin modules for greater efficiency.
  172. October 24, 2004 -- Added iframecontentmws.js with OLiframeContent(src, width, height) and objectcontentmws.js with OLobjectContent(data, width, height) to the distribution.  See Demonstration 1 and Demonstration 2.
  173. October 30, 2004 -- Tweaks of the core module and all of the plugin modules for greater efficiency and smaller file sizes.
  174. October 31, 2004 -- More tweaks of the core module for greater efficiency and smaller file size.
  175. November 2, 2004 -- Modified the code for default configurations and command parsing in the core module and all of the plugin modules for greater efficiency and smaller file sizes.
  176. November 9, 2004 -- Added an OLgetRef() wrapper function in the core module, for accessing element objects when the REFerence can be either an id or name depending on the browser.  It is used internally, and is available to HTML/XML documents for keyboard-invoked popups.
  177. November 10, 2004 -- Added a LABEL command in the core module, whose parameter can be set to a unique string (e.g., the id of the element which invokes the popup), or to a label for a set of popups.  The label is asserted when the popup is invoked, and persists until the popup is closed (hidden).  The runtime variable for LABEL (o3_label) thus can be checked via javascript in HTML/XML documents to determine if a particular popup, or a member of a set, is being displayed.  An example of its use is in the support document for keyboard-invoked popups.
  178. November 20, 2004 -- Modified the Layer Generation Functions (LGFs) in the core module for more efficient handling of CSS and a smaller file size.
  179. November 22, 2004 -- Tweak of the LGF mods (see November 20, 2004) for more reliable parsing by the javascript interpreters of the older browsers.  Also, added name as a fourth argument in the OLiframeContent() function of iframecontentmws.js and the OLobjectContent() function of objectcontentmws.js.  It should be entered as a quoted string suitable for use as a unique name and id for the iframe or object.  It was made optional for backward compatibility with existing documents which use only three arguments, but should be included consistently henceforth.
  180. November 28, 2004 -- Added a workaround in the core module for Bugzilla Bug 58539.
  181. November 30, 2004 -- Tweaks of the core module and the overlibmws_hide.js plugin module for greater efficiency and smaller file sizes.
  182. December 5, 2004 -- Tweaked the core module so that it can handle chaining of a mousemove tracking function in another (e.g., menu system) script when the function was not assigned a name.
  183. December 21, 2004 -- Fixed lethal typos in the overlibmws_draggable.js plugin module.
  184. December 27, 2004 -- Added a workaround in the core module for IE's tendency to under-represent the width of the caption data cell such that CSS class-based centering of the caption content was ending up a bit to the left of center.
  185. January 12, 2005 -- Modified the core module and the overlibmws_draggable.js plugin module so as to circumvent IE's tendency to suffer stack overruns when dragging popups that have transparent image or iframe content.
  186. February 6, 2005 -- Tweak of the core module for better handling across browsers of any onmousemove attribute assignment in the body start tag.
  187. February 10, 2005 -- Tweaks of event handling in the core module for greater efficiency and smaller file size.
  188. April 24, 2005 -- Created and added the overlibmws_print.js plugin module for printing the DHTML-based popups via a temporary window-based popup.  See Section 9 of the Command Reference for more information and links to the support documents.
    -- Also added support in the core module for handling a URL-encoded (hex-escaped) lead argument for the main text area and/or parameter for the caption area.  See Lead Argument, CAPTION and DECODE (a new core command) in Section 2 of the Command Reference for more information.
    -- Also removed the former absolute requirement for onmouseout nd2() calls if any elements in a sticky primary popup have onmouseover overlib2() calls for secondary popups.  If the nd2() calls are omitted, the current secondary popup can be accessed for any links within it, and will be closed by an overlib2() call for another secondary popup or on closing of the primary popup. [Added support for truly sticky secondary popups on May 6, 2005.]
    -- Also added support in calendarmws.js for onchange-like event handling of date changes in input fields via the calendar popups.
  189. April 26, 2005 -- Tweak of parsing in the core module to work around a bug in Opera v8.0.
  190. May 3, 2005 -- Fixed a typo in the overlibmws_overtwo.js plugin that could cause problems when printing primary popups which offer secondaries.
  191. May 6, 2005 -- Added STICKY support for secondary popups.  See the information about secondary popups in Section 1 of the Command Reference and the support documents to which it links.
  192. May 9, 2005 -- Added BUBBLE support for secondary popups.
    -- Also added an OLshowingsticky2 global variable in the overlibmws_overtwo.js plugin module for checking whether any sticky secondary popup is being displayed, homologous to the OLshowingsticky global in the core module for primary popups.  These variables are accessible to wrapper scripts and are complementary to the o3_label and o3_label2 run-time variables of the LABLE and LABEL2 commands for checking whether particular sticky primary or secondary popups, respectively, are being displayed.
    -- Also stopped pairs of nd() calls from closing sticky primary popups, because this undocumented feature could cause inappropriate closing of popups invoked via the onclick attribute.  Pairs of nd2() calls similarly do not close sticky secondary popups.  As discussed in Section 1 of the Command Reference, always use the cClick() or cClick2() function, respectively, for immediate closing of sticky primary or secondary popops in wrapper scripts or FULLHTML markup, or nd(time) for closing primary popups after a delay of time msec.
    -- Also, added frameborder as an optional fifth argument in the OLiframeContent() function of iframecontentmws.js.  It can be 1 or 0.  If omitted, you get the current default of 1, but an explicit value should be used henceforth.  If set to 0, the browser will not use its own frameborder around the iframe content of the popup.
  193. May 15, 2005 -- Added SHADOW and FILTER support for secondary popups.
  194. May 18, 2005 -- Added FRAME and SCROLL support for secondary popups.
    -- Also, added protections against any inappropriate inclusion of EXCLUSIVE or LABEL commands in overlib2() calls.
  195. May 19, 2005 -- Tweaks of overlibmws_filter.js and overlibmws_overtwo.js for better support of crossframe sticky secondary popups.
  196. May 31, 2005 -- Tweaks of the core module to always include the javascript access type in the Close link of stickies for calling cClick() or cClick2(), and to use unescape() for the DECODE command if the charset can be determined and is not utf-8.
  197. June 1, 2005 -- Tweak of the core module so that yesterday's DECODE enhancement works as intended across the supported browsers.
  198. June 8, 2005 -- More tweaks of the DECODE enhancement in the core module and of the overlibmws_bubble.js, overlibmws_debug.js, overlibmws_exclusive.js, overlibmws_hide.js, overlibmws_filter.js, overlibmws_overtwo.js and overlibmws_shadow.js plugin modules for greater efficiency and smaller file sizes.
  199. June 9, 2005 -- Updated the overlibConfig.txt file.
  200. July 9, 2005 -- Worked code from Bodo Hantschmann for multi-language support into the calendar popup script and added this version to the distribution as calendarmws_lang.js.  Also added support for European-format dates (DD.MM.YYYY) via the p_format argument for the show_calendar() and show_yearly_calendar() functions in both the multi-language version and the English-only version (calendarmws.js).
  201. March 2, 2006 -- Modified overlibmws_draggable.js to allow selection of DRAGGABLE popup text in Opera via Alt+Click as for other browsers, or via Ctrl+Click as required for Opera versions less than v8.01.
  202. May 30, 2006 -- Modified overlibmws.js so that the Layer Generation Functions use internal CSS instead of encasement by a strong element to make the caption bold when no class-based CSS is specified by the author.  Also modified the object-finding code so that embedded iframes can be found based on their names, without need to reiterate the names as id's.
  203. June 22, 2006 -- Added ajaxcontentmws.js with OLgetAJAX(url, command, delay, css) for using the XMLHttpRequest object and AJAX with overlib and overlib2 popups, to the distribution.  See the Support Document.
  204. June 24, 2006 -- Updated iframecontentmws.js to include OLswapIframeSrc(name, src) for swapping documents in popups with iframe content, and OLiframeBack() for emulating the Back button in swapped documents.  See the 3rd Example in the AJAX / XMLHttpRequest Support Document.
    Also added a DRAGID command in overlibmws_draggable.js (and correspondingly updated overlibmws_regCore.js).  Its parameter is a quoted string for the id of a div with a class-based CSS specification of overflow:auto; for invoking scrollbars when needed for large content in popups.  It is used with mods to avoid the problem of the cursor locking on the scrollbars when the popup has non-iframe content and is DRAGGABLE.
  205. June 26, 2006 -- Updated ajaxcontentmws.js to include OLpostAJAX(url, qry, command, delay, css) for using POST with the XMLHttpRequest object.  See the lower part of the 1st Example in the AJAX / XMLHttpRequest Support Document.
  206. June 27, 2006 -- Tweaks of LGF calls in overlibmws.js and overlibmws_print.js for better handling of the Print link in CAPTIONs.
  207. June 29, 2006 -- Added a DRAGCAP command in overlibmws_draggable.js for restricting the dragging handle to the CAPTION area (command ignored if none is present).  Numerous other modules modified as part of this enhancement.  The DRAGCAP command can be used with both primary and secondary popups.  See the Example.
  208. June 30, 2006 -- Tweaks in the overlibmws.js core module for better handling in Opera of the WRAP and WRAPMAX commands.
  209. July 2, 2006 -- Tweak in overlibmws_filter.js for more reliable handling of the FILTERSHADOW and FILTEROPACITY commands when FADEIN and FADEOUT are set to 0 so that only the FILTERSHADOW and/or FILTEROPACITY setting should be applied.  Also updated the copyright notice in a number of modules which needed it.
  210. November 11, 2006 -- Modified iframecontentmws.js such that OLiframeContent() can accept an optional scrolling argument which defaults to 'auto' if omitted, but now can instead be made 'no' or 'yes'.
  211. November 15, 2006 -- Added the MODAL command for a primary or secondary popup which causes the popup to emulate a modal window (i.e., the user cannot access any other items in the current document until the MODAL popup has been acted upon and closed).  Can be used with popups set up as Confirm Dialog boxes.  Is implemented via the overlibmws_modal.js plugin module, which has beed added to the distribution.
  212. November 16, 2006 -- Miscellaneous tweaks for IE7.
  213. November 19, 2006 -- More tweaks for IE7, and for more efficient WRAP handling in Opera.
  214. November 21, 2006 -- Added an inactive option for calendarmws.js such that dates preceding today's date are inactive (cannot be selected).
  215. November 22, 2006 -- Added mulit-language inactive options for calendarmws_lang.js complementary to yesterday's changes in calendarmws.js.
  216. November 23, 2006 -- Tweaks in calendarmws.js and calendarmws_lang.js to ensure that the Geckos (Firefox) and Opera get the full (4 digit) year with the mods on November 21 and 22, 2006.
  217. December 1, 2006 -- Tweaks in overlibmws_modal.js to suppress the keyboard scrolling and paging keys in non-IE browsers when the scrollbars are removed via the MODAL command (IE automatically suppresses them).
  218. December 2, 2006 -- Tweaks in overlibmws_hide.js, overlibmws_modal.js and overlibmws_overtwo.js for more efficient handling of the MODAL command with primary or secondary popups, and for smaller file sizes.
  219. December 3, 2006 -- Mods in overlibmws_modal.js to support the MODAL command in frame and iframe documents.
  220. December 5, 2006 -- Further tweak of a November 16, 2006 tweak in overlibmws_iframe.js so that the iframe shim is still used for IE7 as needed for system objects such as applets and any flash objects which do not have wmode set to transparent.
  221. December 7, 2006 -- More tweaks (see June 30 and November 19, 2006) for better handling of WRAP in IE7 and Opera9.
  222. December 8, 2006 -- Tweak in overlibmws_shadow.js for more reliable handling of the filters object in IE v5.5+ browsers.
  223. December 19, 2006 -- Added an emulation of MS Transform Filter type 25 for FADEIN and FADEOUT in non-IE v5.5+ browsers.
  224. December 24, 2006 -- Tweaks of the December 19, 2006 mods to make FADEIN and FADEOUT apply to any shadows of primary and/or secondary popups for non-IE v5.5+ browsers.
  225. December 25, 2006 -- Fixed a bug in yesterday's mods that could prevent shadows from being removed when a popup is closed.  Also, blocked the FADEOUT command in frame documents for the non-IE v5.5+ browsers (FADEIN is still supported across frames for all of the browsers).  Use the across-frames suite for testing the various browsers.
  226. December 27, 2006 -- Tweaks for better handing of link underlining by the Gecko-engine browsers (e.g., Firefox).
  227. January 1, 2007 -- Updated copyright notices.
  228. January 20, 2007 -- Tweak of browser sniffing in the core module.
  229. February 19, 2007 -- Worked in Jeroen Versteeg's patch for making backslash escaping of backslashes work properly in string parameters for overlib commands, and equivalently to how it works in the lead argument of an overlib call.
  230. February 28, 2007 -- Added a graceful failure in ajaxcontentmws.js, with an alert that explains the failure, if the 2nd argument of an OLgetAJAX or OLpostAJAX call is not a function reference (i.e., just the name of the function without parentheses) nor an inline function (i.e., defined within the 2nd argument as function(){. . .} ).  See the AJAX support document.
  231. March 2, 2007 -- Further modified ajaxcontentmws.js so that the 2nd argument for OLgetAJAX or OLpostAJAX calls now can be a quoted string which indicates a function, i.e., the function name, plus the parentheses with any arguments, included within the quotes, instead of having to be an unquoted function reference or inline function.
  232. March 9, 2007 -- Tweaks of overlibmws_modal.js and overlibmws_hide.js to handle any select boxes within popup content properly across all versions of the supported browsers.
  233. March 10, 2007 -- Tweaks of yesterday's mods to work properly for DRAGGABLE popups.
  234. March 30, 2007 -- Tweaks in overlibmws.js for proper internal REF positioning of secondary popups in scrollbar and AJAX primary popups.
  235. April 16, 2007 -- Added loading.gif to the distribution.  See an example of its use, and the discussion in the support group.
  236. April 22, 2007 -- Worked in use of an iframe shim to handle objects with system controls, such as applets, for IE v5.5+ in overlibmws_modal.js, and added 'px' for some style values in overlibmws_iframe.js.  Use of HIDEBYIDALL still is needed during MODAL blocks of documents with such objects for earlier versions of IE and other browsers (see MODAL in the Command Reference).
  237. May 1, 2007 -- Fixed a bug in the handling of scrolling secondary popups when the primary popup is not also scrolling.
  238. July 5, 2007 -- Tweaks of overlibmws_modal.js and overlibmws_overtwo.js to properly interpose the MODAL block across any sequence of secondary versus primary MODAL popup invocations.
  239. July 7, 2007 -- Further tweaks of overlibmws_modal.js and overlibmws_overtwo.js to ensure that any shadow associated with a MODAL primary or secondary popup stays above the MODAL block and thus does not inherit any additional opacity.  For a MODAL secondary popup, both the primary popup and its shadow, if any, stay below the MODAL block and do inherit its opacity while the block is on.  See MODAL in the Command Reference for more information.
  240. July 18, 2007 -- Tweak in overlibmws.js to prevent any carryovers of setTimeout settings across document loads for W3C-DOM browsers.
  241. August 21, 2007 -- Tweak in overlibmws.js to fix a bug in the handling of a CAPICON command when a WRAP command is included in the overlib call.
  242. September 14, 2007 -- Added MODALCOLOR and MODALOPACITY commands via the overlibmws_modal.js plugin module.  See the MODAL section of the Command Reference for more information.
  243. September 22, 2007 -- Tweak of select box handling in documents with MODAL popups.
  244. October 2, 2007 -- Tweak of capability-testing / browser-sniffing to deal with some java applications which return a null navigator.userAgent value.
  245. October 8, 2007 -- Tweak of capability-testing / browser-sniffing for Opera when its "Browser identification" has been set to "Identify as Firefox" in Version 9+.
  246. November 22, 2007 -- Added OLoverHTML and OLover2HTML global variables which are equated to the most recent HTML fragments loaded into the overDiv and overDiv2 positioned divs for primary and secondary popups, respectively.  They correspond to the inputs for generating over.innerHTML and over2.innerHTML, respectively, and are available for debugging, e.g., via alert calls following an overlib or overlib2 function call.
  247. November 25, 2007 -- Added a MODALSCROLL command for the overlibmws_modal.js plugin module to allow the document to retain its vertical and/or horizontal scroll bars when an otherwise MODAL popup is invoked.  See the MODAL section of the Command Reference for more information.
  248. December 6, 2007 -- Added an RCBUBBLECOLOR command plus OLbubbleIMGsuffix and OLbubbleRCsuffix pre-init variables for the overlibmws_bubble.js plugin module.  See the BUBBLE supplement and the BUBBLE section of the Command Reference for more information.
  249. December 7, 2007 -- Added a BUBBLECLOSE command as a toggle which when on blocks the normally automatic setting of NOCLOSE for bubble popups that are sticky.
  250. December 10, 2007 -- Tweaks of the overlibmws_bubble.js plugin module for more efficient sizing of the bubble content and images.
  251. December 11, 2007 -- Added pre-init variables OLbubbleImageSet, OLimgWidth, OLimgHeight, OLcontentWidth, OLcontentHeight, OLpadLeft, OLpadTop, OLarwTipX and OLarwTipY and associated code for the overlibmws_bubble.js plugin module.  See the multicolor Speech Bubbles support document and the BUBBLE section of the Command Reference for more information.
  252. December 13, 2007 -- Minor tweak of the overlibmws_bubble.js plugin module to ensure that only integer values are passed to the layer generation functions after ADJBUBBLE computations.
  253. December 16, 2007 -- Minor tweak of the overlibmws_bubble.js plugin module for optimum positioning of content in non-roundcorners BUBBLETYPES.
  254. January 16, 2008 -- Added ability to use FRAME,parent in popups with iframe content and in embedded iframes to avoid restrictions of the popups to within the iframe boundaries when using cursor-based positioning.  See the iframe support document, and FRAME in the Command Reference, for more information.
  255. January 26, 2008 -- Added the exit_blue.gif, raised_blue.gif, inputText.gif, metallic_blue.gif, and raised_metallic.gif Core Module Support Images (see the raised backround examples).  Also added the htmlspecialcharsmws.js Support Script, and updated the copyright notices.
  256. February 10, 2008 -- Added an exclusion of Safari from the HIDESELECTBOXES command (because like IE7, Opera, and 20030624+ Geckos including Firefox, it no longer needs it).  Also added a workaround for Safari such that MODALSCROLL is forced for MODAL popups, because Safari presently has a bug which otherwise prevents the window's scrollbars from returning after the MODAL block is lifted.
  257. March 3, 2008 -- Tweaked the OLgetRefById function for better error handling if the id is not unique in the document, based on feedback from Adam Maschek.
  258. March 17, 2008 -- Added a workaround in the overlibmws.js core module to avoid getting an access error in IE if a popup is invoked before the entire document has been loaded.
  259. March 19, 2008 -- Added a workaround in the overlibmws.js core module to help deal with CSS float issues stemming from IE's proprietary hasLayout property.
  260. March 21, 2008 -- Added a workaround in the ajaxcontentmws.js support script to avoid issuing an irrelevant error message by Firefox 3.0b+ browsers when an AJAX request is intentionally aborted.
  261. March 22, 2008 -- Tweak of yesterday's workaround in the ajaxcontentmws.js support script to ensure that file and ftp URLs can be used in the OLgetAJAX calls under the circumstances when they are allowed by browsers such as Firefox, Opera and Safari (IE never allows them).  Also tweaked the browser sniffing to work properly for Opera 9.5b+.
  262. March 24, 2008 -- Another tweak in the ajaxcontentmws.js support script to deal with changes in Firefox 3.0b+.  Force an alert and a clean AJAX abort if a document fetched via http or https tries to access a local file.
  263. March 28, 2008 -- Corrected a CAPTION string in the htmlspecialcharsmws.js support script.
  264. April 7, 2008 -- Modified the March 19, 2008 workaround so as to use overflow:auto instead of width:100% to force IE's proprietary hasLayout property, and thus also handle layout problems for IE7 when using an XHTML DTD, based on feedback from Ted Assur.
  265. April 9, 2008 -- Tweak of HEIGHT command handling to conform with the HTML 4.0+ and XHTML DTDs.
  266. June 2, 2008 -- Tweak of the April 7, 2008 IE workaround so that it doesn't bring out an overflow bug in Fx2 (though that bug is fixed in Fx3.0).
  267. June 11, 2008 -- Enhanced the calendarmws.js and calendarmws_lang.js support scripts so that the calendars can be presented in a secondary popup if a STICKY primary popup is open.  The primary popup also should be EXCLUSIVE.  Use ggUseOverlib2=1; before the show_calendar(); or show_yearly_calendar(); call.  Also fixed an esoteric bug in the overlibmws_exclusive.js plugin module which became apparent with these enhancements.
  268. June 12, 2008 -- Added a workaround in overlibmws.js and overlibmws_overtwo.js for an IE bug which could cause onchange handling to fail if used via the calendarmws.js or calendarmws_lang.js support scripts.
  269. June 21, 2008 -- Modifications in overlibmws.js, overlibmws_filter.js, overlibmws_modal.js, overlibmws_scroll.js and overlibmws_shadow.js to make the MIDX, MIDY, RELX, RELY, FADEIN, FADEOUT, MODAL, MODALOPACITY, MODALSCROLL, and SHADOWOPACITY commands work properly with the new javascript engine in Opera 9.5.
  270. June 22, 2008 -- Modified overlibmws_debug.js to work properly with the new javascript engine in Opera 9.5.
  271. June 23, 2008 -- Another mod in overlibmws.js to make REF-based positioning work properly with the new javascript engine in Opera 9.5.
  272. October 15, 2008 -- Tweaks in overlibmws_filter.js and overlibmws_print.js to deal with IE7 no longer treating return false; in onclick attribute values as an instruction to not act on the href attribute.
  273. October 22, 2008 -- Tweak in overlibmws_crossframe.js to generate the correct Close links for STICKY popups invoked with FRAME,parent via an iframe document when its parent also has a parent.
  274. October 25, 2008 -- Tweaks in overlibmws.js, overlibmws_filter.js and overlibmws_crossframe.js to support FADEOUT in embedded iframe documents for all browsers, and for IE in popups with iframe content.
  275. February 9, 2009 -- Updated copyright notices.
  276. July 2, 2009 -- Added an OLie8 global sniffing variable in overlibmws.js.  Also, tweaks in overlibmws_bubble.js to deal with changes in CSS handling by IE8.
  277. October 1, 2009 -- Added workaround in overlibmws.js and overlibmws_regCore.js for Firefox Bug #519737.
  278. October 5, 2009 -- Mods in overlibmws.js and overlibmws_overtwo.js to support NOCLOSE and MOUSEOFF commands with the FRAME command, and when the mouse is moved off of a NOCLOSE or MOUSEOFF popup into an embedded iframe or adjacent frame rather than back into the document or frame which evoked the popup.
  279. January 5, 2010 -- Mods in overlibmws.js and overlibmws_overtwo.js such that if both a primary and secondary popup were invoked with NOCLOSE or MOUSEOFF commands, then both popups are closed if the mouse is moved off of the secondary popup but not back onto the primary popup.  Also updated the copyright notices in the core and plugin modules.
  280. January 19, 2010 -- Tweak in overlibmws_overtwo.js for more reliable handling of the DELAY command by secondary popups in primary popups with iframe content.
  281. January 20, 2010 -- Another tweak in overlibmws_overtwo.js to prevent inappropriate closing of a NOCLOSE or MOUSEOFF primary popup on closing of its secondary popup when both were invoked via embedded iframe content.
  282. January 24, 2010 -- Mods in overlibmws_overtwo.js to avoid a race condition by blocking the DELAY command for secondary popups in embedded iframe content.
  283. March 2, 2010 -- Added try/catch code in overlibmws.js suggested by Ronald Sacher to avoid cross-domain interference for within-domain popups in embedded iframes.
  284. March 7, 2010 -- Added try/catch code in overlibmws_overtwo.js to avoid cross-domain interference for within-domain secondary popups in embedded iframes.
  285. August 11, 2010 -- Mods in overlibmws_modal.js to support a MODALCLICK command which allows a click on the modal shield to close a MODAL primary or secondary popup, equivalently to (or in lieu of) a Close link within the popup.  See the MODAL section of the Command Reference for more information.
  286. September 22, 2010 -- Added missing MODALCLICK definition in overlibmws_regCore.js.

This document uses overlibmws and its commands.

Copyright Foteos Macrides
  All rights reserved.
Click to Donate