# File lib/ramaze/helper/blue_form.rb, line 166
        def select(label, name, values, options = {})
          id = id_for(name)
          multiple, size = options.values_at(:multiple, :size)

          args = {:id => id}
          args[:multiple] = 'multiple' if multiple
          args[:size] = (size || multiple || 1).to_i
          args[:name] = multiple ? "#{name}[]" : name

          has_selected, selected = options.key?(:selected), options[:selected]

          @g.p do
            label_for(id, label, name)
            @g.select args do
              values.each do |value, o_name|
                o_name ||= value
                o_args = {:value => value}
                o_args[:selected] = 'selected' if has_selected && value == selected
                @g.option(o_args){ o_name }
              end
            end
          end
        end