The ZNavigator product was designed to simplify the construction 
of navigation bars. It was written to make navbar management
easy for inexperienced contents managers, and provide some nifty features.
Many of the features and their usage are demonstrated in the navigator_demo 
package, in the demo/ directory (see the INSTALL document for information 
on how to intall the demos). The ZNavigator and NavItem also have online help
tabs.

A ZNavigator is a container of other ZNavigators and navigation items.
NavItems are objects containing an URL to an object, a title to be rendered,
expiration data and more. This way it is easy to construct fairly complex
navbars, supporting multiple languages and such.

When a ZNavigator is called from DTML it returns a navigator object (for use
with the 'with' tag). If the navigator is called with an argument, it returns
the section object with the corresponding name. This can be used to construct
multi-lingual navbars (e.g. <dtml-with "navbar('english')">...</dtml-with>").
For an example, have a look at the demos.

The ZNavigator and NavSection objects have a method 'navItems()' which works
like objectValues(), but performs validification as well (expired, new, 
and more). 

Navigators provide the following methods that can be called from DTML:

o navItems()  Returns a list of vaild NavItems.
o itemURL()   Returns an fully qualified URL for the Navigator.
o itemIcon()  Returns the fully qualified path to an icon.
o __call__()  When a ZNavigator is called from dtml it either returns an
              reference to itself, or if called with an argument 
	      (which must be a ZNavigator contained in the ZNavigator), it
	      returns the reference to that ZNavigator.

NavItems provide the following methods:

o itemURL()    Returns the fully qualified path (or URL) to an object.
o itemIcon()   Returns the fully qualified path to an icon.
o isActive()   Returns 1 if the link is active.
o inPath()     Returns 1 if the path is in the REQUEST.
o isNew()      Returns 1 if the link is to be tagged as 'new'.

The best documentation for this product is still the source...

Have fun,
          .jonas.
	  
--
***************************************************************************
 Jonas Juselius                       e-mail...: jonas@iki.fi
                                      voice....: +358 9 191 40188 
 P.O. Box 55/ Department of Chemistry GSM......: 040 506 6599 
 FIN-00014 University of Helsinki     fax......: +358 9 191 40169 
 FINLAND                              http://www.iki.fi/jonas   
***************************************************************************
