def shipping_address(params = {})
if params.has_key?(:phone)
phone = params.delete(:phone).to_s
phone.gsub!(/\D+/, '')
if phone =~ /(\d{3})(\d{3})(\d{4})$/
add_field('night_phone_a', $1)
add_field('night_phone_b', $2)
add_field('night_phone_c', $3)
end
end
country_code = lookup_country_code(params.delete(:country))
add_field(mappings[:shipping_address][:country], country_code)
province_code = params.delete(:state)
case country_code
when 'CA'
add_field(mappings[:shipping_address][:state], CANADIAN_PROVINCES[province_code.upcase]) unless province_code.nil?
when 'US'
add_field(mappings[:shipping_address][:state], province_code)
else
add_field(mappings[:shipping_address][:state], province_code.blank? ? 'N/A' : province_code)
end
params.each do |k, v|
field = mappings[:shipping_address][k]
add_field(field, v) unless field.nil?
end
end