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

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">

    <!-- Included Screens -->
    <screen name="states">
        <section>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/includes/states.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>
    <screen name="countries">
        <section>
            <actions>
                <property-to-field field="defaultCountryGeoId" resource="general" property="country.geo.id.default" default="USA"/>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/includes/countries.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="cctypes">
        <section>
            <actions>
                <script location="component://common/webcommon/WEB-INF/actions/includes/CcTypes.groovy"/>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/includes/cctypes.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>
    <screen name="ccmonths">
        <section>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/includes/ccmonths.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>
    <screen name="ccyears">
        <section>
            <actions>
                <set field="thisDate" from-field="nowTimestamp"/>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/includes/ccyears.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>
    <!--
        The following screen renders a generic link (implemented by an hidden form)
        that can be included in other screens in the following way:
        ...
        <section>
            <actions>
                <set field="genericLinkName" value="formName"/> The name of the hidden form (mandatory)
                <set field="genericLinkText" value="Link message"/> The link text (mandatory)
                <set field="genericLinkTarget" value="ApprovedProductRequirementsReport"/> The request name (mandatory)
                <set field="genericLinkStyle" value="buttontext"/> The style of the link (optional)
                <set field="genericLinkWindow" value="newWindow"/> The target window (optional): if set, a new browser window is created
                <set field="excludeParameters" value="N"/> If not set to Y, the requestParameters are included in the form as hidden fields (optional, defaults to N)
            </actions>
            <widgets>
                <include-screen name="genericLink" location="component://common/widget/CommonScreens.xml"/>
            </widgets>
        </section>
        ...
    -->
    <screen name="genericLink">
        <section>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/includes/genericLink.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>
    <!-- decorator used in creating a response to an ajax request -->
    <screen name="AjaxGlobalDecorator">
        <section>
            <actions>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true" />
            </actions>
            <widgets>
                <platform-specific>
                    <html>
                        <html-template location="component://common/webcommon/includes/htmlheader-for-ajax.ftl" />
                    </html>
                </platform-specific>
                <decorator-section-include name="body" />
                <platform-specific>
                    <html>
                        <html-template location="component://common/webcommon/includes/htmlfooter-for-ajax.ftl" />
                    </html>
                </platform-specific>
            </widgets>
        </section>
    </screen>
    <!--
        The following screen is used to generate Ajax list of options for autocomplete fields
    -->
    <screen name="ajaxAutocompleteOptions">
        <section>
            <actions>
                <set field="autocompleteOptions" from-field="parameters.autocompleteOptions" />
            </actions>
            <widgets>
                <decorator-screen name="AjaxGlobalDecorator">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://common/webcommon/includes/ajaxAutocompleteOptions.ftl" /></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <!-- Global screen rendering context initialization, intended to be included in screen decorators. Devs - please keep this simple and generic. -->
    <screen name="GlobalActions">
        <section>
            <actions>
                <!-- The default (global) java scripts -->
                <!-- jQuery part -->
                <!-- Load available JS Language Files -->
                <set field="initialLocaleComplete" type="String" value="${groovy:parameters?.userLogin?.lastLocale}" default-value="${groovy:locale.toString()}" />
                <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.ofbiz.common.JsLanguageFilesMapping.datejs.getFilePath(initialLocaleComplete)}" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.ofbiz.common.JsLanguageFilesMapping.jquery.getFilePath(initialLocaleComplete)}" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.ofbiz.common.JsLanguageFilesMapping.validation.getFilePath(initialLocaleComplete)}" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.ofbiz.common.JsLanguageFilesMapping.dateTime.getFilePath(initialLocaleComplete)}" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.js" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/datetimepicker/jquery-ui-timepicker-addon.min-1.4.3.js" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/jquery.maskedinput-1.3.1.min.js" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/ui/js/jquery-ui-1.10.3.min.js" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/jeditable/jquery.jeditable.js" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/validate/jquery.validate.min.js" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/fjTimer/jquerytimer-min.js" global="true" />
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/jquery-migrate-1.2.1.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/jquery-1.11.0.min.js" global="true" />
                <!-- jQuery CSSs -->
                <set field="layoutSettings.styleSheets[+0]" value="/images/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.css" global="true" />
                
                <set field="layoutSettings.javaScripts[]" value="/images/OpenLayers-2.13.1.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/selectall.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/fieldlookup.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/date/date.format-1.2.3-min.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/date/date.timezone-min.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/miscAjaxFunctions.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/selectMultipleRelatedValues.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/util.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/date/FromThruDateCheck.js" global="true"/>                
                <set field="visualThemeId" from-field="userPreferences.VISUAL_THEME" global="true" />
                <service service-name="getVisualThemeResources">
                    <field-map field-name="visualThemeId" />
                    <field-map field-name="themeResources" from-field="layoutSettings" />
                </service>
                <set field="layoutSettings" from-field="themeResources" default-value="${layoutSettings}" global="true" />
            </actions>
            <widgets />
        </section>
    </screen>

    <!-- Global decorator for General Screens/Pages -->
    <screen name="GlobalDecorator">
        <section>
            <widgets>
                <include-screen name="GlobalActions" />
                <section>
                    <actions>
                        <set field="layoutSettings.commonHeaderImageLinkUrl" from-field="layoutSettings.commonHeaderImageLinkUrl" default-value="main" global="true" />
                        <set field="iconsLocation" from-field="layoutSettings.VT_ICONS_LOC[0]" default-value="/images/icons/famfamfam" global="true" />
                        <set field="headerTemplateLocation" from-field="layoutSettings.VT_HDR_TMPLT_LOC[0]" />
                        <set field="footerTemplateLocation" from-field="layoutSettings.VT_FTR_TMPLT_LOC[0]" />
                        <set field="appbarTemplateLocation" from-field="layoutSettings.VT_NAV_TMPLT_LOC[0]" />
                        <set field="appbarOpenTemplateLocation" from-field="layoutSettings.VT_NAV_OPEN_TMPLT[0]" />
                        <set field="appbarCloseTemplateLocation" from-field="layoutSettings.VT_NAV_CLOSE_TMPLT[0]" />
                        <set field="messagesTemplateLocation" from-field="layoutSettings.VT_MSG_TMPLT_LOC[0]" />
                        <set field="layoutSettings.suppressTab" value="ofbizsetup"/><!-- diseable ofbiz setup by default -->
                    </actions>
                    <widgets />
                </section>
                <section>
                    <condition>
                        <if-empty field="parameters.ajaxUpdateEvent" />
                    </condition>
                    <widgets>
                        <!-- render header -->
                        <platform-specific>
                            <html>
                                <html-template location="${headerTemplateLocation}" />
                            </html>
                        </platform-specific>
                        <!-- render appbar or its opening part -->
                        <section name="Render-Main-Nav">
                            <condition>
                                <not>
                                    <if-empty field="appbarOpenTemplateLocation" />
                                </not>
                            </condition>
                            <widgets>
                                <platform-specific>
                                    <html>
                                        <html-template location="${appbarOpenTemplateLocation}" />
                                    </html>
                                </platform-specific>
                            </widgets>
                            <fail-widgets>
                                <platform-specific>
                                    <html>
                                        <html-template location="${appbarTemplateLocation}" />
                                    </html>
                                </platform-specific>
                            </fail-widgets>
                        </section>
                    </widgets>
                </section>
                <section>
                    <condition>
                        <if-empty field="parameters.ajaxUpdateEvent" />
                    </condition>
                    <widgets>
                        <!-- render appheader: both menu widget style and ftl template style menus are supported-->
                        <section name="Render-App-Nav">
                            <condition>
                                <not>
                                    <if-empty field="userLogin" />
                                </not>
                            </condition>
                            <widgets>
                                <section>
                                    <condition>
                                        <not>
                                            <if-empty field="appheaderTemplate" />
                                        </not>
                                    </condition>
                                    <widgets>
                                        <platform-specific>
                                            <html>
                                                <html-template location="${appheaderTemplate}" />
                                            </html>
                                        </platform-specific>
                                    </widgets>
                                    <fail-widgets>
                                        <section>
                                            <condition>
                                                <not>
                                                    <if-empty field="parameters.applicationTitle" />
                                                </not>
                                            </condition>
                                            <widgets>
                                                <label style="apptitle">${parameters.applicationTitle}</label>
                                            </widgets>
                                        </section>
                                        <section>
                                            <condition>
                                                <not>
                                                    <if-empty field="applicationMenuLocation" />
                                                </not>
                                            </condition>
                                            <widgets>
                                                <include-menu name="${applicationMenuName}" location="${applicationMenuLocation}" />
                                            </widgets>
                                        </section>
                                    </fail-widgets>
                                </section>
                            </widgets>
                            <fail-widgets>
                                <!-- better to just not include this, the CommonAppBarMenu doesn't show anything by default if the user isn't logged in, causing a funny empty menu: <include-menu name="CommonAppBarMenu" location="component://common/widget/CommonMenus.xml"/> -->
                            </fail-widgets>
                        </section>
                    </widgets>
                </section>
                <!-- render the appbar closing part -->
                <section>
                    <condition>
                        <and>
                            <if-empty field="parameters.ajaxUpdateEvent" />
                            <not>
                                <if-empty field="appbarCloseTemplateLocation" />
                            </not>
                        </and>
                    </condition>
                    <widgets>
                        <platform-specific>
                            <html>
                                <html-template location="${appbarCloseTemplateLocation}" />
                            </html>
                        </platform-specific>
                    </widgets>
                </section>
                <!-- render messages -->
                <platform-specific>
                    <html>
                        <html-template location="${messagesTemplateLocation}" />
                    </html>
                </platform-specific>
                <!-- render content area -->
                <container style="contentarea">
                    <decorator-section-include name="pre-body" />
                    <container id="column-container">
                        <section>
                            <condition>
                                <if-empty-section section-name="left-column" />
                            </condition>
                            <widgets>
                                <container id="content-main-section">
                                    <decorator-section-include name="body" />
                                </container>
                            </widgets>
                            <fail-widgets>
                                <container style="left">
                                    <decorator-section-include name="left-column" />
                                </container>
                                <container id="content-main-section" style="leftonly">
                                    <container style="no-clear" id="centerdiv">
                                        <decorator-section-include name="body" />
                                    </container>
                                </container>
                            </fail-widgets>
                        </section>
                        <container style="clear"></container>
                    </container>
                </container>
                <section>
                    <condition>
                        <if-empty field="parameters.ajaxUpdateEvent" />
                    </condition>
                    <widgets>
                        <!-- render footer -->
                        <section name="Render-Footer">
                            <condition>
                                <if-empty field="applicationFooterTemplate" />
                            </condition>
                            <widgets>
                                <platform-specific>
                                    <html>
                                        <html-template location="${footerTemplateLocation}" />
                                    </html>
                                </platform-specific>
                            </widgets>
                            <fail-widgets>
                                <platform-specific>
                                    <html>
                                        <html-template location="${applicationFooterTemplate}" />
                                    </html>
                                </platform-specific>
                            </fail-widgets>
                        </section>
                    </widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <!-- Global decorator for Lookup pop-up windows or layered CSS -->
    <screen name="LookupDecorator">
        <section>
            <condition>
                <not><if-compare operator="equals" value="Y" field="parameters.ajaxLookup"/></not>
            </condition>
            <widgets>
                <section>
                    <actions>
                        <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                        <service service-name="getUserPreferenceGroup" result-map="prefResult">
                            <field-map field-name="userPrefGroupTypeId" value="GLOBAL_PREFERENCES"/>
                        </service>
                        <set field="userPreferences" from-field="prefResult.userPrefMap" global="true"/>

                        <property-map resource="general" map-name="generalProperties" global="true"/>
                        <set field="visualThemeId" from-field="userPreferences.VISUAL_THEME" global="true"/>
                        <service service-name="getVisualThemeResources">
                            <field-map field-name="visualThemeId"/>
                            <field-map field-name="themeResources" from-field="layoutSettings"/>
                        </service>

                        <set field="layoutSettings" from-field="themeResources" default-value="${layoutSettings}" global="true"/>
                        <set field="layoutSettings.javaScripts[]" value="/images/fieldlookup.js" global="true"/>

                        <set field="messagesTemplateLocation" from-field="layoutSettings.VT_MSG_TMPLT_LOC[0]" default-value="component://common/webcommon/includes/messages.ftl"/>
                    </actions>
                    <widgets>
                        <section>
                        <condition>
                                <if-compare value="layer" operator="not-equals" field="parameters.presentation"/>
                        </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://common/webcommon/includes/lookup.ftl" /></html></platform-specific>
                            </widgets>
                        </section>
                        <platform-specific><html><html-template location="${messagesTemplateLocation}"/></html></platform-specific>
                        <section>
                            <condition>
                                <not><if-empty-section section-name="body"/></not>
                            </condition>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <screenlet title="${title}" id="findScreenlet" collapsible="true" padded="false">
                                    <container id="search-options">
                                        <decorator-section-include name="search-options"/>
                                    </container>
                                </screenlet>
                                <screenlet>
                                    <container id="search-results">
                                        <decorator-section-include name="search-results"/>
                                    </container>
                                </screenlet>
                            </fail-widgets>
                        </section>
                        <section>
                        <condition>
                            <if-compare value="layer" operator="not-equals" field="parameters.presentation"/>
                        </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://common/webcommon/includes/lookupFooter.ftl"/></html></platform-specific>
                            </widgets>
                        </section>
                    </widgets>
                </section>
            </widgets>
            <fail-widgets>
                <section>
                    <actions>
                        <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                        <set field="searchType" from-field="parameters.searchType" default-value="${searchType}"/>
                        <script location="component://common/webcommon/WEB-INF/actions/includes/FindAutocompleteOptions.groovy"/>
                    </actions>
                    <widgets>
                        <decorator-screen name="AjaxGlobalDecorator">
                            <decorator-section name="body">
                                <platform-specific>
                                    <html>
                                        <html-template location="component://common/webcommon/includes/ajaxAutocompleteOptions.ftl" />
                                    </html>
                                </platform-specific>
                            </decorator-section>
                        </decorator-screen>
                    </widgets>
                </section>
            </fail-widgets>
        </section>
    </screen>

    <!-- Simple decorator (no application and menu bars); it can be used:
         * for printer friendly html screens (no logo and no application bar, header and footer); a print button is also available at the top of the screen
         * for simple PDF report (a simple header with the logo/date is rendered and a footer with page numbers)
    -->
    <screen name="SimpleDecorator">
        <section>
            <actions>
                <!-- The default (global) stylesheet -->
                <set field="layoutSettings.styleSheets[+0]" value="/images/maincss.css" global="true"/>
                <set field="layoutSettings.rtlStyleSheets[+0]" value="/images/mainrtl.css" global="true"/>
                <!-- The default (global) java scripts -->
                    <!-- jQuery part -->
                <!-- Load available JS Language Files -->
                <set field="initialLocaleComplete" type="String" value="${groovy:parameters?.userLogin?.lastLocale}" default-value="${groovy:locale.toString()}"/>
                <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.ofbiz.common.JsLanguageFilesMapping.datejs.getFilePath(initialLocaleComplete)}" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.ofbiz.common.JsLanguageFilesMapping.jquery.getFilePath(initialLocaleComplete)}" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="${groovy: org.ofbiz.common.JsLanguageFilesMapping.validation.getFilePath(initialLocaleComplete)}" global="true"/>

                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/datetimepicker/jquery-ui-timepicker-addon.min-1.4.3.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/ui/js/jquery-ui-1.10.3.min.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/jeditable/jquery.jeditable.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/fjTimer/jquerytimer-min.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/validate/jquery.validate.min.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/jquery-migrate-1.2.1.js" global="true"/>
                <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/jquery-1.11.0.min.js" global="true"/>
                    <!-- jQuery CSSs -->
                <set field="layoutSettings.styleSheets[+0]" value="/images/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.css" global="true"/>

                <set field="layoutSettings.javaScripts[]" value="/images/OpenLayers-2.13.1.js" global="true" />
                <set field="layoutSettings.javaScripts[]" value="/images/selectall.js" global="true"/>
                <set field="layoutSettings.javaScripts[]" value="/images/fieldlookup.js" global="true"/>
                <!-- The default (global) shortcut icon -->
                <set field="layoutSettings.shortcutIcon" value="/images/ofbiz.ico" global="true"/>
                <!-- The settings below are used for xsl-fo screens -->
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="logoImageUrl" value="/images/ofbiz_logo.gif"/>
                <!--<set field="defaultFontFamily" value="Arial"/>-->
            </actions>
            <widgets>
                <!-- render header -->
                <platform-specific>
                    <html><html-template location="component://common/webcommon/includes/simple.ftl"/></html>
                    <xsl-fo><html-template location="component://common/webcommon/includes/simple.fo.ftl"/></xsl-fo>
                    <xml><html-template location="component://common/webcommon/includes/minimal-decorator.ftl"/></xml>
                </platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- fo decorator for pdf documents (invoices, sales orders, purchase orders etc...). -->
    <screen name="FoReportDecorator">
        <section>
            <actions>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="logoImageUrl" value="/images/ofbiz_logo.gif" global="true"/>
                <property-to-field resource="fop.properties" field="defaultFontFamily" property="fop.font.family" default="Arial"/>
            </actions>
            <widgets>
                <platform-specific><xsl-fo><html-template location="component://common/webcommon/includes/reportTemplate.fo.ftl"/></xsl-fo></platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- Decorator for xsl-fo rendering -->
    <screen name="GlobalFoDecorator">
        <section>
            <actions>
                <set field="layoutSettings.commonHeaderImageUrl" value="/images/ofbiz_logo.gif"/>
            </actions>
            <widgets>
                <platform-specific>
                    <xsl-fo>
                        <html-template location="component://common/webcommon/includes/fo/start.fo.ftl"/>
                        <html-template location="component://common/webcommon/includes/fo/basic-header.fo.ftl"/>
                        <html-template location="component://common/webcommon/includes/fo/basic-footer.fo.ftl"/>
                    </xsl-fo>
                </platform-specific>
                <decorator-section-include name="body"/>
                <platform-specific><xsl-fo><html-template location="component://common/webcommon/includes/fo/end.fo.ftl"/></xsl-fo></platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- Default "error" page for XSL-FO based output. -->
    <screen name="FoError">
        <section>
            <actions>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="logoImageUrl" value="/images/ofbiz_logo.gif"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
