<header>
  <%= link_to 'index', class => 'logo', begin %><h1><span><%= title() // loc('korap_desc') %></span></h1><% end %>
  <div class="button top">
<!--
    <a href="#"
       class="login"
       title="<%= loc 'login' %>"><span><%= loc 'login' %></span></a>
-->
  </div>
  <form autocomplete="off" action="<%= url_for 'index' %>">
    <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' %> <input type="hidden" id="vc-name" name="vc-name" value="Wikipedia" />
    <input type="text" name="vc" id="vc" value="corpusID = Wikipedia" />
    -->
    <%= loc 'with' %>
    <span class="select">
      %= select_field 'ql', [[Poliqarp => 'poliqarp'], ['Cosmas II' => 'cosmas2'], ['Annis' => 'annis'], ['CQL v1.2' => 'cql']], 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"><span></span><%= loc('glimpse') %></label>
<!--
      % unless (current_route 'tutorial') {
      <a href="/doc/faq"
	 title="<%= loc 'faq' %>"
	 class="question"
	 id="view-faq"><span><%= loc 'faq' %></span></a>
      % };
-->
      <%= link_to 'doc_start', title => loc('tutorial'), class => "tutorial", id => "view-tutorial", begin %><span><%= loc 'tutorial' %></span><% end %>
    </div>
  </form>
</header>
