<%= hidden_field_tag 'set_filter', '1' %>
<%= hidden_field_tag 'type', @query.type, :disabled => true, :id => 'query_type' %>
<%= query_hidden_sort_tag(@query) %>

<div id="query_form_with_buttons" class="hide-when-print">
<div id="query_form_content">
  <fieldset id="filters" class="collapsible <%= @query.new_record? ? "" : "collapsed" %>">
    <legend onclick="toggleFieldset(this);" class="icon icon-<%= @query.new_record? ? "expanded" : "collapsed" %>"><%= l(:label_filter_plural) %></legend>
    <div style="<%= @query.new_record? ? "" : "display: none;" %>">
      <%= render :partial => 'queries/filters', :locals => {:query => @query} %>
    </div>
  </fieldset>

  <% if @query.available_columns.any? %>
    <fieldset id="options" class="collapsible collapsed">
      <legend onclick="toggleFieldset(this);" class="icon icon-collapsed"><%= l(:label_options) %></legend>
        <div class="hidden">
          <% if @query.available_display_types.size > 1 %>
          <div>
            <span class="field"><label for='display_type'><%= l(:label_display_type) %></label></span>
            <%= available_display_types_tags(@query) %>
          </div>
          <% end %>
          <table id="list-definition" class="<%= 'hidden' if (@query.display_type != 'list') %>">
          <% if @query.available_columns.any? %>
            <tr>
              <td class="field"><%= l(:field_column_names) %></td>
              <td><%= render_query_columns_selection(@query) %></td>
            </tr>
          <% end %>
          <% if @query.groupable_columns.any? %>
            <tr>
              <td class="field"><label for='group_by'><%= l(:field_group_by) %></label></td>
              <td><%= group_by_column_select_tag(@query) %></td>
            </tr>
          <% end %>
          <% if @query.available_block_columns.any? %>
            <tr>
              <td class="field"><%= l(:button_show) %></td>
              <td><%= available_block_columns_tags(@query) %></td>
            </tr>
          <% end %>
          <% if @query.available_totalable_columns.any? %>
            <tr>
              <td><%= l(:label_total_plural) %></td>
              <td><%= available_totalable_columns_tags(@query) %></td>
            </tr>
          <% end %>
        </table>
      </div>
    </fieldset>
  <% end %>
</div>

<p class="buttons">
  <%= link_to_function l(:button_apply), '$("#query_form").submit()', :class => 'icon icon-checked' %>
  <%= link_to l(:button_clear), { :set_filter => 1, :sort => '', :project_id => @project }, :class => 'icon icon-reload'  %>
  <% if @query.new_record? %>
    <% if User.current.allowed_to?(:save_queries, @project, :global => true) %>
      <%= link_to_function l(:button_save_object, object_name: l(:label_query).downcase),
                           "$('#query_type').prop('disabled',false);$('#query_form').attr('action', '#{ @project ? new_project_query_path(@project) : new_query_path }').submit()",
                           :class => 'icon icon-save' %>
    <% end %>
  <% else %>
    <% if @query.editable_by?(User.current) %>
      <% redirect_params = (controller_name == 'admin' && action_name == 'projects') ? {:admin_projects => 1} : {} %>
      <%= link_to l(:button_edit_object, object_name: l(:label_query).downcase), edit_query_path(@query, redirect_params), :class => 'icon icon-edit' %>
      <%= delete_link query_path(@query, redirect_params), {}, l(:button_delete_object, object_name: l(:label_query).downcase) %>
    <% end %>
  <% end %>
</p>
</div>

<%= error_messages_for @query %>

<%= javascript_tag do %>
$(function ($) {
  $('input[name=display_type]').change(function (e) {
    if ($("#display_type_list").is(':checked')) {
      $('table#list-definition').show();
    } else {
      $('table#list-definition').hide();
    }

  })
});

<% end %>
