<?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:Panel 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:handlers="com.flexcapacitor.handlers.*" 
			   xmlns:fc="com.flexcapacitor.effects.popup.*"
			   
			   width="400" height="300"
			   title="Publish"
			   >
	
	<fx:Declarations>
		
		<!--- hide about popup -->
		<handlers:EventHandler targets="{[publishButton,cancelButton]}" eventName="click">
			<fc:ClosePopUp popUp="{this}"  />
		</handlers:EventHandler>
	</fx:Declarations>
	
	<s:Label x="15" y="15" text="Publish location:" fontWeight="bold"/>

	<s:HGroup x="14" y="31">
		<s:RadioButton x="91" label="Local" y="128" selected="true"/>
		<s:RadioButton x="190" label="Server" y="130"/>
	</s:HGroup>

	<s:Label x="15" y="65" text="Publishing is not supported at this time. " fontWeight="bold"/>
	<!--<s:Label x="15" y="85" text="This window will eventually publish the HTML to a server." fontWeight="bold"/>-->

	<s:Label x="15" y="85" text="Use the code view to access the generated code." fontWeight="bold"/>
	

	
	<s:HGroup right="10" bottom="10">
		<s:Button id="cancelButton" label="Cancel" />
		<s:Button id="publishButton" label="Publish" />
	</s:HGroup>
</s:Panel>
