-------------------------------------------------------------------------------
dojox.image - Image Related Widgets and Components
-------------------------------------------------------------------------------
Version 1.0
Release date: 10/31/07
-------------------------------------------------------------------------------
Project state:

[Badge] experimental
[FlickrBadge] experimental
[Gallery] experimental
[Lightbox] beta
[Magnifier] experimental
[MagnifierLite] experimental
[SlideShow] experimental
[ThumbnailPicker] experimental

-------------------------------------------------------------------------------
Credits

[Badge] Peter Higgins (dante)
[FlickrBadge] Bryan Forbes (BryanForbes)
[Gallery] Shane O'Sullivan (sos)
[Lightbox] Peter Higgins (dante)
[Magnifier] Peter Higgins (dante)
[MagnifierLite] Peter Higgins (dante)
[SlideShow] Shane O'Sullivan (sos)
[ThumbnailPicker] Shane O'Sullivan (sos)

-------------------------------------------------------------------------------
Project description 

	A class to provide a common API for images, and home for image
	related Widgets.
 
-------------------------------------------------------------------------------
Dependencies:

	LightBox: dojo core, dojox.fx and optionally dojox.data. uses
	either tundra or soria theme, no standalone icons.

	SlideShow: dojo core, dojo.fx, and dojo.data (optional 
	dojox.data store implementations apply)

	ThumbNailPicker: dojo core, dojo.fx and dojo.data. Combined
	with a SlideShow, creates a sample Gallery app.

	Gallery: core, dojox.image.SlideShow, dojox.image.ThumbNailPicker

	Magnifier: (prototype) dojo core, dijit._Widget, dojox.gfx
	
	Badge: (prototype) dojo core, dijit._Widget + _Templated 

-------------------------------------------------------------------------------
Documentation

-------------------------------------------------------------------------------
Installation instructions

Grab the following from the Dojo SVN Repository:
http://svn.dojotoolkit.org/dojo/dojox/trunk/image/*

Install into the following directory structure:
/dojox/image/

...which should be at the same level as your Dojo checkout.
-------------------------------------------------------------------------------
Additional Notes

	LightBox: currently works as individual items, and grouped items,
	but usage of dojo.data is broken (atm). the API is subject to 
 	change, and is marked accordingly.

	Hoping to implement: Carossel, and Reflect using
	a common API provided by dojox.image.Pane (?) 

	SlideShow: Shows an image, one by one, from a datastore. Acts
	as standing ImagePane implementation, 

	Gallery: A combination Thumbnail view and SlideShow, using
	a datastore, and providing navigation, and common API. 

	Magnifier: Unobtrusive way to attach a hovering window window
	when moving the mouse over an image. The window shows a a zoomed
	version of the original source. (prototype)

	Badge: (prototype) A Javascript version of a FlickrBadge thingr, 
	which loops through and sizes children in a loop.
