[% USE date %]
[% USE HTML %]
<?xml version="1.0" encoding="UTF-8"?>

[% PROCESS common.tt %]

<!DOCTYPE html>

<html lang="en">

  <head>
    <title>Hydra - [% HTML.escape(title) %]</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <script type="text/javascript" src="/static/bootstrap/js/bootstrap.min.js"></script>
    <link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet" />

    <!-- hydra.css must be included before bootstrap-responsive to
         make the @media rule work. -->
    <link rel="stylesheet" href="/static/css/hydra.css" type="text/css" />
    <link href="/static/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />

    <style>
      .popover { max-width: 40%; }
    </style>

    <script type="text/javascript" src="/static/js/bootbox.min.js"></script>

    <link rel="stylesheet" href="/static/css/tree.css" type="text/css" />
    <link rel="stylesheet" href="/static/css/logfile.css" type="text/css" />

    <script type="text/javascript" src="/static/js/common.js"></script>

    [% tracker %]

  </head>

  <body>

    <div class="navbar navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container">
          <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="brand" href="[% c.uri_for(c.controller('Root').action_for('index')) %]">
            [% IF logo == "" %]
              Hydra
            [% ELSE %]
              <img src="[% logo %]" alt="Hydra Logo" class="logo" />
            [% END %]
          </a>
          <div class="nav-collapse collapse">
            [% PROCESS topbar.tt %]
          </div>
        </div>
      </div>
    </div>

    <div class="container">

      [% IF !hideHeader %]
        <div class="page-header">
          <h1><small>[% HTML.escape(title) %]</small></h1>
        </div>
      [% ELSE %]
        <br />
      [% END %]

      [% IF flashMsg %]
        <div class="alert alert-info">[% flashMsg %]</div>
      [% END %]

      [% IF successMsg %]
        <div class="alert alert-success">[% successMsg %]</div>
      [% END %]

      [% IF errorMsg %]
        <div class="alert alert-error">Error: [% errorMsg %]</div>
      [% END %]

      [% content %]

      <footer class="navbar">
        <hr />
        <small>
          <em><a href="http://nixos.org/hydra" target="_new">Hydra</a> [% HTML.escape(version) %] (using [% HTML.escape(nixVersion) %]).</em>
          [% IF c.user_exists %]
          You are signed in as <tt>[% HTML.escape(c.user.username) %]</tt>.
          [% END %]
        </small>
      </footer>

    </div>

    <script>
      function doLogout() {
        $.post("[% c.uri_for('/logout') %]")
          .done(function(data) {
            window.location.reload();
          })
          .fail(function() { bootbox.alert("Server request failed!"); });
      }
    </script>

    [% IF c.user_exists && c.user.password != '!' %]
      <script>
        $("#persona-signout").click(doLogout);
      </script>
    [% ELSE %]
      <script src="https://login.persona.org/include.js"></script>

      <script>
        navigator.id.watch({
          loggedInUser: [% c.user_exists ? '"' _ HTML.escape(c.user.username) _ '"' : "null" %],
          onlogin: function(assertion) {
            $.post("[% c.uri_for('/persona-login') %]", { assertion: assertion })
              .done(function(data) {
                if (data.error)
                  bootbox.alert("Login failed: " + data.error);
                else
                  window.location.reload();
              })
              .fail(function() { bootbox.alert("Server request failed!"); });
          },
          onlogout: doLogout
        });

        $("#persona-signin").click(function() {
          navigator.id.request();
        });

        $("#persona-signout").click(function() {
          navigator.id.logout();
        });
      </script>
    [% END %]

  </body>

</html>