    # 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