<%
  var settings = require("ep_etherpad-lite/node/utils/Settings")
    , langs = require("ep_etherpad-lite/node/hooks/i18n").availableLangs
%>
<!doctype html>
<html class="pad <%=settings.skinVariants%>">
<head>
  <title data-l10n-id="timeslider.pageTitle" data-l10n-args='{ "appTitle": "<%=settings.title%>" }'><%=settings.title%> Timeslider</title>
  <script>
    /*
    |@licstart  The following is the entire license notice for the
    JavaScript code in this page.|

    Copyright 2011 Peter Martischka, Primary Technology.

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

    |@licend  The above is the entire license notice
    for the JavaScript code in this page.|
    */
  </script>
  <script src="../../static/js/basic_error_handler.js?v=<%=settings.randomVersionString%>"></script>
  <meta charset="utf-8">
  <meta name="robots" content="noindex, nofollow">
  <meta name="referrer" content="no-referrer">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
  <link rel="shortcut icon" href="../../favicon.ico">
  <% e.begin_block("timesliderStyles"); %>
  <link rel="stylesheet" href="../../static/css/pad.css?v=<%=settings.randomVersionString%>">
  <link rel="stylesheet" href="../../static/css/iframe_editor.css?v=<%=settings.randomVersionString%>">
  <link rel="stylesheet" href="../../static/css/timeslider.css?v=<%=settings.randomVersionString%>">
  <link rel="stylesheet" href="../../static/skins/<%=encodeURI(settings.skinName)%>/pad.css?v=<%=settings.randomVersionString%>">
  <link rel="stylesheet" href="../../static/skins/<%=encodeURI(settings.skinName)%>/timeslider.css?v=<%=settings.randomVersionString%>">
  <style type="text/css" title="dynamicsyntax"></style>
  <% e.end_block(); %>

  <link rel="localizations" type="application/l10n+json" href="../../locales.json" />
  <% e.begin_block("timesliderScripts"); %>
  <script type="text/javascript" src="../../static/js/vendors/html10n.js?v=<%=settings.randomVersionString%>"></script>
  <script type="text/javascript" src="../../static/js/l10n.js?v=<%=settings.randomVersionString%>"></script>
  <% e.end_block(); %>
</head>

