<?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.

-->
<s:Module xmlns:fx="http://ns.adobe.com/mxml/2009"  
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx">
	
	<fx:Script>
		<![CDATA[
			
			import mx.collections.ArrayCollection;
			
			[Bindable]
			private var companyAAC:ArrayCollection = new ArrayCollection( [
				{ Date: "25-Jul", Open: 40.75,  High: 40.75, Low: 40.24, Close:40.31},
				{ Date: "26-Jul", Open: 39.98,  High: 40.78, Low: 39.97, Close:40.34},
				{ Date: "27-Jul", Open: 40.38,  High: 40.66, Low: 40, Close:40.63},
				{ Date: "28-Jul", Open: 40.49,  High: 40.99, Low: 40.3, Close:40.98},
				{ Date: "29-Jul", Open: 40.13,  High: 40.4, Low: 39.65, Close:39.95},
				{ Date: "1-Aug", Open: 39.00,  High: 39.50, Low: 38.7, Close:38.6}, 
				{ Date: "2-Aug", Open: 38.68,  High: 39.34, Low: 37.75, Close:38.84}, 
				{ Date: "3-Aug", Open: 38.76,  High: 38.76, Low: 38.03, Close:38.12}, 
				{ Date: "4-Aug", Open: 37.98,  High: 37.98, Low: 36.56, Close:36.69},                       
				{ Date: "5-Aug", Open: 36.61,  High: 37, Low: 36.48, Close:36.86} ]);
			
			[Bindable]
			private var companyBAC:ArrayCollection = new ArrayCollection( [
				{ Date: "25-Jul", Open: 18.50,  High: 19, Low: 18.48, Close:18.86},
				{ Date: "26-Jul", Open: 19.56,  High: 19.98, Low: 18.6, Close:18.69},                       
				{ Date: "27-Jul", Open: 20.81,  High: 20.99, Low: 20.03, Close:20.12}, 
				{ Date: "28-Jul", Open: 20.70,  High: 21.00, Low: 19.5, Close:20.84}, 
				{ Date: "29-Jul", Open: 21.7,  High: 21.79, Low: 20.45, Close:20.6}, 
				{ Date: "1-Aug", Open: 22.45,  High: 22.65, Low: 21.65, Close:21.95},
				{ Date: "2-Aug", Open: 22.56,  High: 22.6, Low: 22.05, Close:22.98},
				{ Date: "3-Aug", Open: 22.42,  High: 22.70, Low: 22.1, Close:22.63},
				{ Date: "4-Aug", Open: 21.67,  High: 22.82, Low: 21.67, Close:22.34},
				{ Date: "5-Aug", Open: 22.44,  High: 22.85, Low: 22.12, Close:22.31} ]);
			
		]]>
	</fx:Script>
	
	<fx:Declarations>
		<mx:SeriesInterpolate id="interpolateIn" duration="1000"/>
	</fx:Declarations>
	
	<s:Panel title="Interpolate Effect" width="100%" height="100%">
		
		<s:layout>
			<s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="10" paddingBottom="10"/>
		</s:layout>
		
		<mx:CandlestickChart id="candlestickchart" height="100%" paddingRight="5" paddingLeft="5" color="0x323232"
							 showDataTips="true" dataProvider="{companyAAC}">
			
			<mx:verticalAxis>
				<mx:LinearAxis baseAtZero="false" />
			</mx:verticalAxis>
			
			<mx:horizontalAxis>
				<mx:CategoryAxis categoryField="Date" title="Date"/>
			</mx:horizontalAxis>
			
			<mx:series>
				<mx:CandlestickSeries  
					openField="Open" highField="High" 
					lowField="Low" closeField="Close"
					showDataEffect="{interpolateIn}"/>
			</mx:series>
		</mx:CandlestickChart>
		
		
		<s:BorderContainer color="0x323232" width="30%" borderColor="0xDCDCDC" borderStyle="solid" height="100%">
			
			<s:layout>
				<s:VerticalLayout paddingLeft="5" paddingRight="0" paddingTop="5" />
			</s:layout>
			
			<s:Label color="0x0050AA" width="100%"
					 text="Choose a company to view recent stock data."/>
			
			<s:RadioButton groupName="stocks" label="View Company A"
						   selected="true" click="candlestickchart.dataProvider=companyAAC"/>
			<s:RadioButton groupName="stocks" label="View Company B"
						   click="candlestickchart.dataProvider=companyBAC"/>
		</s:BorderContainer>
		
	</s:Panel>
	
</s:Module>
