<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,3 @@
 require 'uberkit/displayer'
 require 'uberkit/menu'
-require 'uberkit/form'
\ No newline at end of file
+require 'uberkit/form'</diff>
      <filename>lib/uberkit.rb</filename>
    </modified>
    <modified>
      <diff>@@ -29,19 +29,40 @@ class Uberkit::Forms::Builder &lt; ActionView::Helpers::FormBuilder
     end
   end
 
-  def check_box(field, options = {}, checked_value = &quot;1&quot;, unchecked_value = &quot;0&quot;)
+  def reverse_field(label_text, field, content, options = {})
+    content_tag(:div, :class =&gt; &quot;reverse_field#{' required' if options[:required]}#{' labelless' if options[:title].blank?}&quot;) do
+      result = &quot;&quot;
+      unless options[:title].blank?
+        result &lt;&lt; content_tag(:span, options[:title], :class =&gt; &quot;pseudo_label&quot;)
+      end
+      result &lt;&lt; content_tag(:div, :class =&gt; &quot;pseudo_field&quot;) do
+        ret = content
+        ret &lt;&lt; label(field, label_text)
+        ret &lt;&lt; content_tag(:span, options[:help], :class =&gt; 'help') unless options[:help].blank?
+        ret &lt;&lt; content_tag(:span, options[:description], :class =&gt; 'description') unless options[:description].blank?
+        ret &lt;&lt; &quot;&lt;br/&gt;&quot;
+        ret
+      end
+      result
+    end
+  end
+
+  def check_box(field, options = {}, *args)
     label_text = options.delete(:label) || field.to_s.titleize
     help = options.delete(:help)
+    required = options.delete(:required)
     description = options.delete(:description)
+    title = options.delete(:title)
+    reverse_field(label_text, field, super(field, options, *args), {:required =&gt; required, :help =&gt; help, :description =&gt; description, :title =&gt; title})
+  end
 
-    content_tag(:div, :class =&gt; &quot;check_box_row#{' require' if options.delete(:required)}#{' labelless' if label_text.blank?}&quot;) do
-      ret = super(field, options, checked_value, unchecked_value)
-      ret &lt;&lt; label(field, label_text)
-      ret &lt;&lt; content_tag(:span, help, :class =&gt; 'help') unless help.blank?
-      ret &lt;&lt; content_tag(:span, description, :class =&gt; 'description') unless description.blank?
-      ret &lt;&lt; &quot;&lt;br/&gt;&quot;
-      ret
-    end
+  def radio_button(field, tag_value, options = {})
+    label_text = options.delete(:label) || tag_value.to_s.titleize
+    help = options.delete(:help)
+    required = options.delete(:required)
+    description = options.delete(:description)
+    title = options.delete(:title)
+    reverse_field(label_text, field, super(field, tag_value, options), {:required =&gt; required, :help =&gt; help, :description =&gt; description, :title =&gt; title} )
   end
   
   def submit(text)</diff>
      <filename>lib/uberkit/forms/builder.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>456459c3bb22d3327285fe564ec9345e91ff7473</id>
    </parent>
  </parents>
  <author>
    <name>Michael Bleigh</name>
    <email>michael@intridea.com</email>
  </author>
  <url>http://github.com/mbleigh/uberkit/commit/eebea892be942832326f4531ebc318f87fa11bbd</url>
  <id>eebea892be942832326f4531ebc318f87fa11bbd</id>
  <committed-date>2009-04-01T08:14:21-07:00</committed-date>
  <authored-date>2009-04-01T08:14:21-07:00</authored-date>
  <message>You can now do radio buttons correctly.</message>
  <tree>3a97ad36d0e7fc6c0b983a30bb2fa4e273dd4421</tree>
  <committer>
    <name>Michael Bleigh</name>
    <email>michael@intridea.com</email>
  </committer>
</commit>