<% e.begin_block("timesliderBody"); %>
<body id="padbody" class="timeslider limwidth">

  <!----------------------------->
  <!--------- TOOLBAR ----------->
  <!----------------------------->
  <div id="editbar" class="toolbar">
    <% e.begin_block("timesliderTop"); %>

    <!-- TITLE & TOOLBAR -->
    <div class="timeslider-bar">

      <div class="timeslider-title-container">
        <h1 class="timeslider-title">
          <span id="revision_label"></span>
          <span id="revision_date"></span>
        </h1>
        <p class="timeslider-subtitle">
          <span class="authors-label" data-l10n-id="timeslider.toolbar.authors"></span>
          <span id="authorsList" data-l10n-id="timeslider.toolbar.authorsList"></span>
        </p>
      </div>

      <div class="editbarright menu_right">
        <ul>
          <% e.begin_block("timesliderEditbarRight"); %>
            <%- toolbar.menu(settings.toolbar.timeslider, true, 'timeslider-right', 'timeslider') %>
          <% e.end_block(); %>
        </ul>
      </div>
    </div>

    <!-- SLIDER -->
    <div id="timeslider-wrapper">
      <div id="timeslider-slider">
        <div id="ui-slider-handle"></div>
        <div id="ui-slider-bar"></div>
        <div id="timer"></div>
      </div>

      <div id="slider-btn-container">
        <button id="playpause_button_icon" class="buttonicon buttonicon-play"></button>
        <button id="leftstep"  class="stepper buttonicon buttonicon-step-backward"></button>
        <button id="rightstep" class="stepper buttonicon buttonicon-step-forward"></button>
        <!-- Left and Right star button are actually not displayed to the screen -->
        <button id="leftstar"  class="stepper buttonicon" style="display:none"></button>
        <button id="rightstar" class="stepper buttonicon" style="display:none"></button>
      </div>
    </div>


  <% e.end_block(); %>
  </div>


  <div id="editorcontainerbox">

    <!----------------------------->
    <!------- PAD CONTENT --------->
    <!----------------------------->

    <div id="outerdocbody">
      <div id="innerdocbody">
      </div>
    </div>


    <!------------------------->
    <!-- IMPORT EXPORT POPUP -->
    <!------------------------->

    <div id="import_export" class="popup" ><div class="popup-content">
      <div id="export">
        <h1 data-l10n-id="timeslider.exportCurrent"></h1>
        <% e.begin_block("exportColumn"); %>
        <a id="exportetherpada" target="_blank" class="exportlink">
          <span class="exporttype buttonicon buttonicon-file-powerpoint" id="exportetherpad" data-l10n-id="pad.importExport.exportetherpad"></span>
        </a>
        <a id="exporthtmla" target="_blank" class="exportlink">
          <span class="exporttype buttonicon buttonicon-file-code" id="exporthtml" data-l10n-id="pad.importExport.exporthtml"></span>
        </a>
        <a id="exportplaina" target="_blank" class="exportlink">
          <span class="exporttype buttonicon buttonicon-file" id="exportplain" data-l10n-id="pad.importExport.exportplain"></span>
        </a>
        <a id="exportworda" target="_blank" class="exportlink">
          <span class="exporttype buttonicon buttonicon-file-word" id="exportword" data-l10n-id="pad.importExport.exportword"></span>
        </a>
        <a id="exportpdfa" target="_blank" class="exportlink">
          <span class="exporttype buttonicon buttonicon-file-pdf" id="exportpdf" data-l10n-id="pad.importExport.exportpdf"></span>
        </a>
        <a id="exportopena" target="_blank" class="exportlink">
          <span class="exporttype buttonicon buttonicon-file-alt" id="exportopen" data-l10n-id="pad.importExport.exportopen"></span>
        </a>
        <% e.end_block(); %>
      </div>
    </div></div>


    <!---------------------------------------------------->
    <!-- CONNECTIVITY POPUP (when you get disconnected) -->
    <!---------------------------------------------------->

    <div id="connectivity" class="popup"><div class="popup-content">
    <% e.begin_block("modals"); %>
      <div class="connected visible">
        <h2 data-l10n-id="pad.modals.connected"></h2>
      </div>
      <div class="reconnecting">
        <h1 data-l10n-id="pad.modals.reconnecting"></h1>
        <p class="loadingAnimation"></p>
      </div>
      <div class="userdup">
        <h1 data-l10n-id="pad.modals.userdup"></h1>
        <h2 data-l10n-id="pad.modals.userdup.explanation"></h2>
        <p data-l10n-id="pad.modals.userdup.advice"></p>
        <button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
      </div>
      <div class="unauth">
        <h1 data-l10n-id="pad.modals.unauth"></h1>
        <p data-l10n-id="pad.modals.unauth.explanation"></p>
        <button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
      </div>
      <div class="looping">
        <h1 data-l10n-id="pad.modals.disconnected"></h1>
        <h2 data-l10n-id="pad.modals.looping.explanation"></h2>
        <p data-l10n-id="pad.modals.looping.cause"></p>
      </div>
      <div class="initsocketfail">
        <h1 data-l10n-id="pad.modals.initsocketfail"></h1>
        <h2 data-l10n-id="pad.modals.initsocketfail.explanation"></h2>
        <p data-l10n-id="pad.modals.initsocketfail.cause"></p>
      </div>
      <div class="slowcommit">
        <h1 data-l10n-id="pad.modals.disconnected"></h1>
        <h2 data-l10n-id="pad.modals.slowcommit.explanation"></h2>
        <p data-l10n-id="pad.modals.slowcommit.cause"></p>
        <button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
      </div>
      <div class="badChangeset">
        <h1 data-l10n-id="pad.modals.disconnected"></h1>
        <h2 data-l10n-id="pad.modals.badChangeset.explanation"></h2>
        <p data-l10n-id="pad.modals.badChangeset.cause"></p>
        <button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
      </div>
      <div class="corruptPad">
        <h1 data-l10n-id="pad.modals.disconnected"></h1>
        <h2 data-l10n-id="pad.modals.corruptPad.explanation"></h2>
        <p data-l10n-id="pad.modals.corruptPad.cause"></p>
      </div>
      <div class="deleted">
        <h1 data-l10n-id="pad.modals.deleted"></h1>
        <p data-l10n-id="pad.modals.deleted.explanation"></p>
      </div>
      <div class="disconnected">
        <% e.begin_block("disconnected"); %>
        <h1 data-l10n-id="pad.modals.disconnected"></h1>
        <h2 data-l10n-id="pad.modals.disconnected.explanation"></h2>
        <p data-l10n-id="pad.modals.disconnected.cause"></p>
        <button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
        <% e.end_block(); %>
      </div>
      <form id="reconnectform" method="post" action="/ep/pad/reconnect" accept-charset="UTF-8" style="display: none;">
          <input type="hidden" class="padId" name="padId">
          <input type="hidden" class="diagnosticInfo" name="diagnosticInfo">
          <input type="hidden" class="missedChanges" name="missedChanges">
      </form>
    <% e.end_block(); %>
    </div></div>


    <!---------------------------------->
    <!-- SETTINGS POPUP (change font) -->
    <!---------------------------------->

    <div id="settings" class="popup"><div class="popup-content">
      <h1 data-l10n-id="pad.settings.padSettings"></h1>
      <p>
        <label for="viewfontmenu" data-l10n-id="pad.settings.fontType">Font type:</label>
        <select id="viewfontmenu">
          <option value="" data-l10n-id="pad.settings.fontType.normal">Normal</option>
          <%= fonts = ["Quicksand", "Roboto", "Alegreya", "PlayfairDisplay", "Montserrat", "OpenDyslexic", "RobotoMono"] %>
          <% for(var i=0; i < fonts.length; i++) { %>
            <option value="<%=fonts[i]%>"><%=fonts[i]%></option>
          <% } %>
        </select>
      </p>
      <p>
        <input type="checkbox" id="options-followContents" checked="checked">
        <label for="options-followContents" data-l10n-id="timeslider.followContents"></label>
      </p>
    </div></div>
  </div>
