window.displayFunc = (column, asc) ->
  $th = $("th[filter='#{column}']")
  if $th.hasClass('date')
    asc_sort = (a,b) -> if moment(a[column], "MM/DD/YY HH:mm:ss").isAfter(moment(b[column], "MM/DD/YY HH:mm:ss")) then -1 else (if moment(a[column], "MM/DD/YY HH:mm:ss").isSame(moment(b[column], "MM/DD/YY HH:mm:ss")) then 0 else 1)
    desc_sort = (a,b) -> asc_sort(b,a)
  else
    asc_sort = (a,b) -> if a[column] > b[column] then -1 else (if a[column] == b[column] then 0 else 1)
    desc_sort = (a,b) -> asc_sort(b,a)
  accounts.sort(if asc then asc_sort else desc_sort)
  total_html = ""
  for account, index in accounts
    total_html += """
            <tr value="#{ account.id }" class='page-#{ Math.floor(index / 50) } main'>
                <td><input name="export[]" value="#{ account.id }" type="checkbox" /></td>
                <td>#{ account.created_at }</td>
                <td>#{ if account.response then 'yes' else 'no' }</td>
                <td class="email">#{ account.email }</td>
                <td class="name">#{ account.name }</td>
                <td>#{ account.first_name }</td>
                <td>#{ account.last_name }</td>
                <td>#{ account.referrer }</td>
                <td>#{ account.twitter }</td>
                <td>#{ account.facebook }</td>
                <td>#{ account.email_num }</td>
            </tr>
            <tr class='page-#{ Math.floor(index / 50) } more'>
              <td class='message'>
                <label>Company Name</label>
                <input id="change-name-#{ account.id }" name='company-name' type='text' value='#{ account.name }' />
                <button class='change-name' value="#{ account.id }" type='button'>Change Name</button>
              </td>
            </tr>"""
  return total_html

$("#noNamePopup").hide()
$("#noNameConfirm").click ->
  $("#noNamePopup").hide()

$("#drip").click ->
  drip_accounts = $.map($('input:checked'), (x) -> return x.value)
  for account_id in drip_accounts
    company_name = $("tr[value='#{ account_id }'] td.name").text()
    if company_name == "none given"
      $("div#noNamePopup").show()
      return false
  $.post('/svAdmin/accounts/drip/',
    {'accounts': drip_accounts, 'csrfmiddlewaretoken': Django.csrf_token()}
  ).success((response) ->
    $.map($("input:checked"), (a) -> $(a).parent().parent().hide())
  ).error((response) ->
    $('table.table').before("<div class='error'>#{response.responseText}</div>")
  )




window.renderFunc = () ->
  $('tr.main').click((evt) ->
    if ($(evt.srcElement).prop("tagName") == "INPUT")
      return
    next = $(this).next('tr.more')[0]
    if (next.style.display == 'none')
      $(this).next('tr.more').show()
    else
      $(this).next('tr.more').hide()
      $('table').removeClass('table-bordered')
      setTimeout( ->
        $('table').addClass('table-bordered')
      , 10)
  )
  $("button.change-name").click ->
    account_id = $(this).val()
    account_name = $("input#change-name-#{ account_id }").val()
    if account_name == ''
      return false
    $.post('/svAdmin/accounts/change-name/',
      {'account_id': account_id,
      'account_name': account_name
      'csrfmiddlewaretoken': Django.csrf_token()}
    ).success((response) ->
      $("tr[value='#{ account_id }'] td.name").text(account_name)
    ).error((response) ->
      $('table.table').before("<div class='error'>#{response.responseText}</div>")
    )

