     //--------------------------------------------------------------------------
     
     /**
+     *  This method returns a specific child navigator independent of the container's
+     *  child display hierarchy.  Since a child navigator is not parented by this
+     *  container when visible inside a callout, this method should be used instead of 
+     *  <code>getElementAt()</code>.
+     * 
+     *  <p>When a callout is open, the navigator at index 0 will refer to the
+     *  navigator in the callout.</p> 
+     * 
+     *  @param index Index of the navigator to retrieve
+     * 
+     *  @return The navigator at the specified index, null if one does not exist
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */ 
+    public function getViewNavigatorAt(index:int):ViewNavigatorBase
+    {
+        // If the index is the navigator currently in the callout, return it
+        if (_calloutNavigatorIndex == index)
+            return _calloutNavigator;
+        
+        // Since a callout is visible, one of the navigators has been removed
+        // from this display tree.  If the index of the navigator in the callout
+        // is before the passed index, decrement it by 1 so that it reflects 
+        // the current indicies of the child navigatos.
+        if (_calloutNavigatorIndex != -1 && _calloutNavigatorIndex < index)
+            index--;
+        
+        if (index >= numElements)
+            return null;
+        
+        return getElementAt(index) as ViewNavigatorBase;
+    }
+    
+    /**
      *  Displays the child navigator at index 0 inside a callout.  The navigator
      *  is reparented as a child of the callout.
      * 
      *  <p>Since the navigator is reparented, using <code>getElementAt(0)</code> 
      *  will not return the first navigator, but will return the second one.  
-     *  It is recommended that developers use <code>firstViewNavigator</code> and
-     *  <code>secondViewNavigator</code> properties to access the navigators.</p>
+     *  It is recommended that developers use the <code>getViewNavigatorAt()</code>
+     *  method to access the navigators.</p>
      * 
      *  <p>The callout height is fixed by the component but can be changed by
      *  reskinning or by manually setting the height property on the 

	 */
	mx_internal function application_resizeHandler(event:ResizeEvent):void
	{
		if (!firstViewNavigator)
			return;
		
		var aspectRatio:String = FlexGlobals.topLevelApplication.aspectRatio;

        if (!dataArray)
            return;
        
        // Restore each navigators persistence data
        for (var i:int = 0; i < numViewNavigators; i++)
        {
            if (i >= dataArray.length)
                break;
