anchor.diff:      gui_jq:bind_enter_to_submit_button(<<"search_textbox">>, <<"search_button">>),
       [
           CloseButton,
  -        #panel{style = <<"margin: 0 40px;">>, body = [
  +        #panel{style = <<"margin: 0 40px; position: relative;">>, body = [
               #panel{style = <<"text-align: left; position: relative;">>, body = [
                   #p{style = <<"margin-top: -5px; display: inline-block; margin-right: 170px;">>, body = <<"Change loglevels for chosen clients:">>},
                   #panel{class = <<"input-append">>, style = <<"margin-bottom: 10px;">>, body = [
  
positive.code:             gui_jq:replace(ID, NewRow)
          end, ClientList);
  
  
  event({search_clients, ClientList}) ->
      % Deselect all
      Query = gui_ctx:postback_param(<<"search_textbox">>),
      {Select, Deselect} = lists:partition(
          fun({_, UserName, _}) ->
              binary:match(UserName, Query) =/= nomatch
          end, ClientList),
      ?dump(Select),
      event({toggle_clients, true, Select}),
      event({toggle_clients, false, Deselect}),
      [{FirstRow, _, _} | _] = Select,
      gui_jq:wire(<<"$('#client_table_viewport').animate({scrollTop: $('#", FirstRow/binary, "').offset().top - ",
      "$('#client_table_viewport').offset().top + $('#client_table_viewport').scrollTop()}, 50);">>);
  
  
  event(toggle_auto_scroll) ->
  
negative.code:                     ],
                      body = #tbody{body = ClientList}
                  }
              ]},
              #panel{id = <<"loglevel_buttons_panel">>, style = <<"float: left; margin-left: 25px; ">>, body = loglevel_buttons_panel_body(Identifiers)}
          ]}
      ].
  
  
  loglevel_buttons_panel_body(ClientIdentifiers) ->
      [
          #button{class = <<"btn btn-block btn-small btn-danger">>, style = <<"padding: 4px 13px 5px; width: 90px; font-weight: bold;">>,
              id = <<"lb_fatal">>, postback = {set_clients_loglevel, fatal, <<"lb_fatal">>, ClientIdentifiers}, body = <<"fatal">>},
          #button{class = <<"btn btn-block btn-small btn-danger">>, style = <<"padding: 4px 13px 5px; width: 90px; font-weight: bold;">>,
              id = <<"lb_error">>, postback = {set_clients_loglevel, error, <<"lb_error">>, ClientIdentifiers}, body = <<"error">>},
          #button{class = <<"btn btn-block btn-small btn-warning">>, style = <<"padding: 4px 13px 5px; width: 90px; font-weight: bold;">>,
              id = <<"lb_warning">>, postback = {set_clients_loglevel, warning, <<"lb_warning">>, ClientIdentifiers}, body = <<"warning">>},
          #button{class = <<"btn btn-block btn-small btn-success">>, style = <<"padding: 4px 13px 5px; width: 90px; font-weight: bold;">>,
              id = <<"lb_info">>, postback = {set_clients_loglevel, info, <<"lb_info">>, ClientIdentifiers}, body = <<"info">>},
          #button{class = <<"btn btn-block btn-small">>, style = <<"padding: 4px 13px 5px; width: 90px; font-weight: bold;">>,
              id = <<"lb_debug">>, postback = {set_clients_loglevel, debug, <<"lb_debug">>, ClientIdentifiers}, body = <<"debug">>},
          #button{class = <<"btn btn-block btn-small btn-inverse">>, style = <<"padding: 4px 13px 5px; width: 90px; font-weight: bold;">>,
              id = <<"lb_none">>, postback = {set_clients_loglevel, ?CLIENT_LOGLEVEL_NONE, <<"lb_none">>, ClientIdentifiers}, body = <<"none">>}
      ].
  
  
  client_row(ID, Selected, UserName, FuseID) ->
      {RowClass, LinkClass, GlyphClass} =
  