<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<mx:Application height="575" width="500" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" backgroundColor="#FFFFFF"
    >
	<mx:Script>
	<![CDATA[
	[Embed(source="../../../../Assets/Images/redrect.jpg")]
	public var redrect:Class;
	[Embed(source="../../../../Assets/Images/greenrect.jpg")]
        public var greenrect:Class;

        [Embed(source="../../../../Assets/Images/bluerect.jpg")]
        public var blueback:Class;
        public var lengthValue:int;
	]]>
	</mx:Script>
	<mx:Style>
	@namespace "library://ns.adobe.com/flex/mx";
		@font-face {
			src: url("../../../../Assets/Fonts/PT_Serif/PT_Serif-Web-Regular.ttf");
			fontFamily: EmbeddedArial;
			embedAsCFF: false;
		}
		
		@font-face {
			src: url("../../../../Assets/Fonts/PT_Serif/PT_Serif-Web-Bold.ttf");
			fontWeight: bold;			
			fontFamily: EmbeddedArial;
			embedAsCFF: false;
		}
		
		@font-face {
			src: url("../../../../Assets/Fonts/PT_Serif/PT_Serif-Web-Italic.ttf");
			fontStyle: italic;			
			fontFamily: EmbeddedArial;
			embedAsCFF: false;
		}
		
		@font-face {
			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
			fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
		}
		
		@font-face {
			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
			fontWeight: bold;
			fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
		}
		
		@font-face {
			src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
			fontStyle: italic;
			fontFamily: EmbeddedVerdana;
			embedAsCFF: false;
		}

		LinkBar{
		    fontFamily: EmbeddedVerdana;
		    fontAntiAliasType: normal;
		}
	    </mx:Style>
    	    <mx:Style>
	@namespace "library://ns.adobe.com/flex/mx";
		.myStyle {
		    paddingBottom: 15;
		    borderColor: #0000FF;
		    borderStyle: "solid";
		}
    </mx:Style>
    <mx:TextInput id="ti" initialize="{ti.text='LinkBar Initalize'}" creationComplete="{ti2.text='creationComplete executed.'}"/>
    <mx:Button id="btn" label="click" />
    <mx:LinkBar id="lb" />
    <MyLinkBar id="lb2" />
    <mx:Image id="myImage" source="Assets/LinkBarSWF.swf"/>
    <mx:LinkBar id="lb3" paddingBottom="20" dataProvider="['Bunny', 'Peter', 'Joann']"
       borderColor="0xFF0000" borderStyle="solid" />
    <mx:LinkBar id="lb4" dataProvider="['Bunny', 'Peter', 'Joann']" styleName="myStyle" />
    <!--CustomLinkBar id="lb5" borderColor="0xFF0000" borderStyle="solid"
        dataProvider="['Bunny', 'Peter', 'Joann']" styleName="myStyle" paddingTop="10" /-->
    <mx:TextInput id="ti2" />
</mx:Application>
