diff --git a/app/helpers/registration_helper.rb b/app/helpers/registration_helper.rb
new file mode 100644
index 00000000..bd50b0ff
--- /dev/null
+++ b/app/helpers/registration_helper.rb
@@ -0,0 +1,14 @@
+module RegistrationHelper
+ def generate_supporter_level_js(conference)
+ str = ""
+ conference.supporter_levels.map do |t|
+ next if t.url.empty?
+
+ str += "if ($('#registration_supporter_registration_attributes_supporter_level_id option:selected').text() == '#{t.title}') {\n"
+ str += "console.log('#{t.title}');\n"
+ str += "str = 'If you have a confirmation or registration code, enter it here. Otherwise, you can purchase a #{t.title} ticket here, if you need to.';\n"
+ str += "}\n\n"
+ end.join("\n")
+ str
+ end
+end
\ No newline at end of file
diff --git a/app/views/conference_registration/register.html.haml b/app/views/conference_registration/register.html.haml
index 7c952544..4f78db30 100644
--- a/app/views/conference_registration/register.html.haml
+++ b/app/views/conference_registration/register.html.haml
@@ -27,10 +27,19 @@
- if @conference.use_supporter_levels?
= f.semantic_fields_for :supporter_registration do |reg|
= reg.input :supporter_level, :as => :select, :collection => @conference.supporter_levels
- = reg.input :code, :hint => "If you have a confirmation or registration code, enter it here."
+ = reg.input :code, :label => "Confirmation or registration code (if applicable)"
+ %span#supporter-link.help-block
- if @registered
= f.action :submit, :button_html => { :value => "Update Registration", :class => "btn btn-primary" }
= link_to "Unregister", register_conference_path(@conference.short_title),:method => :delete, :class => "btn btn-danger",
:confirm => "Are you sure you want to unregister?"
- else
= f.action :submit, :button_html => { :value => "Register", :class => "btn btn-primary" }
+
+:javascript
+ $("#registration_supporter_registration_attributes_supporter_level_id").change(function () {
+ var str = "";
+ #{generate_supporter_level_js @conference}
+ $("#supporter-link").html(str);
+ })
+ .trigger('change');