http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml
 
b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml
deleted file mode 100755
index 7b415da..0000000
--- 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml
+++ /dev/null
@@ -1,220 +0,0 @@
-<?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.
-
--->
-<js:Container xmlns:fx="http://ns.adobe.com/mxml/2009";
-                   xmlns:js="library://ns.apache.org/flexjs/basic" 
-    width="{COL_WIDTH_4}" height="{COL_HEIGHT_4}" height.compare="502"
-    width.x4cols="{COL_WIDTH_4}" height.x4cols="{COL_HEIGHT_4}"
-    width.x3cols="{COL_WIDTH_3}" height.x3cols="{COL_HEIGHT_3}"
-    width.x2cols="{COL_WIDTH_2}" height.x2cols="{COL_HEIGHT_2}"
-    rollOver="rollOverHandler(event)"
-    rollOut="rollOutHandler(event)"
-    mouseDown="mouseDownHandler(event)"
-    mouseMove="mouseMoveHandler(event)"
-    mouseUp="mouseUpHandler(event)"
-    click="clickHandler(event)"
-    currentState="x4cols"
-    >
-    <!-- automationName="{product.name}" -->
-    <js:beads>
-        <js:ContainerDataBinding />
-        <js:LayoutChangeNotifier watchedProperty="{borderStyles.borderColor}" 
initialValue="#FFFFFF" />
-    </js:beads>
-    <js:style>
-        <js:BindableCSSStyles id="borderStyles" borderStyle="solid" 
borderWidth="1"
-                               borderColor="#FFFFFF" 
backgroundColor="#FFFFFF"/>
-    </js:style>
-    <fx:Metadata>
-        [Event(name="purchase", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="compare", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="details", type="samples.flexstore.ProductThumbEvent")]
-    </fx:Metadata>
-
-    <fx:Script>
-        <![CDATA[
-
-               import org.apache.flex.events.*;
-        import org.apache.flex.utils.PointUtils;
-            
-        import samples.flexstore.Product;
-        import samples.flexstore.ProductThumbEvent;
-        
-        public static const COL_WIDTH_4:int = 162;
-        public static const COL_HEIGHT_4:int = 122;
-        public static const COL_WIDTH_3:int = 217;
-        public static const COL_HEIGHT_3:int = 165;
-        public static const COL_WIDTH_2:int = 327;
-        public static const COL_HEIGHT_2:int = 250;
-        public static const COMPARE_WIDTH:int = 162;
-        public static const HORIZONTAL_GAP:int = 2;
-        public static const VERTICAL_GAP:int = 3;
-
-        [Bindable]
-        public var product:Product;
-
-        private function rollOverHandler(event:MouseEvent):void
-               {
-            borderStyles.borderColor = "#CCCCCC";
-            //style["dropShadowEnabled"] = true;
-            buttons.visible = true;
-        }
-
-        private function rollOutHandler(event:MouseEvent):void
-               {
-            borderStyles.borderColor = "#FFFFFF";
-            //style["dropShadowEnabled"] = false;
-                       buttons.visible = false;
-        }
-
-        private var dragStartPoint:Point;
-
-        public function mouseDownHandler(event:MouseEvent):void
-        {
-            if (event.target != purchase &&
-                event.target != compare &&
-                event.target != details)
-            {
-                dragStartPoint = new Point(event.clientX, event.clientY);
-            }
-        }
-
-        public function mouseMoveHandler(event:MouseEvent):void
-        {
-            if (dragStartPoint != null)
-            {
-                var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START, 
true);
-                dragEvent.clientX = dragStartPoint.x;
-                dragEvent.clientY = dragStartPoint.y;
-                dragEvent.buttonDown = true;
-                dispatchEvent(dragEvent);
-
-                rollOutHandler(event);
-
-                dragStartPoint = null;
-            }
-        }
-
-        public function mouseUpHandler(event:MouseEvent):void
-        {
-            if (dragStartPoint != null)
-            {
-                dragStartPoint = null;
-            }
-        }
-
-        public function 
clickHandler(event:org.apache.flex.events.MouseEvent):void
-        {
-            if (event.target != purchase &&
-                event.target != compare &&
-                event.target != details)
-            {
-                dispatchEvent(new ProductThumbEvent(ProductThumbEvent.DETAILS, 
product));
-            }
-        }
-
-       ]]>
-    </fx:Script>
-    <fx:Declarations>
-        <js:CurrencyFormatter currencySymbol="$" id="cf" 
fractionalDigits="2"/>        
-    </fx:Declarations>
-
-    <js:VContainer id="vb" width="100%" height="100%">
-        <js:style>
-            <js:SimpleCSSStyles paddingLeft="6" paddingTop="4" 
paddingRight="8" paddingBottom="4" />
-                                 <!--  gap="0">  -->
-        </js:style>
-        
-
-        <js:Label text="{product.name}" style="fontWeight:bold"/>
-
-        <js:HContainer width="100%" >
-            <js:style>
-                <js:SimpleCSSStyles paddingTop="0" /> <!-- gap="4 -->"
-            </js:style>
-
-            <js:Image id="img" height="45" width="45" 
-                     width.x3cols="60" height.x3cols="60"
-                     width.x2cols="60" height.x2cols="60"
-                     source="{product.image}" />
-
-            <js:VContainer id="descr" height="100%" >
-                <js:style>
-                    <js:SimpleCSSStyles paddingTop="0" right="0" /> <!--  
gap="0"  -->
-                </js:style>
-                <js:Label text="{product.featureString}" width="60" 
height="48" />
-                <js:Label text="{cf.format(product.price)}" 
style="fontWeight:bold"/>
-                               <js:Spacer height="4"/>
-                <js:Label text="{product.highlight1}" style="color:#EE8D0C" 
includeIn="x3cols, x2cols"/>
-                <js:Label text="{product.highlight2}" style="color:#EE8D0C" 
includeIn="x3cols, x2cols"/>
-            </js:VContainer>
-
-        </js:HContainer>
-
-        <js:Spacer height="8"/>
-
-        <js:Label id="compYears" text="Years: {product.experience}" 
includeIn="compare"/>
-        <js:Label id="compBlaze" text="BlazeDS: {product.blazeds}" 
includeIn="compare"/>
-        <js:Label id="compMobile" text="Mobile: {product.mobile}" 
includeIn="compare"/>
-        <js:Label id="compVideo" text="Video: {product.video}" 
includeIn="compare"/>
-        <js:Label id="compHigh1" text="Highlight: {product.highlight1}" 
includeIn="compare"/>
-        <js:Label id="compHigh2" text="Highlight: {product.highlight2}" 
includeIn="compare"/>
-        <js:Label text="Description:" includeIn="compare"/>
-        <js:MultilineLabel id="compDesc" text="{product.description}" 
width="100%" includeIn="compare"/>
-    </js:VContainer>
-
-
-    <js:VContainer id="buttons" visible="false" width="30">
-        <js:style>
-            <js:SimpleCSSStyles paddingRight="8" right="8" top="12" /> <!-- 
gap="4" -->
-        </js:style>
-        <js:ImageButton id="purchase" source="assets/button_cart_empty.png" 
className="hoverButton"
-            click="dispatchEvent(new 
ProductThumbEvent(ProductThumbEvent.PURCHASE, product))" 
-            width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to cart"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="compare" source="assets/button_compare.png" 
className="hoverButton"
-            click="dispatchEvent(new 
ProductThumbEvent(ProductThumbEvent.COMPARE, product))" 
-            width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to compare list"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="details" source="assets/button_details.png" 
className="hoverButton"
-            click="dispatchEvent(new 
ProductThumbEvent(ProductThumbEvent.DETAILS, product))" 
-            width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Show details"/>
-            </js:beads>
-        </js:ImageButton>
-    </js:VContainer>
-
-    <js:states>
-
-        <js:State name="compare" />
-
-        <js:State name="x4cols" />
-
-        <js:State name="x3cols" />
-
-        <js:State name="x2cols"/>
-    </js:states>
-
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml 
b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml
deleted file mode 100755
index fa32497..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?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.
-
--->
-<js:Container xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-                 xmlns:js="library://ns.apache.org/flexjs/basic" 
-    xmlns:productsView="productsView.*"
-    >
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-
-    <fx:Metadata>
-        [Event(name="purchase", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="compare", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="browse", type="samples.flexstore.ProductThumbEvent")]
-    </fx:Metadata>
-
-    <fx:Script>
-        <![CDATA[
-
-               import samples.flexstore.Product;
-               import samples.flexstore.ProductThumbEvent;
-
-        private var _product:Product;
-        
-        [Bindable]
-        public function get product():Product
-        {
-            return _product;
-        }
-        
-        public function set product(p:Product):void
-        {
-            _product = p;
-            tn.selectedIndex = 0;
-        }
-        
-       ]]>
-    </fx:Script>
-
-    <fx:Declarations>
-        <js:CurrencyFormatter currencySymbol="$" id="cf" 
fractionalDigits="2"/>        
-    </fx:Declarations>
-
-    <js:states>
-        <js:State name="Features" />
-        <js:State name="Support" />
-    </js:states>
-    
-    <js:transitions>
-        <js:Transition>
-            <js:Fade />
-        </js:Transition>
-    </js:transitions>
-    
-    <js:ButtonBar id="tn" width="100%" change="currentState = tn.selectedItem 
as String">
-        <js:dataProvider>
-            <fx:Array>
-                <fx:String>Features</fx:String>
-                <fx:String>Support</fx:String>
-            </fx:Array>
-        </js:dataProvider>
-    </js:ButtonBar>
-    <js:Container >
-        <js:style>
-            <js:SimpleCSSStyles left="4" right="8" top="34" bottom="4" />
-        </js:style>
-                    
-
-        <js:VContainer includeIn="Features" >
-            <js:style>
-                <!--<js:SimpleCSSStyles gap="8"-->
-                <js:SimpleCSSStyles
-                    left="8" top="8" right="8" bottom="8"/>
-            </js:style>
-            <js:Container style="left:0px;right:0px">
-
-                <js:Image id="img" width="101" height="101" 
source="{product.image}"/>
-
-                <js:VContainer id="descr" >
-                    <js:style>
-                        <js:SimpleCSSStyles top="0" left="105" right="0" 
bottom="20" />
-                        <!--<js:SimpleCSSStyles paddingTop="0" gap="4" />-->
-                    </js:style>
-                    
-                    <js:Label text="{product.name}" 
style="fontSize:11;fontWeight:'bold'"/>
-
-                       <js:Label text="{product.featureString}" width="80" 
height="48" />
-
-                    <js:Label text="{product.highlight1}" 
style="color:#EE8D0C"/>
-
-                    <js:Label text="{product.highlight2}" 
style="color:#EE8D0C"/>
-
-                    <js:Label text="{cf.format(product.price)}" 
style="fontWeight:'bold'"/>
-
-                </js:VContainer>
-            </js:Container>
-
-            <js:Label id="descriptionText" 
style="left:0px;right:0px;bottom:0px" text="{product.description}"/>
-
-        </js:VContainer>
-
-        <productsView:ProductSupport width="100%" height="100%" 
includeIn="Support" />
-
-    </js:Container>
-
-    <js:VContainer>
-        <js:style>
-            <js:SimpleCSSStyles marginTop="4" right="16" top="36" />
-        </js:style>
-        <js:Spacer width="100%"/>
-        <js:ImageButton id="purchase" source="assets/button_cart_empty.png" 
click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.PURCHASE, 
product))" width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to cart"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="compare" source="assets/button_compare.png" 
click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.COMPARE, 
product))" width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to compare list"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="tiles" source="assets/button_tiles.png" 
click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.BROWSE, 
product));" width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Back to thumbnail view"/>
-            </js:beads>
-        </js:ImageButton>
-    </js:VContainer>
-
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml 
b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml
deleted file mode 100755
index 26deaa9..0000000
--- 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml
+++ /dev/null
@@ -1,215 +0,0 @@
-<?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.
-
--->
-<js:VContainer xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-                  xmlns:js="library://ns.apache.org/flexjs/basic" 
-    xmlns:productsView="productsView.*"
-    xmlns:flexstore="samples.flexstore.*"
-    height="100%" 
-    currentState="showingThumbnails"
-    initComplete="series.selectedIndex = 0">
-    <js:style>
-        <js:SimpleCSSStyles paddingLeft="4" 
-                               paddingRight="12" 
-                               paddingTop="12" 
-                               paddingBottom="8" 
-                               />
-
-    </js:style>
-    
-    <fx:Metadata>
-       [Event(name="filter", type="samples.flexstore.ProductFilterEvent")] 
-       [Event("compare")]
-    </fx:Metadata>
-    
-    <fx:Script>
-        <![CDATA[
-        import org.apache.flex.html.Slider;
-        import org.apache.flex.html.SimpleAlert; 
-        import samples.flexstore.ProductFilterEvent;
-           
-        private var thumbBeingPressed:Boolean;
-           
-        private function dispatchFilter():void
-        {
-            var event:ProductFilterEvent = 
-                new ProductFilterEvent(filter, thumbBeingPressed);
-            dispatchEvent(event);
-            currentState = "showingThumbnails";
-        }
-        
-        private function sliderValue(values:Array, index:int):Number
-        {
-            return values[index];
-        }
-        
-        private function productRemoved():void
-        {
-            if (currentState == "showingComparison")
-            {
-                if (productList.items.length == 0)
-                {
-                    dispatchFilter();
-                }
-                else
-                {
-                    attemptCompare();
-                }
-            }
-        }
-        
-        private function attemptCompare():void
-        {
-            if (productList.items.length > 0)
-            {
-                dispatchEvent(new Event("compare"));
-                currentState = "showingComparison";
-            }
-            else
-            {
-                SimpleAlert.show("There are no items to compare.", "Compare");
-            }
-        }
-        
-        ]]>
-    </fx:Script>
-    <fx:Declarations>
-        <flexstore:ProductFilter id="filter">
-            <flexstore:experience>{series.selectedItem}</flexstore:experience>
-            <flexstore:minPrice>{loPrice.value}</flexstore:minPrice>
-            <flexstore:maxPrice>{hiPrice.value}</flexstore:maxPrice>
-            <flexstore:blazeds>{cbBlazeDS.selected}</flexstore:blazeds>
-            <flexstore:mobile>{cbMobile.selected}</flexstore:mobile>
-            <flexstore:video>{cbVideo.selected}</flexstore:video>
-        </flexstore:ProductFilter>
-        
-        <js:CurrencyFormatter currencySymbol="$" id="cf"/>    
-        
-    </fx:Declarations>
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-    
-    <js:Label text="Find" className="sectionHeader"/>
-    
-    <js:Container width="100%">
-        <js:beads>
-            <js:FlexibleFirstChildHorizontalLayout />
-        </js:beads>
-        <js:TextInput className="glass" width="100%"/>
-        <js:TextButton className="glass" text="Go" 
click="SimpleAlert.show('This feature is not implemented in this sample', 
'Find')"/>
-    </js:Container>
-
-    <js:Spacer height="18"/>
-
-    <js:HRule width="100%"/>
-
-    <js:Spacer height="8"/>
-
-    <js:HContainer>
-        <js:style>
-            <js:SimpleCSSStyles paddingTop="0" paddingLeft="0" 
verticalAlign="bottom" />
-        </js:style>
-        <js:Label text="Filter" className="sectionHeader"/>
-        <js:Label text="({filter.count} items selected)" >
-            <js:style>
-                <js:SimpleCSSStyles fontWeight="bold" />
-                <!--<js:SimpleCSSStyles color="{getStyle('themeColor')}" 
fontWeight="bold" />-->
-            </js:style>
-        </js:Label>
-    </js:HContainer>
-
-    <js:Spacer height="8"/>
-
-    <js:Label text="Years of Experience"/>
-
-    <js:DropDownList id="series" className="glass" width="140" 
change="dispatchFilter();">
-        <js:dataProvider>
-            <fx:Array>
-                <fx:String>All</fx:String>
-                <fx:String>3</fx:String>
-                <fx:String>5</fx:String>
-                <fx:String>7</fx:String>
-                <fx:String>9</fx:String>
-            </fx:Array>                
-        </js:dataProvider>
-    </js:DropDownList>
-
-    <js:Spacer height="18"/>
-
-    <js:Label text="Price"/>
-
-    <!--<s:HSlider id="priceSlider" className="glassSlider" minimum="0" 
maximum="200" tickInterval="10" snapInterval="10"
-        width="100%" thumbCount="2" values="[0,200]" labels="[$0,$200]" 
liveDragging="true" dataTipFormatFunction="{cf.format}"
-        change="dispatchFilter()"
-        thumbPress="thumbBeingPressed=true"
-        thumbRelease="thumbBeingPressed=false;dispatchFilter()"
-        />-->
-    <js:HContainer id="nsholder" width="100%">
-        <js:NumericStepper width="48%" id="loPrice" minimum="0" 
maximum="{hiPrice.value}" value="0" valueChange="dispatchFilter()" />
-        <js:NumericStepper width="48%" id="hiPrice" minimum="{loPrice.value}" 
maximum="200" value="200" valueChange="dispatchFilter()" />
-    </js:HContainer>
-
-    <js:Spacer height="18"/>
-
-    <js:Label text="Required Features"/>
-
-    <js:Spacer height="4"/>
-
-    <js:CheckBox id="cbBlazeDS" className="glass" text="BlazeDS" 
click="dispatchFilter();"/>
-    <js:Spacer height="4"/>
-    <js:CheckBox id="cbMobile" className="glass" text="Mobile" 
click="dispatchFilter()"/>
-    <js:Spacer height="4"/>
-    <js:CheckBox id="cbVideo" className="glass" text="Video" 
click="dispatchFilter();"/>
-
-    <js:Spacer height="18"/>
-
-    <js:HRule width="100%"/>
-
-    <js:Spacer height="8"/>
-
-        <js:HContainer>
-            <js:Label text="Compare" className="sectionHeader"/>
-            <js:Label text="(Drag items here to compare)" 
className="instructions"/>
-        </js:HContainer>
-
-
-    <js:Spacer height="4"/>
-
-    <!-- height is maxItems * ProductListItem.HEIGHT + 2px border -->
-    <productsView:ProductList id="productList" height="{productList.maxItems * 
ProductListItem.HEIGHT + 2}" width="100%"
-        newItemStartX="300" newItemStartY="-100" maxItems="4" 
-        removeProduct="productRemoved()"/>
-
-    <js:Spacer height="8"/>
-    
-    <js:ImageAndTextButton id="compareButton" className="glass" 
-                  click.showingThumbnails="attemptCompare()"
-                  click.showingComparison="dispatchFilter()"            
-                  text.showingComparison="Back to thumbnail view"
-                  text.showingThumbnails="Compare Items"
-                  image.showingThumbnails="assets/icon_compare.png"
-                  image.showingComparison="assets/icon_tiles.png" />
-    
-    <js:states>
-       <js:State name="showingThumbnails" />
-       <js:State name="showingComparison" />
-    </js:states>
-
-</js:VContainer>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml 
b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml
deleted file mode 100755
index 951b1fa..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?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.
-
--->
-<js:Container xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-                 xmlns:js="library://ns.apache.org/flexjs/basic" 
-    > 
-    <js:style>
-        <js:SimpleCSSStyles borderStyle="solid" borderWidth="1" 
backgroundColor="#BCB29F" />
-    </js:style>
-    <!-- need a background color for drag and drop but can set alpha to 0 -->
-    
-    <fx:Metadata>
-       [Event(name="addProduct", type="samples.flexstore.ProductListEvent")]
-       [Event(name="duplicateProduct", 
type="samples.flexstore.ProductListEvent")]
-       [Event(name="productQtyChange", 
type="samples.flexstore.ProductListEvent")]
-       [Event(name="removeProduct", type="samples.flexstore.ProductListEvent")]
-    </fx:Metadata>
-
-    <fx:Script>
-        <![CDATA[
-        import org.apache.flex.effects.Effect;
-        import org.apache.flex.effects.Move;
-        import org.apache.flex.effects.Sequence;
-        import org.apache.flex.core.DropType;
-        import org.apache.flex.core.IUIBase;
-        import org.apache.flex.events.DragEvent;
-        
-        import samples.flexstore.Product;
-        import samples.flexstore.ProductListEvent;
-        
-        public var items:Array;
-        
-        public var newItemStartX:int;
-        public var newItemStartY:int;
-        [Bindable]
-        public var maxItems:int = 0;
-        public var showQuantity:Boolean;
-        
-        private var playingEffects:Object = new Object();
-        
-        public function addProduct(product:Product):void
-               {
-            if (items == null)
-                items = [];
-            
-            var index:int = indexOf(product.productId);
-            var event:ProductListEvent;
-            var item:ProductListItem;
-            
-            if (index != -1)
-                       {
-                           item = items[index] as ProductListItem;
-                           //if we don't keep track of what's playing a 
double-click can
-                           //cause the list item to keep rising
-                           if (playingEffects[item.uid] == null)
-                           {
-                    var jump:Sequence = new Sequence();
-                    var m1:Move = new Move(item)
-                    m1.yBy = -5;
-                    var m2:Move = new Move(item)
-                    m2.yBy = 5;
-                    jump.addChild(m1);
-                    jump.addChild(m2);
-                    jump.duration = 150;
-                    playingEffects[item.uid] = jump;
-                    jump.addEventListener(Effect.EFFECT_END, 
function(event:Event):void
-                    {
-                       delete playingEffects[item.uid];
-                    });
-                    jump.play();
-                }
-                event = new 
ProductListEvent(ProductListEvent.DUPLICATE_PRODUCT);
-                event.product = item.product;
-                dispatchEvent(event);
-            }
-                       else
-                       {
-                index = items.length;
-                if (maxItems <= 0 || index < maxItems)
-                               {
-                                   item = new ProductListItem();
-                                   if (showQuantity)
-                                   {
-                                       item.currentState = 'showQuantity';
-                                   }
-                                   item.product = product;
-                                   item.percentWidth = 100;
-                                   
item.addEventListener(ProductListEvent.REMOVE_PRODUCT, removeItemHandler);
-                    items[index] = item;
-                    viewport.addElement(item);
-                    layoutItems(index, true);
-                    event = new ProductListEvent(ProductListEvent.ADD_PRODUCT);
-                    event.product = product;
-                    dispatchEvent(event);
-                }
-            }
-        }
-        
-        public function getProducts():Array
-        {
-            var ret:Array = [];
-            for (var i:int = 0; i < items.length; i++)
-            {
-                ret[i] = ProductListItem(items[i]).product;
-            }
-            return ret;
-        }
-        
-        private function removeItemHandler(event:Event):void
-        {
-            var item:ProductListItem = event.target as ProductListItem;
-            var index:int = indexOf(item.product.productId);
-            items.splice(index, 1);
-            viewport.removeElement(item);
-            layoutItems(index);
-        }
-            
-        private function layoutItems(startIndex:int, 
scrollToBottom:Boolean=false):void
-               {
-            var n:int = items.length;
-            var e:Move;
-                       for (var i:int = startIndex; i < n ; i++)
-                       {
-                           var item:ProductListItem = items[i];
-                var yTo:Number = i * (item.height);
-                //still need to prevent items that are already in motion from 
getting
-                //jumpy
-                           if (playingEffects[item.uid] == null)
-                           {
-                    e = new Move(item);
-                    if (item.x == 0 && item.y == 0)
-                               {
-                                       e.xFrom = newItemStartX;
-                                       e.yFrom = newItemStartY;
-                    }
-    
-                    e.xTo = 0;
-                    e.yTo = yTo;
-                    playingEffects[item.uid] = e;
-                    e.addEventListener(Effect.EFFECT_END, 
function(event:Event):void
-                    {
-                       delete playingEffects[item.uid];
-                    });
-                    e.play();
-                }
-                else
-                {
-                    playingEffects[item.uid].pause();
-                    playingEffects[item.uid].yTo = yTo;
-                    playingEffects[item.uid].play();
-                }
-            }
-            //get the last event and if we should scroll make sure we can 
validate
-            //and scroll to maxVPosition
-            if (scrollToBottom)
-            {
-                e.addEventListener(Effect.EFFECT_END, 
function(event:Event):void
-                {
-  //TODO                  scrollingView.model.verticalScrollPosition = 
scrollingView.maxVerticalScrollPosition;    
-                });
-            }
-        }
-        
-        private function indexOf(productId:int):int
-               {
-            var index:int = -1;
-
-            var n:int = items.length;
-                       for (var i:int = 0; i < items.length; i++)
-                       {
-                if (ProductListItem(items[i]).product.productId == productId)
-                               {
-                    index = i;
-                    break;
-                }
-            }
-
-            return index;
-        }     
-
-        private function doDragEnter(event:DragEvent):void
-        {
-            trace("doDragEnter");
-            dmc.acceptDragDrop(event.target as IUIBase, DropType.COPY);
-        }
-
-        private function doDragDrop(event:DragEvent):void
-        {
-            trace("doDragDrop");
-            var product:Product = DragEvent.dragSource as Product;
-            addProduct(product);
-        }  
- 
-        ]]>
-    </fx:Script>
-    <js:beads>
-        <js:DropMouseController id="dmc" dragEnter="doDragEnter(event)" 
dragDrop="doDragDrop(event)" />
-        <js:VerticalLayout />
-               <js:ScrollingViewport id="scrollingView" />
-    </js:beads>
-    <js:Container id="viewport" width="100%" height="100%" >
-    </js:Container>
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml 
b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml
deleted file mode 100755
index 8e98c3b..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml
+++ /dev/null
@@ -1,140 +0,0 @@
-<?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.
-
--->
-<js:Container xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-                    xmlns:js="library://ns.apache.org/flexjs/basic" 
-    className="listItem" 
-    height="{HEIGHT}" implements="org.apache.flex.core.IItemRenderer">
-    <!--automationName="{product.name}">-->
-
-    <fx:Metadata>
-       [Event(name="productQtyChange", 
type="samples.flexstore.ProductListEvent")]
-       [Event(name="removeProduct", type="samples.flexstore.ProductListEvent")]
-    </fx:Metadata>
-    
-    <fx:Script>
-    <![CDATA[
-    
-        import samples.flexstore.Product;
-        import samples.flexstore.ProductListEvent;
-        
-        private static var idCounter:int = 0;
-        public var uid:String = (idCounter++).toString();
-        
-        public static const HEIGHT:int = 30;
-        
-        [Bindable("__NoChangeEvent__")]
-        public function get product():Product
-        {
-            return _data as Product;
-        }
-        public function set product(value:Product):void
-        {
-            _data = value;
-        }
-        
-        private var _data:Object;
-        
-        public function get data():Object
-        {
-            return _data;
-        }
-        
-        public function set data(value:Object):void
-        {
-            _data = value;
-        }
-        
-        public function get listData():Object
-        {
-               return null;
-        }
-        
-        public function set listData(value:Object):void
-        {
-               // not used
-        }
-
-        private var _itemRendererParent:Object;
-        
-        public function get itemRendererParent():Object
-        {
-            return _itemRendererParent;
-        }
-        
-        public function set itemRendererParent(value:Object):void
-        {
-            _itemRendererParent = value;
-        }
-        
-        private function qtyChange():void
-       {
-            product.qty = int(qty.text);
-            var event:ProductListEvent = new 
ProductListEvent(ProductListEvent.PRODUCT_QTY_CHANGE);
-            event.product = product;
-               dispatchEvent(event);
-        }
-        
-        private function removeItem():void
-        {
-            var event:ProductListEvent = new 
ProductListEvent(ProductListEvent.REMOVE_PRODUCT);
-            event.product = product;
-               dispatchEvent(event);
-        }
-        
-    ]]>
-    </fx:Script>
-    
-    <fx:Declarations>
-        <js:CurrencyFormatter currencySymbol="$" id="cf" fractionalDigits="2"/>
-    </fx:Declarations>
-    
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-        
-    <js:ImageButton id="removeButton" source="assets/trashcan.png"
-        width="14" height="14" y="5"
-        click="removeItem()">
-        <js:beads>
-            <js:ToolTipBead toolTip="Remove from cart" />
-        </js:beads>
-    </js:ImageButton>
-    
-    <js:Image id="productImage" x="16" y="6" width="12" height="12" 
source="{product.image}"/>
-
-    <js:Label id="productName" x="30" width="100" y="4" text="{product.name}"/>
-
-    <js:Label id="productPrice" width="60" y="4"
-        text="{cf.format(product.price)}" style="textAlign:right;right:0"
-                                style.showQuantity="textAlign:right;right:25"/>
-        
-    <js:TextInput id="qty" width="25" y="3" text="{product.qty}" 
includeIn="showQuantity"
-                  style="textAlign:right;right:0;marginTop:0" 
change="qtyChange()" >
-        <js:beads>
-            <js:NumericOnlyTextInputBead maxChars="3" />
-        </js:beads>
-    </js:TextInput>
-    
-    <js:states>
-        <js:State name="compare" />
-        <js:State name="showQuantity" />
-    </js:states>
-    
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml 
b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml
deleted file mode 100755
index b3c8429..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?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.
-
--->
-<js:HContainer xmlns:fx="http://ns.adobe.com/mxml/2009"; 
-          xmlns:js="library://ns.apache.org/flexjs/basic" 
-                >
-    <js:style>
-        <js:SimpleCSSStyles paddingLeft="4" paddingRight="8" paddingBottom="4" 
/>
-    </js:style>
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-
-    <fx:Script>
-       <![CDATA[
-
-        private function toggle():void
-               {
-                       /*
-            if (vd.playing)
-                       {
-                vd.stop();
-                list.visible = true;
-            }
-                       else
-                       {
-                list.visible = false;
-                vd.play();
-            }
-                       */
-        }
-
-       ]]>
-    </fx:Script>
-
-    <fx:Declarations>
-        <js:Parallel id="hideList">
-            <js:children>
-                <fx:Array>
-                    <js:Resize target="{list}" widthTo="0"/>
-                    <!--<mx:Resize target="{vd}" widthTo="400" 
heightTo="314"/>-->
-                </fx:Array>
-            </js:children>
-        </js:Parallel>
-        
-        <js:Parallel id="showList">
-            <js:children>
-                <fx:Array>
-                    <js:Resize target="{list}" widthTo="130"/>
-                    <!--<mx:Resize target="{vd}" widthTo="270" 
heightTo="217"/>-->
-                </fx:Array>
-            </js:children>
-        </js:Parallel>        
-    </fx:Declarations>
-    <js:List id="list" width="130" height="100%" selectedIndex="0">
-        <js:dataProvider>
-            <fx:Array>
-                <fx:Object label="Install SIM Card"/>
-            </fx:Array>
-        </js:dataProvider>
-    </js:List>
-
-    <js:Container width="100%">
-
-               <!--<mx:VideoDisplay id="vd" width="270" height="217" 
source="assets/phone.flv"
-                                                autoPlay="false" 
complete="list.visible=true"/>
-
-               <mx:Button label="{vd.playing ? 'Stop' : 'Play'}" 
click="toggle()" left="8" bottom="8" includeInLayout="false">
-               </mx:Button>
-               -->
-       </js:Container>
-
-
-</js:HContainer>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as
 
