     
     /**
      *  @private
-     *  Helper function to determine whether the viewport scrolls horizontally
-     */
-    mx_internal function get canScrollHorizontally():Boolean
-    {
-        if (getStyle("horizontalScrollPolicy") == ScrollPolicy.ON)
-            return true;
-        
-        if (getStyle("horizontalScrollPolicy") == ScrollPolicy.AUTO)
-        {
-            var viewportUIC:IUIComponent = viewport as IUIComponent;
-            var explicitViewportW:Number = viewportUIC ? viewportUIC.explicitWidth : NaN;
-            var viewportW:Number = isNaN(explicitViewportW) ? (viewport.width - (minViewportInset * 2)) : explicitViewportW;
-            
-            return viewport.contentWidth >= (viewportW + SDT);
-        }
-        
-        return false;
-    }
-    
-    /**
-     *  @private
-     *  Helper function to determine whether the viewport scrolls vertically
-     */
-    mx_internal function get canScrollVertically():Boolean
-    {
-        if (getStyle("verticalScrollPolicy") == ScrollPolicy.ON)
-            return true;
-        
-        if (getStyle("verticalScrollPolicy") == ScrollPolicy.AUTO)
-        {
-            var viewportUIC:IUIComponent = viewport as IUIComponent;
-            var explicitViewportH:Number = viewportUIC ? viewportUIC.explicitHeight : NaN;
-            var viewportH:Number = isNaN(explicitViewportH) ? (viewport.height - (minViewportInset * 2)) : explicitViewportH;
-            
-            return viewport.contentHeight >= (viewportH + SDT);
-        }
-        
-        return false;
-    }
-    
-    /**
-     *  @private
      *  Set up the effect to be used for the throw animation
      *  FIXME (rfrishbe): this could use some work
      */

    //  Properties
    //
    //--------------------------------------------------------------------------
    
    private function invalidateSkin():void
    {
        if (skin)
        {
            skin.invalidateSize()
            skin.invalidateDisplayList();
        }
    }    
    
    //----------------------------------
    //  horizontalScrollBar

            scrollingHorizontally = false;
        }
        
        if (scrollerLayout && scrollerLayout.canScrollVertically)
        {
            var verticalMP:SimpleMotionPath = new SimpleMotionPath("verticalScrollPosition");
            var vspToUse:Number = Math.min(Math.max(finalVSP,0), maxHeight);
