     //--------------------------------------------------------------------------
 
     /**
+     * This variable indicates whether the animation is currently
+     * running or not. The value is <code>false</code> unless the animation
+     * has been played and not yet stopped (either programmatically or
+     * automatically) or paused.
+     */
+    public function get isPlaying():Boolean
+    {
+        return _isPlaying;
+    }
+    
+    /**
      * The value that the animation will produce at the beginning of the
      * animation. Values during the animation are calculated using the
      * <code>startValue</code> and <code>endValue</code>. This value

     * @private
     * Storage for the startDelay property. 
     */
    private var _startDelay:Number;
    /**
     * The amount of time spent waiting before the animation
     * begins.
     *
     * @param value Amount of time, in milliseconds, to wait before beginning
     * the animation. Must be a value >= 0.
     */
    public function set startDelay(value:Number):void
    {

import flex.effects.interpolation.NumberArrayInterpolator;
import flex.effects.interpolation.NumberInterpolator;
import flex.events.AnimationEvent;

/**
 * Dispatched when the animation starts. The first 
 * <code>animationUpdate</code> event is dispatched at the 
 * same time.
 *
 * @eventType flex.events.AnimationEvent.ANIMATION_START
 */
[Event(name="animationStart", type="flex.events.AnimationEvent")]

/**
 * Dispatched every time the animation updates the target.
 *
 * @eventType flex.events.AnimationEvent.ANIMATION_UPDATE
 */
[Event(name="animationUpdate", type="mx.events.AnimationEvent")]

/**
 * Dispatched when the animation begins a new repetition, for
 * any effect that is repeated more than once.
 * An <code>animationUpdate</code> event is also dispatched 
 * at the same time.
 *
 * @eventType flex.events.AnimationEvent.ANIMATION_REPEAT
 */
[Event(name="animationRepeat", type="flex.events.AnimationEvent")]

/**
 * Dispatched when the effect ends. An <code>animationUpdate</code> event 
 * is also dispatched at the same time. A repeating animation dispatches 
 * this event only after the final repetition.</p>
 *
 * @eventType flex.events.AnimationEvent.ANIMATION_END
 */
[Event(name="animationEnd", type="flex.events.AnimationEvent")]

/**
 * The Animation class defines an animation that happens between 
