<header>
  <%= link_to 'index', class => 'logo', begin %><h1><span><%= title() // loc('korap_desc') %></span></h1><% end %>
  <div class="button top">

% if (stash('user')) {
   %# TODO: CSRF protection
   <a href="<%= url_for 'logout' %>"
      class="logout"
      title="<%= loc 'logout' %>: <%= stash('user') %>"><span><%= loc 'logout' %></span></a>
% };

  </div>
  <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" title="<%= loc 'go' %>"><span><%= loc 'go' %></span></button>
    </div>

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

    <%= loc 'with' %>
    <span class="select">
      %= select_field 'ql', [[loc('QL_poliqarp') => 'poliqarp'], [loc('QL_cosmas2') => 'cosmas2'], [loc('QL_annis') => 'annis'], [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></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>
