Latest version of Tour de Flex Mobile
diff --git a/tourdeflexmobile/src/AIRViews/AccelerometerView.mxml b/tourdeflexmobile/src/AIRViews/AccelerometerView.mxml
index 50b8553..b27afb2 100644
--- a/tourdeflexmobile/src/AIRViews/AccelerometerView.mxml
+++ b/tourdeflexmobile/src/AIRViews/AccelerometerView.mxml
@@ -136,8 +136,16 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 
 	<s:SpriteVisualElement id="container" includeIn="DemoState"/>
@@ -145,6 +153,16 @@
 	<s:TextArea includeIn="InfoState" skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" bottom="10" editable="false" text="The Accelerometer class dispatches events based on activity detected by the device's motion sensor. This data represents the device's location or movement along a 3-dimensional axis. When the device moves, the sensor detects this movement and returns acceleration data. The Accelerometer class provides methods to query whether or not accelerometer is supported, and also to set the rate at which acceleration events are dispatched.
 				&#xd; &#xd;Note: Use the Accelerometer.isSupported property to test the runtime environment for the ability to use this feature. While the Accelerometer class and its members are accessible to the Runtime Versions listed for each API entry, the current environment for the runtime determines the availability of this feature. For example, you can compile code using the Accelerometer class properties for Flash Player 10.1, but you need to use the Accelerometer.isSupported property to test for the availability of the Accelerometer feature in the current deployment environment for the Flash Player runtime. If Accelerometer.isSupported is true at runtime, then Accelerometer support currently exists."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/AIRViews/CameraRollView.mxml b/tourdeflexmobile/src/AIRViews/CameraRollView.mxml
new file mode 100644
index 0000000..c269c1c
--- /dev/null
+++ b/tourdeflexmobile/src/AIRViews/CameraRollView.mxml
@@ -0,0 +1,136 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" 
+		title="CameraRoll" >
+	
+	<fx:Script>
+		<![CDATA[
+			
+			private var mpLoader:Loader;
+			
+			protected function launchcameraRoll(event:MouseEvent):void
+			{
+				var cameraRoll:CameraRoll = new CameraRoll();
+				
+				if( CameraRoll.supportsBrowseForImage )
+				{
+					cameraRoll.addEventListener(MediaEvent.SELECT, oncameraRollComplete);
+					cameraRoll.addEventListener(Event.CANCEL, oncameraRollCanceled);
+					cameraRoll.addEventListener(ErrorEvent.ERROR, onCameraError);
+					cameraRoll.browseForImage();
+				}
+				else
+				{
+					trace( "CameraRoll interface is not supported.");
+				}		
+			}
+			
+			private function oncameraRollComplete(e:MediaEvent):void
+			{
+				var mediaPromise:MediaPromise = e.data;
+				
+				this.mpLoader = new Loader();
+				this.mpLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMediaPromiseLoaded);
+				this.mpLoader.addEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError);
+				this.mpLoader.loadFilePromise(mediaPromise);
+			}
+			
+			private function onMediaPromiseLoaded(e:Event):void
+			{
+				var mpLoaderInfo:LoaderInfo = e.target as LoaderInfo;
+				
+				mpLoaderInfo.removeEventListener(Event.COMPLETE, onMediaPromiseLoaded);				
+				mpLoaderInfo.loader.removeEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError);
+				
+				this.image.source = mpLoaderInfo.loader;
+			}
+			
+			protected function oncameraRollCanceled(event:Event):void
+			{
+				trace("CameraRoll canceled");
+			}
+			
+			
+			protected function onCameraError(event:ErrorEvent):void
+			{
+				trace("Error");
+			}
+			
+			protected function onMediaPromiseLoadError(error:IOErrorEvent):void
+			{
+				trace("Media Promise Error");
+			}
+			
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+		]]>
+	</fx:Script>
+	
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>
+	
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" source480dpi="assets/icons/480/dock.png"/>
+	</fx:Declarations>
+	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:Button label="Browse Image" click="launchcameraRoll(event)" horizontalCenter="0" verticalCenter="0" />
+	<s:Image id="image" scaleMode="letterbox" top="15" left="15" right="15" bottom="15" />
+	
+	<s:TextArea includeIn="InfoState" selectable="false" left="10" right="10" top="10" bottom="10" editable="false" text="The CameraRoll class allows you to access image data in the system media library or camera roll.
+				&#xd;&#xd;AIR profile support: This feature is supported on mobile devices, but it is not supported on desktop operating systems or AIR for TV devices. See AIR Profile Support for more information regarding API support across multiple profiles.
+				&#xd;&#xd;The CameraRoll.addBitmapData() method adds an image to the device's dedicated media library. To check at run time whether your application supports the CameraRoll.addBitmapData() method, check the CameraRoll.supportsAddBitmapData property.
+				&#xd;&#xd;The CameraRoll.browseForImage() method opens an image-choosing dialog that allows a user to choose an image in the media library. When the user selects an image, the CameraRoll object dispatches a select event. Use the MediaEvent object dispatched for this event to access the chosen image. To check at run time whether your application supports the CameraRoll.browseForImage() method, check the CameraRoll.supportsBrowseForImage property."/>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+	
+</s:View>
diff --git a/tourdeflexmobile/src/AIRViews/CameraUIView.mxml b/tourdeflexmobile/src/AIRViews/CameraUIView.mxml
new file mode 100644
index 0000000..bee6c37
--- /dev/null
+++ b/tourdeflexmobile/src/AIRViews/CameraUIView.mxml
@@ -0,0 +1,134 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" 
+		title="CameraUI" >
+	
+	<fx:Script>
+		<![CDATA[
+			
+			private var cameraUI:CameraUI;
+			private var mpLoader:Loader;
+			
+			protected function launchCameraUI(event:MouseEvent):void
+			{
+				if( CameraUI.isSupported )
+				{
+					cameraUI= new CameraUI();
+					cameraUI.addEventListener(MediaEvent.COMPLETE, onCameraUIComplete);
+					cameraUI.addEventListener(Event.CANCEL, onCameraUICanceled);
+					cameraUI.addEventListener(ErrorEvent.ERROR, onCameraError);
+					cameraUI.launch(MediaType.IMAGE);
+				}
+				else
+				{
+					trace( "Camera interface is not supported.");
+				}		
+			}
+			
+			private function onCameraUIComplete(e:MediaEvent):void
+			{
+				/*cameraUI.removeEventListener(MediaEvent.COMPLETE, onCameraUIComplete);
+				cameraUI.removeEventListener(Event.CANCEL, onCameraUICanceled);
+				cameraUI.removeEventListener(ErrorEvent.ERROR, onCameraError);*/
+				
+				var mediaPromise:MediaPromise = e.data;
+				
+				this.mpLoader = new Loader();
+				this.mpLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMediaPromiseLoaded);
+				/*this.mpLoader.addEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError);*/
+				this.mpLoader.loadFilePromise(mediaPromise);
+			}
+			
+			private function onMediaPromiseLoaded(e:Event):void
+			{
+				var mpLoaderInfo:LoaderInfo = e.target as LoaderInfo;
+				mpLoaderInfo.removeEventListener(Event.COMPLETE, onMediaPromiseLoaded);
+				/*	mpLoaderInfo.loader.removeEventListener(IOErrorEvent.IO_ERROR, onMediaPromiseLoadError);*/
+				this.image.source = mpLoaderInfo.loader;
+			}
+			
+			protected function onCameraUICanceled(event:Event):void
+			{
+				trace("Camera canceled");
+			}
+			
+			
+			protected function onCameraError(event:ErrorEvent):void
+			{
+				trace();
+			}
+			
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+		]]>
+	</fx:Script>
+	
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>
+	
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" source480dpi="assets/icons/480/dock.png"/>
+	</fx:Declarations>
+	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:Button label="Launch Camera UI" click="launchCameraUI(event)" horizontalCenter="0" verticalCenter="0" />
+	<s:Image id="image" scaleMode="letterbox" top="15" left="15" right="15" bottom="15" />
+	
+	<s:TextArea includeIn="InfoState" selectable="false" left="10" right="10" top="10" bottom="10" editable="false" text="The CameraUI class allows you to capture a still image or video using the default camera application on a device.
+				&#xd; &#xd;The launch() method requests that the device open the default camera application. The captured image or video is available in the MediaEvent object dispatched for the complete event. Since the default camera application can save the image or video in a variety of formats, there is no guarantee that returned media object can be loaded and displayed by the AIR runtime.
+				&#xd; &#xd;On some platforms, the media object returned by the camera is accessible as a file-based media promise. On others, the media promise is not file-based and the file and relativePath properties of the MediaPromise object are null. Do not use these properties in code that is used on more than one platform.
+				&#xd; &#xd;On Android, the default camera application does not open if the external storage card is not available (such as when the user has mounted the card as a USB mass storage device). In addition, the AIR application that launches the camera loses focus. If the device runs low on resources, the AIR application can be terminated by the operating system before the media capture is complete.
+				&#xd; &#xd;On some platforms, the media object is automatically stored in the device media library. On platforms on which images and video are not automatically stored by the default camera application, you can use the CameraRoll addBitmapData() function to store the media object."/>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+	
+</s:View>
diff --git a/tourdeflexmobile/src/AIRViews/CameraView.mxml b/tourdeflexmobile/src/AIRViews/CameraView.mxml
new file mode 100644
index 0000000..acc71c1
--- /dev/null
+++ b/tourdeflexmobile/src/AIRViews/CameraView.mxml
@@ -0,0 +1,159 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" 
+		xmlns:mx="library://ns.adobe.com/flex/mx"
+		title="Camera"
+		viewActivate="init(event)"
+		viewDeactivate="deactivate(event)"
+		>
+	<fx:Script>
+		<![CDATA[
+			import mx.core.UIComponent;
+			
+			import spark.events.IndexChangeEvent;
+			import spark.events.ViewNavigatorEvent;
+			
+			private var camera:Camera;
+			private var videoHolder:UIComponent;
+			private var video:Video;
+			
+			private function init(event:ViewNavigatorEvent):void
+			{
+				stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, handleOrientationChangeComplete);
+				stage.setOrientation(StageOrientation.ROTATED_RIGHT);
+			}
+			
+			private function deactivate(event:ViewNavigatorEvent):void
+			{
+				stage.setOrientation(StageOrientation.DEFAULT);
+			}
+			
+			private function handleOrientationChangeComplete(event:StageOrientationEvent):void
+			{
+				buttonBar.enabled = Camera.isSupported;
+				if(Camera.isSupported)
+				{
+					videoHolder = new UIComponent();
+					videoHolder.x = 0; 
+					videoHolder.y = 0; 
+					videoHolder.width = height;
+					videoHolder.height = width;
+					video = new Video(height,width)
+					videoHolder.addChildAt(video,0);
+					videoDisplay.addElementAt(videoHolder,0);
+					getCamera();
+				}				
+			}
+			
+			protected function onButtonBar_ChangeHandler(event:IndexChangeEvent):void
+			{
+				getCamera();
+			}
+			
+			private function getCamera():void
+			{
+				var names:Array = Camera.names;
+				var i:int = -1;
+				var n:int = names.length;
+				
+				while(++i<n)
+				{
+					var cam:Camera = Camera.getCamera( names[i] as String);
+					if(cam && cam.position == buttonBar.selectedItem.label)
+					{
+						attachCamera(cam);
+						return;
+					}
+				}
+				attachCamera(Camera.getCamera());
+			}
+			
+			private function attachCamera(camera:Camera):void
+			{
+				camera.setMode(height,width, 30,true);
+				camera.setMotionLevel(0);
+				video.attachCamera(camera);
+			}
+			
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+			
+		]]>
+	</fx:Script>
+	
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>
+	
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
+	</fx:Declarations>
+	<s:layout>
+		<s:VerticalLayout horizontalAlign="center" />
+	</s:layout>
+
+	<s:Group width="100%" height="100%" id="videoDisplay" includeIn="DemoState"/>
+	
+	<s:TextArea includeIn="InfoState" selectable="false"  left="10" right="10" top="10" bottom="10" editable="false" 
+				text="Use the Camera class to capture video from the client system or device camera. Use the Video class to monitor the video locally. Use the NetConnection and NetStream classes to transmit the video to Flash Media Server. Flash Media Server can send the video stream to other servers and broadcast it to other clients running Flash Player or AIR. 
+				&#xd; &#xd;A Camera instance captures video in landscape aspect ratio. On devices that can change the screen orientation, such as mobile phones, a Video object attached to the camera will only show upright video in a landscape-aspect orientation. Thus, mobile apps should use a landscape orientation when displaying video and should not auto-rotate.
+				
+				&#xd; &#xd;On iOS, the video from the front camera is mirrored. On Android, it is not.
+				
+				&#xd; &#xd;On mobile devices with an autofocus camera, autofocus is enabled automatically. If the camera does not support continuous autofocus, and many mobile device cameras do not, then the camera is focused when the Camera object is attached to a video stream and whenever the setMode() method is called. On desktop computers, autofocus behavior is dependent on the camera driver and settings.
+				
+				&#xd; &#xd;In an AIR application on Android and iOS, the camera does not capture video while an AIR app is not the active, foreground application. In addition, streaming connections can be lost when the application is in the background. On iOS, the camera video cannot be displayed when an application uses the GPU rendering mode. The camera video can still be streamed to a server."/>
+
+	<s:actionLayout>
+		<s:HorizontalLayout gap="10" />
+	</s:actionLayout>
+	<s:actionContent>
+		<s:ButtonBar id="buttonBar" requireSelection="true"
+					 change="onButtonBar_ChangeHandler(event)">
+			<s:dataProvider>
+				<s:ArrayList>
+					<fx:Object label="{CameraPosition.FRONT}"/>
+					<fx:Object label="{CameraPosition.BACK}"/>
+				</s:ArrayList>
+			</s:dataProvider>
+		</s:ButtonBar>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+</s:View>
diff --git a/tourdeflexmobile/src/AIRViews/GeolocationView.mxml b/tourdeflexmobile/src/AIRViews/GeolocationView.mxml
new file mode 100644
index 0000000..b513326
--- /dev/null
+++ b/tourdeflexmobile/src/AIRViews/GeolocationView.mxml
@@ -0,0 +1,136 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" 
+		title="Geolocation" 
+		viewDeactivate="endGeolocation(event)" 
+		viewActivate="init(event)">
+	
+	<fx:Script>
+		<![CDATA[
+			import flash.sensors.Geolocation;			
+			import spark.events.ViewNavigatorEvent;
+			
+			private var geo:Geolocation;		
+			
+			protected function init(event:ViewNavigatorEvent):void
+			{
+				if (Geolocation.isSupported) 
+				{ 
+					geoToggle.enabled = true;
+					geo = new Geolocation(); 
+					geo.setRequestedUpdateInterval(8000);
+				}
+				else 
+				{ 
+					label.text = "Geolocation not supported"; 
+				} 
+			}
+			
+			protected function geoLocate():void
+			{
+				if(geoToggle.selected == true)
+				{
+					geo.addEventListener(GeolocationEvent.UPDATE, geoUpdateHandler); 				
+				}
+				if(geoToggle.selected == false)
+				{
+					geo.removeEventListener(GeolocationEvent.UPDATE, geoUpdateHandler); 					
+				}
+			}
+
+			
+			public function geoUpdateHandler(event:GeolocationEvent):void 
+			{ 
+				latitude.text = "latitude : " + event.latitude.toString(); 
+				longitude.text = "longitude : " + event.longitude.toString();
+				heading.text = "heading : " + event.heading.toString();
+				speed.text = "speed : " + event.speed.toString();
+			} 
+
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+			
+			protected function endGeolocation(event:ViewNavigatorEvent):void
+			{
+				if(geoToggle.selected == true)
+				{
+					geo.removeEventListener(GeolocationEvent.UPDATE, geoUpdateHandler);	
+				}						
+			}
+			
+		]]>
+	</fx:Script>
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>	
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/about.png')" id="aboutIcon"  
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')"
+								source480dpi="@Embed('assets/icons/480/about.png')"/>
+		<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/dock.png')" id="demoIcon"
+								source240dpi="@Embed('assets/icons/240/dock.png')"  
+								source320dpi="@Embed('assets/icons/320/dock.png')"
+								source480dpi="@Embed('assets/icons/480/dock.png')"/>	
+	</fx:Declarations>
+	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:ToggleSwitch includeIn="DemoState" horizontalCenter="0" y="20" id="geoToggle" enabled="false" change="geoLocate()"/>
+	<s:VGroup left="20" right="20" top="55" bottom="10" includeIn="DemoState">
+		<s:Label id="label" left="10"/>
+		<s:Label id="latitude" left="10"/>
+		<s:Label id="longitude" left="10"/>
+		<s:Label id="heading" left="10"/>
+		<s:Label id="speed" left="10"/>
+	</s:VGroup>	
+	<s:TextArea includeIn="InfoState" selectable="false"  left="10" right="10" top="10" bottom="10" editable="false" text="The Geolocation class dispatches events in response to the device's location sensor.				
+				&#xd; &#xd;If a device supports geolocation, you can use this class to obtain the current geographical location of the device. The geographical location is displayed on the device in the form of latitudinal and longitudinal coordinates (in WGS-84 standard format). When the location of the device changes, you can receive updates about the changes. If the device supports this feature, you will be able to obtain information about the altitude, accuracy, heading, speed, and timestamp of the latest change in the location.
+				&#xd; &#xd;AIR profile support: This feature is supported only on mobile devices. It is not supported on desktop or AIR for TV devices."/>	
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+</s:View>
diff --git a/tourdeflexmobile/src/AIRViews/NativeAppView.mxml b/tourdeflexmobile/src/AIRViews/NativeAppView.mxml
new file mode 100644
index 0000000..861b65c
--- /dev/null
+++ b/tourdeflexmobile/src/AIRViews/NativeAppView.mxml
@@ -0,0 +1,91 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" 
+		title="Native App">
+	
+	<fx:Script>
+		<![CDATA[
+
+			
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+			
+		]]>
+	</fx:Script>
+	
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>
+	
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
+		<s:ArrayCollection id="itemsCollection"/>
+	</fx:Declarations>
+	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:VGroup width="100%" height="100%" includeIn="DemoState" horizontalAlign="center" verticalAlign="middle">
+		<s:Button label="Email" click="navigateToURL(new URLRequest ('mailto:email@email.com'))"/>
+		<s:Button label="Browser" click="navigateToURL(new URLRequest ('http://flex.apache.org/'))"/>
+		<s:Button label="Maps" click="navigateToURL(new URLRequest ('http://maps.google.com/'))"/>
+		<s:Button label="SMS" click="navigateToURL(new URLRequest ('sms:1234567890'))"/>
+		<s:Button label="Phone" click="navigateToURL(new URLRequest ('tel:1234567890'))"/>
+	</s:VGroup>
+	<s:TextArea includeIn="InfoState" selectable="false" left="10" right="10" top="10" bottom="10" editable="false" 
+				text="In AIR, on mobile platforms, the sms: and tel: URI schemes are supported. On Android, vipaccess:, connectpro:, and market: URI schemes are supported. The URL syntax is subject to the platform conventions. For example, on Android, the URI scheme must be lower case. When you navigate to a URL using one of these schemes, the runtime opens the URL in the default application for handling the scheme. Thus, navigating to tel:+5555555555 opens the phone dialer with the specified number already entered. A separate application or utility, such as a phone dialer must be available to process the URL. "/>	
+
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+</s:View>
diff --git a/tourdeflexmobile/src/AIRViews/SQLiteView.mxml b/tourdeflexmobile/src/AIRViews/SQLiteView.mxml
index c2db60f..f8d5484 100644
--- a/tourdeflexmobile/src/AIRViews/SQLiteView.mxml
+++ b/tourdeflexmobile/src/AIRViews/SQLiteView.mxml
@@ -116,8 +116,16 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 		<s:ArrayCollection id="itemsCollection"/>
 	</fx:Declarations>
 	
