<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Framework.master.cs" Inherits="Zap.BI.Portal.Pages.Framework" %>

<%@ Register Src="~/Controls/StatusRibbons/StatusRibbon.ascx" TagPrefix="portal" TagName="StatusRibbon" %>
<%@ Register Src="~/Controls/UserControls/AntiForgeryToken.ascx" TagName="AntiForgeryToken" TagPrefix="zap" %>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">
    <title></title>
    <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"/>
    <meta name="theme-color" content="#333333" />
    <meta name="robots" content="noindex,nofollow" />
    <style>
        #appBrokenMessage {
            display: none;
            position: fixed;
            bottom: 16px;
            width: 100%;
            justify-content: center;
            z-index: 1000; /* above splash */
            color: white;
            font-family: "Open Sans", "Segoe UI", Helvetica, Tahoma, sans-serif;
            font-size: 14px;
            
            > span {
                background: #333;
                padding: 16px;
                border-radius: 2px;
            }
            
            &.is-appBroken {
                display: flex;
            }
        }
    </style>
    <%-- Framework header placeholder --%>
    <asp:ContentPlaceHolder ID="Fhph" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body touch-action="pan-x pan-y" id="body" runat="server" class="no-touchevents">
<form id="form1" runat="server" novalidate>

    <zap:AntiForgeryToken runat="server"/>

    <zapWeb:ZapScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" AsyncPostBackTimeout="900" CombineScriptsHandlerUrl="~/Controls/ScriptManagers/ZapScriptResource.ashx" AllowCustomErrorsRedirect="false" LoadScriptsBeforeUI="False">

        <Services>
            <asp:ServiceReference Path="~/JavaScriptMetrics.asmx"/>
            <asp:ServiceReference Path="~/Controls/QueryDesigners/QueryPlaceholders/QueryPlaceholderService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/Scorecards/ScorecardService.asmx"/>
            <asp:ServiceReference Path="~/Controls/QueryDesigners/QueryPlaceholders/ResourcePlaceholderService.asmx"/>
            <asp:ServiceReference Path="~/Controls/QueryDesigners/TemplateInstanceStack/TemplateInstanceStackService.asmx"/>
            <asp:ServiceReference Path="~/Controls/TreeViews/TreeViewWebServices.asmx"/>
            <asp:ServiceReference Path="~/Controls/TreeViews/DimensionTrees/DimensionTreeService.asmx"/>
            <asp:ServiceReference Path="~/Controls/SimpleSlicers/SimpleSlicerService.asmx"/>
            <asp:ServiceReference Path="~/Controls/QueryParameters/SimpleParameters/SimpleParameterService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/Explorer/MultipaneViewService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/DataSource/ConnectionService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/CubeConfiguration/CubeConfigurationService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/Kpis/Gauges/GaugeRequest.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/CellSets/CellSetService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/PivotTables/PivotTableService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/RichTextObjects/RichTextService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/Dashboards/DashboardWebServices.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/Themes/ThemeViewService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/ResourceControls/Imports/ImportWebService.asmx"/>
            <asp:ServiceReference Path="~/Controls/UserControls/Resolutions/ResolutionService.asmx"/>
            <asp:ServiceReference Path="~/Controls/PropertyGrid/PropertyGridService.asmx"/>
            <asp:ServiceReference Path="~/Heartbeat.asmx"/>
            <asp:ServiceReference Path="~/Controls/Banner/BannerService.asmx"/>
            <asp:ServiceReference Path="~/WebServices/ResourceWebService.asmx"/>
        </Services>

    </zapWeb:ZapScriptManager>

    <zapWeb:Splash runat="server" />

    <zapWeb:ZapUpdatePanel runat="server" ID="upStatusRibbon" ChildrenAsTriggers="false">

        <ContentTemplate>
            <portal:StatusRibbon runat="server" ID="ErrorRibbon" GlobalObjectName="ErrorRibbon"/>
        </ContentTemplate>

    </zapWeb:ZapUpdatePanel>

    <div style="display: none">
        <asp:PlaceHolder runat="server" ID="Dcph"></asp:PlaceHolder>
    </div>

    <%-- Framework content placeholder --%>
    <asp:ContentPlaceHolder ID="Fcph" runat="server">
    </asp:ContentPlaceHolder>

    <div style="display: none;">
        <%--
            Work-around for DevX controls. DevX uses the ClientScript object to register its client-side script includes.
            Because ClientScript isn't AJAX-aware, and so none of the script includes will get sent to the client unless they're
             sent on the VERY FIRST page load. The control below is there for no other reason than
             to force DevX to register its scripts on first page load
            --%>
        <dxe:ASPxSpinEdit runat="server">
        </dxe:ASPxSpinEdit>

    </div>
    
    <div id="appBrokenMessage">
        <asp:Label runat="server" Text="<%$ Resources: Pages.PageText, Error_ClientAppBroken %>" />
    </div>

</form>

</body>

</html>