<% default_url ||= {}; static_url ||= false; hide_tabs ||= false %>
<% unless hide_tabs %>
  <div class="tabs">
    <ul>
      <% tabs.each do |tab| %>
        <% next if tab[:if] && !tab[:if].call %>
        <li>
          <% tab_label = tab[:label].is_a?(Symbol) ? l(tab[:label]) : tab[:label] %>
          <% if tab[:no_js_link] %>
            <%= link_to tab_label, static_url ? default_url : default_url.merge(tab: tab[:name]),
              id: "tab-#{tab[:name]}",
              class: (tab[:name] != selected_tab ? nil : 'selected') %>
          <% elsif tab[:redirect_link] %>
            <%= link_to tab_label, tab[:url],
              id: "tab-#{tab[:name]}",
              class: (tab[:name] != selected_tab ? nil : 'selected') %>
          <% else %>
            <%= link_to tab_label, static_url ? default_url : default_url.merge(tab: tab[:name]),
              id: "tab-#{tab[:name]}",
              class: (tab[:name] != selected_tab ? nil : 'selected'),
              onclick: "showTab('#{tab[:name]}', this.href); this.blur(); return false;" %>
          <% end %>
        </li>
      <% end %>
    </ul>
    <div class="tabs-buttons" style="display:none;">
      <button class="tab-left" type="button" onclick="moveTabLeft(this);"></button>
      <button class="tab-right" type="button" onclick="moveTabRight(this);"></button>
    </div>
  </div>
<% end %>

<% tabs.each do |tab| %>
  <% next if (tab[:redirect_link] || tab[:no_js_link]) && (selected_tab != tab[:name]) %>
  <% render_type ||= 'partial' %>
  <%= content_tag('div', render(render_type.to_sym => tab[render_type.to_sym], locals: {tab: tab} ),
    id: "tab-content-#{tab[:name]}",
    style: (tab[:name] != selected_tab ? 'display:none' : nil),
    class: 'tab-content ' + tab[:css_classes].to_s) %>
<% end %>
