add mx and spark versions of FlexStore

Project: http://git-wip-us.apache.org/repos/asf/flex-examples/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-examples/commit/c652cfba
Tree: http://git-wip-us.apache.org/repos/asf/flex-examples/tree/c652cfba
Diff: http://git-wip-us.apache.org/repos/asf/flex-examples/diff/c652cfba

Branch: refs/heads/develop
Commit: c652cfba6bb46f1ec5c1fc0a6914eb88fc64f728
Parents: a3a9031
Author: Alex Harui <aha...@apache.org>
Authored: Thu Aug 28 14:04:46 2014 -0700
Committer: Alex Harui <aha...@apache.org>
Committed: Thu Aug 28 14:04:46 2014 -0700

----------------------------------------------------------------------
 FlexStore/mx/src/FlexStore.mxml                 | 131 +++++
 FlexStore/mx/src/HomeView.mxml                  | 169 ++++++
 FlexStore/mx/src/ProductsView.mxml              | 117 ++++
 FlexStore/mx/src/SupportView.mxml               | 127 +++++
 FlexStore/mx/src/assets/akotter.jpg             | Bin 0 -> 19395 bytes
 FlexStore/mx/src/assets/bcrater.jpg             | Bin 0 -> 22670 bytes
 FlexStore/mx/src/assets/beige_background.jpg    | Bin 0 -> 12533 bytes
 FlexStore/mx/src/assets/beige_dotted_map.png    | Bin 0 -> 216598 bytes
 FlexStore/mx/src/assets/blue_background.jpg     | Bin 0 -> 12868 bytes
 FlexStore/mx/src/assets/blue_dotted_map.png     | Bin 0 -> 217088 bytes
 FlexStore/mx/src/assets/grip.png                | Bin 0 -> 19836 bytes
 FlexStore/mx/src/assets/icon_cart_empty.png     | Bin 0 -> 29594 bytes
 FlexStore/mx/src/assets/icon_cart_full.png      | Bin 0 -> 31388 bytes
 FlexStore/mx/src/assets/icon_compare.png        | Bin 0 -> 30218 bytes
 FlexStore/mx/src/assets/icon_details.png        | Bin 0 -> 29527 bytes
 FlexStore/mx/src/assets/icon_magnifier.png      | Bin 0 -> 30454 bytes
 FlexStore/mx/src/assets/icon_tiles.png          | Bin 0 -> 27988 bytes
 FlexStore/mx/src/assets/jproctor.jpg            | Bin 0 -> 21684 bytes
 FlexStore/mx/src/assets/logo_blue.png           | Bin 0 -> 33427 bytes
 FlexStore/mx/src/assets/logo_orange.png         | Bin 0 -> 33897 bytes
 FlexStore/mx/src/assets/pic/abrilliam.jpg       | Bin 0 -> 18903 bytes
 FlexStore/mx/src/assets/pic/akotter.jpg         | Bin 0 -> 19395 bytes
 FlexStore/mx/src/assets/pic/bcrater.jpg         | Bin 0 -> 22670 bytes
 FlexStore/mx/src/assets/pic/bleporte.jpg        | Bin 0 -> 23363 bytes
 FlexStore/mx/src/assets/pic/bvanbrocklin.jpg    | Bin 0 -> 18066 bytes
 FlexStore/mx/src/assets/pic/ccarpenter.jpg      | Bin 0 -> 19219 bytes
 FlexStore/mx/src/assets/pic/clampberto.jpg      | Bin 0 -> 18611 bytes
 FlexStore/mx/src/assets/pic/davenon.jpg         | Bin 0 -> 20028 bytes
 FlexStore/mx/src/assets/pic/dmcgoyal.jpg        | Bin 0 -> 19395 bytes
 FlexStore/mx/src/assets/pic/dwillhelm.jpg       | Bin 0 -> 22670 bytes
 FlexStore/mx/src/assets/pic/esunderland.jpg     | Bin 0 -> 23363 bytes
 FlexStore/mx/src/assets/pic/jproctor.jpg        | Bin 0 -> 21684 bytes
 FlexStore/mx/src/assets/pic/mfields.jpg         | Bin 0 -> 18066 bytes
 FlexStore/mx/src/assets/pic/pdempsey.jpg        | Bin 0 -> 18611 bytes
 FlexStore/mx/src/assets/pic/ptranep.jpg         | Bin 0 -> 19627 bytes
 FlexStore/mx/src/assets/pic/rcrawley.jpg        | Bin 0 -> 23692 bytes
 FlexStore/mx/src/assets/pic/rdreifus.jpg        | Bin 0 -> 20028 bytes
 FlexStore/mx/src/assets/pic/twong.jpg           | Bin 0 -> 19395 bytes
 FlexStore/mx/src/assets/support_map.png         | Bin 0 -> 172293 bytes
 FlexStore/mx/src/assets/support_mapmarker_a.png | Bin 0 -> 834 bytes
 FlexStore/mx/src/assets/support_mapmarker_b.png | Bin 0 -> 822 bytes
 FlexStore/mx/src/assets/support_mapmarker_c.png | Bin 0 -> 817 bytes
 .../mx/src/assets/support_mapmarker_plus.png    | Bin 0 -> 827 bytes
 FlexStore/mx/src/assets/trashcan.png            | Bin 0 -> 27189 bytes
 FlexStore/mx/src/beige.css                      | 166 ++++++
 FlexStore/mx/src/blue.css                       | 165 ++++++
 FlexStore/mx/src/data/catalog.xml               | 256 +++++++++
 FlexStore/mx/src/main.css                       |  83 +++
 .../src/productsView/CatalogTitleButtons.mxml   |  62 +++
 FlexStore/mx/src/productsView/Grip.mxml         |  35 ++
 FlexStore/mx/src/productsView/ProductCart.mxml  | 115 ++++
 .../src/productsView/ProductCatalogPanel.mxml   | 534 +++++++++++++++++++
 .../productsView/ProductCatalogThumbnail.mxml   | 226 ++++++++
 .../mx/src/productsView/ProductDetails.mxml     |  97 ++++
 .../mx/src/productsView/ProductFilterPanel.mxml | 192 +++++++
 FlexStore/mx/src/productsView/ProductList.mxml  | 210 ++++++++
 .../mx/src/productsView/ProductListItem.mxml    |  85 +++
 .../mx/src/productsView/ProductSupport.mxml     |  84 +++
 .../samples/flexstore/ButtonBarButtonSkin.as    | 298 +++++++++++
 FlexStore/mx/src/samples/flexstore/Product.as   |  78 +++
 .../mx/src/samples/flexstore/ProductFilter.as   |  56 ++
 .../src/samples/flexstore/ProductFilterEvent.as |  39 ++
 .../src/samples/flexstore/ProductListEvent.as   |  42 ++
 .../src/samples/flexstore/ProductThumbEvent.as  |  45 ++
 FlexStore/spark/src/FlexStore.mxml              | 280 ++++++++++
 FlexStore/spark/src/HomeView.mxml               | 171 ++++++
 FlexStore/spark/src/ProductsView.mxml           | 116 ++++
 FlexStore/spark/src/SupportView.mxml            | 144 +++++
 FlexStore/spark/src/assets/akotter.jpg          | Bin 0 -> 19395 bytes
 FlexStore/spark/src/assets/bcrater.jpg          | Bin 0 -> 22670 bytes
 FlexStore/spark/src/assets/beige_background.jpg | Bin 0 -> 12533 bytes
 FlexStore/spark/src/assets/beige_dotted_map.png | Bin 0 -> 216598 bytes
 FlexStore/spark/src/assets/blue_background.jpg  | Bin 0 -> 12868 bytes
 FlexStore/spark/src/assets/blue_dotted_map.png  | Bin 0 -> 217088 bytes
 FlexStore/spark/src/assets/grip.png             | Bin 0 -> 19836 bytes
 FlexStore/spark/src/assets/icon_cart_empty.png  | Bin 0 -> 29594 bytes
 FlexStore/spark/src/assets/icon_cart_full.png   | Bin 0 -> 31388 bytes
 FlexStore/spark/src/assets/icon_compare.png     | Bin 0 -> 30218 bytes
 FlexStore/spark/src/assets/icon_details.png     | Bin 0 -> 29527 bytes
 FlexStore/spark/src/assets/icon_magnifier.png   | Bin 0 -> 30454 bytes
 FlexStore/spark/src/assets/icon_tiles.png       | Bin 0 -> 27988 bytes
 FlexStore/spark/src/assets/jproctor.jpg         | Bin 0 -> 21684 bytes
 FlexStore/spark/src/assets/logo_blue.png        | Bin 0 -> 33427 bytes
 FlexStore/spark/src/assets/logo_orange.png      | Bin 0 -> 33897 bytes
 FlexStore/spark/src/assets/pic/abrilliam.jpg    | Bin 0 -> 18903 bytes
 FlexStore/spark/src/assets/pic/akotter.jpg      | Bin 0 -> 19395 bytes
 FlexStore/spark/src/assets/pic/bcrater.jpg      | Bin 0 -> 22670 bytes
 FlexStore/spark/src/assets/pic/bleporte.jpg     | Bin 0 -> 23363 bytes
 FlexStore/spark/src/assets/pic/bvanbrocklin.jpg | Bin 0 -> 18066 bytes
 FlexStore/spark/src/assets/pic/ccarpenter.jpg   | Bin 0 -> 19219 bytes
 FlexStore/spark/src/assets/pic/clampberto.jpg   | Bin 0 -> 18611 bytes
 FlexStore/spark/src/assets/pic/davenon.jpg      | Bin 0 -> 20028 bytes
 FlexStore/spark/src/assets/pic/dmcgoyal.jpg     | Bin 0 -> 19395 bytes
 FlexStore/spark/src/assets/pic/dwillhelm.jpg    | Bin 0 -> 22670 bytes
 FlexStore/spark/src/assets/pic/esunderland.jpg  | Bin 0 -> 23363 bytes
 FlexStore/spark/src/assets/pic/jproctor.jpg     | Bin 0 -> 21684 bytes
 FlexStore/spark/src/assets/pic/mfields.jpg      | Bin 0 -> 18066 bytes
 FlexStore/spark/src/assets/pic/pdempsey.jpg     | Bin 0 -> 18611 bytes
 FlexStore/spark/src/assets/pic/ptranep.jpg      | Bin 0 -> 19627 bytes
 FlexStore/spark/src/assets/pic/rcrawley.jpg     | Bin 0 -> 23692 bytes
 FlexStore/spark/src/assets/pic/rdreifus.jpg     | Bin 0 -> 20028 bytes
 FlexStore/spark/src/assets/pic/twong.jpg        | Bin 0 -> 19395 bytes
 FlexStore/spark/src/assets/support_map.png      | Bin 0 -> 172293 bytes
 .../spark/src/assets/support_mapmarker_a.png    | Bin 0 -> 834 bytes
 .../spark/src/assets/support_mapmarker_b.png    | Bin 0 -> 822 bytes
 .../spark/src/assets/support_mapmarker_c.png    | Bin 0 -> 817 bytes
 .../spark/src/assets/support_mapmarker_plus.png | Bin 0 -> 827 bytes
 FlexStore/spark/src/assets/trashcan.png         | Bin 0 -> 27189 bytes
 FlexStore/spark/src/beige.css                   | 168 ++++++
 FlexStore/spark/src/blue.css                    | 165 ++++++
 FlexStore/spark/src/data/catalog.xml            | 256 +++++++++
 FlexStore/spark/src/main.css                    |  83 +++
 .../src/productsView/CatalogTitleButtons.mxml   |  64 +++
 FlexStore/spark/src/productsView/Grip.mxml      |  36 ++
 .../spark/src/productsView/ProductCart.mxml     | 118 ++++
 .../src/productsView/ProductCatalogPanel.mxml   | 513 ++++++++++++++++++
 .../productsView/ProductCatalogPanelSkin.mxml   | 286 ++++++++++
 .../productsView/ProductCatalogThumbnail.mxml   | 195 +++++++
 .../spark/src/productsView/ProductDetails.mxml  | 121 +++++
 .../src/productsView/ProductFilterPanel.mxml    | 200 +++++++
 .../spark/src/productsView/ProductList.mxml     | 214 ++++++++
 .../spark/src/productsView/ProductListItem.mxml |  90 ++++
 .../spark/src/productsView/ProductSupport.mxml  |  88 +++
 .../samples/flexstore/ButtonBarButtonSkin.as    | 298 +++++++++++
 .../spark/src/samples/flexstore/Product.as      |  78 +++
 .../src/samples/flexstore/ProductFilter.as      |  56 ++
 .../src/samples/flexstore/ProductFilterEvent.as |  39 ++
 .../src/samples/flexstore/ProductListEvent.as   |  42 ++
 .../src/samples/flexstore/ProductThumbEvent.as  |  45 ++
 129 files changed, 7278 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/FlexStore.mxml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/FlexStore.mxml b/FlexStore/mx/src/FlexStore.mxml
