<table class="brackets">
  <% rows = bracket.slots*2-1 %>
  <% cols = 2+(bracket.slots/4) %>
  <% content = Array.new((bracket.slots*2-1)/4) %>
  <% (0..rows).each do |row| %>
    <tr>
      <% (0..cols).each do |col| %>
        <% exp = 2**(col+1) %>
        <% element_class = "empty" %>
        <% bracketer = bracket.get_bracketer(row, col) %>

        <% if (row % exp) == exp/2 %>
          <% if bracketer %>
            <% element_class = "team" %>
          <% else %>
            <% element_class = "empty" %>
          <% end %>
        <% elsif ( (((row+exp/2) - (row+exp/2) % exp) / exp) % 2 == 1 ) and col < cols-1 %>
          <% if ( (((row+exp/2) - (row+exp/2) % exp) / exp) % 2 == 1 ) and col < cols-1 %>
            <% element_class = "connector" %>
          <% end %>
        <% end %>

        <td class="<%= element_class %>">
          <% if element_class == "team" %>
            <% if params[:action] == "edit" %>
              <%= select_tag "cell[#{row}][#{col}]", options_for_select(bracket.options, :selected => bracket.default(row, col)) %>
            <% elsif bracketer %>
              <% if bracketer.match %>
                <%= link_to bracketer, bracketer.match %>
              <% elsif bracketer.contester %>
                <table>
                  <td class="flag"><%= flag bracketer.contester.team.country %></td>
                  <td class="bracket"><%= link_to bracketer.contester, bracketer.contester %></td>
                </table>
              <% end %>
            <% end %>
          <% end %>
        </td>
      <% end %>
    </tr>
  <% end %>
</table>