<% address_id = address_type.chars.first %>
>

> <%= form.label :firstname, Spree.t(:first_name) %>*
<%= form.text_field :firstname, :class => 'required' %>

> <%= form.label :lastname, Spree.t(:last_name) %>*
<%= form.text_field :lastname, :class => 'required' %>

<% if Spree::Config[:company] %>

> <%= form.label :company, Spree.t(:company) %>
<%= form.text_field :company %>

<% end %>

> <%= form.label :address1, Spree.t(:street_address) %>*
<%= form.text_field :address1, :class => 'required' %>

> <%= form.label :address2, Spree.t(:street_address_2) %>
<%= form.text_field :address2 %>

> <%= form.label :city, Spree.t(:city) %>*
<%= form.text_field :city, :class => 'required' %>

> <%= form.label :country_id, Spree.t(:country) %>*
> <%= form.collection_select :country_id, available_countries, :id, :name, {}, {:class => 'required'} %>

<% if Spree::Config[:address_requires_state] %>

> <% have_states = !address.country.states.empty? %> <%= form.label :state, Spree.t(:state) %>>*
<% state_elements = [ form.collection_select(:state_id, address.country.states, :id, :name, {:include_blank => true}, {:class => have_states ? 'required' : 'hidden', :disabled => !have_states}) + form.text_field(:state_name, :class => !have_states ? 'required' : 'hidden', :disabled => have_states) ].join.gsub('"', "'").gsub("\n", "") %> <%= javascript_tag do -%> $('#<%="#{address_id}state" %>').append("<%== state_elements %>"); <% end %>

<% end %>

> <%= form.label :zipcode, Spree.t(:zip) %><% if address.require_zipcode? %>*<% end %>
<%= form.text_field :zipcode, :class => "#{'required' if address.require_zipcode?}" %>

> <%= form.label :phone, Spree.t(:phone) %><% if address.require_phone? %>*<% end %>
<%= form.phone_field :phone, :class => "#{'required' if address.require_phone?}" %>

<% if Spree::Config[:alternative_shipping_phone] %>

> <%= form.label :alternative_phone, Spree.t(:alternative_phone) %>
<%= form.phone_field :alternative_phone %>

<% end %>