@@ -150,4 +158,14 @@
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
 </s:View>
diff --git a/tourdeflexmobile/src/LayoutViews/HorizontalLayoutView.mxml b/tourdeflexmobile/src/LayoutViews/HorizontalLayoutView.mxml
index 0caf89d..72306d2 100644
--- a/tourdeflexmobile/src/LayoutViews/HorizontalLayoutView.mxml
+++ b/tourdeflexmobile/src/LayoutViews/HorizontalLayoutView.mxml
@@ -38,20 +38,37 @@
 		]]>
 	</fx:Script>
 	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
 	
-	<s:actionContent>
-		<s:Button click="buttonHandler(event)">
-			<s:icon>
-				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/add.png')" source240dpi="@Embed('assets/icons/240/add.png')" source320dpi="@Embed('assets/icons/320/add.png')" />
-			</s:icon>
-		</s:Button>
-	</s:actionContent>
-			
-	<s:Scroller id="scroller" width="100%" height="100%">
+	<s:Scroller id="scroller" left="20" right="20" top="20" bottom="20">
 		<s:Group id="group">
 			<s:layout>
 				<s:HorizontalLayout verticalAlign="middle" useVirtualLayout="true" />
 			</s:layout>
 		</s:Group>
 	</s:Scroller>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" label="Add Image" color="#FFFFFF">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/add.png')" source240dpi="@Embed('assets/icons/240/add.png')" source320dpi="@Embed('assets/icons/320/add.png')" />
+			</s:icon>
+		</s:Button>
+	</s:actionContent>
+			
+	
 </s:View>
diff --git a/tourdeflexmobile/src/LayoutViews/TileLayoutView.mxml b/tourdeflexmobile/src/LayoutViews/TileLayoutView.mxml
index 059817f..dae4144 100644
--- a/tourdeflexmobile/src/LayoutViews/TileLayoutView.mxml
+++ b/tourdeflexmobile/src/LayoutViews/TileLayoutView.mxml
@@ -41,20 +41,36 @@
 		]]>
 	</fx:Script>
 	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
 	
-	<s:actionContent>
-		<s:Button click="buttonHandler(event)">
-			<s:icon>
-				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/add.png')" source240dpi="@Embed('assets/icons/240/add.png')" source320dpi="@Embed('assets/icons/320/add.png')" />
-			</s:icon>
-		</s:Button>
-	</s:actionContent>
-			
-	<s:Scroller id="scroller" width="100%" height="100%">
+	<s:Scroller id="scroller" left="20" right="20" top="20" bottom="20">
 		<s:Group id="group">
 			<s:layout>
 				<s:TileLayout orientation="rows" columnWidth="100" rowHeight="100" useVirtualLayout="true" />
 			</s:layout>
 		</s:Group>
 	</s:Scroller>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" label="Add Image" color="#FFFFFF">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/add.png')" source240dpi="@Embed('assets/icons/240/add.png')" source320dpi="@Embed('assets/icons/320/add.png')" />