new file mode 100644
index 0000000..db66b31
--- /dev/null
+++ b/FlexStore/mx/src/FlexStore.mxml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*"
+                               layout="absolute" minWidth="990" minHeight="550"
+                               preinitialize="loadStyle()"
+                               creationComplete="startService()"
+                               pageTitle="FlexStore">
+       
+       <mx:Script>
+               <![CDATA[
+                       import mx.collections.IViewCursor;
+                       import mx.collections.ArrayCollection;
+                       import samples.flexstore.Product;
+                       import mx.rpc.events.ResultEvent;
+                       import mx.events.StyleEvent;
+                       import mx.styles.StyleManager;
+                       
+                       [Bindable]
+                       private var catalog:ArrayCollection;
+                       
+                       private var currentTheme:String = "beige";
+                       
+                       private function toggleTheme():void
+                       {
+                               if (currentTheme == "beige")
+                               {
+                                       currentTheme = "blue";
+                               }
+                               else
+                               {
+                                       currentTheme = "beige";
+                               }
+                               
+                               loadStyle();
+                       }
+                       
+                       private function startService():void
+                       {
+                               productService.send();
+                       }
+                       
+                       private function loadStyle():void
+                       {
+                               var eventDispatcher:IEventDispatcher =
+                                       
styleManager.loadStyleDeclarations(currentTheme + ".swf");
+                               
eventDispatcher.addEventListener(StyleEvent.COMPLETE, completeHandler);
+                       }
+                       
+                       private function completeHandler(event:StyleEvent):void
+                       {
+                               image.source = acb.getStyle("storeLogo");
+                               homeView.updateMapImage();
+                               super.initialized = true;
+                       }
+                       
+                       private function 
productServiceResultHandler(event:ResultEvent):void
+                       {
+                               //HTTPService returns an ArrayCollection for 
nested arrays
+                               var products:ArrayCollection = 
event.result.catalog.product;
+                               var temp:ArrayCollection = new 
ArrayCollection();
+                               var cursor:IViewCursor = 
products.createCursor();
+                               while (!cursor.afterLast)
+                               {
+                                       var product:Product = new Product();
+                                       product.fill(cursor.current);
+                                       temp.addItem(product);
+                                       cursor.moveNext();
+                               }
+                               catalog = temp;
+                       }
+                       
+                       override public function set 
initialized(value:Boolean):void
+                       {
+                               // Hold off until the Runtime CSS SWF is done 
loading.
+                       }
+               ]]>
+       </mx:Script>
+       
+       <mx:Style source="main.css"/>
+       
+       <mx:HTTPService id="productService" url="data/catalog.xml"
+                                       
result="productServiceResultHandler(event)"/>
+       
+       <mx:VBox width="990" paddingLeft="0" paddingRight="0" 
horizontalCenter="0" top="12">
+               
+               <mx:ApplicationControlBar id="acb" width="100%" 
styleName="storeControlBar">
+                       <mx:Image id="image" 
+                                         click="toggleTheme()"
+                                         toolTip="Change Theme"/>
+                       <mx:ToggleButtonBar
+                               height="100%"
+                               dataProvider="{storeViews}"
+                               styleName="storeButtonBar"/>
+               </mx:ApplicationControlBar>
+               
+               <!-- using a creationPolicy of "auto" or "queued" has a bug at 
time of writing
+               that prevents initial states from applying styles correctly.
+               plus the instantiation of the cart view can cause a performance
+               hiccup which we might prefer at startup -->
+               <mx:ViewStack id="storeViews" width="100%" height="550" 
creationPolicy="all">
+                       <HomeView id="homeView" label="Home"
+                                         showEffect="WipeDown" 
hideEffect="WipeUp"
+                                         />
+                       <ProductsView id="pView" label="Products" 
catalog="{catalog}"
+                                                 showEffect="WipeDown" 
hideEffect="WipeUp"
+                                                 />
+                       <SupportView id="supportView" label="Support"
+                                                showEffect="WipeDown" 
hideEffect="WipeUp"
+                                                />
+               </mx:ViewStack>
+               
+       </mx:VBox>
+       
+</mx:Application>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/HomeView.mxml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/HomeView.mxml b/FlexStore/mx/src/HomeView.mxml
new file mode 100644
index 0000000..601daa5
--- /dev/null
+++ b/FlexStore/mx/src/HomeView.mxml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<!--
+This component is primarily static and is only meant to show what other
+pages of the store could look like.
+
+Note that this page was put together in the Design view so you'll see more
+hard coded locations and sizes.
+
+Also note when working with a Canvas that using the constraint styles 
+(e.g., left, top, right, bottom) can provide better layout predictability than 
+using x and y, especially when percentage widths and heights are used.
+
+Width and height are hard-coded in the root tag to help the Design view.
+-->
+<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*" width="990" 
height="550">
+       <mx:Script>
+               <![CDATA[
+                       import mx.controls.Alert;
+
+                       public function updateMapImage():void
+                       {
+                               mapImage.source = 
mapCanvas.getStyle('dottedMap');
+                       }
+               ]]>
+       </mx:Script>
+       <mx:HBox width="100%" height="100%" y="0" x="0" styleName="colorPanel">
+       
+               <mx:VBox width="230" height="100%">
+                       <mx:Canvas width="100%" height="100%">
+                       
+                               <mx:Canvas left="10" top="10" width="100%" 
height="60" backgroundColor="#ebebe9" styleName="homeSection">
+                                       <mx:Label left="10" top="10" 
text="Search Developers" height="22" styleName="sectionHeader"/>
+                                       <mx:Button left="168" top="30" 
label="Go" width="47" height="20" styleName="glass" click="Alert.show('This 
feature is not implemented in this sample', 'Go')"/>
+                                       <mx:TextInput left="10" top="30" 
height="20" width="150"/>
+                               </mx:Canvas>
+                               
+                               <mx:Canvas left="10" top="78" width="100%" 
height="280" backgroundColor="#ffffff" styleName="homeSection">
+                                       <mx:VBox left="10" top="10" 
width="100%" height="100%" verticalGap="0">
+                                               <mx:Label text="Flex Experts 
That Can Help You" styleName="sectionHeader"/>
+                                               <mx:HRule height="5" 
width="197"/>
+                                               <mx:Label text="General" 
styleName="homeProgramHeader"/>
+                                               <mx:Label text="BlazeDS 
Experts" fontSize="9"/>
+                                               <mx:Spacer height="8" 
width="100%"/>
+                                               <mx:Label text="Server-side" 
styleName="homeProgramHeader"/>
+                                               <mx:Label text="Java, PHP 
Developers" fontSize="9"/>
+                                               <mx:Spacer height="8" 
width="100%"/>
+                                               <mx:Label text="Mobile" 
styleName="homeProgramHeader"/>
+                                               <mx:Label text="Android, IOS 
and more" fontSize="9"/>
+                                               <mx:Spacer height="8" 
width="100%"/>
+                                               <mx:Label text="Students" 
styleName="homeProgramHeader"/>
+                                               <mx:Label text="Free 
Assistance" fontSize="9"/>
+                                               <mx:Spacer height="8" 
width="100%"/>
+                                       </mx:VBox>
+                               </mx:Canvas>
+                               
+                               <mx:Canvas left="10" top="366" width="100%" 
height="174" styleName="homeSection" backgroundColor="#ebebe9">
+                                       <mx:VBox left="10" top="10" 
width="100%" height="100%" verticalGap="0">
+                                       
+                                               <mx:Label text="Manage My 
Account" styleName="sectionHeader"/>
+                                               
+                                               <mx:Label text="Phone Number"/>
+                                               
+                                               <mx:HBox width="100%" 
height="25" horizontalAlign="left" verticalAlign="middle">
+                                                       <mx:TextInput 
height="20" width="40"/>
+                                                       <mx:HRule width="8" 
height="25"/>
+                                                       <mx:TextInput 
height="20" width="40"/>
+                                                       <mx:HRule width="8" 
height="25"/>
+                                                       <mx:TextInput 
height="20" width="40"/>
+                                               </mx:HBox>
+                                               
+                                               <mx:Label text="Password"/>
+                                               <mx:TextInput height="20"/>
+                                               <mx:Spacer height="8" 
width="100%"/>
+                                               
+                                               <mx:CheckBox label="Remember my 
phone number" selected="true"/>
+                                               <mx:Spacer height="8" 
width="100%"/>
+                                               
+                                               <mx:Button label="Login" 
styleName="glass" height="20" width="55" click="Alert.show('This feature is not 
implemented in this sample', 'Login')"/>
+                                               
+                                       </mx:VBox>
+                               </mx:Canvas>
+                               
+                       </mx:Canvas>
+                       
+               </mx:VBox>
+               
+               <mx:VBox width="750" height="100%">
+                       <mx:Canvas width="100%" height="100%">
+                       
+                           <!-- can't use binding to set the mapImage source 
because the style isn't available early enough -->
+                               <mx:Canvas id="mapCanvas" width="100%" 
height="35%" styleName="homeMap" right="10" top="10">
+                                       <mx:Image id="mapImage" width="487" 
scaleContent="false" height="100%" alpha="1.0" left="10" top="10"/>
+                                       <mx:Label y="110" text="US Developers . 
Flex . FlexJS" width="95%" height="40" horizontalCenter="0" fontWeight="bold" 
fontSize="22" color="#ffffff" fontFamily="Arial" textAlign="center"/>
+                                       <mx:Label text="Learn More &gt;&gt;" 
width="95" bottom="10" right="10" fontSize="12" fontFamily="Arial"/>
+                                       <mx:Label text="$60/hr" fontSize="20" 
right="10" top="10" color="#ffffff" fontWeight="bold" fontFamily="Arial"/>
+                                       <mx:Label text="Rates as low as" 
x="551" top="16" fontSize="12"/>
+                               </mx:Canvas>
+                               
+                               <mx:Canvas width="100%" height="330" 
backgroundColor="#ffffff" borderStyle="solid" cornerRadius="4" bottom="10" 
right="10">
+                                       
+                                       <mx:Label left="10" top="10" 
text="Featured Developers" width="173" height="25" styleName="sectionHeader"/>
+                                       
+                                       <mx:HBox left="0" top="43" width="100%" 
height="100%">
+                                               
+                                               <mx:VBox width="33%" 
height="100%">
+                                                       
+                                                       <mx:Canvas width="100%">
+                                                               <mx:Image 
source="@Embed('/assets/akotter.jpg')" horizontalCenter="0" verticalCenter="0"/>
+                                                       </mx:Canvas>
+                                                       
+                                                       <mx:Canvas width="100%">
+                                                               <mx:Text 
text="Annette Kotter" horizontalCenter="0" id="feat_prod_1" fontWeight="bold" 
fontSize="12"/>
+                                                       </mx:Canvas>
+                                                       
+                                               </mx:VBox>
+                                               
+                                               <mx:VBox width="33%" 
height="100%">
+                                                       
+                                                       <mx:Canvas width="100%">
+                                                               <mx:Image 
horizontalCenter="0" verticalCenter="0" source="@Embed('/assets/bcrater.jpg')"/>
+                                                       </mx:Canvas>
+                                                       
+                                                       <mx:Canvas width="100%">
+                                                               <mx:Text 
text="Ben Crater" horizontalCenter="0" id="feat_prod_2" fontWeight="bold" 
fontSize="12"/>
+                                                       </mx:Canvas>
+                                                       
+                                               </mx:VBox>
+                                               
+                                               <mx:VBox width="33%" 
height="100%">
+                                                       
+                                                       <mx:Canvas width="100%">
+                                                               <mx:Image 
horizontalCenter="0" verticalCenter="0" 
source="@Embed('/assets/jproctor.jpg')"/>
+                                                       </mx:Canvas>
+                                                       
+                                                       <mx:Canvas width="100%">
+                                                               <mx:Text 
text="Jane Proctor" horizontalCenter="0" id="feat_prod_3" fontWeight="bold" 
fontSize="12"/>
+                                                       </mx:Canvas>
+                                                       
+                                               </mx:VBox>
+                                               
+                                       </mx:HBox>
+                                       
+                               </mx:Canvas>
+                               
+                       </mx:Canvas>
+               
+               </mx:VBox>
+               
+       </mx:HBox>
+       
+</mx:Canvas>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/ProductsView.mxml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/ProductsView.mxml 
b/FlexStore/mx/src/ProductsView.mxml
new file mode 100644
index 0000000..0535732
--- /dev/null
+++ b/FlexStore/mx/src/ProductsView.mxml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<!-- width and height hard-coded in the root tag to better support the 
+     Design view in FlexBuilder since we know the width and height from the 
+     settings in flexstore.mxml -->
+<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; 
+    xmlns:productsView="productsView.*"
+    width="990" height="550"
+    currentState="showFilter">
+
+    <mx:Script>
+        <![CDATA[
+        import mx.collections.ArrayCollection;
+        import samples.flexstore.Product;
+                
+        private var _catalog:ArrayCollection;
+        
+        [Bindable]
+        public function get catalog():ArrayCollection
+        {
+            return _catalog;
+        }
+        
+        public function set catalog(c:ArrayCollection):void
+        {
+            _catalog = c;
+            if (filterPanel != null)
+            {
+                filterPanel.filter.count = c.length;
+            }
+        }
+        
+        public function addToCompare(product:Product):void
+        {
+            //setting the state before adding the product avoids jumpiness in 
the transition, not sure why
+            currentState = 'showFilter';
+            filterPanel.productList.addProduct(product);
+        }
+        
+        public function addToCart(product:Product):void
+        {
+            //setting the state before adding the product avoids jumpiness in 
the transition, not sure why
+            currentState = 'showCart'; 
+            cartPanel.productList.addProduct(product);
+        }
+        
+        
+        ]]>
+    </mx:Script>
+    
+    <mx:HBox 
+        styleName="colorPanel"
+        dropShadowEnabled="true" 
+        height="100%" width="100%" 
+        verticalScrollPolicy="off" 
+        horizontalGap="0">
+    
+        <productsView:Grip id="filterGrip" 
gripIcon="@Embed('/assets/icon_magnifier.png')" 
+            gripTip="Show filter panel" click="currentState = 'showFilter'"/>
+    
+        <productsView:ProductFilterPanel id="filterPanel" width="265" 
height="100%"
+            filter="catalogPanel.filter(event.filter, event.live)"
+            
compare="catalogPanel.compare(filterPanel.productList.getProducts())"
+            creationComplete="if (catalog) filterPanel.filter.count = 
catalog.length"/>
+    
+        <mx:Spacer width="100%"/>
+        
+        <productsView:ProductCart id="cartPanel" width="265" height="100%"/>
+
+        <productsView:Grip id="cartGrip" 
gripIcon="@Embed('/assets/icon_cart_empty.png')"
+            gripTip="Show cart" click="currentState = 'showCart'"/>
+    
+    </mx:HBox>
+        
+    <productsView:ProductCatalogPanel id="catalogPanel" y="4" width="685" 
height="540"
+        catalog="{catalog}"
+        compare="addToCompare(event.product)"
+        purchase="addToCart(event.product)"
+        cartCount="{cartPanel.numProducts}"/>
+    
+    <mx:states>
+       <mx:State name="showFilter">
+          <mx:SetStyle target="{catalogPanel}" name="left" value="285"/>
+       </mx:State>        
+       <mx:State name="showCart">
+           <mx:SetStyle target="{catalogPanel}" name="right" value="285"/>
+       </mx:State>
+    </mx:states>
+    
+    <!-- 
+      make sure to use transitions here instead of applying a Move effect
+      to the Panel itself which will result in odd behavior
+    -->
+    <mx:transitions>
+       <mx:Transition fromState="*" toState="*">
+          <mx:Move target="{catalogPanel}" />
+       </mx:Transition>
+    </mx:transitions>
+        
+</mx:Canvas>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/SupportView.mxml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/SupportView.mxml 
b/FlexStore/mx/src/SupportView.mxml
new file mode 100644
index 0000000..1f18454
--- /dev/null
+++ b/FlexStore/mx/src/SupportView.mxml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<!--
+This component is primarily static and is only meant to show what other
+pages of the store could look like.
+
+Note that this page was put together in the Design view so you'll see more
+hard coded locations and sizes.
+
+We did not have sizing issues here as much so you'll see more hardcoded 
+"y" values rather than "top."
+
+The width and height are hard-coded in the root tag to help the Design view.
+-->
+<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*" alpha="1.0"
+    width="990" height="550">
+       
+       <mx:Script>
+           <![CDATA[
+              import mx.controls.Alert; 
+           ]]>
+       </mx:Script>
+       
+    <mx:Model id="locationsModel">
+        <root>
+            <location image="assets/support_mapmarker_a.png" name="601 
Townsend St" /> 
+           <location image="assets/support_mapmarker_b.png" name="Location B" 
/>
+           <location image="assets/support_mapmarker_c.png" name="Location C" 
/>                  
+        </root> 
+    </mx:Model>   
+               
+       <mx:ArrayCollection id="locations" 
source="{locationsModel.root.location}"/>
+       
+       <mx:HBox x="0" y="0" width="100%" height="100%" styleName="colorPanel">
+       
+               <mx:VBox width="32%" height="100%">
+                       <mx:Canvas width="100%" height="60%">
+                       
+                               <mx:Label y="10" text="Check Location" 
styleName="sectionHeader" x="20"/>
+                               
+                               <mx:Form width="95%" height="125" y="64" 
verticalGap="8" paddingBottom="0" paddingRight="0" paddingTop="5" 
horizontalCenter="0">
+                                       
+                                       <mx:FormItem label="Address:" 
width="100%">
+                                               <mx:TextInput id="address" 
width="90%"/>
+                                       </mx:FormItem>
+                                       
+                                       <mx:FormItem label="City:" width="100%">
+                                               <mx:TextInput id="city" 
width="60%"/>                                           
+                                       </mx:FormItem>
+                                       
+                                       <mx:FormItem label="State:" 
width="100%">
+                                               <mx:ComboBox id="state" 
width="50%">
+                                                       <mx:dataProvider>
+                                              <mx:Array>
+                                                   
<mx:String>California</mx:String>
+                                                   
<mx:String>Nevada</mx:String>
+                                                   
<mx:String>Oregon</mx:String>
+                                                   
<mx:String>Washington</mx:String>
+                                               </mx:Array>
+                                       </mx:dataProvider>
+                                               </mx:ComboBox>
+                                       </mx:FormItem>
+                                       
+                                       <mx:FormItem label="ZIP Code:" 
width="100%">
+                                               <mx:TextInput id="zip" 
width="30%"/>
+                                       </mx:FormItem>
+                                       
+                               </mx:Form>
+                               
+                               <mx:Label y="38" text="Option1: Enter Address" 
horizontalCenter="0" styleName="instructions"/>
+                               
+                               <mx:Button y="197" label="Locate" 
click="Alert.show('This feature is not implemented in this sample', 'Locate')" 
horizontalCenter="0"/>
+                               
+                               <mx:HBox y="227" width="80%" height="20" 
horizontalAlign="center" verticalAlign="middle" horizontalCenter="0">
+                                       <mx:HRule width="60" 
strokeColor="#000000"/>
+                                       <mx:Label text="OR"/>
+                                       <mx:HRule width="60" 
strokeColor="#000000"/>
+                               </mx:HBox>
+                               
+                               <mx:Label y="255" text="Option 2: Drag this 
marker into the map" horizontalCenter="0" styleName="instructions"/>
+                               
+                               <mx:Image y="280" horizontalCenter="0" 
source="@Embed('/assets/support_mapmarker_plus.png')"/>
+                               
+                               <mx:HRule y="315" horizontalCenter="0" 
width="200" alpha="0.6"/>
+                               
+                       </mx:Canvas>
+                       
+                       <mx:Canvas width="100%" height="40%">
+                               <mx:VBox width="80%" height="90%" 
horizontalCenter="0" top="0">
+                                       <mx:Label text="Location" 
styleName="instructions"/>
+                                       <mx:VBox width="100%" verticalGap="0">
+                                       <mx:Repeater id="locationRepeater" 
dataProvider="{locations}">
+                                           <mx:HBox styleName="listItem" 
width="100%">
+                                <mx:Image width="21" height="25" 
source="{locationRepeater.currentItem.image}" />
+                                <mx:Label width="100%" 
text="{locationRepeater.currentItem.name}" />
+                            </mx:HBox>
+                                       </mx:Repeater>
+                                       </mx:VBox>
+                               </mx:VBox>
+                       </mx:Canvas>
+                       
+               </mx:VBox>
+               
+               <mx:Canvas width="68%" height="100%">
+                       <mx:Image source="@Embed('/assets/support_map.png')" 
scaleContent="true" left="2" right="2" top="2" bottom="2"/>
+               </mx:Canvas>
+               
+       </mx:HBox>
+       
+</mx:Canvas>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/akotter.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/akotter.jpg 
b/FlexStore/mx/src/assets/akotter.jpg
new file mode 100644
index 0000000..1124b71
Binary files /dev/null and b/FlexStore/mx/src/assets/akotter.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/bcrater.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/bcrater.jpg 
b/FlexStore/mx/src/assets/bcrater.jpg
new file mode 100644
index 0000000..fd15d59
Binary files /dev/null and b/FlexStore/mx/src/assets/bcrater.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/beige_background.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/beige_background.jpg 
b/FlexStore/mx/src/assets/beige_background.jpg
new file mode 100644
index 0000000..8f034ba
Binary files /dev/null and b/FlexStore/mx/src/assets/beige_background.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/beige_dotted_map.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/beige_dotted_map.png 
b/FlexStore/mx/src/assets/beige_dotted_map.png
new file mode 100644
index 0000000..e88d9ef
Binary files /dev/null and b/FlexStore/mx/src/assets/beige_dotted_map.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/blue_background.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/blue_background.jpg 
b/FlexStore/mx/src/assets/blue_background.jpg
new file mode 100644
index 0000000..361ce0e
Binary files /dev/null and b/FlexStore/mx/src/assets/blue_background.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/blue_dotted_map.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/blue_dotted_map.png 
b/FlexStore/mx/src/assets/blue_dotted_map.png
new file mode 100644
index 0000000..5fa6714
Binary files /dev/null and b/FlexStore/mx/src/assets/blue_dotted_map.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/grip.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/grip.png b/FlexStore/mx/src/assets/grip.png
new file mode 100644
index 0000000..64ee835
Binary files /dev/null and b/FlexStore/mx/src/assets/grip.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/icon_cart_empty.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/icon_cart_empty.png 
b/FlexStore/mx/src/assets/icon_cart_empty.png
new file mode 100644
index 0000000..562064b
Binary files /dev/null and b/FlexStore/mx/src/assets/icon_cart_empty.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/icon_cart_full.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/icon_cart_full.png 
b/FlexStore/mx/src/assets/icon_cart_full.png
new file mode 100644
index 0000000..007b08c
Binary files /dev/null and b/FlexStore/mx/src/assets/icon_cart_full.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/icon_compare.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/icon_compare.png 
b/FlexStore/mx/src/assets/icon_compare.png
new file mode 100644
index 0000000..efc3ea1
Binary files /dev/null and b/FlexStore/mx/src/assets/icon_compare.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/icon_details.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/icon_details.png 
b/FlexStore/mx/src/assets/icon_details.png
new file mode 100644
index 0000000..2d2bfb9
Binary files /dev/null and b/FlexStore/mx/src/assets/icon_details.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/icon_magnifier.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/icon_magnifier.png 
b/FlexStore/mx/src/assets/icon_magnifier.png
new file mode 100644
index 0000000..939f814
Binary files /dev/null and b/FlexStore/mx/src/assets/icon_magnifier.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/icon_tiles.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/icon_tiles.png 
b/FlexStore/mx/src/assets/icon_tiles.png
new file mode 100644
index 0000000..dbf75b6
Binary files /dev/null and b/FlexStore/mx/src/assets/icon_tiles.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/jproctor.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/jproctor.jpg 
b/FlexStore/mx/src/assets/jproctor.jpg
new file mode 100644
index 0000000..1111787
Binary files /dev/null and b/FlexStore/mx/src/assets/jproctor.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/logo_blue.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/logo_blue.png 
b/FlexStore/mx/src/assets/logo_blue.png
new file mode 100644
index 0000000..132b894
Binary files /dev/null and b/FlexStore/mx/src/assets/logo_blue.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/logo_orange.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/logo_orange.png 
b/FlexStore/mx/src/assets/logo_orange.png
new file mode 100644
index 0000000..c776c8c
Binary files /dev/null and b/FlexStore/mx/src/assets/logo_orange.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/abrilliam.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/abrilliam.jpg 
b/FlexStore/mx/src/assets/pic/abrilliam.jpg
new file mode 100644
index 0000000..6954858
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/abrilliam.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/akotter.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/akotter.jpg 
b/FlexStore/mx/src/assets/pic/akotter.jpg
new file mode 100644
index 0000000..1124b71
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/akotter.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/bcrater.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/bcrater.jpg 
b/FlexStore/mx/src/assets/pic/bcrater.jpg
new file mode 100644
index 0000000..fd15d59
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/bcrater.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/bleporte.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/bleporte.jpg 
b/FlexStore/mx/src/assets/pic/bleporte.jpg
new file mode 100644
index 0000000..c4769e8
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/bleporte.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/bvanbrocklin.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/bvanbrocklin.jpg 
b/FlexStore/mx/src/assets/pic/bvanbrocklin.jpg
new file mode 100644
index 0000000..489fa2e
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/bvanbrocklin.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/ccarpenter.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/ccarpenter.jpg 
b/FlexStore/mx/src/assets/pic/ccarpenter.jpg
new file mode 100644
index 0000000..c1dc3d8
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/ccarpenter.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/clampberto.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/clampberto.jpg 
b/FlexStore/mx/src/assets/pic/clampberto.jpg
new file mode 100644
index 0000000..9deacd2
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/clampberto.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/davenon.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/davenon.jpg 
b/FlexStore/mx/src/assets/pic/davenon.jpg
new file mode 100644
index 0000000..6a2a142
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/davenon.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/dmcgoyal.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/dmcgoyal.jpg 
b/FlexStore/mx/src/assets/pic/dmcgoyal.jpg
new file mode 100644
index 0000000..1124b71
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/dmcgoyal.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/dwillhelm.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/dwillhelm.jpg 
b/FlexStore/mx/src/assets/pic/dwillhelm.jpg
new file mode 100644
index 0000000..fd15d59
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/dwillhelm.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/esunderland.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/esunderland.jpg 
b/FlexStore/mx/src/assets/pic/esunderland.jpg
new file mode 100644
index 0000000..c4769e8
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/esunderland.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/jproctor.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/jproctor.jpg 
b/FlexStore/mx/src/assets/pic/jproctor.jpg
new file mode 100644
index 0000000..1111787
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/jproctor.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/mfields.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/mfields.jpg 
b/FlexStore/mx/src/assets/pic/mfields.jpg
new file mode 100644
index 0000000..489fa2e
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/mfields.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/pdempsey.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/pdempsey.jpg 
b/FlexStore/mx/src/assets/pic/pdempsey.jpg
new file mode 100644
index 0000000..9deacd2
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/pdempsey.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/ptranep.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/ptranep.jpg 
b/FlexStore/mx/src/assets/pic/ptranep.jpg
new file mode 100644
index 0000000..4b9a03b
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/ptranep.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/rcrawley.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/rcrawley.jpg 
b/FlexStore/mx/src/assets/pic/rcrawley.jpg
new file mode 100644
index 0000000..9b60320
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/rcrawley.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/rdreifus.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/rdreifus.jpg 
b/FlexStore/mx/src/assets/pic/rdreifus.jpg
new file mode 100644
index 0000000..6a2a142
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/rdreifus.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/pic/twong.jpg
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/pic/twong.jpg 
b/FlexStore/mx/src/assets/pic/twong.jpg
new file mode 100644
index 0000000..1124b71
Binary files /dev/null and b/FlexStore/mx/src/assets/pic/twong.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/support_map.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/support_map.png 
b/FlexStore/mx/src/assets/support_map.png
new file mode 100644
index 0000000..c2f2394
Binary files /dev/null and b/FlexStore/mx/src/assets/support_map.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/support_mapmarker_a.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/support_mapmarker_a.png 
b/FlexStore/mx/src/assets/support_mapmarker_a.png
new file mode 100644
index 0000000..20c21e1
Binary files /dev/null and b/FlexStore/mx/src/assets/support_mapmarker_a.png 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/support_mapmarker_b.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/support_mapmarker_b.png 
b/FlexStore/mx/src/assets/support_mapmarker_b.png
new file mode 100644
index 0000000..069ccd8
Binary files /dev/null and b/FlexStore/mx/src/assets/support_mapmarker_b.png 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/support_mapmarker_c.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/support_mapmarker_c.png 
b/FlexStore/mx/src/assets/support_mapmarker_c.png
new file mode 100644
index 0000000..f6b587e
Binary files /dev/null and b/FlexStore/mx/src/assets/support_mapmarker_c.png 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/support_mapmarker_plus.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/support_mapmarker_plus.png 
b/FlexStore/mx/src/assets/support_mapmarker_plus.png
new file mode 100644
index 0000000..4192088
Binary files /dev/null and b/FlexStore/mx/src/assets/support_mapmarker_plus.png 
differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/assets/trashcan.png
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/assets/trashcan.png 
b/FlexStore/mx/src/assets/trashcan.png
new file mode 100644
index 0000000..9df75d7
Binary files /dev/null and b/FlexStore/mx/src/assets/trashcan.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/beige.css
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/beige.css b/FlexStore/mx/src/beige.css
new file mode 100644
index 0000000..e93830d
--- /dev/null
+++ b/FlexStore/mx/src/beige.css
@@ -0,0 +1,166 @@
+/*
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+*/
+
+/* Style for color-specific state - Beige */
+
+/*
+//----------------------------
+//  Global styles
+//----------------------------
+*/
+.global
+{
+    highlightAlphas:        .5, .25;
+    borderColor:            #939A9D;
+    headerColors:           #A65904, #E68701;
+    themeColor:             #75B1CE;
+    rollOverColor:          #D6E6EE;
+    selectionColor:         #B8D5E4;
+}
+
+/*
+//----------------------------
+// Type selectors
+//----------------------------
+*/
+Application
+{
+    backgroundColor:           #EAE6DD;
+    backgroundImage:        Embed("assets/beige_background.jpg");
+}
+
+/*
+//----------------------------
+// Apply to Panels and Alerts by default
+//----------------------------
+*/
+.windowStatus {
+       color: #FFCC99;
+}
+
+.windowStyles {                /* catalog panel's title text */
+       color: #FFCC99;
+}
+
+/*
+//----------------------------
+// Named styles
+//----------------------------
+*/
+
+.colorPanel /* for the background of some surfaces */
+{
+    borderStyle:            "solid";
+    borderThickness:        0;
+    backgroundColor:           #BCB29F;
+    backgroundAlpha:           0.4;
+    color:                                     #170505;
+    cornerRadius:           4;
+    dropShadowEnabled:      true;
+}
+
+.homeProgramHeader /* in HomeView */
+{
+    fontWeight:             "bold";
+    fontSize:               13;
+    color:                  #BE7E3F;
+}
+
+.homeMap
+{
+    borderStyle:            "solid";
+    cornerRadius:           4;
+    backgroundColor:        #BE7E3F;
+    alpha:                  1;
+    dottedMap:              Embed("assets/beige_dotted_map.png");
+}
+
+.instructions
+{
+    alpha:                  .85;
+    color:                  #5C5857;
+}
+
+.storeControlBar
+{
+    fillAlphas:                        .60, .40;
+    fillColors:                        #8F8879, #BCB29F;
+    highlightAlphas:           .05, .25;
+    cornerRadius:                      3;
+       shadowDistance:         4;
+       paddingLeft:            0;
+       paddingRight:           0;
+       paddingTop:             0;
+       paddingBottom:          0;
+       horizontalGap:          0;
+    storeLogo:              Embed("assets/logo_orange.png");
+}
+
+.storeButtonBar
+{
+    cornerRadius:           0;
+    buttonStyleName:        "storeButton";
+    themeColor:             #A65904;
+}
+
+.storeButton
+{
+    cornerRadius:           0;
+    fillColors:             #8F8879, #BCB29F, #A65904, #E68701;
+    fillAlphas:             1, 1;
+    highlightAlphas:        .5, .25;
+    fontWeight:             "normal";
+    selectedOverSkin:       
ClassReference("samples.flexstore.ButtonBarButtonSkin");
+    selectedUpSkin:         
ClassReference("samples.flexstore.ButtonBarButtonSkin");
+    overSkin:               
ClassReference("samples.flexstore.ButtonBarButtonSkin");
+}
+
+.catalogTitleButtonSelected
+{
+    color:                  #FFFFFF;
+    fontWeight:             "bold";
+}
+
+.catalogTitleButtonDeselected
+{
+    color:                  #222222;
+    fontWeight:             "bold";
+}
+
+.catalogTitleButtonHighlighted
+{
+    color:                  #FFCC99;
+    fontWeight:             "bold";
+}
+
+.catalogPanel
+{
+    highlightAlphas:        .5, .25;
+    headerColors:           #A65904, #E68701;
+    borderAlpha:            1;
+    borderColor:            #FFFFFF;
+    borderThicknessRight:   1;
+    borderThicknessBottom:  1;
+    paddingRight:           0;
+    paddingBottom:          0;
+}
+
+

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/blue.css
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/blue.css b/FlexStore/mx/src/blue.css
new file mode 100644
index 0000000..58e98cd
--- /dev/null
+++ b/FlexStore/mx/src/blue.css
@@ -0,0 +1,165 @@
+/*
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+*/
+
+/* Style for color-specific state - Beige */
+
+/*
+//----------------------------
+//  Global styles
+//----------------------------
+*/
+.global
+{
+    highlightAlphas:        .5, .25;
+    borderColor:            #939A9D;
+    headerColors:           #456F84, #9ABBC9;
+    themeColor:             #75B1CE;
+    rollOverColor:          #D6E6EE;
+    selectionColor:         #B8D5E4;
+}
+
+/*
+//----------------------------
+// Type selectors
+//----------------------------
+*/
+Application
+{
+    backgroundColor:           #AAB2B7;
+    backgroundImage:        Embed("assets/blue_background.jpg");
+}
+
+/*
+//----------------------------
+// Apply to Panels and Alerts by default
+//----------------------------
+*/
+.windowStatus {
+       color: #BDE9FA;
+}
+
+.windowStyles {                /* catalog panel's title text */
+       color: #BDE9FA;
+}
+
+/*
+//----------------------------
+// Named styles
+//----------------------------
+*/
+
+.colorPanel /* for the background of some surfaces */
+{
+    borderStyle:            "solid";
+    borderThickness:        0;
+    backgroundColor:           #BDD6E2;
+    backgroundAlpha:           0.4;
+    color:                                     #170505;
+    cornerRadius:           4;
+    dropShadowEnabled:      true;
+}
+
+.homeProgramHeader /* in HomeView */
+{
+    fontWeight:             "bold";
+    fontSize:               13;
+    color:                  #7AA4B9;
+}
+
+.homeMap
+{
+    borderStyle:            "solid";
+    cornerRadius:           4;
+    backgroundColor:        #7AA4B9;
+    alpha:                  1;
+    dottedMap:              Embed("assets/blue_dotted_map.png");
+}
+
+.instructions
+{
+    alpha:                  .85;
+    color:                  #5C5857;
+}
+
+.storeControlBar
+{
+    fillAlphas:                        .60, .40;
+    fillColors:                        #4A6F81, #BDD6E2;
+    highlightAlphas:           .05, .25;
+    cornerRadius:                      3;
+       shadowDistance:         4;
+       paddingLeft:            0;
+       paddingRight:           0;
+       paddingTop:             0;
+       paddingBottom:          0;
+       horizontalGap:          0;
+    storeLogo:              Embed("assets/logo_blue.png");
+}
+
+.storeButtonBar
+{
+    cornerRadius:           0;
+    buttonStyleName:        "storeButton";
+    themeColor:             #456F84;
+}
+
+.storeButton
+{
+    cornerRadius:           0;
+    fillColors:             #4A6F81, #BDD6E2, #456F84, #9ABBC9;
+    fillAlphas:             1, 1;
+    highlightAlphas:        .5, .25;
+    fontWeight:             "normal";
+    selectedOverSkin:       
ClassReference("samples.flexstore.ButtonBarButtonSkin");
+    selectedUpSkin:         
ClassReference("samples.flexstore.ButtonBarButtonSkin");
+    overSkin:               
ClassReference("samples.flexstore.ButtonBarButtonSkin");
+}
+
+.catalogTitleButtonSelected
+{
+    color:                  #FFFFFF;
+    fontWeight:             "bold";
+}
+
+.catalogTitleButtonDeselected
+{
+    color:                  #222222;
+    fontWeight:             "bold";
+}
+
+.catalogTitleButtonHighlighted
+{
+    color:                  #BDE9FA;
+    fontWeight:             "bold";
+}
+
+.catalogPanel
+{
+    highlightAlphas:        .5, .25;
+    headerColors:           #456F84, #9ABBC9;
+    borderAlpha:            1;
+    borderColor:            #FFFFFF;
+    borderThicknessRight:   1;
+    borderThicknessBottom:  1;
+    paddingRight:           0;
+    paddingBottom:          0;
+}
+

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/data/catalog.xml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/data/catalog.xml 
b/FlexStore/mx/src/data/catalog.xml
new file mode 100644
index 0000000..423e177
--- /dev/null
+++ b/FlexStore/mx/src/data/catalog.xml
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+ 
+ http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ 
+ -->
+<catalog>
+
+    <product productId="1">
+        <name>Andrew Brilliam</name>
+        <description>15 years experience. 8 years with Flex.  Specializing in 
Text Layout Framework</description>
+        <price>60.00</price>
+        <image>assets/pic/abrilliam.jpg</image>
+        <experience>15</experience>
+        <blazeds>false</blazeds>
+        <mobile>false</mobile>
+        <video>false</video>
+        <highlight1>Text Layout Framework</highlight1>
+               <highlight2>Parsley</highlight2>
+    </product>
+
+    <product productId="2">
+        <name>Annette Kotter</name>
+        <description>Specializing in custom components.  PHP 
servers.</description>
+        <price>55</price>
+        <image>assets/pic/akotter.jpg</image>
+        <experience>3</experience>
+        <blazeds>true</blazeds>
+        <mobile>false</mobile>
+        <video>false</video>
+        <highlight1>Custom Components</highlight1>
+               <highlight2>PHP</highlight2>
+    </product>
+
+    <product productId="3">
+        <name>Ben Crater</name>
+        <description>Specializing in BlazeDS backends.</description>
+        <price>55</price>
+        <image>assets/pic/bcrater.jpg</image>
+        <experience>4</experience>
+        <blazeds>true</blazeds>
+        <mobile>false</mobile>
+        <video>false</video>
+        <highlight1>BlazeDS</highlight1>
+               <highlight2>Remote Object</highlight2>
+    </product>
+
+    <product productId="4">
+        <name>Beth Leporte</name>
+        <description>BlazeDS or PHP servers.  Multimedia 
messagin.</description>
+        <price>70.00</price>
+        <image>assets/pic/bleporte.jpg</image>
+        <experience>6</experience>
+        <blazeds>true</blazeds>
+        <mobile>false</mobile>
+        <video>false</video>
+        <highlight1>Multimedia messaging</highlight1>
+               <highlight2>BlazeDS</highlight2>
+    </product>
+
+    <product productId="5">
+        <name>Brad Van Brocklin</name>
+        <description>Emphasis on mobile application development</description>
+        <price>80</price>
+        <image>assets/pic/bvanbrocklin.jpg</image>
+        <experience>6</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>false</video>
+        <highlight1>Mobile</highlight1>
+               <highlight2>Android</highlight2>
+    </product>
+
+    <product productId="6">
+        <name>Carlos Carpenter</name>
+        <description>Built many mobile apps and video apps.</description>
+        <price>80</price>
+        <image>assets/pic/ccarpenter.jpg</image>
+        <experience>4</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Mobile</highlight1>
+               <highlight2>Video</highlight2>
+    </product>
+
+    <product productId="7">
+        <name>Christine Lampberto</name>
+        <description>7 years experience building mobile 
applications.</description>
+        <price>90</price>
+        <image>assets/pic/clampberto.jpg</image>
+        <experience>7</experience>
+        <blazeds>true</blazeds>
+        <mobile>true</mobile>
+        <video>false</video>
+        <highlight1>BlazeDS</highlight1>
+               <highlight2>Mobile</highlight2>
+    </product>
+
+    <product productId="8">
+        <name>Dee Dee Avenon</name>
+        <description>I've been making video apps for over 5 years and mobile 
apps for about 3 years.</description>
+        <price>100</price>
+        <image>assets/pic/davenon.jpg</image>
+        <experience>10</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="9">
+        <name>Denise McGoyal</name>
+        <description>Specializing in video sharing applicaions.  MObile apps 
too.</description>
+        <price>100</price>
+        <image>assets/pic/dmcgoyal.jpg</image>
+        <experience>5</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="10">
+        <name>Daniel Willhelm</name>
+        <description>I'm into mobile apps, video apps and social 
apps.</description>
+        <price>70</price>
+        <image>assets/pic/dwillhelm.jpg</image>
+        <experience>90</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="11">
+        <name>Eunice Sunderland</name>
+        <description>My recent focus is on mobile apps, but I have 
considerable experience in video apps as well.</description>
+        <price>150</price>
+        <image>assets/pic/esunderland.jpg</image>
+        <experience>30</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="12">
+        <name>Jane Proctor</name>
+        <description>I've been developing mobile companion apps for the past 3 
years.</description>
+        <price>75</price>
+        <image>assets/pic/jproctor.jpg</image>
+        <experience>6</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="13">
+        <name>Mark Fields</name>
+        <description>Video is my favorite thing.  Mobile is also a 
favorite.</description>
+        <price>60</price>
+        <image>assets/pic/mfields.jpg</image>
+        <experience>70</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="14">
+        <name>Patricia Dempsey</name>
+        <description>I've been cranking out mobile apps for the past 6 years.  
A few have involved video as well.</description>
+        <price>120</price>
+        <image>assets/pic/pdempsey.jpg</image>
+        <experience>7</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="15">
+        <name>Paul Trandep</name>
+        <description>I've been working on a mobile app that incorporates 
music.  It just shipped so now I'm looking for the next fun thing to work 
on.'</description>
+        <price>50</price>
+        <image>assets/pic/ptranep.jpg</image>
+        <experience>6</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="16">
+        <name>Roscoe Crawley</name>
+        <description>My main specialty is in BlazeDS connected to 
Flex.</description>
+        <price>59</price>
+        <image>assets/pic/rcrawley.jpg</image>
+        <experience>9</experience>
+        <blazeds>true</blazeds>
+        <mobile>false</mobile>
+        <video>false</video>
+        <highlight1>BlazeDS</highlight1>
+               <highlight2>Remote Object</highlight2>
+    </product>
+
+    <product productId="17">
+        <name>Renee Dreifus</name>
+            <description>I can do it all: BlazeDS, Mobile, Video.</description>
+        <price>79</price>
+        <image>assets/pic/rdreifus.jpg</image>
+        <experience>90</experience>
+        <blazeds>true</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+    <product productId="18">
+        <name>Tina Wong</name>
+        <description>I've been developing Flex apps since 1.5.  Most of my 
recent work has been on mobile apps.</description>
+        <price>109</price>
+        <image>assets/pic/twong.jpg</image>
+        <experience>9</experience>
+        <blazeds>false</blazeds>
+        <mobile>true</mobile>
+        <video>true</video>
+        <highlight1>Video Applications</highlight1>
+               <highlight2>Mobile Applications</highlight2>
+    </product>
+
+</catalog>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/main.css
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/main.css b/FlexStore/mx/src/main.css
new file mode 100644
index 0000000..23fd5c2
--- /dev/null
+++ b/FlexStore/mx/src/main.css
@@ -0,0 +1,83 @@
+/*
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+*/
+
+/*
+//----------------------------
+//  Global styles
+//----------------------------
+*/
+.global {
+    color:                  #170505;
+    fillAlphas:             1.00, 1.00; /* last pair are for OVER state */
+    fillColors:                    #FFFFFF, #DDDDDD, #FFFFFF, #EEEEEE;
+}
+
+/*
+//----------------------------
+// Type selectors
+//----------------------------
+*/
+
+HRule
+{
+    color:                  #666666;
+}
+
+/*
+//----------------------------
+// Named styles
+//----------------------------
+*/
+.glass {
+    borderColor:                   #767473;
+    fillAlphas:                    .60, .60, .60, .60;
+    fillColors:                    #888888, #F3F3F3, #9E9E9E, #FCFCFC;
+    highlightAlphas:       .07, .45;
+}
+
+.glassSlider
+{
+    fillAlphas:                    .80, .80, .80, .80;
+    fillColors:                    #F3F3F3, #BBBBBB, #FCFCFC, #CCCCCC;
+}
+
+.listItem
+{
+    paddingLeft:            4;
+    paddingRight:           4;
+    horizontalGap:          5;
+    verticalAlign:          "middle";
+    backgroundColor:        #FFFFFF;
+    backgroundAlpha:        .5;
+    borderStyle:            "outset";
+}
+
+.sectionHeader
+{
+    fontWeight:             "bold";
+    fontSize:               11;
+}
+
+.homeSection
+{
+    cornerRadius:           4;
+    borderStyle:            "solid";
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/productsView/CatalogTitleButtons.mxml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/productsView/CatalogTitleButtons.mxml 
b/FlexStore/mx/src/productsView/CatalogTitleButtons.mxml
new file mode 100644
index 0000000..526f1b6
--- /dev/null
+++ b/FlexStore/mx/src/productsView/CatalogTitleButtons.mxml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"; 
+    verticalAlign="middle" 
+    paddingTop="0" 
+    paddingBottom="0"
+    horizontalScrollPolicy="off"
+       currentState="showFilter">
+    <mx:Script>
+        <![CDATA[
+            [Bindable]
+            public var cartCount:int;
+            
+            private function rollOverLabel(event:Event):void
+            {
+                Label(event.target).setStyle("styleName", 
"catalogTitleButtonHighlighted");
+            }
+            
+            private function rollOutLabel(event:Event):void
+            {
+                Label(event.target).setStyle("styleName", 
"catalogTitleButtonDeselected");
+            }
+        ]]>
+    </mx:Script>
+    
+    <mx:Spacer width="100%" />
+    <mx:Label id="findPhones" text="Find Developers" click="currentState = 
'showFilter'"/>
+    <mx:VRule height="{findPhones.height * .75}" themeColor="#333333" 
alpha=".75"/>
+    <mx:Label id="viewCart" text="View Cart ({cartCount} items)" 
click="currentState = 'showCart'"/>
+    
+    <mx:states>
+        <mx:State name="showFilter">
+            <mx:SetStyle target="{findPhones}" name="styleName" 
value="catalogTitleButtonSelected" />
+            <mx:SetStyle target="{viewCart}" name="styleName" 
value="catalogTitleButtonDeselected" />
+            <mx:SetEventHandler target="{viewCart}" name="rollOver" 
handlerFunction="rollOverLabel" />
+            <mx:SetEventHandler target="{viewCart}" name="rollOut" 
handlerFunction="rollOutLabel" />
+        </mx:State>
+        <mx:State name="showCart">
+            <mx:SetStyle target="{viewCart}" name="styleName" 
value="catalogTitleButtonSelected" />            
+            <mx:SetStyle target="{findPhones}" name="styleName" 
value="catalogTitleButtonDeselected" />
+            <mx:SetEventHandler target="{findPhones}" name="rollOver" 
handlerFunction="rollOverLabel" />
+            <mx:SetEventHandler target="{findPhones}" name="rollOut" 
handlerFunction="rollOutLabel" />
+        </mx:State>
+    </mx:states>
+</mx:HBox>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/productsView/Grip.mxml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/productsView/Grip.mxml 
b/FlexStore/mx/src/productsView/Grip.mxml
new file mode 100644
index 0000000..97f4b45
--- /dev/null
+++ b/FlexStore/mx/src/productsView/Grip.mxml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"; width="17" height="100%" 
+    paddingTop="10" horizontalAlign="center">
+    <mx:Script>
+        <![CDATA[
+           [Bindable]
+           public var gripTip:String; 
+           
+           [Bindable]
+           public var gripIcon:Class;
+        ]]>
+    </mx:Script>
+
+    <mx:Image source="{gripIcon}" />
+    <mx:Image source="@Embed('/assets/grip.png')" toolTip="{gripTip}" />
+    
+</mx:VBox>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/c652cfba/FlexStore/mx/src/productsView/ProductCart.mxml
----------------------------------------------------------------------
diff --git a/FlexStore/mx/src/productsView/ProductCart.mxml 
b/FlexStore/mx/src/productsView/ProductCart.mxml
new file mode 100644
index 0000000..81ddd13
--- /dev/null
+++ b/FlexStore/mx/src/productsView/ProductCart.mxml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"; 
+    xmlns:productsView="productsView.*"
+    horizontalAlign="right"
+    paddingTop="8"
+    paddingBottom="8"
+    paddingRight="4"
+    paddingLeft="4"
+    horizontalScrollPolicy="off"
+    verticalScrollPolicy="off">
+    
+    <mx:Script>
+        <![CDATA[
+        
+        import mx.controls.Alert;
+        
+        import samples.flexstore.Product;
+        import samples.flexstore.ProductListEvent;
+        
+        [Bindable]
+        public var numProducts:int=0;
+        
+        [Bindable]
+        private var total:Number = 0;
+
+        private const SHIPPING:Number = 1.99;
+        
+        private function productListEventHandler(event:ProductListEvent):void
+        {
+            switch (event.type)
+            {
+                case ProductListEvent.ADD_PRODUCT:
+                    event.product.qty = 0;  
+                    //fall through into the same logic as dup          
+                case ProductListEvent.DUPLICATE_PRODUCT:
+                    event.product.qty++;
+                    total += event.product.price;
+                    numProducts++;
+                    break;            
+                case ProductListEvent.PRODUCT_QTY_CHANGE:
+                case ProductListEvent.REMOVE_PRODUCT:
+                    var items:Array = productList.items;
+                    total = 0; 
+                    numProducts = 0;
+                    for (var i:int=0; i < items.length; i++)
+                    {
+                        var product:Product = items[i].product;
+                        total += product.qty * product.price;
+                        numProducts += product.qty;
+                    }       
+                    break;
+                default:
+                    break;
+            }
+        }
+        
+        ]]>
+    </mx:Script>
+    
+    <mx:CurrencyFormatter currencySymbol="$" id="cf" precision="2"/>
+    
+    <mx:Label width="100%" text="Your Shopping Cart" 
styleName="sectionHeader"/>
+        
+    <productsView:ProductList id="productList" height="100%" width="100%"
+        newItemStartX="-100" newItemStartY="-100" 
+        addProduct="productListEventHandler(event)"
+        duplicateProduct="productListEventHandler(event)"
+        productQtyChange="productListEventHandler(event)"
+        removeProduct="productListEventHandler(event)"
+        showQuantity="true"
+        />
+    
+    <mx:Form verticalGap="0" paddingRight="0">
+
+        <mx:FormItem label="Total:">
+
+            <mx:Label width="70" text="{cf.format(total)}" textAlign="right"/>
+
+        </mx:FormItem>
+
+        <mx:FormItem label="Service Fee:">
+
+            <mx:Label width="70" text="{cf.format(numProducts * SHIPPING)}" 
textAlign="right"/>
+
+        </mx:FormItem>
+
+        <mx:FormItem label="Grand Total:" fontWeight="bold">
+
+            <mx:Label width="70" text="{cf.format(total + (numProducts * 
SHIPPING))}" textAlign="right"/>
+
+        </mx:FormItem>
+
+    </mx:Form>
+
+    <mx:Button label="Submit Order"  click="Alert.show('This feature is not 
implemented in this sample', 'Submit Order')"/>
+
+</mx:VBox>

Reply via email to