     this.$el.foundation()
 
     this.$button = this.$('input[type=submit]')
+    this.$form = this.$('form#credit-card-form')
 
     this.$('#billing_first_name, #billing_last_name, #card_number, #card_code').focusout =>
       this.validate()
 
-    this.$('#terms').change this.validate
-    this.$('form#credit-card-form').bind('submit', this.submit)
+    this.$form.bind('submit', this.submit)
 
     this.showAuthorizeNetSeal()
 

    $field.removeClass 'error'
    $field.parent().find('span.error').remove()

  aceptedTerms: ->
    unless this.$('#terms').is(':checked')
      this.$('#terms').parents('.terms').addClass('error')
      return false
    else
      this.$('#terms').parents('.terms').removeClass('error')
      return true

  replaceAll: (string, token, newtoken) ->
    return string unless string && string.length > 0
    string = string.replace(token, newtoken) until string.indexOf(token) is -1

    valid = false unless this.validateField this.$('#billing_last_name')
    valid = false unless this.validateField this.$('#card_number')
    valid = false unless this.validateField this.$('#card_code')

    return valid

