         nextElementFlat   :
           vatNumber       :
             placeholder   : 'VAT Number (optional)'
-            defaultValue  : data.vatNumber 
+            defaultValue  : data.vatNumber
 
       address             :
         label             : 'Address & ZIP'

          zip             :
            placeholder   : 'ZIP (optional)'
            defaultValue  : data.zip

      city                :
        label             : 'City & Country'
        placeholder       : 'City (optional)'
        defaultValue      : data.city
        nextElementFlat   :
          country         :
            itemClass     : KDSelectBox
            defaultValue  : data.country or 'US'

      phone               :
        label             : 'Phone'


    @billingForm.fields.country.addSubView @countryLoader

  handleZipCode:->

    { JLocation } = KD.remote.api

    { city, state, country, zip } = @billingForm.inputs

    JLocation.byZip zip.getValue(), (err, location) =>
      @setLocation location  if location

  setLocation: (location) ->
    ['city', 'state', 'country'].forEach (inputName) =>
      input = @billingForm.inputs[inputName]
      value = location[inputName]
      input.setValue value  if input? # TODO: `and not input.isDirty()` or something like that C.T.

  setCountryData: ({ countries, countryOfIp }) ->
    { country } = @billingForm.inputs