<!--                <platform-specific><xsl-fo><html-template location="component://common/webcommon/error.fo.ftl"/></xsl-fo></platform-specific> -->
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="login">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleLogin" />
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://common/webcommon/login.ftl"/></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="ajaxNotLoggedIn">
        <section>
            <widgets>
                <decorator-screen name="AjaxGlobalDecorator">
                    <decorator-section name="body">
                        <label style="message" text="${uiLabelMap.CommonSessionTimeoutPleaseLogIn}"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="requirePasswordChange">
        <section>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://common/webcommon/changePassword.ftl"/></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="forgotPassword">
        <section>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://common/webcommon/forgotPassword.ftl"/></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EventMessages">
        <section>
            <actions>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/includes/messages.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="FindScreenDecorator">
        <section>
            <widgets>
                <section>
                    <condition>
                        <if-empty field="titleProperty"/>
                    </condition>
                    <widgets>
                        <container style="page-title"><label text="${title}"></label></container>
                    </widgets>
                    <fail-widgets>
                        <container style="page-title"><label text="${uiLabelMap[titleProperty]}"></label></container>
                    </fail-widgets>
                </section>
                <decorator-section-include name="menu-bar"/>
                <container style="clear"/>
                <screenlet id="searchOptions" name="findScreenlet" collapsible="true" title="${uiLabelMap.CommonSearchOptions}">
                    <container id="search-options">
                        <decorator-section-include name="search-options" />
                    </container>
                </screenlet>
                <screenlet padded="false">
                    <label style="h3" text="${uiLabelMap.CommonSearchResults}"/>
                    <container id="search-results">
                        <decorator-section-include name="search-results"/>
                    </container>
                </screenlet>
            </widgets>
        </section>
    </screen>

    <screen name="help">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleHelp"></set>
                <property-map resource="CommonHelpUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="helpText" value="${uiLabelMap[parameters.topic]}" default-value="${uiLabelMap.HelpNotFound}"/>
            </actions>
            <widgets>
                <decorator-screen name="SimpleDecorator">
                    <decorator-section name="body">
                        <label style="h1">${uiLabelMap.PageTitleHelp}</label>
                        <label style="h3">${helpText}</label>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="viewBlocked">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleViewBlocked"></set>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://common/webcommon/viewBlocked.ftl"/></html></platform-specific>
                <platform-specific><html><html-template location="component://common/webcommon/includes/messages.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="geoChart">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleCommonGeoLocation"/>
            </actions>
            <widgets>
                <platform-specific>
                    <html><html-template location="component://common/webcommon/includes/geolocation.ftl"/></html>
                </platform-specific>
            </widgets>
        </section>
    </screen>
</screens>
