-------------------------------------------------------------------------------
dojox.fx
-------------------------------------------------------------------------------
Version 1.0.0
Release date: 10/31/2007
-------------------------------------------------------------------------------
Project state:
experimental 
-------------------------------------------------------------------------------
Credits
	Peter Higgins (dante)
	Jonathan Bond-Caron (jbondc@gmail.com)
	Shane O'Sullivan (shaneosullivan1@gmail.com)
	Bryan Forbes (bforbes)
	Nicola Rizzo (nic)

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

	dojox.fx provides a class of animation effects to use, and
	other animation and Effects additions to dojo base.

-------------------------------------------------------------------------------
Dependencies:

	dojox.fx requires dojo (core) and the dojo.fx package
	dojox.fx.easing is deprecated, and exists in dojo.fx.easing. 
	dojox.fx.flip requires dojo.fx
	dojox.fx.scroll requires dojox.fx._core and dojo.fx

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

	existing API surface: 

	dojox.fx._base:
	- dojox.fx.crossFade - crossfade two nodes easily
	- dojox.fx.sizeTo - size a node about it's center to a new width/height
	- dojox.fx.slideBy - slide a node by a t,l offset
	- dojox.fx.highlight - animates the background color of a node, and returns
		it to the color it was. 

	(all use standard Animation properties, like duration, easing, node, etc)

	dojox.fx._core:
	- dojox.fx._Line - a multi-dimensional _Line implementation, backwards compatible with
		dojo._Line ... you might could safely do something akin to
		dojo._Line = dojox.fx._Line;
		and enable this for all dojo Animations?

	dojox.fx.style: - experimental CSS animation via class definitions
	- dojox.fx.addClass - animate the effects of applying a class to a node
	- dojox.fx.removeClass - "   "    "    "   removing a class from a node
	- dojox.fx.toggleClass - wrapper for addClass/removeClass

	dojox.fx.ext-dojo.NodeList - extensions to dojo.NodeList-fx wrapping the
		relevant dojox.fx animations into dojo.NodeList 

	dojox.fx.Shadow - Class to add drop shadows to a node

	dojox.fx.flip - a Module providing pseudo-3d flip animations for nodes.
		Currently experimental. 

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

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

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

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