+			</s:icon>
+		</s:Button>
+	</s:actionContent>
+			
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+		
 </s:View>
diff --git a/tourdeflexmobile/src/LayoutViews/VerticalLayoutView.mxml b/tourdeflexmobile/src/LayoutViews/VerticalLayoutView.mxml
index 2d2d81b..a133a64 100644
--- a/tourdeflexmobile/src/LayoutViews/VerticalLayoutView.mxml
+++ b/tourdeflexmobile/src/LayoutViews/VerticalLayoutView.mxml
@@ -38,20 +38,37 @@
 		]]>
 	</fx:Script>
 	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
 	
-	<s:actionContent>
-		<s:Button click="buttonHandler(event)">
-			<s:icon>
-				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/add.png')" source240dpi="@Embed('assets/icons/240/add.png')" source320dpi="@Embed('assets/icons/320/add.png')" />
-			</s:icon>
-		</s:Button>
-	</s:actionContent>
-			
-	<s:Scroller id="scroller" width="100%" height="100%">
+	<s:Scroller id="scroller" left="20" right="20" top="20" bottom="20">
 		<s:Group id="group">
 			<s:layout>
 				<s:VerticalLayout horizontalAlign="center" useVirtualLayout="true" />
 			</s:layout>
 		</s:Group>
 	</s:Scroller>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" label="Add Image" color="#FFFFFF">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/add.png')" source240dpi="@Embed('assets/icons/240/add.png')" source320dpi="@Embed('assets/icons/320/add.png')" />
+			</s:icon>
+		</s:Button>
+	</s:actionContent>
+			
+	
 </s:View>
diff --git a/tourdeflexmobile/src/TourDeFlexMobile-app.xml b/tourdeflexmobile/src/TourDeFlexMobile-app.xml
index e9667b6..8606bca 100644
--- a/tourdeflexmobile/src/TourDeFlexMobile-app.xml
+++ b/tourdeflexmobile/src/TourDeFlexMobile-app.xml
@@ -17,7 +17,7 @@
 limitations under the License.
 
 -->
-<application xmlns="http://ns.adobe.com/air/application/3.9">
+<application xmlns="http://ns.adobe.com/air/application/19.0">
 
 <!-- Adobe AIR Application Descriptor File Template.
 
@@ -33,19 +33,19 @@
 
 	<!-- A universally unique application identifier. Must be unique across all AIR applications.
 	Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
-	<id>TourDeFlexMobile</id>
+	<id>org.apache.flexmobile</id>
 
 	<!-- Used as the filename for the application. Required. -->
-	<filename>TourDeFlexMobile</filename>
+	<filename>TourDeFlex</filename>
 
 	<!-- The name that is displayed in the AIR application installer. 
 	May have multiple values for each language. See samples or xsd schema file. Optional. -->
-	<name>TourDeFlexMobile</name>
+	<name>TourDeFlex</name>
 	
 	<!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade. 
 	Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
 	An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
-	<versionNumber>0.0.0</versionNumber>
+	<versionNumber>0.4.0</versionNumber>
 		         
 	<!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
 	<!-- <versionLabel></versionLabel> -->
@@ -154,25 +154,13 @@
 
 	<!-- The icon the system uses for the application. For at least one resolution,
 	specify the path to a PNG file included in the AIR package. Optional. -->
-	<!-- <icon>
-		<image16x16></image16x16>
-		<image29x29></image29x29>
-		<image32x32></image32x32>
-		<image36x36></image36x36>
-		<image48x48></image48x48>
-		<image50x50></image50x50>
-		<image57x57></image57x57>
-		<image58x58></image58x58>
-		<image72x72></image72x72>
-		<image96x96></image96x96>
-		<image100x100></image100x100>
-		<image114x114></image114x114>
-		<image128x128></image128x128>
-		<image144x144></image144x144>
-		<image512x512></image512x512>
-		<image732x412></image732x412>
-		<image1024x1024></image1024x1024>
-	</icon> -->
+	<icon>
+		<image36x36>assets/appicons/36.png</image36x36>
+		<image48x48>assets/appicons/48.png</image48x48>
+		<image72x72>assets/appicons/72.png</image72x72>
+		<image96x96>assets/appicons/96.png</image96x96>
+		<image144x144>assets/appicons/144.png</image144x144>
+	</icon>
 
 	<!-- Whether the application handles the update when a user double-clicks an update version
 	of the AIR file (true), or the default AIR application installer handles the update (false).
@@ -285,12 +273,12 @@
 			    <uses-permission android:name="android.permission.INTERNET"/>
 			    <!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>-->
 			    <!--<uses-permission android:name="android.permission.READ_PHONE_STATE"/>-->
-			    <!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>-->
+			   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
 			    <!--The DISABLE_KEYGUARD and WAKE_LOCK permissions should be toggled together
 					in order to access AIR's SystemIdleMode APIs-->
 			    <!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>-->
-			    <!--<uses-permission android:name="android.permission.WAKE_LOCK"/>-->
-			    <!--<uses-permission android:name="android.permission.CAMERA"/>-->
+			    <uses-permission android:name="android.permission.WAKE_LOCK"/>
+			    <uses-permission android:name="android.permission.CAMERA"/>
 			    <!--<uses-permission android:name="android.permission.RECORD_AUDIO"/>-->
 			    <!--The ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE permissions should be toggled
 					together in order to use AIR's NetworkInfo APIs-->
diff --git a/tourdeflexmobile/src/TourDeFlexMobile.mxml b/tourdeflexmobile/src/TourDeFlexMobile.mxml
index 6a9dc94..db41b7e 100644
--- a/tourdeflexmobile/src/TourDeFlexMobile.mxml
+++ b/tourdeflexmobile/src/TourDeFlexMobile.mxml
@@ -19,7 +19,8 @@
 -->
 
 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
-							xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160" applicationComplete="init(event)">
+							xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160" applicationComplete="init(event)" frameRate="60" 
+							splashScreenImage="@Embed('assets/images/splash.png')" splashScreenScaleMode="zoom">
 	
 	<fx:Style source="styles.css"/>
 	
@@ -29,38 +30,15 @@
 			
 			import spark.events.IndexChangeEvent;
 			
-			import AIRViews.AccelerometerView;
-			import AIRViews.SQLiteView;
-			
-			import LayoutViews.AccordionLayoutView;
-			import LayoutViews.CarouselLayoutView;
-			import LayoutViews.CoverFlowLayoutView;
-			import LayoutViews.HorizontalLayoutView;
-			import LayoutViews.RolodexLayoutView;
-			import LayoutViews.TileLayoutView;
-			import LayoutViews.TimeMachineLayoutView;
-			import LayoutViews.VerticalLayoutView;
-			
-			import UIViews.ButtonBarView;
-			import UIViews.CalloutButtonView;
-			import UIViews.CheckboxView;
-			import UIViews.DateSpinnerView;
-			import UIViews.ListView;
-			import UIViews.MobileGridView;
-			import UIViews.RadiobuttonView;
-			import UIViews.SpinnerListView;
-			import UIViews.TextInputView;
-			import UIViews.ToggleSwitchView;
-			
-			import views.HttpServiceView;
-			
+			import views.ComponentsView;
+			import views.HomeView;
+			import views.NewsView;
+			import views.ShowcaseView;
+			import views.VideosView;
+				
 			private var isOpen:Boolean;	
 			
-			[Bindable]
-			private var currentStageWidth:Number;
-		
-			[Bindable]
-			private var currentStageHeight:Number;
+			[Bindable] private var currentStageWidth:Number;
 			
 			protected function init(event:FlexEvent):void
 			{
@@ -68,28 +46,16 @@
 				
 				currentStageWidth = stage.stageWidth*-1;
 				lateralMenu.x = currentStageWidth;
-				currentStageHeight = navigator.height-45;
-				lateralMenu.height = currentStageHeight;			
-				lateralMenu.x = currentStageWidth;
 				isOpen = false;
 			}
 			
