def state_select(method, options = {}, html_options = {}, additional_state = nil)
      country_id_field_name = options.delete(:country_id) || 'country_id'
      country_id = get_instance_object_value(country_id_field_name)
      @states = country_id.nil? ? [] : (additional_state ? [additional_state] : []) + State.find(:all, :conditions => ["country_id = ?", country_id], :order => "name asc")
      self.menu_select(method, I18n.t('muck.engine.choose_state'), @states, options.merge(:prompt => I18n.t('muck.engine.select_state_prompt'), :wrapper_id => 'states-container'), html_options.merge(:id => 'states'))
    end
def state_select(method, options = {}, html_options = {}, additional_state = nil)
      country_id_field_name = options.delete(:country_id) || 'country_id'
      country_id = get_instance_object_value(country_id_field_name)
      @states = country_id.nil? ? [] : (additional_state ? [additional_state] : []) + State.find(:all, :conditions => ["country_id = ?", country_id], :order => "name asc")
      self.menu_select(method, I18n.t('muck.engine.choose_state'), @states, options.merge(:prompt => I18n.t('muck.engine.select_state_prompt'), :wrapper_id => 'states-container'), html_options.merge(:id => 'states'))
    end
creates a select control with states.  Default id is 'states'.  If 'retain' is passed for the class value the value of this
 control will be written into a cookie with the key 'states'.