<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <meta name="mobile-web-app-capable" content="yes">

        <title>ONLYOFFICE Spreadsheet Editor</title>

        <link rel="stylesheet" type="text/css" href="../../../../sdkjs/cell/css/main-mobile.css"/>
        <link href="https://fonts.googleapis.com/css?family=Roboto:400,300,500,700" rel="stylesheet" type="text/css">

        <style type="text/css">
            .loadmask {
                position: absolute;
                left: 0;
                top: 0;
                height: 100%;
                width: 100%;
                overflow: hidden;
                border: none;
                background-color: #f4f4f4;
                z-index: 10000;
            }
            .loadmask > .brendpanel {
                width: 100%;
                position: absolute;
                height: 68px;
                background-color: #e2e2e2;
                opacity: 0;
            }

            .loadmask > .brendpanel.visible {
                opacity: 1;
            }

            .loadmask > .brendpanel.android {
                height: 80px;
                background: #40865c;
            }

            .loadmask > .brendpanel > div {
                display: flex;
                align-items: flex-start;
                height: 100%;
            }

            .loadmask > .brendpanel .loading-logo {
                max-width: 200px;
                height: 20px;
                margin: 0 auto;
                margin-top: 12px;
                line-height: 14px;
                opacity: 0;
            }

            .loadmask > .brendpanel .loading-logo > img {
                display: inline-block;
                max-width: 100px;
                max-height: 20px;
            }

            .loadmask > .brendpanel .circle {
                width: 28px;
                height: 28px;
                border-radius: 14px;
                margin: 0 16px;
                margin-bottom: 10px;
                align-self: flex-end;
                background: rgba(255, 255, 255, 0.3);
            }

            .loadmask > .brendpanel.android .circle {
                margin-bottom: 12px;
                background: rgba(255, 255, 255, 0.2);
            }

            .loadmask > .placeholder {
                background: #fbfbfb;
                width: 100%;
                height: 100%;
                font-size: 0;
                border: 1px solid #dfdfdf;
                white-space: nowrap;
                padding-top: 67px;
            }

            .loadmask > .placeholder.android {
                padding-top: 79px;
            }

            .loadmask > .placeholder > .columns {
                width: 100%;
                height: 100%;
                display: inline-block;
                background: linear-gradient(90deg, #d5d5d5 0px, rgba(0,0,0,0) 1px) 0 0,
                linear-gradient(rgba(0,0,0,0) 19px, #d5d5d5 20px) 0 0,
                linear-gradient( #f1f1f1 0px, #f1f1f1 20px) 0 0 repeat-x;
                background-size: 80px 20px;

                -webkit-animation: flickerAnimation 2s infinite ease-in-out;
                -moz-animation: flickerAnimation 2s infinite ease-in-out;
                -o-animation: flickerAnimation 2s infinite ease-in-out;
                animation: flickerAnimation 2s infinite ease-in-out;
            }

            .loadmask > .placeholder > .columns:first-child {
                position: absolute;
                background: linear-gradient(#f1f1f1 19px, #d5d5d5 20px) 0 0;
                background-size: 20px 20px;
                width: 25px;
            }

            @keyframes flickerAnimation {
                0%   { opacity:1; }
                50%  { opacity:0.3; }
                100% { opacity:1; }
            }
            @-o-keyframes flickerAnimation{
                0%   { opacity:1; }
                50%  { opacity:0.3; }
                100% { opacity:1; }
            }
            @-moz-keyframes flickerAnimation{
                0%   { opacity:1; }
                50%  { opacity:0.3; }
                100% { opacity:1; }
            }
            @-webkit-keyframes flickerAnimation{
                0%   { opacity:1; }
                50%  { opacity:0.3; }
                100% { opacity:1; }
            }
        </style>
    </head>
    <body>
        <div id="loading-mask" class="loadmask">
            <div class="brendpanel">
                <div>
                    <div class="circle"></div>
                    <div class="loading-logo">
                    </div>
                    <div class="circle"></div>
                </div>
            </div>
            <div class="placeholder">
                <div class="columns"></div>
                <div class="columns"></div>
            </div>
        </div>
        <script type="text/javascript">
            var ua = navigator.userAgent;

            if (/Sailfish/.test(ua) || /Jolla/.test(ua)) {
                document.write('<script type="text/javascript" src="../../../vendor/iscroll/iscroll.min.js"><\/script>');

                    if (!/Android/.test(ua)) {
                        var ua = navigator.userAgent + ';Android 5.0;';
                        Object.defineProperty(navigator, 'userAgent', {
                            get: function () { return ua; }
                        });
                    }
            }

            function getUrlParams() {
                var e,
                    a = /\+/g,  // Regex for replacing addition symbol with a space
                    r = /([^&=]+)=?([^&]*)/g,
                    d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
                    q = window.location.search.substring(1),
                    urlParams = {};

                while (e = r.exec(q))
                    urlParams[d(e[1])] = d(e[2]);

                return urlParams;
            }

            function encodeUrlParam(str) {
                return str.replace(/&/g, '&amp;')
                        .replace(/"/g, '&quot;')
                        .replace(/'/g, '&#39;')
                        .replace(/</g, '&lt;')
                        .replace(/>/g, '&gt;');
            }

            var params = getUrlParams(),
                lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
                logo = /*params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : */null;
            var logoOO = null;
            if (!logo) {
                logoOO = /Android/.test(navigator.userAgent) ? "../../../apps/spreadsheeteditor/mobile/resources/img/header/logo-android.svg" : "../../../apps/spreadsheeteditor/mobile/resources/img/header/logo-ios.svg";
            }

                window.frameEditorId = params["frameEditorId"];
                window.parentOrigin = params["parentOrigin"];

            var brendpanel = document.getElementsByClassName('brendpanel')[0];
            if (brendpanel) {
                if (/Android/.test(navigator.userAgent)) {
                    brendpanel.classList.add('android');
                }
                brendpanel.classList.add('visible');
                var elem = document.querySelector('.loading-logo');
                if (elem) {
                    logo && (elem.innerHTML = '<img src=' + logo + '>');
                    logoOO && (elem.innerHTML = '<img src=' + logoOO + '>');
                    elem.style.opacity = 1;
                }
            }
            var placeholder = document.getElementsByClassName('placeholder')[0];
            if (placeholder && /Android/.test(navigator.userAgent)) {
                placeholder.classList.add('android');
            }

            window.requireTimeourError = function(){
                var reqerr;

                if ( lang == 'de')      reqerr = 'Die Verbindung ist zu langsam, einige Komponenten konnten nicht geladen werden. Aktualisieren Sie bitte die Seite.';
                else if ( lang == 'es') reqerr = 'La conexión es muy lenta, algunos de los componentes no han podido cargar. Por favor recargue la página.';
                else if ( lang == 'fr') reqerr = 'La connexion est trop lente, certains des composants n\'ons pas pu être chargé. Veuillez recharger la page.';
                else if ( lang == 'ru') reqerr = 'Слишком медленное соединение, не удается загрузить некоторые компоненты. Пожалуйста, обновите страницу.';
                else reqerr = 'The connection is too slow, some of the components could not be loaded. Please reload the page.';

                return reqerr;
            };

            var requireTimeoutID = setTimeout(function(){
                window.alert(window.requireTimeourError());
                window.location.reload();
            }, 30000);

            var require = {
                waitSeconds: 30,
                callback: function(){
                    clearTimeout(requireTimeoutID);
                }
            };
        </script>

        <script data-main="app" src="../../../vendor/requirejs/require.js"></script>
    </body>
</html>