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

-->


<!--- The default skin class for a Spark Panel container.  

@langversion 3.0
@playerversion Flash 10
@playerversion AIR 1.5
@productversion Flex 4
-->
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"
			 xmlns:fb="http://ns.adobe.com/flashbuilder/2009" blendMode="normal" mouseEnabled="false" 
			 minWidth="131" minHeight="127" alpha.disabled="0.5" alpha.disabledWithControlBar="0.5">
	
	<fx:Metadata>
		<![CDATA[ 
		/** 
		* @copy spark.skins.spark.ApplicationSkin#hostComponent
		*/
		[HostComponent("spark.components.Panel")]
		]]>
	</fx:Metadata> 
    
	<s:states>
		<s:State name="normal" />
		<s:State name="disabled" />
		<s:State name="normalWithControlBar" stateGroups="withControls" />
		<s:State name="disabledWithControlBar" stateGroups="withControls" />
	</s:states>
    
	
	
	<s:Group left="0" right="0" top="0" bottom="0">
		<!-- drop shadow -->
		<s:Rect left="0" top="0" right="0" bottom="0" 
				topLeftRadiusX="11" topRightRadiusX="11" bottomLeftRadiusX="0" bottomRightRadiusX="0">
			<s:filters>
				<s:DropShadowFilter blurX="20" blurY="20" alpha="0.32" distance="11" angle="90"/>
			</s:filters>
			<s:fill>
				<s:SolidColor color="0x82826B" />
			</s:fill>
		</s:Rect>
		
		<!-- top group mask -->
		<s:Group left="1" top="1" right="1" bottom="1" id="topGroupMask" >
			<s:Rect id="topMaskRect" left="0" top="0" right="0" bottom="0"
					topLeftRadiusX="10" topRightRadiusX="10">
				<s:fill>
					<s:SolidColor alpha="0"/>
				</s:fill>
			</s:Rect>
		</s:Group>
		
		<!-- bottom group mask -->
		<s:Group left="1" top="1" right="1" bottom="1" id="bottomGroupMask" 
				 includeIn="normalWithControlBar, disabledWithControlBar">
			<s:Rect id="bottomMaskRect" left="0" top="0" right="0" bottom="0"
					bottomLeftRadiusX="8" bottomRightRadiusX="8">
				<s:fill>
					<s:SolidColor alpha="0"/>
				</s:fill>
			</s:Rect>
		</s:Group>
		
		<!-- layer 1: border -->
		<s:Rect left="0" right="0" top="0" bottom="0"
				topLeftRadiusX="10" topRightRadiusX="10" bottomRightRadiusX="8" bottomLeftRadiusX="8">
			<s:stroke>
				<s:SolidColorStroke color="#aaaa8a" alpha="0" weight="1" />
			</s:stroke>
		</s:Rect>
	
	    <!-- layer 2: background fill -->
	    <!--- Defines the appearance of the PanelSkin class's background. -->
	    <s:Rect id="background" left="1" top="1" right="1" bottom="1" radiusX="10" radiusY="10">
	        <s:fill>
		    <!--- Defines the  PanelSkin class's background fill. The default color is 0xFFFFFF. -->
	            <s:SolidColor color="0xAAAA89" id="bgFill" />
	        </s:fill>
	    </s:Rect>
	    
		<!-- layer 3: title bar image-->
		<mx:Image left="1" right="1" top="0" height="30"
		  	source= "@Embed(source='/assets/flex_skins.swf', symbol='Title_sparkGraphic_backgroundSkin')"	
		 />
		<!-- layer 5: text -->
		<!--- Defines the appearance of the PanelSkin class's title bar. -->
		<s:Label id="titleDisplay" maxDisplayedLines="1"
				 left="9" right="3" top="1" minHeight="30"
				 verticalAlign="middle" fontWeight="bold"
				 color="0x4C2600">
		</s:Label>
		<!-- layer 6: Content Area -->
		<s:Rect id="contentArea" left="1" right="1" top="34" bottom="1" 
				topLeftRadiusX="0" topRightRadiusX="0" bottomRightRadiusX="0" bottomLeftRadiusX="0">
			<s:fill>
					<s:SolidColor color="0xAAAA89"/> 
			</s:fill>
		</s:Rect>
	
		<s:Group left="0" right="0" top="34" bottom="0" id="contents">
			<s:layout>
				<s:VerticalLayout gap="0" horizontalAlign="justify" />
			</s:layout>
			
			<s:Group id="contentGroup" width="100%" height="100%" top="34" minWidth="0" minHeight="0">
			</s:Group>
			
			<s:Group id="bottomGroup" minWidth="0" minHeight="0"
					 includeIn="normalWithControlBar, disabledWithControlBar" >
				
				<s:Group left="0" right="0" top="0" bottom="0" mask="{bottomGroupMask}">
					<!-- Layer 1: controlBar -->
					<s:Rect id="controlBar" left="0" right="0" top="0" bottom="0"
							topLeftRadiusX="0" topRightRadiusX="0" bottomRightRadiusX="0" bottomLeftRadiusX="0">
						<s:fill>
							<s:SolidColor color="0xAAAA89"/>
						</s:fill>
						<s:stroke>
							<s:SolidColorStroke color="0x82826B"/>
						</s:stroke>
					</s:Rect>
				</s:Group>
				<!-- layer 3: control bar -->
				<s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0">
					<s:layout>
						<s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" />
					</s:layout>
				</s:Group>
			</s:Group>
		</s:Group>
	</s:Group>
</s:Skin>
