             return;
 
         // Make sure we finish any running page animation before starting
-        // a new one. end() will set value to the desired paged-to value for 
-        // that running animation
+        // a new one.
         if (animatingSinglePage)
-            animator.end();
-        
+		{
+			animationEndHandler(animator);
+            animator.stop();
+		}
         // Cache original event location for use on later repeating events
         trackPosition = track.globalToLocal(new Point(event.stageX, event.stageY));
-        
+		
+		dispatchEvent(new FlexEvent(FlexEvent.CHANGING));
+		
         // If the user shift-clicks on the track, then offset the event coordinates so 
         // that the thumb ends up centered under the mouse.
         if (event.shiftKey)

            {
                animationEndHandler(animator);
            }
            else
            {
                // probably shouldn't get here, but just in case
                steppingUp = steppingDown = false;
            }
            // stop even if !isPlaying - it might just be startDelayed
            animator.stop();
            
            systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP, 
                button_buttonUpHandler, true);
            systemManager.getSandboxRoot().removeEventListener(
                SandboxMouseEvent.MOUSE_UP_SOMEWHERE, button_buttonUpHandler);
        }
    }
    
    //---------------------------------

     */
    private var steppingDown:Boolean;
    private var steppingUp:Boolean;
	private var isStepping:Boolean;

    /**
     * @private
