 
 use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal
 
-/*
- TODO (jszeto) 
- - Add caretIndex public getter
- - Add setCaretIndex protected setter
-    - Should set currentCaretIndex
-    - Call itemInCaret
-*/
-    
 /**
  *  Dispatched when the selection is going to change. 
  *  Calling the <code>preventDefault()</code> method

    }
    
    //----------------------------------
    //  selectUponNavigation
    //----------------------------------
    /**
     *  @private
     *  Storage for the selectUponNavigation property.
     */
    private var _selectUponNavigation:Boolean = true;
    
    /**
     *  Specifies whether an item must be selected when 
     *  navigated to or simply focused into. If true, 
     *  when an item is navigated to, it is selected and the
     *  selection related properties update accordingly. 
     *  If false, when an item is navigated to, the itemFocusIn/Out
     *  events are dispatched accordingly and the item's 
     *  associated item renderer is put into the focused state and 
     *  none of the selection related properties are updated. 
     *
     *  @default true
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public function get selectUponNavigation():Boolean
    {
        return _selectUponNavigation;
    }

    /**
     *  @private
     */
    public function set selectUponNavigation(value:Boolean):void
    {
        if (value == _selectUponNavigation)
            return;
            
        _selectUponNavigation = value;
    }
    
    
    //----------------------------------
    //  useVirtualLayout
    //----------------------------------


    //  Properties
    //
    //--------------------------------------------------------------------------
    
    //----------------------------------
    //  currentCaretIndex
    //----------------------------------
    
    mx_internal var _currentCaretIndex:Number = NO_CARET; 
    
    [Bindable("itemFocusChanged")]
    /**
     *  Item that is currently in focus. 
     *
     *  @default -1
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public function get currentCaretIndex():Number
    {
        return _currentCaretIndex;
    }
    
    /**
     *  @private