b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as
deleted file mode 100755
index 5e94b58..0000000
--- 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as
+++ /dev/null
@@ -1,298 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package samples.flexstore
-{
-
-import flash.display.GradientType;
-import mx.containers.BoxDirection;
-import mx.controls.Button;
-import mx.controls.ButtonBar;
-import mx.skins.Border;
-import mx.skins.halo.*;
-import mx.styles.StyleManager;
-import mx.utils.ColorUtil;
-
-/**
- *  Adapted from mx.skins.halo.ButtonBarButtonSkin.
- *  This version of the ButtonBarButtonSkin is applied for the
- *  selectedOver, selectedUp, and over states to use the 2nd two
- *  values of the fillColors for the selected state of the
- *  button.  The over state then uses a computed value from
- *  the themeColor to show emphasis.  The border of the selected
- *  button also uses a computed value from the themeColor, but
- *  is partially transparent.
- */
-public class ButtonBarButtonSkin extends Border
-{
-       
//--------------------------------------------------------------------------
-       //
-       //  Class variables
-       //
-       
//--------------------------------------------------------------------------
-
-       /**
-        *  @private
-        */
-       private static var cache:Object = {};
-
-       
//--------------------------------------------------------------------------
-       //
-       //  Class methods
-       //
-       
//--------------------------------------------------------------------------
-
-       /**
-        *  @private
-        *  Several colors used for drawing are calculated from the base colors
-        *  of the component (themeColor, borderColor and fillColors).
-        *  Since these calculations can be a bit expensive,
-        *  we calculate once per color set and cache the results.
-        */
-       private static function calcDerivedStyles(themeColor:uint,
-                                                                               
          fillColor0:uint,
-                                                                               
          fillColor1:uint):Object
-       {
-               var key:String = HaloColors.getCacheKey(themeColor,
-                                                                               
                fillColor0, fillColor1);
-
-               if (!cache[key])
-               {
-                       var o:Object = cache[key] = {};
-
-                       // Cross-component styles.
-                       HaloColors.addHaloColors(o, themeColor, fillColor0, 
fillColor1);
-
-                       // Button-specific styles.
-                       o.innerEdgeColor1 = 
ColorUtil.adjustBrightness2(fillColor0, -10);
-                       o.innerEdgeColor2 = 
ColorUtil.adjustBrightness2(fillColor1, -25);
-               }
-
-               return cache[key];
-       }
-
-       
//--------------------------------------------------------------------------
-       //
-       //  Constructor
-       //
-       
//--------------------------------------------------------------------------
-
-       /**
-        *  @private
-        *  Constructor.
-        */
-       public function ButtonBarButtonSkin()
-       {
-               super();
-       }
-
-       
//--------------------------------------------------------------------------
-       //
-       //  Overridden properties
-       //
-       
//--------------------------------------------------------------------------
-
-       //----------------------------------
-       //  measuredWidth
-       //----------------------------------
-
-       /**
-        *  @private
-        */
-       override public function get measuredWidth():Number
-       {
-               return 50;
-       }
-
-       //----------------------------------
-       //  measuredHeight
-       //----------------------------------
-
-       /**
-        *  @private
-        */
-       override public function get measuredHeight():Number
-       {
-               return 22;
-       }
-
-       
//--------------------------------------------------------------------------
-       //
-       //  Overridden methods
-       //
-       
//--------------------------------------------------------------------------
-
-       /**
-        *  @private
-        */
-       override protected function updateDisplayList(w:Number, h:Number):void
-       {
-               super.updateDisplayList(w, h);
-
-               // User-defined styles.
-               var borderColor:uint = getStyle("borderColor");
-               var cornerRadius:Number = getStyle("cornerRadius");
-               var fillAlphas:Array = getStyle("fillAlphas");
-               var fillColors:Array = getStyle("fillColors");
-               styleManager.getColorNames(fillColors);
-               var highlightAlphas:Array = getStyle("highlightAlphas");
-               var themeColor:uint = getStyle("themeColor");
-
-               // Derivative styles.
-               var derStyles:Object = calcDerivedStyles(themeColor, 
fillColors[0],
-                                                                               
                 fillColors[1]);
-
-               var borderColorDrk1:Number =
-                       ColorUtil.adjustBrightness2(borderColor, -50);
-
-               var themeColorDrk1:Number =
-                       ColorUtil.adjustBrightness2(themeColor, -25);
-
-               var emph:Boolean = false;
-
-               if (parent is Button)
-                       emph = (parent as Button).emphasized;
-
-               var tmp:Number;
-
-               var bar:ButtonBar = parent ? ButtonBar(parent.parent) : null;
-               var horizontal:Boolean = true;
-               var pos:int = 0;
-
-               if (bar)
-               {
-                       if (bar.direction == BoxDirection.VERTICAL)
-                               horizontal = false;
-
-                       // first: -1, middle: 0, last: 1
-                       var index:int = bar.getChildIndex(parent);
-                       pos = (index == 0 ? -1 : (index == bar.numChildren - 1 
? 1 : 0));
-               }
-
-               var radius:Object = getCornerRadius(pos, horizontal, 
cornerRadius);
-               var cr:Object = getCornerRadius(pos, horizontal, cornerRadius);
-               var cr1:Object = getCornerRadius(pos, horizontal, cornerRadius 
- 1);
-               var cr2:Object = getCornerRadius(pos, horizontal, cornerRadius 
- 2);
-               var cr3:Object = getCornerRadius(pos, horizontal, cornerRadius 
- 3);
-
-               graphics.clear();
-
-               switch (name)
-               {
-                       case "selectedUpSkin":
-                       case "selectedOverSkin":
-                       {
-                               var overFillColors:Array;
-                               if (fillColors.length > 2)
-                                       overFillColors = [ fillColors[2], 
fillColors[3] ];
-                               else
-                                       overFillColors = [ fillColors[0], 
fillColors[1] ];
-
-                               var overFillAlphas:Array;
-                               if (fillAlphas.length > 2)
-                                       overFillAlphas = [ fillAlphas[2], 
fillAlphas[3] ];
-                               else
-                                       overFillAlphas = [ fillAlphas[0], 
fillAlphas[1] ];
-
-                               // button border/edge
-                               drawRoundRect(
-                                       0, 0, w, h, cr,
-                                       [ themeColor, derStyles.themeColDrk1 ], 
0.5,
-                                       verticalGradientMatrix(0, 0, w , h),
-                                       GradientType.LINEAR, null,
-                                       { x: 1, y: 1, w: w - 2, h: h - 2, r: 
cr1 });
-
-                               // button fill
-                               drawRoundRect(
-                                       1, 1, w - 2, h - 2, cr1,
-                                       overFillColors, overFillAlphas,
-                                       verticalGradientMatrix(0, 0, w - 2, h - 
2));
-
-                               // top highlight
-                               if (!(radius is Number))
-                                       { radius.bl = radius.br = 0;}
-                               drawRoundRect(
-                                       1, 1, w - 2, (h - 2) / 2, radius,
-                                       [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
-                                       verticalGradientMatrix(1, 1, w - 2, (h 
- 2) / 2));
-                               break;
-                       }
-
-                       case "overSkin":
-                       {
-                               // button border/edge
-                               drawRoundRect(
-                                       0, 0, w, h, cr,
-                                       [ themeColor, derStyles.themeColDrk1 ], 
0.5,
-                                       verticalGradientMatrix(0, 0, w, h));
-
-                               // button fill
-                               drawRoundRect(
-                                       1, 1, w - 2, h - 2, cr1,
-                                       [ derStyles.fillColorPress1, 
derStyles.fillColorPress2 ], 1,
-                                       verticalGradientMatrix(0, 0, w - 2, h - 
2));
-
-                               // top highlight
-                               if (!(radius is Number))
-                                       { radius.bl = radius.br = 0;}
-                               drawRoundRect(
-                                       1, 1, w - 2, (h - 2) / 2, radius,
-                                       [ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
-                                       verticalGradientMatrix(1, 1, w - 2, (h 
- 2) / 2));
-
-                               break;
-                       }
-               }
-       }
-
-       
//--------------------------------------------------------------------------
-       //
-       //  Methods
-       //
-       
//--------------------------------------------------------------------------
-
-       /**
-        *  @private
-        */
-       private function getCornerRadius(pos:int, horizontal:Boolean,
-                                                                        
radius:Number):Object
-       {
-               if (pos == 0)
-                       return 0;
-
-               radius = Math.max(0, radius);
-
-               if (horizontal)
-               {
-                       if (pos == -1)
-                               return { tl: radius, tr: 0, bl: radius, br: 0 };
-                       else // pos == 1
-                               return { tl: 0, tr: radius, bl: 0, br: radius };
-               }
-               else
-               {
-                       if (pos == -1)
-                               return { tl: radius, tr: radius, bl: 0, br: 0 };
-                       else // pos == 1
-                               return { tl: 0, tr: 0, bl: radius, br: radius };
-               }
-       }
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as 
b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as
deleted file mode 100755
index 040fb8f..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as
+++ /dev/null
@@ -1,78 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package samples.flexstore
-{
-
-[Bindable]
-public class Product
-{
-
-    public var productId:int;
-    public var name:String;
-    public var description:String;
-    public var price:Number;
-    public var image:String;
-    public var experience:String;
-    public var blazeds:Boolean;
-    public var mobile:Boolean;
-    public var video:Boolean;
-    public var highlight1:String;
-    public var highlight2:String;
-    public var qty:int;
-
-    public function Product()
-    {
-
-    }
-
-    public function fill(obj:Object):void
-    {
-        for (var i:String in obj)
-        {
-            this[i] = obj[i];
-        }
-    }
-
-    [Bindable(event="propertyChange")]
-    public function get featureString():String
-    {
-       var str:String = "";
-       if (blazeds)
-               str += "BlazeDS";
-
-               if (mobile)
-               {
-                       if (str.length > 0)
-                               str += "\n";
-                       str += "Mobile";
-               }
-
-               if (video)
-               {
-                       if (str.length > 0)
-                               str += "\n";
-                       str += "Video";
-               }
-
-               return str;
-    }
-
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as 
b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as
deleted file mode 100755
index d182371..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as
+++ /dev/null
@@ -1,56 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package samples.flexstore
-{
-
-[Bindable]
-public class ProductFilter
-{
-    public var count:int;
-    public var experience:String;
-    public var minPrice:Number;
-    public var maxPrice:Number;
-    public var blazeds:Boolean;
-    public var mobile:Boolean;
-    public var video:Boolean;
-    
-    public function ProductFilter()
-    {
-        super();
-    }
-    
-    public function accept(product:Product):Boolean
-    {
-        //price is often the first test so let's fail fast if possible
-        if (minPrice > product.price || maxPrice < product.price)
-            return false;
-        if (experience != "All" && experience > product.experience)
-            return false;
-        if (blazeds && !product.blazeds)
-            return false;
-        if (mobile && !product.mobile)
-            return false;
-        if (video && !product.video)
-            return false;
-        
-        return true;
-    }
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as
 
b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as
deleted file mode 100755
index 28129e7..0000000
--- 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as
+++ /dev/null
@@ -1,39 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package samples.flexstore
-{
-
-import org.apache.flex.events.Event;
-
-public class ProductFilterEvent extends Event
-{
-    public static const FILTER:String = "filter";
-    
-    public var live:Boolean;
-    public var filter:ProductFilter;
-    
-    public function ProductFilterEvent(filter:ProductFilter, live:Boolean)
-    {
-        super(FILTER);
-        this.filter = filter;
-        this.live = live;
-    }
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.as 
b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.as
deleted file mode 100755
index b6b9371..0000000
--- 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.as
+++ /dev/null
@@ -1,42 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package samples.flexstore
-{
-
-import org.apache.flex.events.Event;
-
-public class ProductListEvent extends Event
-{
-    public static const ADD_PRODUCT:String = "addProduct";
-    public static const DUPLICATE_PRODUCT:String = "duplicateProduct";
-    public static const REMOVE_PRODUCT:String = "removeProduct";
-    public static const PRODUCT_QTY_CHANGE:String = "productQtyChange";
-    
-    public var product:Product;
-    
-    //making the default bubbles behavior of the event to true since we want
-    //it to bubble out of the ProductListItem and beyond
-    public function ProductListEvent(type:String, bubbles:Boolean=true, 
cancelable:Boolean=false)
-    {
-        super(type, bubbles, cancelable);
-    }
-    
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as 
b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as
deleted file mode 100755
index f92dc7f..0000000
--- 
a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as
+++ /dev/null
@@ -1,45 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package samples.flexstore
-{
-    
-import org.apache.flex.events.Event;
-
-public class ProductThumbEvent extends Event
-{
-    public static const PURCHASE:String = "purchase";
-    public static const COMPARE:String = "compare";
-    public static const DETAILS:String = "details";
-    public static const BROWSE:String = "browse";
-    
-    public var product:Product;
-    
-    public function ProductThumbEvent(type:String, product:Product)
-    {
-        super(type);
-        this.product = product;
-    }
-    
-    override public function cloneEvent():Event
-    {
-        return new ProductThumbEvent(type, product);
-    }
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml 
b/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml
deleted file mode 100644
index 9aafac9..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?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.
-//
-////////////////////////////////////////////////////////////////////////////////
--->
-<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009";
-                                  xmlns:local="*"
-                                  xmlns:models="models.*"
-                                  xmlns:controllers="controllers.*"
-                                  
xmlns:js="library://ns.apache.org/flexjs/basic" 
-                                  initialize="trace('app initialized')"
-                                  >
-       <js:valuesImpl>
-               <js:SimpleCSSValuesImpl />
-       </js:valuesImpl>
-       <js:initialView>
-               <local:StatsView />
-       </js:initialView>
-       <js:model>
-               <models:StatsModel />
-       </js:model>
-       <js:controller>
-               <controllers:StatsController />
-       </js:controller>
-       <js:beads>
-        <js:BrowserScroller />
-               <js:HTTPService id="service">
-                       <js:LazyCollection id="collection">
-                               <js:inputParser>
-                                       <controllers:GAJSONInputParser />
-                               </js:inputParser>
-                               <js:itemConverter>
-                                       
<controllers:GAStatsDataJSONItemConverter />
-                               </js:itemConverter> 
-                       </js:LazyCollection>
-               </js:HTTPService>
-               <js:CSSFontFaceBead />
-    </js:beads>
-</js:Application>
-

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml 
b/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
deleted file mode 100644
index 0636dda..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?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.
-
--->
-<js:View xmlns:fx="http://ns.adobe.com/mxml/2009";
-                               xmlns:js="library://ns.apache.org/flexjs/basic"
-                initComplete="testit()"
-                               >
-       <fx:Script>
-               <![CDATA[
-               import org.apache.flex.events.MouseEvent;
-
-               private function testit():void {
-                       trace();
-               }
-
-               private function onRefreshBtnClick(event:MouseEvent):void {
-                       var e:Event = new Event("refresh", true);
-                       dispatchEvent(e);
-               }
-               ]]>
-       </fx:Script>
-       
-       <fx:Style>
-               @namespace js "library://ns.apache.org/flexjs/basic";
-               .AllCharts {
-                       border-width: 0px;
-                       padding-left: 2px;
-                       padding-top: 10px;
-                       padding-bottom: 2px;
-                       padding-right: 10px;
-               }
-       </fx:Style>
-       
-       
-       <js:Label text="Number of users on flex.apache.org for last 30 days" 
x="10" y="10" />
-       <js:TextButton id="refreshButton" text="Refresh" x="300" y="10" 
click="onRefreshBtnClick(event)"/>
-       
-       <js:ColumnChart id="columnChart" x="40" y="40" width="2000" 
height="768" className="AllCharts">
-               <js:beads>
-                       <js:SimpleBinding
-                               sourceID="applicationModel"
-                               sourcePropertyName="lastThirtyDaysUsers"
-                               destinationPropertyName="dataProvider" 
-                               eventName="lastThirtyDaysDataChanged"
-                               />
-                       <js:HorizontalCategoryAxisBead categoryField="date" />
-                       <js:VerticalLinearAxisBead valueField="users" />
-               </js:beads>
-               <js:series>
-                       <js:ColumnSeries yField="users">
-                               <js:itemRenderer>
-                                       <fx:Component>
-                                               <js:BoxItemRenderer>
-                                                       <js:fill>
-                                                               <js:SolidColor 
color="#7CB5EC" alpha="1.0" />
-                                                       </js:fill>
-                                                       <!--<js:fill>
-                                                               
<js:LinearGradient rotation="90">
-                                                                       
<js:entries>
-                                                                               
<js:GradientEntry color="#7CB5EC" ratio="0" />
-                                                                               
<js:GradientEntry color="#EFF7FF" ratio="0.5" />
-                                                                       
</js:entries>
-                                                               
</js:LinearGradient>
-                                                       </js:fill>-->
-                                               </js:BoxItemRenderer>           
           
-                                       </fx:Component>
-                               </js:itemRenderer>
-                       </js:ColumnSeries>
-               </js:series>
-       </js:ColumnChart>       
-</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as 
b/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as
deleted file mode 100644
index c443de5..0000000
--- 
a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as
+++ /dev/null
@@ -1,38 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package controllers
-{
-       import org.apache.flex.collections.parsers.JSONInputParser;
-       
-       public class GAJSONInputParser extends JSONInputParser
-       {
-               public function GAJSONInputParser()
-               {
-               }
-               
-               override public function parseItems(s:String):Array
-               {
-                       var rowsArrayStartIndex:int = s.indexOf('"rows": [', 0);
-                       var rowsArrayEndIndex:int = s.indexOf("]]", 
rowsArrayStartIndex);
-                       var rowsArrayString:String = 
s.slice(rowsArrayStartIndex + 9,rowsArrayEndIndex);
-                       var rowsArray:Array = rowsArrayString.split("],");
-                       return rowsArray;
-               }
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as
 
b/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as
deleted file mode 100644
index 608db8f..0000000
--- 
a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as
+++ /dev/null
@@ -1,41 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package controllers
-{
-    import org.apache.flex.collections.converters.JSONItemConverter;
-    
-    public class GAStatsDataJSONItemConverter extends JSONItemConverter
-    {
-        public function GAStatsDataJSONItemConverter()
-        {
-            super();
-        }
-        
-        override public function convertItem(data:String):Object
-        {
-                       var obj:Object = {};
-                       var a:Array = data.split(",");
-                       var dateStr:String = a[0];
-                       var usersStr:String = a[1];
-                       obj.date = dateStr.substring(dateStr.indexOf("[") + 2 , 
dateStr.lastIndexOf('"'));
-                       obj.users = 
parseInt(usersStr.substring(usersStr.indexOf(' "') + 2, 
usersStr.lastIndexOf('"')));
-                       return obj;
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.as 
b/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.as
deleted file mode 100644
index b4a054c..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.as
+++ /dev/null
@@ -1,77 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package controllers
-{
-       
-       import models.StatsModel;
-       
-       import org.apache.flex.core.Application;
-       import org.apache.flex.core.IDocument;
-       import org.apache.flex.events.Event;
-       
-       public class StatsController implements IDocument
-       {
-               public function StatsController(a:Application = null)
-               {
-                       if (a)
-                       {
-                               this.app = a as FlexWebsiteStatsViewer;
-                               this.app.addEventListener("viewChanged", 
viewChangeHandler);
-                       }
-               }
-               
-        private var lastThirtyDaysUsers:String = 
'https://apache-flex-dashboard.appspot.com/query?id=ahdzfmFwYWNoZS1mbGV4LWRhc2hib2FyZHIVCxIIQXBpUXVlcnkYgICAgICAgAoM&format=json'
-               
-               private var app:FlexWebsiteStatsViewer;
-               
-               private function viewChangeHandler(event:Event):void
-               {
-                       app.initialView.addEventListener("refresh", 
buttonClickHandler);
-               }
-               
-        private function buttonClickHandler(event:Event):void
-        {
-            app.service.url = lastThirtyDaysUsers;
-            app.service.send();
-            app.service.addEventListener("complete", completeHandler);
-        }
-               
-        private function completeHandler(event:Event):void
-        {
-                       var lastThirtyDaysUsers:Array = [];
-                       if(app.collection)
-                       {
-                               for (var i:int = 0; i < app.collection.length; 
i++) 
-                               {
-                                       
lastThirtyDaysUsers.push(app.collection.getItemAt(i))   
-                               }
-                               
-                       }
-                       
-                       StatsModel(app.model).lastThirtyDaysUsers = 
lastThirtyDaysUsers;
-        }
-        
-               public function setDocument(document:Object, id:String = 
null):void
-               {
-                       this.app = document as FlexWebsiteStatsViewer;
-                       app.addEventListener("viewChanged", viewChangeHandler);
-               }
-
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml
 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml
new file mode 100644
index 0000000..9aafac9
--- /dev/null
+++ 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml
@@ -0,0 +1,55 @@
+<?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.
+//
+////////////////////////////////////////////////////////////////////////////////
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009";
+                                  xmlns:local="*"
+                                  xmlns:models="models.*"
+                                  xmlns:controllers="controllers.*"
+                                  
xmlns:js="library://ns.apache.org/flexjs/basic" 
+                                  initialize="trace('app initialized')"
+                                  >
+       <js:valuesImpl>
+               <js:SimpleCSSValuesImpl />
+       </js:valuesImpl>
+       <js:initialView>
+               <local:StatsView />
+       </js:initialView>
+       <js:model>
+               <models:StatsModel />
+       </js:model>
+       <js:controller>
+               <controllers:StatsController />
+       </js:controller>
+       <js:beads>
+        <js:BrowserScroller />
+               <js:HTTPService id="service">
+                       <js:LazyCollection id="collection">
+                               <js:inputParser>
+                                       <controllers:GAJSONInputParser />
+                               </js:inputParser>
+                               <js:itemConverter>
+                                       
<controllers:GAStatsDataJSONItemConverter />
+                               </js:itemConverter> 
+                       </js:LazyCollection>
+               </js:HTTPService>
+               <js:CSSFontFaceBead />
+    </js:beads>
+</js:Application>
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml
new file mode 100644
index 0000000..0636dda
--- /dev/null
+++ b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml
@@ -0,0 +1,87 @@
+<?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.
+
+-->
+<js:View xmlns:fx="http://ns.adobe.com/mxml/2009";
+                               xmlns:js="library://ns.apache.org/flexjs/basic"
+                initComplete="testit()"
+                               >
+       <fx:Script>
+               <![CDATA[
+               import org.apache.flex.events.MouseEvent;
+
+               private function testit():void {
+                       trace();
+               }
+
+               private function onRefreshBtnClick(event:MouseEvent):void {
+                       var e:Event = new Event("refresh", true);
+                       dispatchEvent(e);
+               }
+               ]]>
+       </fx:Script>
+       
+       <fx:Style>
+               @namespace js "library://ns.apache.org/flexjs/basic";
+               .AllCharts {
+                       border-width: 0px;
+                       padding-left: 2px;
+                       padding-top: 10px;
+                       padding-bottom: 2px;
+                       padding-right: 10px;
+               }
+       </fx:Style>
+       
+       
+       <js:Label text="Number of users on flex.apache.org for last 30 days" 
x="10" y="10" />
+       <js:TextButton id="refreshButton" text="Refresh" x="300" y="10" 
click="onRefreshBtnClick(event)"/>
+       
+       <js:ColumnChart id="columnChart" x="40" y="40" width="2000" 
height="768" className="AllCharts">
+               <js:beads>
+                       <js:SimpleBinding
+                               sourceID="applicationModel"
+                               sourcePropertyName="lastThirtyDaysUsers"
+                               destinationPropertyName="dataProvider" 
+                               eventName="lastThirtyDaysDataChanged"
+                               />
+                       <js:HorizontalCategoryAxisBead categoryField="date" />
+                       <js:VerticalLinearAxisBead valueField="users" />
+               </js:beads>
+               <js:series>
+                       <js:ColumnSeries yField="users">
+                               <js:itemRenderer>
+                                       <fx:Component>
+                                               <js:BoxItemRenderer>
+                                                       <js:fill>
+                                                               <js:SolidColor 
color="#7CB5EC" alpha="1.0" />
+                                                       </js:fill>
+                                                       <!--<js:fill>
+                                                               
<js:LinearGradient rotation="90">
+                                                                       
<js:entries>
+                                                                               
<js:GradientEntry color="#7CB5EC" ratio="0" />
+                                                                               
<js:GradientEntry color="#EFF7FF" ratio="0.5" />
+                                                                       
</js:entries>
+                                                               
</js:LinearGradient>
+                                                       </js:fill>-->
+                                               </js:BoxItemRenderer>           
           
+                                       </fx:Component>
+                               </js:itemRenderer>
+                       </js:ColumnSeries>
+               </js:series>
+       </js:ColumnChart>       
+</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as
 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as
new file mode 100644
index 0000000..c443de5
--- /dev/null
+++ 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package controllers
+{
+       import org.apache.flex.collections.parsers.JSONInputParser;
+       
+       public class GAJSONInputParser extends JSONInputParser
+       {
+               public function GAJSONInputParser()
+               {
+               }
+               
+               override public function parseItems(s:String):Array
+               {
+                       var rowsArrayStartIndex:int = s.indexOf('"rows": [', 0);
+                       var rowsArrayEndIndex:int = s.indexOf("]]", 
rowsArrayStartIndex);
+                       var rowsArrayString:String = 
s.slice(rowsArrayStartIndex + 9,rowsArrayEndIndex);
+                       var rowsArray:Array = rowsArrayString.split("],");
+                       return rowsArray;
+               }
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as
 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as
new file mode 100644
index 0000000..608db8f
--- /dev/null
+++ 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as
@@ -0,0 +1,41 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package controllers
+{
+    import org.apache.flex.collections.converters.JSONItemConverter;
+    
+    public class GAStatsDataJSONItemConverter extends JSONItemConverter
+    {
+        public function GAStatsDataJSONItemConverter()
+        {
+            super();
+        }
+        
+        override public function convertItem(data:String):Object
+        {
+                       var obj:Object = {};
+                       var a:Array = data.split(",");
+                       var dateStr:String = a[0];
+                       var usersStr:String = a[1];
+                       obj.date = dateStr.substring(dateStr.indexOf("[") + 2 , 
dateStr.lastIndexOf('"'));
+                       obj.users = 
parseInt(usersStr.substring(usersStr.indexOf(' "') + 2, 
usersStr.lastIndexOf('"')));
+                       return obj;
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.as
----------------------------------------------------------------------
diff --git 
a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.as
 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.as
new file mode 100644
index 0000000..b4a054c
--- /dev/null
+++ 
b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.as
@@ -0,0 +1,77 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package controllers
+{
+       
+       import models.StatsModel;
+       
+       import org.apache.flex.core.Application;
+       import org.apache.flex.core.IDocument;
+       import org.apache.flex.events.Event;
+       
+       public class StatsController implements IDocument
+       {
+               public function StatsController(a:Application = null)
+               {
+                       if (a)
+                       {
+                               this.app = a as FlexWebsiteStatsViewer;
+                               this.app.addEventListener("viewChanged", 
viewChangeHandler);
+                       }
+               }
+               
+        private var lastThirtyDaysUsers:String = 
'https://apache-flex-dashboard.appspot.com/query?id=ahdzfmFwYWNoZS1mbGV4LWRhc2hib2FyZHIVCxIIQXBpUXVlcnkYgICAgICAgAoM&format=json'
+               
+               private var app:FlexWebsiteStatsViewer;
+               
+               private function viewChangeHandler(event:Event):void
+               {
+                       app.initialView.addEventListener("refresh", 
buttonClickHandler);
+               }
+               
+        private function buttonClickHandler(event:Event):void
+        {
+            app.service.url = lastThirtyDaysUsers;
+            app.service.send();
+            app.service.addEventListener("complete", completeHandler);
+        }
+               
+        private function completeHandler(event:Event):void
+        {
+                       var lastThirtyDaysUsers:Array = [];
+                       if(app.collection)
+                       {
+                               for (var i:int = 0; i < app.collection.length; 
i++) 
+                               {
+                                       
lastThirtyDaysUsers.push(app.collection.getItemAt(i))   
+                               }
+                               
+                       }
+                       
+                       StatsModel(app.model).lastThirtyDaysUsers = 
lastThirtyDaysUsers;
+        }
+        
+               public function setDocument(document:Object, id:String = 
null):void
+               {
+                       this.app = document as FlexWebsiteStatsViewer;
+                       app.addEventListener("viewChanged", viewChangeHandler);
+               }
+
+       }
+}
\ No newline at end of file

Reply via email to