-			private function orientationHandler(event:Event):void{
+			private function orientationHandler(event:Event):void
+			{
 				currentStageWidth = stage.stageWidth*-1;
-				
-				if(isOpen == false){
-					lateralMenu.x = currentStageWidth;
-				}
-				
-				currentStageHeight = navigator.height-45;
-				lateralMenu.height = currentStageHeight;	
-				
-				trace(lateralMenu.height);
 			}
 			
 			protected function menuHandler(event:MouseEvent):void
-			{
-				
+			{				
 				if(isOpen == true){
 					moveOut.play();
 					isOpen = false;
@@ -117,52 +83,32 @@
 	</fx:Script>
 	
 	<fx:Declarations>
-		<s:Move id="moveIn" duration="200" target="{lateralMenu}" xTo="0"/>
-		<s:Move id="moveOut" duration="200" target="{lateralMenu}" xTo="{currentStageWidth}"/>
+		<s:Move id="moveIn" duration="300" target="{lateralMenu}" xTo="0"/>
+		<s:Move id="moveOut" duration="300" target="{lateralMenu}" xTo="{currentStageWidth}"/>
 	</fx:Declarations>
 	
-	<s:ViewNavigator id="navigator" firstView="views.BlogView" width="100%" height="100%">
+	<s:ViewNavigator id="navigator" firstView="views.NewsView" width="100%" height="100%">
 		<s:navigationContent>
-			<s:Button icon="@Embed('assets/images/logo.png')" height="35" width="77" label="Menu" click="menuHandler(event)"/>
+			<s:Button icon="@Embed('assets/images/logo.png')" height="36" width="110" label="Menu" click="menuHandler(event)"/>
 		</s:navigationContent>
 	</s:ViewNavigator>
 	
-	<s:Group id="lateralMenu" width="100%" y="45">
-		<s:Graphic width="100%" height="100%" click="menuBackgroundHandler(event)">
-			<s:BitmapImage width="100%" height="100%" scaleMode="zoom" source="@Embed('assets/images/bg.png')"/>
+	<s:Group id="lateralMenu" width="100%" top="45" bottom="0">
+		<s:Graphic left="200" right="0" height="100%" click="menuBackgroundHandler(event)">
+			<s:BitmapImage width="100%" height="100%" scaleMode="zoom" alpha="0" source="@Embed('assets/images/bg.png')"/>
 		</s:Graphic>
 		
-		<s:List id="componentsList" itemRenderer="renderers.MenuRenderer" width="200" height="100%" change="changeHandler(event)" contentBackgroundColor="#000000">
+		<s:List id="componentsList" selectedIndex="0" itemRenderer="renderers.MenuRenderer" width="200" height="100%" change="changeHandler(event)">
 			<s:ArrayList>
-				<fx:Object label="UI Components" type="separator"/>			
-				<fx:Object label="ButtonBar" type="view" view="{ButtonBarView}"/>
-				<fx:Object label="CalloutButton" type="view" view="{CalloutButtonView}"/>
-				<fx:Object label="CheckBox" type="view" view="{CheckboxView}"/>
-				<fx:Object label="DateSpinner" type="view" view="{DateSpinnerView}"/>
-				<fx:Object label="List" type="view" view="{ListView}"/>
-				<fx:Object label="MobileGrid" type="view" view="{MobileGridView}"/>
-				<fx:Object label="RadioButton" type="view" view="{RadiobuttonView}"/>
-				<fx:Object label="SpinnerList" type="view" view="{SpinnerListView}"/>
-				<fx:Object label="TextInput" type="view" view="{TextInputView}"/>
-				<fx:Object label="ToggleSwitch" type="view" view="{ToggleSwitchView}"/>
-				
-				<fx:Object label="Layouts" type="separator"/>				
-				<fx:Object label="HorizontalLayout" type="view" view="{HorizontalLayoutView}"/>
-				<fx:Object label="VerticalLayout" type="view" view="{VerticalLayoutView}"/>
-				<fx:Object label="TileLayout" type="view" view="{TileLayoutView}"/>
-				<fx:Object label="CoverFlowLayout" type="view" view="{CoverFlowLayoutView}"/>
-				<fx:Object label="TimeMachineLayout" type="view" view="{TimeMachineLayoutView}"/>
-				<fx:Object label="RolodexLayout" type="view" view="{RolodexLayoutView}"/>
-				<fx:Object label="CarouselLayout" type="view" view="{CarouselLayoutView}"/>
-				<fx:Object label="AccordionLayout" type="view" view="{AccordionLayoutView}"/>
-				<!-- <fx:Object label="StackLayout" type="view" view="{StackLayoutView}"/> -->
-				
-				<fx:Object label="AIR APIs" type="separator"/>				
-				<fx:Object label="SQLite" type="view" view="{SQLiteView}"/>
-				<fx:Object label="Accelerometer" type="view" view="{AccelerometerView}"/>
-				
-				<fx:Object label="Data Access" type="separator"/>			
-				<fx:Object label="HTTPService" type="view" view="{HttpServiceView}"/>
+				<fx:Object label="NEWS" icon="assets/icons/rss.png" type="view" view="{NewsView}"/>
+				<fx:Object label="USERS@FLEX" icon="assets/icons/people.png" type="view" view="{HomeView}"/>
+				<fx:Object label="DEV@FLEX" icon="assets/icons/envelope-closed.png" type="view" view="{HomeView}"/>
+				<fx:Object label="COMPONENTS" icon="assets/icons/puzzle-piece.png" type="view" view="{ComponentsView}"/>
+				<fx:Object label="WIKI" icon="assets/icons/book.png" type="view" view="{HomeView}"/>
+				<fx:Object label="SHOWCASE" icon="assets/icons/briefcase.png" type="view" view="{ShowcaseView}"/>				
+				<fx:Object label="VIDEOS" icon="assets/icons/video.png" type="view" view="{VideosView}"/>
+				<fx:Object label="TOOLS" icon="assets/icons/wrench.png" type="view" view="{HomeView}"/>				
+				<fx:Object label="BUG TRACKER" icon="assets/icons/bug.png" type="view" view="{HomeView}"/>
 			</s:ArrayList>
 		</s:List>
 	</s:Group>
diff --git a/tourdeflexmobile/src/UIViews/ActionBarView.mxml b/tourdeflexmobile/src/UIViews/ActionBarView.mxml
new file mode 100644
index 0000000..691398b
--- /dev/null
+++ b/tourdeflexmobile/src/UIViews/ActionBarView.mxml
@@ -0,0 +1,97 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="ActionBar">
+	<fx:Script>
+		<![CDATA[
+			
+			protected function actionBarButtonHandler(event:MouseEvent):void
+			{
+				var labelStr:String = event.target.label;
+				label.text = labelStr;
+			}
+			
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+			
+		]]>
+	</fx:Script>
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="@Embed('assets/icons/480/about.png')"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="@Embed('assets/icons/480/dock.png')"/>
+	</fx:Declarations>
+	<s:VGroup width="100%" height="100%" includeIn="DemoState" horizontalAlign="center" verticalAlign="middle">
+		<s:ActionBar id="actionBar" width="100%" >
+			<s:navigationContent>
+				<s:Button label="Back" click="actionBarButtonHandler(event)" />
+				<s:Button label="Next" click="actionBarButtonHandler(event)" />
+			</s:navigationContent>
+			<s:actionContent>
+				<s:Button label="Menu" click="actionBarButtonHandler(event)" />
+				<s:Button label="Save" click="actionBarButtonHandler(event)" />
+			</s:actionContent>
+		</s:ActionBar>
+		<s:Spacer height="10"/>
+		<s:Label id="label" horizontalCenter="0" textAlign="center"/>
+	</s:VGroup>	
+	<s:TextArea includeIn="InfoState" selectable="false"  left="10" right="10" top="10" bottom="10" editable="false" text="The ActionBar class defines a component that includes title, navigation, and action content groups. The ActionBar control provides a standard area for navigation and action controls. It lets you define global controls that can be used from anywhere in the application, or controls specific to a view.
+				The ActionBar control defines three distinct areas:
+				&#xd; &#xd;Navigation area
+				&#xd; &#xd;Contains components that let the user navigate the section. For example, you can define a home button in the navigation area. Use the navigationContent property to define the components that appear in the navigation area. Use the navigationLayout property to define the layout of the navigation area.
+				&#xd; &#xd;Title area
+				&#xd; &#xd;Contains either a String containing title text, or components. If you specify components, you cannot specify a title String. Use the title property to specify the String to appear in the title area. Use the titleContent property to define the components that appear in the title area. Use the titleLayout property to define the layout of the title area. If you specify a value for the titleContent property, the ActionBar skin ignores the title property.
+				&#xd; &#xd;Action area
+				&#xd; &#xd;Contains components that define actions the user can take in a view. For example, you might define a search or refresh button as part of the action area. Use the actionContent property to define the components that appear in the action area. Use the actionLayout property to define the layout of the action area."/>	
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+</s:View>
diff --git a/tourdeflexmobile/src/UIViews/BusyIndicatorView.mxml b/tourdeflexmobile/src/UIViews/BusyIndicatorView.mxml
new file mode 100644
index 0000000..e815fa7
--- /dev/null
+++ b/tourdeflexmobile/src/UIViews/BusyIndicatorView.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.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="BusyIndicator" >
+	<fx:Script>
+		<![CDATA[
+			
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+			
+		]]>
+	</fx:Script>
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="@Embed('assets/icons/480/about.png')"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="@Embed('assets/icons/480/dock.png')"/>
+	</fx:Declarations>
+	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:VGroup width="100%" height="100%" includeIn="DemoState" horizontalAlign="center" verticalAlign="middle">
+		<s:BusyIndicator id="busyIndicator" />
+		<s:Spacer height="10"/>
+		<s:Label id="label" horizontalCenter="0" textAlign="center"/>
+	</s:VGroup>	
+	<s:TextArea includeIn="InfoState" selectable="false"  left="10" right="10" top="10" bottom="10" editable="false" 
+				text="The BusyIndicator defines a component to display when a long-running operation is in progress. 
+				&#xd; &#xd;For Web, Desktop and iOS, a spinner with twelve spoke is drawn. The color of the spokes is controlled by the value of the symbolColor style.
+				&#xd; &#xd;For Android, a circle is drawn that rotates.
+				&#xd; &#xd;The transparency of this component can be modified using the alpha property, but the alpha value of each spoke cannot be modified.
+				"/>	
+
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+</s:View>
diff --git a/tourdeflexmobile/src/UIViews/ButtonBarView.mxml b/tourdeflexmobile/src/UIViews/ButtonBarView.mxml
index 54814f2..08dcdad 100644
--- a/tourdeflexmobile/src/UIViews/ButtonBarView.mxml
+++ b/tourdeflexmobile/src/UIViews/ButtonBarView.mxml
@@ -48,11 +48,25 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
-	<s:ButtonBar id="buttonbar" includeIn="DemoState" change="buttonbarHandler(event)" left="5" right="5" top="5">
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:ButtonBar id="buttonbar" includeIn="DemoState" change="buttonbarHandler(event)" left="10" right="10" top="10">
 		<s:ArrayList>
 			<fx:Object label="Button 1"/>
 			<fx:Object label="Button 2"/>
@@ -73,6 +87,16 @@
 				
 				&#xd; &#xd;Note: The Spark list-based controls (the Spark ListBase class and its subclasses such as ButtonBar, ComboBox, DropDownList, List, and TabBar) do not support the BasicLayout class as the value of the layout property. Do not use BasicLayout with the Spark list-based controls."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/CalloutButtonView.mxml b/tourdeflexmobile/src/UIViews/CalloutButtonView.mxml
index eec4a8c..7c0d899 100644
--- a/tourdeflexmobile/src/UIViews/CalloutButtonView.mxml
+++ b/tourdeflexmobile/src/UIViews/CalloutButtonView.mxml
@@ -40,11 +40,25 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
-	<s:CalloutButton label="CalloutButton" horizontalCenter="0" y="10">
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:CalloutButton label="CalloutButton" horizontalCenter="0" verticalCenter="0">
 		<s:List>
 			<s:ArrayList>
 				<fx:Object label="Item 1"/>
@@ -65,6 +79,16 @@
 				&#xd; &#xd;Clicking the button closes the callout
 				&#xd; &#xd;Clicking outside of the callout closes the callout."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/CheckboxView.mxml b/tourdeflexmobile/src/UIViews/CheckboxView.mxml
index ff9dbc6..7b0eeb3 100644
--- a/tourdeflexmobile/src/UIViews/CheckboxView.mxml
+++ b/tourdeflexmobile/src/UIViews/CheckboxView.mxml
@@ -45,11 +45,25 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
-	<s:VGroup includeIn="DemoState" horizontalCenter="0" y="20">
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:VGroup includeIn="DemoState" horizontalCenter="0" verticalCenter="0">
 		<s:CheckBox change="checkboxHandler(event)" label="CheckBox 1" />
 		<s:CheckBox change="checkboxHandler(event)" label="CheckBox 2" />
 		<s:CheckBox change="checkboxHandler(event)" label="CheckBox 3" />
@@ -62,6 +76,16 @@
 				
 				&#xd; &#xd;To use this component in a list-based component, such as a List or DataGrid, create an item renderer. For information about creating an item renderer, see Custom Spark item renderers."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/DateSpinnerView.mxml b/tourdeflexmobile/src/UIViews/DateSpinnerView.mxml
index 0cb738f..55398c0 100644
--- a/tourdeflexmobile/src/UIViews/DateSpinnerView.mxml
+++ b/tourdeflexmobile/src/UIViews/DateSpinnerView.mxml
@@ -40,10 +40,24 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
 	<s:DateSpinner includeIn="DemoState" displayMode="dateAndTime" verticalCenter="0" horizontalCenter="0"/>
 	
 	<s:TextArea includeIn="InfoState" skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" bottom="10" editable="false" text="The DateSpinner control presents an interface for picking a particular date or time.
@@ -53,6 +67,16 @@
 				
 				&#xd;&#xd;The DateSpinnerSkin only defines some sizing properties. To change the appearance of the DateSpinner control, you typically reskin the underlying SpinnerListSkin or SpinnerListContainerSkin."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/HscrubberView.mxml b/tourdeflexmobile/src/UIViews/HscrubberView.mxml
new file mode 100644
index 0000000..a3cf0c0
--- /dev/null
+++ b/tourdeflexmobile/src/UIViews/HscrubberView.mxml
@@ -0,0 +1,89 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="HSlider">
+	<fx:Script>
+		<![CDATA[
+			
+			protected function buttonHandler(event:MouseEvent):void
+			{
+				if(currentState == "DemoState")
+				{
+					currentState = "InfoState";				
+				}
+				else if(currentState == "InfoState")
+				{
+					currentState = "DemoState";
+				}
+			}
+			
+			private function submitText():void
+			{
+				label.text = HSlider.value.toString();
+			}
+			
+		]]>
+	</fx:Script>	
+	<s:states>
+		<s:State name="DemoState"/>
+		<s:State name="InfoState"/>
+	</s:states>	
+	<fx:Declarations>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="@Embed('assets/icons/480/about.png')"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="@Embed('assets/icons/480/dock.png')"/>
+	</fx:Declarations>
+	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:VGroup includeIn="DemoState" horizontalAlign="center" verticalAlign="middle" left="20" right="20" height="100%">
+		<s:HSlider id="HSlider" left="20" right="20" minimum="0" maximum="100"/>		
+		<s:Spacer height="10"/>
+		<s:Label id="label" horizontalCenter="0" textAlign="center" text="{HSlider.value.toString()}"/>
+	</s:VGroup>	
+	<s:TextArea includeIn="InfoState" selectable="false" left="10" right="10" top="10" bottom="10" editable="false" 
+				text="The HSlider (horizontal slider) control lets users select a value by moving a slider thumb between the end points of the slider track. The HSlider control has a horizontal direction. The slider track stretches from left to right. The current value of the slider is determined by the relative location of the thumb between the end points of the slider, corresponding to the slider's minimum and maximum values. 				
+				&#xd; &#xd;The slider can allow a continuous range of values between its minimum and maximum values or it can be restricted to values at specific intervals between the minimum and maximum value. The slider can contain a data tip to show its current value."/>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:actionContent>
+		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
+	</s:actionContent>
+</s:View>
diff --git a/tourdeflexmobile/src/UIViews/ListView.mxml b/tourdeflexmobile/src/UIViews/ListView.mxml
index ce00d68..6c691b1 100644
--- a/tourdeflexmobile/src/UIViews/ListView.mxml
+++ b/tourdeflexmobile/src/UIViews/ListView.mxml
@@ -42,8 +42,16 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
 	<s:List includeIn="DemoState" width="100%" height="100%">
@@ -79,6 +87,16 @@
 				
 				&#xd;&#xd;To use this component in a list-based component, such as a List or DataGrid, create an item renderer. For information about creating an item renderer, see Custom Spark item renderers."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/MobileGridView.mxml b/tourdeflexmobile/src/UIViews/MobileGridView.mxml
index d875580..0bdae79 100644
--- a/tourdeflexmobile/src/UIViews/MobileGridView.mxml
+++ b/tourdeflexmobile/src/UIViews/MobileGridView.mxml
@@ -40,8 +40,16 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
 	<ns:MobileGrid includeIn="DemoState" width="100%" height="100%">
@@ -100,6 +108,16 @@
 				
 				&#xd;&#xd;This technique ensures optimal display and memory performance, which is critical for mobile devices, at the price of less flexibility for cell renderers."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml b/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml
index 47d1804..0297cf9 100644
--- a/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml
+++ b/tourdeflexmobile/src/UIViews/RadiobuttonView.mxml
@@ -40,8 +40,16 @@
 	</fx:Script>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 
 		<s:RadioButtonGroup id="radiogroup1"/>
 	</fx:Declarations>
@@ -51,7 +59,13 @@
 		<s:State name="InfoState"/>
 	</s:states>
 
-	<s:VGroup includeIn="DemoState" horizontalCenter="0" y="20">
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:VGroup includeIn="DemoState" horizontalCenter="0" verticalCenter="0">
 		<s:RadioButton change="radiobuttonHandler(event)" label="RadioButton 1" groupName="radiogroup1"/>
 		<s:RadioButton change="radiobuttonHandler(event)" label="RadioButton 2" groupName="radiogroup1"/>
 		<s:RadioButton change="radiobuttonHandler(event)" label="RadioButton 3" groupName="radiogroup1"/>
@@ -64,6 +78,16 @@
 																		  
 				&#xd;&#xd; To use this component in a list-based component, such as a List or DataGrid, create an item renderer. For information about creating an item renderer, see Custom Spark item renderers."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/SpinnerListView.mxml b/tourdeflexmobile/src/UIViews/SpinnerListView.mxml
index c94f59b..9bf6ed7 100644
--- a/tourdeflexmobile/src/UIViews/SpinnerListView.mxml
+++ b/tourdeflexmobile/src/UIViews/SpinnerListView.mxml
@@ -47,11 +47,25 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
-	<s:SpinnerListContainer includeIn="DemoState" width="100%">
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:SpinnerListContainer includeIn="DemoState" left="20" right="20" horizontalCenter="0" verticalCenter="0">
 		<s:SpinnerList id="spinnerList1" change="spinnerListHandler(event)" width="50%" height="150">
 			<s:ArrayCollection>
 				<fx:Object label="Item A 1"/>
@@ -109,6 +123,16 @@
 	<s:TextArea includeIn="InfoState" skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" bottom="10" editable="false" text="The SpinnerList component displays a list of items. The item in the center of the list is always the selectedItem. By default, the list wraps around.
 				&#xd;&#xd;You can have multiple SpinnerList controls arranged horizontally within a single border by wrapping then in a SpinnerListContainer."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/TextInputView.mxml b/tourdeflexmobile/src/UIViews/TextInputView.mxml
index 8a765c8..1adae31 100644
--- a/tourdeflexmobile/src/UIViews/TextInputView.mxml
+++ b/tourdeflexmobile/src/UIViews/TextInputView.mxml
@@ -48,13 +48,27 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
-	<s:TextInput includeIn="DemoState" id="textInput" skinClass="spark.skins.mobile.TextInputSkin" prompt="Type Here and Tap Enter" left="5" right="5" top="5" height="40" enter="submitText()" />
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
 	
-	<s:Label includeIn="DemoState" id="label" horizontalCenter="0" y="60" textAlign="center"/>
+	<s:TextInput includeIn="DemoState" id="textInput" skinClass="spark.skins.mobile.TextInputSkin" prompt="Type Here and Tap Enter" left="10" right="10" top="10" height="40" enter="submitText()" />
+	
+	<s:Label includeIn="DemoState" id="label" horizontalCenter="0" y="70" textAlign="center"/>
 	
 	<s:TextArea includeIn="InfoState" skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" bottom="10" editable="false" text="TextInput is a text-entry control that lets users enter and edit a single line of uniformly-formatted text.
 				&#xd; &#xd;The TextInput skin for the Spark theme uses the RichEditableText class. This means that the Spark TextInput control supports the Text Layout Framework (TLF) library, which builds on the Flash Text Engine (FTE). In combination, these layers provide text editing with high-quality international typography and layout.
@@ -81,6 +95,16 @@
 																																																																																																																																			 
 				&#xd; &#xd;To use this component in a list-based component, such as a List or DataGrid, create an item renderer. For information about creating an item renderer, see Custom Spark item renderers."/>
 	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml b/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml
index 5309a75..fb30f37 100644
--- a/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml
+++ b/tourdeflexmobile/src/UIViews/ToggleSwitchView.mxml
@@ -41,17 +41,41 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 	</fx:Declarations>
 	
-	<s:ToggleSwitch includeIn="DemoState" horizontalCenter="0" y="20" />
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:ToggleSwitch includeIn="DemoState" horizontalCenter="0" verticalCenter="0" />
 	
 	<s:TextArea includeIn="InfoState" skinClass="spark.skins.mobile.TextAreaSkin" left="10" right="10" top="10" bottom="10" editable="false" text="The Spark ToggleSwitch control defines a binary switch that can be in the selected or unselected position. The ToggleSwitch consists of a thumb skin part that moves between the two ends of the track skin part, similar to the Spark Slider control.
 				The ToggleSwitch control has two positions: selected and unselected. By default, the label OFF corresponds to the unselected position and ON corresponds to the selected position.
 				&#xd; &#xd;Clicking anywhere in the control toggles the position. You can also slide the thumb along the track to change position. When you release the thumb, it moves to the position, selected or unselected, that is closest to the thumb location.
 				&#xd; &#xd;The ToggleSwitch control uses the following default values for the unselected and selected labels: OFF (unselected) and ON (selected). Define a custom skin to change the labels, or to change other visual characteristics of the control."/>
 				
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
 	<s:actionContent>
 		<s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/>
 	</s:actionContent>
diff --git a/tourdeflexmobile/src/assets/appicons/144.png b/tourdeflexmobile/src/assets/appicons/144.png
new file mode 100644
index 0000000..4af316d
--- /dev/null
+++ b/tourdeflexmobile/src/assets/appicons/144.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/appicons/192.png b/tourdeflexmobile/src/assets/appicons/192.png
new file mode 100644
index 0000000..f3b93c4
--- /dev/null
+++ b/tourdeflexmobile/src/assets/appicons/192.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/appicons/36.png b/tourdeflexmobile/src/assets/appicons/36.png
new file mode 100644
index 0000000..d73311a
--- /dev/null
+++ b/tourdeflexmobile/src/assets/appicons/36.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/appicons/48.png b/tourdeflexmobile/src/assets/appicons/48.png
new file mode 100644
index 0000000..a7c64e7
--- /dev/null
+++ b/tourdeflexmobile/src/assets/appicons/48.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/appicons/72.png b/tourdeflexmobile/src/assets/appicons/72.png
new file mode 100644
index 0000000..e5abaad
--- /dev/null
+++ b/tourdeflexmobile/src/assets/appicons/72.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/appicons/96.png b/tourdeflexmobile/src/assets/appicons/96.png
new file mode 100644
index 0000000..2f25b97
--- /dev/null
+++ b/tourdeflexmobile/src/assets/appicons/96.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/160/1_navigation_next_item.png b/tourdeflexmobile/src/assets/icons/160/1_navigation_next_item.png
new file mode 100755
index 0000000..88029a8
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/160/1_navigation_next_item.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/160/1_navigation_previous_item.png b/tourdeflexmobile/src/assets/icons/160/1_navigation_previous_item.png
new file mode 100755
index 0000000..b8b3e1a
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/160/1_navigation_previous_item.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/240/1_navigation_next_item.png b/tourdeflexmobile/src/assets/icons/240/1_navigation_next_item.png
new file mode 100755
index 0000000..e6495b2
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/240/1_navigation_next_item.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/240/1_navigation_previous_item.png b/tourdeflexmobile/src/assets/icons/240/1_navigation_previous_item.png
new file mode 100755
index 0000000..64538ce
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/240/1_navigation_previous_item.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/320/1_navigation_next_item.png b/tourdeflexmobile/src/assets/icons/320/1_navigation_next_item.png
new file mode 100755
index 0000000..c36e050
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/320/1_navigation_next_item.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/320/1_navigation_previous_item.png b/tourdeflexmobile/src/assets/icons/320/1_navigation_previous_item.png
new file mode 100755
index 0000000..e97e910
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/320/1_navigation_previous_item.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/1.png b/tourdeflexmobile/src/assets/icons/480/1.png
new file mode 100644
index 0000000..e7a778d
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/1.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/2.png b/tourdeflexmobile/src/assets/icons/480/2.png
new file mode 100644
index 0000000..84d2f95
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/2.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/3.png b/tourdeflexmobile/src/assets/icons/480/3.png
new file mode 100644
index 0000000..39dcfd0
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/3.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/about.png b/tourdeflexmobile/src/assets/icons/480/about.png
new file mode 100644
index 0000000..0fe809b
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/about.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/add.png b/tourdeflexmobile/src/assets/icons/480/add.png
new file mode 100644
index 0000000..c0cd3d9
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/add.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/dock.png b/tourdeflexmobile/src/assets/icons/480/dock.png
new file mode 100644
index 0000000..14a1e3e
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/dock.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/icon.png b/tourdeflexmobile/src/assets/icons/480/icon.png
new file mode 100644
index 0000000..d5f63ca
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/icon.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/480/icon1.png b/tourdeflexmobile/src/assets/icons/480/icon1.png
new file mode 100644
index 0000000..44ade7a
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/480/icon1.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/book.png b/tourdeflexmobile/src/assets/icons/book.png
new file mode 100644
index 0000000..a54a3e7
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/book.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/briefcase.png b/tourdeflexmobile/src/assets/icons/briefcase.png
new file mode 100644
index 0000000..83f646f
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/briefcase.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/bug.png b/tourdeflexmobile/src/assets/icons/bug.png
new file mode 100644
index 0000000..f9e99e0
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/bug.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/envelope-closed.png b/tourdeflexmobile/src/assets/icons/envelope-closed.png
new file mode 100644
index 0000000..85eef0c
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/envelope-closed.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/people.png b/tourdeflexmobile/src/assets/icons/people.png
new file mode 100644
index 0000000..ebdafe2
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/people.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/phone.png b/tourdeflexmobile/src/assets/icons/phone.png
new file mode 100644
index 0000000..19098e5
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/phone.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/puzzle-piece.png b/tourdeflexmobile/src/assets/icons/puzzle-piece.png
new file mode 100644
index 0000000..be6d6f0
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/puzzle-piece.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/rss.png b/tourdeflexmobile/src/assets/icons/rss.png
new file mode 100644
index 0000000..58799a5
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/rss.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/video.png b/tourdeflexmobile/src/assets/icons/video.png
new file mode 100644
index 0000000..d912be2
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/video.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/icons/wrench.png b/tourdeflexmobile/src/assets/icons/wrench.png
new file mode 100644
index 0000000..19c7634
--- /dev/null
+++ b/tourdeflexmobile/src/assets/icons/wrench.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/images/logo.png b/tourdeflexmobile/src/assets/images/logo.png
index 0278b81..d7b87cf 100644
--- a/tourdeflexmobile/src/assets/images/logo.png
+++ b/tourdeflexmobile/src/assets/images/logo.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/images/logo_big.png b/tourdeflexmobile/src/assets/images/logo_big.png
new file mode 100644
index 0000000..e38cc07
--- /dev/null
+++ b/tourdeflexmobile/src/assets/images/logo_big.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/images/splash.png b/tourdeflexmobile/src/assets/images/splash.png
new file mode 100644
index 0000000..6d27cd4
--- /dev/null
+++ b/tourdeflexmobile/src/assets/images/splash.png
Binary files differ
diff --git a/tourdeflexmobile/src/assets/terminal-grotesque.ttf b/tourdeflexmobile/src/assets/terminal-grotesque.ttf
new file mode 100644
index 0000000..3786710
--- /dev/null
+++ b/tourdeflexmobile/src/assets/terminal-grotesque.ttf
Binary files differ
diff --git a/tourdeflexmobile/src/renderers/MenuRenderer.mxml b/tourdeflexmobile/src/renderers/MenuRenderer.mxml
index 6b79d77..62752de 100644
--- a/tourdeflexmobile/src/renderers/MenuRenderer.mxml
+++ b/tourdeflexmobile/src/renderers/MenuRenderer.mxml
@@ -29,19 +29,8 @@
 				
 				if(data){
 					
-					if(data.type == "view"){
-						autoDrawBackground = true;
-						currentState = "ViewState";		
-					} else if(data.type == "separator"){
-						autoDrawBackground = false;
-						opaqueBackground = 0x464646;
-						currentState = "SeparatorState";
-					} else {
-						autoDrawBackground = true;
-						currentState = "ViewState";	
-					}
-					
 					itemLabel.text = data.label;
+					iconImg.source = String(data.icon);
 					
 				}
 			}
@@ -49,11 +38,7 @@
 		]]>
 	</fx:Script>
 	
-	<s:states>
-		<s:State name="ViewState"/>
-		<s:State name="SeparatorState"/>
-	</s:states>
-	
-	<s:Label id="itemLabel"  color.SeparatorState="#888888" color.ViewState="#FFFFFF" x="10" verticalCenter="0"/>
+	<s:BitmapImage id="iconImg" verticalCenter="0" x="10" width="20" height="20" smooth="true"/>
+	<s:Label id="itemLabel" x="40" verticalCenter="0" styleName="pixelLabel"/>
 	
 </s:ItemRenderer>
\ No newline at end of file
diff --git a/tourdeflexmobile/src/renderers/ShowcaseImageRenderer.mxml b/tourdeflexmobile/src/renderers/ShowcaseImageRenderer.mxml
new file mode 100644
index 0000000..1b2a807
--- /dev/null
+++ b/tourdeflexmobile/src/renderers/ShowcaseImageRenderer.mxml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" autoDrawBackground="false" opaqueBackground="#D7DADD">
+	
+	<fx:Script>
+		<![CDATA[
+			
+			override public function set data(value:Object):void{
+				super.data = value;
+				
+				if(data){				
+					thumbnail.source = data;
+				}
+			}
+		]]>
+	</fx:Script>
+	
+	
+	<s:BitmapImage id="thumbnail" width="100%" height="100%" smooth="true"/>
+	
+</s:ItemRenderer>
diff --git a/tourdeflexmobile/src/styles.css b/tourdeflexmobile/src/styles.css
index 3459839..5cc7183 100644
--- a/tourdeflexmobile/src/styles.css
+++ b/tourdeflexmobile/src/styles.css
@@ -19,48 +19,53 @@
 /* CSS file */
 @namespace s "library://ns.adobe.com/flex/spark";
 
-
-s|ActionBar
+@font-face 
 {
-	chromeColor: #303030;
+	src: url("assets/terminal-grotesque.ttf");
+	fontFamily: PixelFont;
+	fontStyle: normal;
+	fontWeight: normal;
+	embedAsCFF: true;
+	advancedAntiAliasing: true;
+	
 }
 
-s|View
-{
-	backgroundColor: #464646;
+.pixelLabel{
+	color: #000000;
+	fontSize: 14px;
+	fontWeight: normal;
+	fontFamily: PixelFont;
 }
 
-s|Application
-{
-	backgroundColor: #464646;
+
+s|Application{
+	backgroundColor: #D7DADD;	
 }
 
-s|List
-{
-	alternatingItemColors: #303030;
-	selectionColor: #000000;
-	downColor: #FA5B0F;
-	contentBackgroundColor: #464646;
+s|View{
+	backgroundColor: #D7DADD;
+}
+
+s|ActionBar{
+	chromeColor: #000000;	
+}
+
+s|ActionBar #titleDisplay{
+	textAlign: left;
+	fontWeight: normal;
 	color: #FFFFFF;
+	fontSize: 14px;
 }
 
+
 s|TextArea
 {
 	color: #FFFFFF;
 	contentBackgroundColor: #303030;
 }
 
-s|CheckBox
-{
-	color: #FFFFFF;	
-}
-
-s|RadioButton
-{
-	color: #FFFFFF;	
-}
 
 s|Label
 {
-	color: #FFFFFF;
+	color: #000000;
 }
\ No newline at end of file
diff --git a/tourdeflexmobile/src/views/ComponentsView.mxml b/tourdeflexmobile/src/views/ComponentsView.mxml
new file mode 100644
index 0000000..8c35879
--- /dev/null
+++ b/tourdeflexmobile/src/views/ComponentsView.mxml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="Components">
+	<fx:Script>
+		<![CDATA[
+				
+			import UIViews.ActionBarView;
+			import UIViews.ButtonBarView;
+			import UIViews.BusyIndicatorView;
+			import UIViews.CalloutButtonView;
+			import UIViews.CheckboxView;
+			import UIViews.DateSpinnerView;
+			import UIViews.HscrubberView;
+			import UIViews.ListView;
+			import UIViews.MobileGridView;
+			import UIViews.RadiobuttonView;
+			import UIViews.SpinnerListView;
+			import UIViews.TextInputView;
+			import UIViews.ToggleSwitchView;
+			
+			import LayoutViews.HorizontalLayoutView;
+			import LayoutViews.VerticalLayoutView;
+			import LayoutViews.TileLayoutView;
+			
+			import AIRViews.AccelerometerView;
+			import AIRViews.CameraRollView;
+			import AIRViews.CameraUIView;
+			import AIRViews.GeolocationView;
+			import AIRViews.NativeAppView;
+			import AIRViews.SQLiteView;
+			
+			protected function listHandler(event:MouseEvent):void

+			{

+				navigator.pushView(componentsList.selectedItem.view);

+			}
+			
+		]]>
+	</fx:Script>
+	
+	<s:List id="componentsList" width="100%" height="100%" click="listHandler(event)">
+		<s:dataProvider>
+			<s:ArrayList>
+				<fx:Object label="ActionBar" view="{ActionBarView}"/>
+				<fx:Object label="ButtonBar" view="{ButtonBarView}"/>
+				<fx:Object label="BusyIndicator" view="{BusyIndicatorView}"/>
+				<fx:Object label="CalloutButton" view="{CalloutButtonView}"/>
+				<fx:Object label="Checkbox" view="{CheckboxView}"/>
+				<fx:Object label="DateSpinner" view="{DateSpinnerView}"/>
+				<fx:Object label="HSlider" view="{HscrubberView}"/>
+				<fx:Object label="List" view="{ListView}"/>
+				<fx:Object label="MobileGrid" view="{MobileGridView}"/>
+				<fx:Object label="RadioButton" view="{RadiobuttonView}"/>
+				<fx:Object label="SpinnerList" view="{SpinnerListView}"/>
+				<fx:Object label="TextInput" view="{TextInputView}"/>
+				<fx:Object label="toggleSwitch" view="{ToggleSwitchView}"/>
+				<fx:Object label="HorizontalLayout" view="{HorizontalLayoutView}"/>
+				<fx:Object label="VerticalLayout" view="{VerticalLayoutView}"/>
+				<fx:Object label="TileLayout" view="{TileLayoutView}"/>
+				<fx:Object label="Accelerometer" view="{AccelerometerView}"/>
+				<fx:Object label="CameraRoll" view="{CameraRollView}"/>
+				<fx:Object label="CameraUI" view="{CameraUIView}"/>
+				<fx:Object label="Geolocation" view="{GeolocationView}"/>
+				<fx:Object label="NativeApp" view="{NativeAppView}"/>
+				<fx:Object label="SQLite" view="{SQLiteView}"/>
+			</s:ArrayList>
+		</s:dataProvider>
+		<s:itemRenderer>
+			<fx:Component>
+				<s:IconItemRenderer>
+					<s:decorator>
+						<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_next_item.png')"
+												source240dpi="@Embed('assets/icons/240/1_navigation_next_item.png')"
+												source320dpi="@Embed('assets/icons/320/1_navigation_next_item.png')"/>
+					</s:decorator>
+				</s:IconItemRenderer>
+			</fx:Component>
+		</s:itemRenderer>
+	</s:List>
+</s:View>
diff --git a/tourdeflexmobile/src/views/HomeView.mxml b/tourdeflexmobile/src/views/HomeView.mxml
new file mode 100644
index 0000000..955fea6
--- /dev/null
+++ b/tourdeflexmobile/src/views/HomeView.mxml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="" backgroundColor="#D7DADD">
+	
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:Label horizontalCenter="0" verticalCenter="0" text="TO-DO" fontSize="40"/>	
+</s:View>
diff --git a/tourdeflexmobile/src/views/HttpServiceView.mxml b/tourdeflexmobile/src/views/HttpServiceView.mxml
index 373cd85..0583ebb 100644
--- a/tourdeflexmobile/src/views/HttpServiceView.mxml
+++ b/tourdeflexmobile/src/views/HttpServiceView.mxml
@@ -57,8 +57,16 @@
 	</s:states>
 	
 	<fx:Declarations>
-		<s:MultiDPIBitmapSource id="aboutIcon" source160dpi="@Embed('assets/icons/160/about.png')" source240dpi="@Embed('assets/icons/240/about.png')" source320dpi="@Embed('assets/icons/320/about.png')"/>
-		<s:MultiDPIBitmapSource id="demoIcon" source160dpi="@Embed('assets/icons/160/dock.png')" source240dpi="@Embed('assets/icons/240/dock.png')" source320dpi="@Embed('assets/icons/320/dock.png')"/>
+		<s:MultiDPIBitmapSource id="aboutIcon" 
+								source160dpi="@Embed('assets/icons/160/about.png')" 
+								source240dpi="@Embed('assets/icons/240/about.png')" 
+								source320dpi="@Embed('assets/icons/320/about.png')" 
+								source480dpi="assets/icons/480/about.png"/>
+		<s:MultiDPIBitmapSource id="demoIcon" 
+								source160dpi="@Embed('assets/icons/160/dock.png')" 
+								source240dpi="@Embed('assets/icons/240/dock.png')" 
+								source320dpi="@Embed('assets/icons/320/dock.png')" 
+								source480dpi="assets/icons/480/dock.png"/>
 		<s:HTTPService id="rssService" resultFormat="e4x" result="rssResult(event)"/>
 	</fx:Declarations>
 	
diff --git a/tourdeflexmobile/src/views/NewsDetailsView.mxml b/tourdeflexmobile/src/views/NewsDetailsView.mxml
new file mode 100644
index 0000000..2c462fa
--- /dev/null
+++ b/tourdeflexmobile/src/views/NewsDetailsView.mxml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+		xmlns:s="library://ns.adobe.com/flex/spark"
+		tabBarVisible="false" title="{data.title}" viewActivate="init(event)" viewDeactivate="goBack(event)" >
+	<fx:Script>
+		<![CDATA[
+			import mx.core.FlexGlobals;
+			import mx.events.FlexEvent;
+			
+			import spark.events.ViewNavigatorEvent;
+			
+			private var myStageWebView:StageWebView;		
+			private var fontPercent:Number;
+			private var currentFlexScalingFactor:Number = FlexGlobals.topLevelApplication.runtimeDPI/FlexGlobals.topLevelApplication.applicationDPI;
+			
+			protected function init(event:ViewNavigatorEvent):void
+			{		
+				NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
+				
+				myStageWebView = new StageWebView(true);
+				myStageWebView.viewPort = new Rectangle(myRect.x, myRect.y*currentFlexScalingFactor+FlexGlobals.topLevelApplication.navigator.actionBar.height*currentFlexScalingFactor, myRect.width*currentFlexScalingFactor, myRect.height*currentFlexScalingFactor);
+				myStageWebView.stage = this.stage;
+				
+				myStageWebView.loadString("<html><head><style type='text/css'>"+
+					"body {background-color:#FFFFFF;}"+
+					"body {color:black;}"+
+					"body {padding:10px;}"+
+					"body {font-size:"+14*currentFlexScalingFactor+"px;}"+
+					"body {font-family:helvetica;}"+
+					"a:link {color:#000000;}"+
+					"a:visited {color:#000000;}"+  
+					"a:hover {color:#000000;}"+
+					"a:active {color:#000000;}"+
+					"</style></head><body>"+data.description+"</body></html>");
+				myRect.addEventListener(Event.RESIZE, resize);
+			}
+			
+			protected function goBack(event:ViewNavigatorEvent):void
+			{
+				NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.NORMAL;
+				myStageWebView.dispose();
+				myRect.removeEventListener(Event.RESIZE, resize);
+			}
+			
+			protected function resize(event:Event):void
+			{
+				myStageWebView.viewPort = new Rectangle(myRect.x, myRect.y*currentFlexScalingFactor+FlexGlobals.topLevelApplication.navigator.actionBar.height*currentFlexScalingFactor, myRect.width*currentFlexScalingFactor, myRect.height*currentFlexScalingFactor);
+			}
+			
+		]]>
+	</fx:Script>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+	
+	<s:Spacer id="myRect" left="10" right="10" top="10" bottom="10"/>
+	
+</s:View>
+
diff --git a/tourdeflexmobile/src/views/NewsView.mxml b/tourdeflexmobile/src/views/NewsView.mxml
new file mode 100644
index 0000000..28ff52d
--- /dev/null
+++ b/tourdeflexmobile/src/views/NewsView.mxml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="News">
+	<fx:Script>
+		<![CDATA[
+			import mx.collections.XMLListCollection;
+			import mx.events.FlexEvent;
+			import mx.rpc.events.ResultEvent;
+			
+			import spark.events.IndexChangeEvent;
+						
+			protected function loadBlogNews(event:FlexEvent):void

+			{

+				blogService.url = "https://blogs.apache.org/flex/feed/entries/rss";
+				blogService.send();

+			}
+			
+			protected function blogService_resultHandler(event:ResultEvent):void
+			{
+				newsList.dataProvider = new XMLListCollection(new XMLList(event.result.channel.item));
+				newsList.labelField = "title";
+			}
+			
+			protected function selectItem(event:IndexChangeEvent):void

+			{

+				navigator.pushView(NewsDetailsView, newsList.selectedItem);

+			}
+			
+		]]>
+	</fx:Script>
+	
+	<fx:Declarations>
+		<s:HTTPService id="blogService" resultFormat="e4x" result="blogService_resultHandler(event)"/>
+	</fx:Declarations>
+	
+	<s:states>
+		<s:State name="BlogState" enterState="loadBlogNews(event)" />
+		<s:State name="TwitterState"/>
+	</s:states>
+	
+	<s:ButtonBar left="5" right="5" top="5" height="40" requireSelection="true" selectedIndex="0">
+		<s:ArrayList>
+			<fx:Object label="Blog News"/>
+			<fx:Object label="Twitter Feed"/>
+		</s:ArrayList>	
+	</s:ButtonBar>
+	
+	<s:List id="newsList" top="50" bottom="0" width="100%" change="selectItem(event)">
+		<s:itemRenderer>
+			<fx:Component>
+				<s:IconItemRenderer labelFunction="myLabelFunction" messageFunction="myMessageFunction">
+					<s:decorator>
+						<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_next_item.png')"
+												source240dpi="@Embed('assets/icons/240/1_navigation_next_item.png')"
+												source320dpi="@Embed('assets/icons/320/1_navigation_next_item.png')"/>
+					</s:decorator>
+					
+					<fx:Script>
+						<![CDATA[
+							
+							private function myLabelFunction(item:Object):String{
+								return unescape(data.title);
+							}
+							
+							private function myMessageFunction(item:Object):String{
+								return data.pubDate;
+							}
+							
+						]]>
+					</fx:Script>
+				</s:IconItemRenderer>
+			</fx:Component>
+		</s:itemRenderer>
+	</s:List>
+</s:View>
diff --git a/tourdeflexmobile/src/views/ShowcaseDetails.mxml b/tourdeflexmobile/src/views/ShowcaseDetails.mxml
new file mode 100644
index 0000000..89643e9
--- /dev/null
+++ b/tourdeflexmobile/src/views/ShowcaseDetails.mxml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="Flex Showcase" viewActivate="init(event)" xmlns:renderers="renderers.*">
+	<fx:Script>
+		<![CDATA[
+			import mx.collections.ArrayList;
+			
+			import spark.components.Label;
+			import spark.events.ViewNavigatorEvent;
+			
+			private var imagesArray:Array;
+			
+			protected function init(event:ViewNavigatorEvent):void

+			{
+				titleTxt.text = data.@title;
+				authorTxt.text = data.@author;
+				
+				if(data.@website){
+					websiteTxt.text = data.@website;
+				} else {
+					//Do Nothing
+				}
+				
+				descriptionTxt.text = data.description;
+				imagesArray = new Array();
+								
+				for each (var image:* in data.images.image){
+					imagesArray.push("http://flex.apache.org/showcase/images/"+data.images.@baseDir+"/prev/"+image.@file);
+				}
+				
+				thumbnailList.dataProvider = new ArrayList(imagesArray);								

+			}
+			
+		]]>
+	</fx:Script>
+
+	<s:Rect left="10" right="10" top="10" bottom="10" radiusX="5" radiusY="5">
+		<s:fill>
+			<s:SolidColor color="#FFFFFF"/>
+		</s:fill>
+	</s:Rect>
+	
+	<s:Scroller id="myScroller" top="10" bottom="10" left="10" right="10">
+		<s:VGroup width="100%" height="100%" gap="10">
+			<s:Spacer height="5" width="5"/>
+			<s:Label id="titleTxt" width="100%" paddingLeft="10" paddingRight="10"/>
+			<s:Label id="authorTxt" width="100%" paddingLeft="10" paddingRight="10" fontWeight="bold"/>
+			<s:Label id="websiteTxt" width="100%" paddingLeft="10" paddingRight="10" textDecoration="underline" color="#006699"/>
+			<s:List id="thumbnailList" width="100%" height="250" itemRenderer="renderers.ShowcaseImageRenderer" verticalScrollPolicy="off" contentBackgroundColor="#D7DADD" pageScrollingEnabled="true">
+				<s:layout>
+					<s:TileLayout useVirtualLayout="true" columnWidth="{myScroller.width}" rowHeight="250" orientation="columns" horizontalGap="0" verticalGap="0"/>
+				</s:layout>
+			</s:List>			
+			<s:Label id="descriptionTxt" width="100%" paddingLeft="10" paddingRight="10"/>
+			<s:Spacer height="5" width="5"/>
+		</s:VGroup>	
+	</s:Scroller>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+</s:View>
diff --git a/tourdeflexmobile/src/views/ShowcaseView.mxml b/tourdeflexmobile/src/views/ShowcaseView.mxml
new file mode 100644
index 0000000..8f7f8d4
--- /dev/null
+++ b/tourdeflexmobile/src/views/ShowcaseView.mxml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="Showcase" viewActivate="init(event)">
+	<fx:Script>
+		<![CDATA[
+			import mx.collections.XMLListCollection;
+			import mx.rpc.events.ResultEvent;
+			
+			import spark.events.IndexChangeEvent;
+			import spark.events.ViewNavigatorEvent;
+			
+			protected function init(event:ViewNavigatorEvent):void

+			{

+				showcaseService.url = "http://flex.apache.org/showcase/data/showcase.xml";
+				showcaseService.send();

+			}
+			
+			protected function shocaseService_resultHandler(event:ResultEvent):void

+			{

+				showcaseList.dataProvider = new XMLListCollection(new XMLList(event.result.app));

+			}
+			
+			protected function selectApp(event:IndexChangeEvent):void

+			{

+				navigator.pushView(ShowcaseDetails, showcaseList.selectedItem);

+			}
+			
+		]]>
+	</fx:Script>
+	
+	<fx:Declarations>
+		<s:HTTPService id="showcaseService" result="shocaseService_resultHandler(event)" resultFormat="e4x" />
+	</fx:Declarations>
+	
+	<s:List id="showcaseList" width="100%" height="100%" change="selectApp(event)">
+		<s:itemRenderer>
+			<fx:Component>
+				<s:IconItemRenderer labelFunction="myLabelFunction" messageFunction="myMessageFunction">
+					<s:decorator>
+						<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_next_item.png')"
+												source240dpi="@Embed('assets/icons/240/1_navigation_next_item.png')"
+												source320dpi="@Embed('assets/icons/320/1_navigation_next_item.png')"/>
+					</s:decorator>
+					
+					<fx:Script>
+						<![CDATA[
+														
+							private function myLabelFunction(item:Object):String{
+								return data.@title;
+							}
+							
+							private function myMessageFunction(item:Object):String{
+								return data.@author;
+							}
+							
+							/* Disabled by now.
+							private function myIconFunction(item:Object):String{
+								if(data.images == undefined){
+									return "";
+								} else {
+									return "http://flex.apache.org/showcase/images/"+data.images.@baseDir+"/prev/"+data.images.image[0].@file;
+								}
+							}*/
+							
+						]]>
+					</fx:Script>
+				</s:IconItemRenderer>
+			</fx:Component>
+		</s:itemRenderer>
+	</s:List>
+</s:View>
diff --git a/tourdeflexmobile/src/views/VideoDetailsView.mxml b/tourdeflexmobile/src/views/VideoDetailsView.mxml
new file mode 100644
index 0000000..2812a05
--- /dev/null
+++ b/tourdeflexmobile/src/views/VideoDetailsView.mxml
@@ -0,0 +1,69 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="{data.title}" viewActivate="init(event)" viewDeactivate="deactivate(event)">
+	<fx:Script>
+		<![CDATA[
+			import mx.core.FlexGlobals;
+			
+			import spark.events.ViewNavigatorEvent;
+			
+			private var myStageWebView:StageWebView;		
+			private var currentFlexScalingFactor:Number = FlexGlobals.topLevelApplication.runtimeDPI/FlexGlobals.topLevelApplication.applicationDPI;
+			
+			protected function init(event:ViewNavigatorEvent):void

+			{
+				NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
+				

+				myStageWebView = new StageWebView(true);
+				myStageWebView.viewPort = new Rectangle(myRect.x, myRect.y*currentFlexScalingFactor+FlexGlobals.topLevelApplication.navigator.actionBar.height*currentFlexScalingFactor, myRect.width*currentFlexScalingFactor, myRect.height*currentFlexScalingFactor);
+				myStageWebView.stage = this.stage;
+				myStageWebView.loadURL("http://www.youtube.com/embed/"+data.url);
+				myRect.addEventListener(Event.RESIZE, resizeWebView);

+			}
+			
+			protected function deactivate(event:ViewNavigatorEvent):void

+			{

+				NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.NORMAL;
+				myStageWebView.dispose();
+				myRect.removeEventListener(Event.RESIZE, resizeWebView);

+			}
+			
+			private function resizeWebView(event:Event):void{
+				
+				myStageWebView.viewPort = new Rectangle(myRect.x, myRect.y*currentFlexScalingFactor+FlexGlobals.topLevelApplication.navigator.actionBar.height*currentFlexScalingFactor, myRect.width*currentFlexScalingFactor, myRect.height*currentFlexScalingFactor);
+			}
+			
+		]]>
+	</fx:Script>
+
+	
+	<s:Spacer id="myRect" left="10" right="10" top="10" bottom="10"/>
+	
+	<s:navigationContent>
+		<s:Button click="navigator.popView()">
+			<s:icon>
+				<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_previous_item.png')"
+										source240dpi="@Embed('assets/icons/240/1_navigation_previous_item.png')"
+										source320dpi="@Embed('assets/icons/320/1_navigation_previous_item.png')"/>
+			</s:icon>
+		</s:Button>
+	</s:navigationContent>
+</s:View>
diff --git a/tourdeflexmobile/src/views/VideosView.mxml b/tourdeflexmobile/src/views/VideosView.mxml
new file mode 100644
index 0000000..6f8fa28
--- /dev/null
+++ b/tourdeflexmobile/src/views/VideosView.mxml
@@ -0,0 +1,161 @@
+<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
+		xmlns:s="library://ns.adobe.com/flex/spark" title="Videos" viewActivate="init(event)">
+	<fx:Script>
+		<![CDATA[
+			import mx.collections.ArrayList;
+			import mx.events.FlexEvent;
+			import mx.events.PropertyChangeEvent;
+			import mx.rpc.events.ResultEvent;
+			
+			import spark.events.IndexChangeEvent;
+			import spark.events.ViewNavigatorEvent;
+			
+			private static const YOUTUBE_API_KEY:String = "COPY_YOUR_YOUTUBE_APIKEY_HERE";
+			private var pageToken:String;
+			private var loading:Boolean;
+									
+			protected function init(event:ViewNavigatorEvent):void
+			{
+				myBusy.visible = true;
+				pageToken = "";
+				youtubeService.url = "https://www.googleapis.com/youtube/v3/search?q=Apache%20Flex%7CAdobe%20Flex&maxResults=50&order=date&type=video&part=snippet&key="+YOUTUBE_API_KEY;
+				youtubeService.send();
+			}
+			
+			protected function changeSearch(event:IndexChangeEvent):void
+			{			
+				
+				pageToken = "";
+				myBusy.visible = true;
+				
+				if(myButtonBar.selectedItem.search == "RecentVideos"){
+					youtubeService.url = "https://www.googleapis.com/youtube/v3/search?q=Apache%20Flex%7CAdobe%20Flex&maxResults=50&order=date&type=video&part=snippet&key="+YOUTUBE_API_KEY;
+				} else {
+					youtubeService.url = "https://www.googleapis.com/youtube/v3/search?q=Apache%20Flex%7CAdobe%20Flex&maxResults=50&order=relevance&type=video&part=snippet&key="+YOUTUBE_API_KEY;
+				}
+				
+				videosList.dataProvider = null;
+				youtubeService.send();
+			}
+			
+			protected function youtubeService_resultHandler(event:ResultEvent):void
+			{
+				var rawData:Object = JSON.parse(String(event.result));
+				pageToken = rawData.nextPageToken;
+				
+				if(videosList.dataProvider == null){
+					var videosArray:ArrayList = new ArrayList(rawData.items as Array);
+					videosList.dataProvider = videosArray;
+				} else {
+					for each (var item:* in rawData.items){
+						videosList.dataProvider.addItem(item);
+					}
+				}
+				
+				loading = false;
+				myBusy.visible = false;
+			}
+			
+			protected function selectVideo(event:IndexChangeEvent):void
+			{
+				var myObject:Object = new Object();
+				myObject.title = videosList.selectedItem.snippet.title;
+				myObject.url = videosList.selectedItem.id.videoId;
+				navigator.pushView(VideoDetailsView, myObject);
+			}
+			
+			protected function videosList_creationCompleteHandler(event:FlexEvent):void
+			{
+				videosList.scroller.viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, propertyChangeHandler);
+			}
+			
+			protected function propertyChangeHandler( event : PropertyChangeEvent):void {
+				if(event.property == "verticalScrollPosition"){
+					if(event.newValue == ( event.currentTarget.measuredHeight - event.currentTarget.height)){
+						loadMore();
+					}
+				}
+			}
+			
+			public function loadMore():void{
+				if(!loading){
+					myBusy.visible = true;
+					loading = true;
+					
+					if(myButtonBar.selectedItem.search == "RecentVideos"){
+						youtubeService.url = "https://www.googleapis.com/youtube/v3/search?q=Apache%20Flex%7CAdobe%20Flex&maxResults=50&pageToken="+pageToken+"&order=date&type=video&part=snippet&key="+YOUTUBE_API_KEY;
+					} else {
+						youtubeService.url = "https://www.googleapis.com/youtube/v3/search?q=Apache%20Flex%7CAdobe%20Flex&maxResults=50&pageToken="+pageToken+"&order=relevance&type=video&part=snippet&key="+YOUTUBE_API_KEY;
+					}
+					
+					youtubeService.send();
+				}
+			}
+			
+		]]>
+	</fx:Script>
+	
+	<fx:Declarations>
+		<s:HTTPService id="youtubeService" resultFormat="text" result="youtubeService_resultHandler(event)"/>
+	</fx:Declarations>
+		
+	<s:ButtonBar  id="myButtonBar" change="changeSearch(event)" left="5" right="5" top="5" height="40" requireSelection="true" selectedIndex="0">
+		<s:ArrayList>
+			<fx:Object label="Recent Videos" search="RecentVideos"/>
+			<fx:Object label="Popular Videos" search="PopularVideos"/>
+		</s:ArrayList>	
+	</s:ButtonBar>
+	
+	<s:List id="videosList" creationComplete="videosList_creationCompleteHandler(event)" change="selectVideo(event)" width="100%" top="50" bottom="0">
+		<s:itemRenderer>
+			<fx:Component>
+				<s:IconItemRenderer labelFunction="myLabelFunction" messageFunction="myMessageFunction" iconFunction="myIconFunction" iconWidth="60" iconHeight="50" iconScaleMode="letterbox">
+					<s:decorator>
+						<s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1_navigation_next_item.png')"
+												source240dpi="@Embed('assets/icons/240/1_navigation_next_item.png')"
+												source320dpi="@Embed('assets/icons/320/1_navigation_next_item.png')"/>
+					</s:decorator>
+					
+					<fx:Script>
+						<![CDATA[
+							
+							private function myIconFunction(item:Object):String{		
+								return data.snippet.thumbnails.medium.url;							
+							}
+							
+							private function myLabelFunction(item:Object):String{								
+								return data.snippet.title;
+							}
+							
+							private function myMessageFunction(item:Object):String{								
+								return data.snippet.channelTitle+ "\n" + String(data.snippet.publishedAt).substr(0, 10);
+							}
+						]]>
+					</fx:Script>
+				</s:IconItemRenderer>
+			</fx:Component>
+		</s:itemRenderer>
+	</s:List>
+	
+	<s:BusyIndicator id="myBusy" verticalCenter="0" horizontalCenter="0" visible="false"/>
+</s:View>