<?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:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" 
			   minWidth="955" minHeight="850"
			   xmlns:components="components.*">
	
	<!-- Exercise 1.05: Experimenting with container layouts -->
	
	<!-- Properties of the parent ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	
	
	
	<!-- Metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	
	
	
	<!-- Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	
	<fx:Style source="Styles.css"/>
	
	<!-- Script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	
	
	
	<!-- Declarations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	
	<!-- UI components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
	
	
	<s:Label x="15" y="15" 
			 width="520" height="40" 
			 text="Employee Portal: Employee Directory"
			 styleName="titleHeader"/>
	
	<components:EmployeeDisplay empImage="images/aparker.jpg"
								empName="Athena Parker"
								empTitle="Instructional Designer"
								y="86"/>
	
	<components:EmployeeDisplay empImage="images/stucker.jpg"
								empName="Saul Tucker"
								empTitle="Senior Hardware Engineer"
								x="138" y="197"/>
	
	<components:EmployeeDisplay empImage="images/sang.jpg"
								empName="Samuel Ang"
								empTitle="Vice President of Market Development"
								x="267" y="307"/>
	
	<!-- extra employees~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	
	<components:EmployeeDisplay empImage="images/dbeers.jpg"
								empName="Dianna Beers"
								empTitle="Graphic Designer"
								y="86"/>
	
	<components:EmployeeDisplay empImage="images/edoral.jpg"
								empName="Eric Doral"
								empTitle="Sales Manager"
								x="138" y="197"/>
	
	<components:EmployeeDisplay empImage="images/gthompson.jpg"
								empName="Galen Thompson"
								empTitle="President of Human Resources"
								x="267" y="307"/>
	
	<components:EmployeeDisplay empImage="images/tforrester.jpg" 
								empName="Tory Forrester" 
								empTitle="Regional Manager"
								y="86"/> 
	
	<components:EmployeeDisplay empImage="images/ale.jpg" 
								empName="Alyssa Le" 
								empTitle="Technical Support"
								x="138" y="197"/>
	
	<components:EmployeeDisplay empImage="images/lbenson.jpg" 
								empName="Leo Benson" 
								empTitle="Technical Support"
								x="138" y="197"/>
	
	<components:EmployeeDisplay empImage="images/sfore.jpg" 
								empName="Simon Fore" 
								empTitle="Technical Support"
								x="138" y="197"/>
	
	<components:EmployeeDisplay empImage="images/evernon.jpg" 
								empName="Ellen Vernon" 
								empTitle="Technical Support"
								x="138" y="197"/>
	
	<components:EmployeeDisplay empImage="images/jcavil.jpg" 
								empName="Josh Cavil" 
								empTitle="Technical Support"
								x="138" y="197"/>
	
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> 
	
</s:Application>
