      */
      public function getScrollPositionDelta(index:int):Point
      {
-         if (!target || !clipContent)
-            return null;
-            
-         var n:int = target.numLayoutElements;
+        var g:GroupBase = target;
+        if (!g || !clipContent)
+            return null;     
+            
+         var n:int = g.numLayoutElements;
          if ((index < 0) || (index >= n))
             return null;
             
-         var element:ILayoutElement = target.getLayoutElementAt(index);
+         var element:ILayoutElement = g.getLayoutElementAt(index);
          if (!element || !element.includeInLayout)
             return null;
             
-         var scrollR:Rectangle = target.scrollRect;
+         var scrollR:Rectangle = getTargetScrollRect();
          if (!scrollR)
             return null;
          

        if (!g)
            return 0;     

        var scrollRect:Rectangle = g.scrollRect;
        if (!scrollRect)
            return 0;
            
        // maxDelta is the horizontalScrollPosition delta required 
        // to scroll to the END and minDelta scrolls to HOME. 

        if (!g)
            return 0;     

        var scrollRect:Rectangle = getTargetScrollRect();
        if (!scrollRect)
            return 0;
            
        // Special case: if the scrollRect's origin is 0,0 and it's bigger 
        // than the target, then there's no where to scroll to
        if ((scrollRect.x == 0) && (scrollRect.width >= g.width))
            return 0;  

        // maxDelta is the horizontalScrollPosition delta required 
        // to scroll to the END and minDelta scrolls to HOME. 
        var maxDelta:Number = g.contentWidth - scrollRect.right;
