% content_block 'headerButtonGroup', { position => 50 }, begin
  <h3 class="nav-link"><a class="link-guided-tour" data-testid="tour-start">Tour</a></h3>
% end

% content_block 'headerButtonGroup', { position => 100 }, begin
  <h3 class="nav-link"><a href="<%= url_for 'doc_start' %>" class="tutorial" id="view-tutorial"><%= loc "tutorial" %></a></h3>
% end

<nav class="navbar">
  <%= link_to 'index', class => 'logo', 'data-testid' => 'home', begin %><h1><span><%= title() // loc('korap_desc') %></span><% if (loc('title_addon')) { %><div class="logoaddon"><%= loc('title_addon') %></div><% } %></h1><% end %>

  <div class="navbar-group">
    %= content_block 'headerButtonGroup'
    %= include 'partial/auth/logout'
    %= include 'partial/auth/login'
  </div>

  <div class="burger-icon"></div>
</nav>

<header>
  <form autocomplete="off" action="<%= url_for 'index' %>" id="searchform">
    <div id="searchbar">
      %= search_field 'q', id => 'q-field', autofocus => 'autofocus', placeholder => loc('searchplaceholder'), spellcheck => 'false', autocomplete => 'off', autocorrect => 'off', autocapitalize => 'off'
      <button type="submit" id="qsubmit" title="<%= loc 'go' %>"><span><%= loc 'go' %></span></button>
    </div>

    <!-- Search in the following virtual corpus -->
    <div id="vc-view"></div>
    <%= loc 'in' %>
    %# TODO: Create 'align' parameter
    %= text_field 'cq', id => 'cq'

    <%= loc 'with' %>
    <span class="select">
      %= select_field 'ql', [[loc('QL_poliqarp') => 'poliqarp'], [loc('QL_cosmas2') => 'cosmas2'], [loc('QL_annis') => 'annis'], [loc('QL_cqp') => 'cqp'], [loc('QL_cql') => 'cql'], [loc('QL_fcsql') => 'fcsql']], id => 'ql-field'
    </span>
    <div class="button right">
      % param(cutoff => 1) unless param 'q';
      %= check_box cutoff => 1, id => 'q-cutoff-field', class => 'checkbox'
      <label for="q-cutoff-field" title="<%= loc('glimpse_desc') %>"><span id="glimpse"></span><%= loc('glimpse') %></label>
      %# <%= link_to 'doc_start', title => loc('tutorial'), class => "tutorial", id => "view-tutorial", tabindex => '-1', begin %><span><%= loc 'tutorial' %></span><% end %>
    </div>
    <div class="clear"></div>
  </form>
</header>
