function toggleOffer(options) {
  var container = options['container']
  var performClick = options['performClick']
  var stepType = options['stepType']

  var checkbox = container.find('.body .tell-me-more input:checkbox')
  var domCheckbox = checkbox[0]
  var isChecked = domCheckbox.checked
  var tellMeMore = container.find('.tell-me-more')
  var fullOfferContainer = container.find('.body .expandable-container')

  if (performClick) {
    domCheckbox.checked = !domCheckbox.checked
    isChecked = !isChecked
  }

  var tokens = container.attr('id').split('-')
  var offerId = tokens[tokens.length-1]

  if (isChecked) {
    if (container.hasClass('popup_offer')) {
      Survey.selectPopup(offerId);
    }

    if (stepType == 'StepLadder' && !container.hasClass('popup_offer')) {
      if (!fullOfferContainer.is(':visible')) {
        if (performClick) {
          fullOfferContainer.slideDown()
        } else {
          fullOfferContainer.show()
        }
      }
    }
    if (container.hasClass('outline')) {
      container.removeClass('outline').addClass('shaded')
    }
    tellMeMore.addClass('selected')
    
  } else {
    if (container.hasClass('popup_offer')) {
      Survey.burninatePopup(offerId);
    }
    if (stepType == 'StepLadder' && !container.hasClass('popup_offer') && fullOfferContainer.is(':visible')) {
      fullOfferContainer.slideUp()
    }
    if (container.hasClass('shaded')) {
      container.removeClass('shaded').addClass('outline')
    }
    tellMeMore.removeClass('selected')
  }
}


$(document).ready(function(){
  $.each($('input[default]'), function(i, htmlInput){
    var input = $(htmlInput)
    var def = input.attr('default')

    if (input.val() == "" && def != "") {
      input
        .val(def)
        .addClass('default')
    }
  })

  $('input[default]')
    .focus(function(){
      var input = $(this);
      var v = input.val();

      input.removeClass('default')

      var default_val = input.attr('default');
      var current_val = input.val();

      if ( (default_val == current_val) || (current_val == '') ) {
        input.val('')
      }


    }).blur(function(){
      var input = $(this)
      if (input.val() == '') {
        input
          .addClass('default')
          .val(input.attr('default'))
      }
  })


  /////////////////////////////////////////////////////////
  // SURVEY FORM
  $('#survey-form').submit(function(){return Survey.validateForm()})
  $('#survey-form .button-skip').click(function(){return Survey.skipForm()})


  $('.element-wrapper input:not(:hidden,:image),select').focus(function(){
    $(this).addClass('field-being-fixed')
    $(this).parents('.element-wrapper:eq(0)').removeClass('error-wrapper')
  })

  $('.element-wrapper input.check_box,input.radio_button,input.checkbox,input.radio').change(function(){
    $(this).parents('.element-wrapper:eq(0)').removeClass('error-wrapper')
  })


  /////////////////////////////////////////////////////////
  // Step Ladder
  $('#step-ladder .hot-area')
    .mouseover(function() { $(this).addClass('shaded').removeClass('outline') })
    .mouseout(function() { $(this).removeClass('shaded').addClass('outline') })
    .each(function() { toggleOffer({container: $(this), performClick: false, stepType: 'StepLadder'}) } )
    .click(function() { toggleOffer({container: $(this), performClick: true, stepType: 'StepLadder'}) } )

  $('.expandable-container').click(function(event){
    event.stopPropagation()
  })


  /////////////////////////////////////////////////////////
  // Offer Selection
  $('#offer-selection .hot-area')
    .mouseover(function() { $(this).addClass('shaded').removeClass('outline') })
    .mouseout(function() { $(this).removeClass('shaded').addClass('outline') })
    .each(function() { toggleOffer({container: $(this), performClick: false, stepType: 'OfferSelection'}) } )
    .click(function() { toggleOffer({container: $(this), performClick: true, stepType: 'OfferSelection'}) } )

})
