<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:flextras="http://www.flextras.com/mxml" viewSourceURL="srcview/index.html" xmlns:Shared="com.flextras.Shared.*"
    creationComplete="populateInstructions()" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" xmlns:shared="com.flextras.shared.*">
    

    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            
            [Bindable]public var dataProvider : ArrayCollection = new ArrayCollection([ 
                {label:'United States of America',data:0},
                {label:'Alabama',data:1},
                {label:'Alaska',data:2},
                {label:'Arizona',data:3},
                {label:'Arkansas',data:4},
                {label:'California',data:5},
                {label:'Colorado',data:6},
                {label:'Connecticut',data:7},
                {label:'Delaware',data:8},
                {label:'Florida',data:9},
                {label:'Georgia',data:10},
                {label:'Hawaii',data:11},
                {label:'Idaho',data:12},
                {label:'Illinois',data:13},
                {label:'Indiana',data:14},
                {label:'Iowa',data:15},
                {label:'Kansas',data:16},
                {label:'Kentucky',data:17},
                {label:'Louisiana',data:18},
                {label:'Maine',data:19},
                {label:'Maryland',data:20},
                {label:'Massachusetts',data:21},
                {label:'Michigan',data:22},
                {label:'Minnesota',data:23},
                {label:'Mississippi',data:24},
                {label:'Missouri',data:25},
                {label:'Montana',data:26},
                {label:'Nebraska',data:27},
                {label:'Nevada',data:28},
                {label:'New Hampshire',data:29},
                {label:'New Jersey',data:30},
                {label:'New Mexico',data:31},
                {label:'New York',data:32},
                {label:'North Carolina',data:33},
                {label:'North Dakota',data:3},
                {label:'Ohio',data:35},
                {label:'Oklahoma',data:36},
                {label:'Oregon',data:37},
                {label:'Pennsylvania',data:38},
                {label:'Rhode Island',data:39},
                {label:'South Carolina',data:40},
                {label:'South Dakota',data:41},
                {label:'Tennessee',data:42},
                {label:'Texas',data:43},
                {label:'Utah',data:44},
                {label:'Vermont',data:45},
                {label:'Virginia',data:46},
                {label:'Washington',data:47},
                {label:'West Virginia',data:48},
                {label:'Wisconsin',data:49},
                {label:'Wyoming',data:50},

            ]);

            [Bindable]public var dataProvider2 : ArrayCollection = new ArrayCollection([ 
                {label:'United States of America',data:0},
                {label:'Alabama',data:1},
                {label:'Alaska',data:2},
                {label:'Arizona',data:3},
                {label:'Arkansas',data:4},
                {label:'California',data:5},
                {label:'Colorado',data:6},
                {label:'Connecticut',data:7},
                {label:'Delaware',data:8},
                {label:'Florida',data:9},
                {label:'Georgia',data:10},
                {label:'Hawaii',data:11},
                {label:'Idaho',data:12},
                {label:'Illinois',data:13},
                {label:'Indiana',data:14},
                {label:'Iowa',data:15},
                {label:'Kansas',data:16},
                {label:'Kentucky',data:17},
                {label:'Louisiana',data:18},
                {label:'Maine',data:19},
                {label:'Maryland',data:20},
                {label:'Massachusetts',data:21},
                {label:'Michigan',data:22},
                {label:'Minnesota',data:23},
                {label:'Mississippi',data:24},
                {label:'Missouri',data:25},
                {label:'Montana',data:26},
                {label:'Nebraska',data:27},
                {label:'Nevada',data:28},
                {label:'New Hampshire',data:29},
                {label:'New Jersey',data:30},
                {label:'New Mexico',data:31},
                {label:'New York',data:32},
                {label:'North Carolina',data:33},
                {label:'North Dakota',data:3},
                {label:'Ohio',data:35},
                {label:'Oklahoma',data:36},
                {label:'Oregon',data:37},
                {label:'Pennsylvania',data:38},
                {label:'Rhode Island',data:39},
                {label:'South Carolina',data:40},
                {label:'South Dakota',data:41},
                {label:'Tennessee',data:42},
                {label:'Texas',data:43},
                {label:'Utah',data:44},
                {label:'Vermont',data:45},
                {label:'Virginia',data:46},
                {label:'Washington',data:47},
                {label:'West Virginia',data:48},
                {label:'Wisconsin',data:49},
                {label:'Wyoming',data:50},

            ]);
            
            protected function firstOnlyFilter ( item:Object):Boolean{
                
                var label : String = item.label;
                
                if(label.toLowerCase().search(accb.typeAheadTextValue.toLowerCase()) == 0){
                    return true;
                }

                return false;
            }


            public function populateInstructions():void{
                var instructionsText : String = '';
                instructionsText += 'This is a Sample AutoComplete Filter Function for the Flextra\'s AutoCompleteComboBox component.\r\n';
                instructionsText += 'The AutoCompleteComboBox is an advanced ComboBox that provides AutoComplete, or AutoSuggest, functionality.  ' ; 
                instructionsText += 'It also provides a selectedValue, multiple character type ahead, truncateToFit and will expand the drop down to fit all the content.  ' ; 
                instructionsText += 'It works on both Flex 3 and Flex 4.  ' ; 

                about.instructionText = instructionsText;
                
            }


        ]]>
    </mx:Script>
    

    <mx:TabNavigator width="100%" height="100%">
        
        <!-- 
            About
        -->
        <shared:About width="100%" height="100%" label="About" verticalAlign="middle" horizontalAlign="center" id="about"
              nonInteractiveLink="http://www.flextras.com/blog/index.cfm/2009/4/20/AutoCompleteComboBox-FirstOnly-Filter" nonInteractiveLinkText="Blog Post About This Sample">
        </shared:About>

        <mx:Form label="Application">
            <mx:FormItem label="Regular AutoComplete">
                <flextras:AutoCompleteComboBox dataProvider="{dataProvider}" id="accb1" autoCompleteEnabled="true"
                  />
                
            </mx:FormItem>
            <mx:FormItem label="FirstOnly AutoComplete">
                <flextras:AutoCompleteComboBox dataProvider="{dataProvider2}" id="accb" autoCompleteEnabled="true"
                  autoCompleteFilterFunction="firstOnlyFilter"/>
            </mx:FormItem>
        </mx:Form>
    </mx:TabNavigator>

        
</mx:Application>