<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    themeColor="haloSilver"
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute" backgroundGradientColors="[#808080, #000000]" 
    creationComplete="searchCreationComplete()"
    viewSourceURL="srcview/index.html" defaultButton="{search}">
    
    <fab:FABridge xmlns:fab="bridge.*" />
    
    <mx:Style>
        Application
        {
            background-image:"";
            background-color:"";
        }
    </mx:Style>
    
    <mx:Script>
        <![CDATA[
            import mx.utils.ObjectUtil;
            import mx.rpc.events.ResultEvent;
            import flash.net.URLRequest;
            import flash.net.navigateToURL;
            import flash.net.SharedObject
            
            public var so:SharedObject;
            private var timer:Timer;
            
            public function searchCreationComplete():void
            {
                timer = new Timer(200);
                timer.addEventListener( TimerEvent.TIMER, onTimerEvent );
                timer.start();
                
                so = SharedObject.getLocal("search");
                if( so.data.searchText ){
                    searchText.text = so.data.searchText;
                }
                ds.getData( searchText.text ); 
            }
            
            public function onTimerEvent( event : Event ) : void
            {
                timer.stop();
                ExternalInterface.call("initApp")
            }
            
            
            public function callSearch():void
            {
                if( searchText.text.length < 5 ) return;
                so = SharedObject.getLocal("search");
                so.data.searchText = new String( searchText.text );
                 so.flush();

                ds.getData( searchText.text ); 
            }    
            
        ]]>
    </mx:Script>
      
    <mx:RemoteObject  
        id="ds" 
        destination="ColdFusion" 
        endpoint="http://www.flex.org/flex2gateway/"
        showBusyCursor="true"
        source="api.search">

        <mx:method name="getData" />

    </mx:RemoteObject> 

    <mx:DataGrid 
        id="dg" 
        dataProvider="{ ds.getData.lastResult }" 
        left="5" top="85" bottom="10" width="250">
        
        <mx:columns>
            <mx:DataGridColumn fontSize="9" dataField="NAME" headerText="Name"/>
        </mx:columns>
        
    </mx:DataGrid>
   
    <mx:Text text="Enter Search Below: +Cairngorm -flexcoders  --> Must contain 'Cairngorm', remove 'flexcoders'" x="5" y="1" color="#000000"/>
    <mx:TextInput id="searchText" text="+Cairngorm -flexcoders" enter="callSearch()" left="50" top="18" right="67" height="40" fontSize="20" fontWeight="bold" borderStyle="outset" focusThickness="0"/>
    
    <mx:Button id="search" label="search" click="callSearch()" right="5" top="18" height="40" width="75" alpha="1.0" fillAlphas="[1.0, 1.0]"/>
    <mx:Label x="10" y="66" text="{ ds.getData.lastResult.length } Results" />
    <mx:Image x="6" y="18" source="@Embed('assets/flex.png')"/>

</mx:Application>