             // or we should update immediately
             selected = positionToSelected(newPosition);
         }
-        
-    }
-    
-	/** 
-	 *  Specify the new position the toggle switch should animate to
-	 *  during mouse drag.
-	 *  Selection does not update after the animation.
-	 */
-	private function moveToPosition(newPosition:Number):void 
-    {
-		if (newPosition != thumbPosition)
-		{
-			// Finish any current animation before we start the next one.
-			if (animator.isPlaying) 
-				stopAnimation();
-			
-			animateToPosition(animator, thumbPosition, newPosition, MouseDragUtil.MAX_UPDATE_RATE);
-		} 
-	}
-	
-	/**
-	 *  Prepare the animator for use as a single animation to the edge of
-	 *  the track, or for use in a series of animations following mouse
-	 *  drag events.
-	 */
-	private function setupAnimator(animator:Animation, selectAtCompletion:Boolean):void 
-    {
-		stopAnimation();
-		
-		var animTarget:AnimationTargetHelper = animator.animationTarget as AnimationTargetHelper;
-		if (!animTarget)
-			animator.animationTarget = animTarget = new AnimationTargetHelper();
-		
-		animTarget.updateFunction = animationUpdateHandler;
-		animator.motionPaths = new <MotionPath>[null];
-		if (selectAtCompletion) 
-		{
-			animTarget.endFunction = animationEndHandler;
-			animator.easer = new Sine(0);
-		} 
-		else
-		{
-			animTarget.endFunction = null;
-			animator.easer = new Linear();
-		}
-	}
-	
-	/**
-	 *  Animate the thumb moving from startPosition to endPosition
-	 */
-	private function animateToPosition(animator:Animation, startPosition:Number, endPosition:Number, duration:Number):void 
-    {
-		if (animator.isPlaying)
-			stopAnimation();
-		animator.duration = duration;
-		animator.motionPaths[0] = new SimpleMotionPath("position", startPosition, endPosition);
-		animator.play();
-	}
-	
+    }
+    
+    /** 
+     *  Specify the new position the toggle switch should animate to
+     *  during mouse drag.
+     *  Selection does not update after the animation.
+     */
+    private function moveToPosition(newPosition:Number):void 
+    {
+        if (newPosition != thumbPosition)
+        {
+            // Finish any current animation before we start the next one.
+            if (animator.isPlaying) 
+                stopAnimation();
+            
+            animateToPosition(animator, thumbPosition, newPosition, MouseDragUtil.MAX_UPDATE_RATE);
+        } 
+    }
+    
+    /**
+     *  Prepare the animator for use as a single animation to the edge of
+     *  the track, or for use in a series of animations following mouse
+     *  drag events.
+     */
+    private function setupAnimator(animator:Animation, selectAtCompletion:Boolean):void 
+    {
+        stopAnimation();
+        
+        var animTarget:AnimationTargetHelper = animator.animationTarget as AnimationTargetHelper;
+        if (!animTarget)
+            animator.animationTarget = animTarget = new AnimationTargetHelper();
+        
+        animTarget.updateFunction = animationUpdateHandler;
+        animator.motionPaths = new <MotionPath>[null];
+        if (selectAtCompletion) 
+        {
+            animTarget.endFunction = animationEndHandler;
+            animator.easer = new Sine(0);
+        } 
+        else
+        {
+            animTarget.endFunction = null;
+            animator.easer = new Linear();
+        }
+    }
+    
+    /**
+     *  Animate the thumb moving from startPosition to endPosition
+     */
+    private function animateToPosition(animator:Animation, startPosition:Number, endPosition:Number, duration:Number):void 
+    {
+        if (animator.isPlaying)
+            stopAnimation();
+        animator.duration = duration;
+        animator.motionPaths[0] = new SimpleMotionPath("position", startPosition, endPosition);
+        animator.play();
+    }
+    
     /**
      *  Set the thumb position and update the component
      */

            
            // holds the final value to be set when animation ends
            slideToPosition = newPosition;
			
            var duration:Number = slideDuration *  
                (Math.abs(thumbPosition - slideToPosition));
			animateToPosition(animator, thumbPosition, newPosition, duration);
        } 
        else 
        {

    /**
     *  Constructor. 
     *  
     *  @langversion 3.0
     *  @playerversion AIR 3
     *  @productversion Flex 4.5.2
     */
