#re order ticker types
$('#type.dropdown').find("a[name='value']").parent('li').appendTo('#type.dropdown ul.dropdown-menu')
$('#type.dropdown').find("a[name='frequency']").parent('li').appendTo('#type.dropdown ul.dropdown-menu')
$('#type.dropdown').find("a[name='relevancy']").parent('li').appendTo('#type.dropdown ul.dropdown-menu')
$('#type.dropdown').find("a[name='design']").parent('li').appendTo('#type.dropdown ul.dropdown-menu')
$('#type.dropdown').find("a[name='sentiment']").parent('li').appendTo('#type.dropdown ul.dropdown-menu')
$('#type.dropdown').find("a[name='satisfaction']").parent('li').appendTo('#type.dropdown ul.dropdown-menu')
$('#type.dropdown').find("a[name='sxi']").parent('li').appendTo('#type.dropdown ul.dropdown-menu')

$(document).ready ->
  $('div.codeLoading').hide()

$('input#displayHeader').change ->
  $('div.codeLoading').show()
  if not $(this).is(':checked')
    $('div.ticker').addClass('noHeader')
    $('input#displayBorder').prop('disabled', false)
    $('input[name=display_header]').val(false)
  else
    $('div.ticker').removeClass('noHeader').removeClass('noBorder')
    $('input#displayBorder').prop('checked', true).prop('disabled', true)
    $('input[name=display_header]').val(true)
  persistChanges()

$('input#displayBorder').change ->
  $('div.codeLoading').show()
  if not $(this).is(':checked')
    $('div.ticker').addClass('noBorder')
    $('input[name=display_border]').val(false)
  else
    $('div.ticker').removeClass('noBorder')
    $('input[name=display_border]').val(true)
  persistChanges()

$('#color.dropdown ul.dropdown-menu a').click ->
  $('div.codeLoading').show()
  thisID = $(this).attr('name')
  $('a#color.dropdown-toggle span').text(thisID)
  if thisID == 'dark'
    $('div.tickerContainer').addClass('dark')
  else
    $('div.tickerContainer').removeClass('dark')
  $('input[name=color]').val(thisID)
  persistChanges()

$('#size.dropdown ul.dropdown-menu a').click ->
  $('div.codeLoading').show()
  thisID = $(this).attr('name')
  $('a#size.dropdown-toggle span').text(thisID)
  if thisID == 'small'
    $('div.ticker').addClass('small')
    $('div.ticker').removeClass('large')
  else
    $('div.ticker').addClass('large')
    $('div.ticker').removeClass('small')
  $('input[name=size]').val(thisID)
  persistChanges()

$('#type.dropdown ul.dropdown-menu a').click ->
  $('div.codeLoading').show()
  if not $(this).hasClass('active')
    thisID = $(this).attr('name')
    if thisID == "sxi"
      $('a#type.dropdown-toggle span').text('Overall Experience (SXI)')
    else if thisID == "sentiment" or thisID == "satisfaction"
    	$('a#type.dropdown-toggle span').text(thisID)
    else 
      $('a#type.dropdown-toggle span').text(thisID + ' Rating')
    if thisID =="satisfaction"
      $('div.ticker').removeClass('noHeader').removeClass('noBorder')
      $('input#displayHeader').prop('checked', true).prop('disabled', true)
      $('input#displayBorder').prop('checked', true).prop('disabled', true)
    else
      $('input#displayHeader').prop('disabled', false)

    $('#type.dropdown ul.dropdown-menu a').removeClass('active')
    $(this).addClass('active')
    $('.tickerContainer div.ticker').removeClass('active')
    $(".tickerContainer div##{thisID}.ticker").addClass('active')
  $('input[name=feedback_event_type_name]').val(thisID)
  persistChanges()

persistChanges = ->
  $.post('update/', $('#tickerForm').serialize())
    .done((data) ->
      $('textarea#code').html(data.code)
    )
    .always(() ->
      $('div.codeLoading').hide()
    )