</body>

<!----------------------------->
<!-------- JAVASCRIPT --------->
<!----------------------------->

<script type="text/javascript" src="../../static/js/require-kernel.js?v=<%=settings.randomVersionString%>"></script>
<script type="text/javascript" src="../../socket.io/socket.io.js?v=<%=settings.randomVersionString%>"></script>

<!-- Include base packages manually (this help with debugging) -->
<script type="text/javascript" src="../../javascripts/lib/ep_etherpad-lite/static/js/timeslider.js?callback=require.define&v=<%=settings.randomVersionString%>"></script>
<script type="text/javascript" src="../../javascripts/lib/ep_etherpad-lite/static/js/ace2_common.js?callback=require.define&v=<%=settings.randomVersionString%>"></script>

<script type="text/javascript" src="../../static/skins/<%=encodeURI(settings.skinName)%>/timeslider.js?v=<%=settings.randomVersionString%>"></script>

<!-- Bootstrap -->
<script type="text/javascript" >
  // @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt
  var clientVars = {
    // This is needed to fetch /pluginfw/plugin-definitions.json, which happens before the
    // server sends the CLIENT_VARS message.
    randomVersionString: <%-JSON.stringify(settings.randomVersionString)%>,
  };
  let BroadcastSlider;
  (function () {
    const pathComponents = location.pathname.split('/');

    // Strip 'p', the padname and 'timeslider' from the pathname and set as baseURL
    const baseURL = pathComponents.slice(0,pathComponents.length-3).join('/') + '/';


    require.setRootURI(baseURL + "javascripts/src");
    require.setLibraryURI(baseURL + "javascripts/lib");
    require.setGlobalKeyPath("require");

    $ = jQuery = require('ep_etherpad-lite/static/js/rjquery').jQuery; // Expose jQuery #HACK
    browser = require('ep_etherpad-lite/static/js/vendors/browser');

    const plugins = require('ep_etherpad-lite/static/js/pluginfw/client_plugins');
    const socket = require('ep_etherpad-lite/static/js/timeslider').socket;
    BroadcastSlider = require('ep_etherpad-lite/static/js/timeslider').BroadcastSlider;
    plugins.baseURL = baseURL;

    plugins.update(function () {
      const hooks = require('ep_etherpad-lite/static/js/pluginfw/hooks');
      const timeslider = require('ep_etherpad-lite/static/js/timeslider')
      timeslider.baseURL = baseURL;
      timeslider.init();

      /* TODO: These globals shouldn't exist. */
      const padeditbar = require('ep_etherpad-lite/static/js/pad_editbar').padeditbar;
      const padimpexp = require('ep_etherpad-lite/static/js/pad_impexp').padimpexp;

      padeditbar.init()
    });
  })();
  // @license-end
</script>
<% e.end_block(); %>
<div style="display:none"><a href="/javascript" data-jslicense="1">JavaScript license information</a></div>
</html>
