!function(o){"use strict";var l=window.GEM||{};l.DEBUG_FLAG=!0,l.init=function(){o("form.gem-form").submit(function(e){var i,t,a,s,n,r=o(this),u=o(".gem-spinner",r),h=r.find(".gem-error, .gem-info"),c=[],d=[];e.preventDefault(),o(this).find("input[type=checkbox]").each(function(){var e=o(this).data("name");t!==e&&(a=o('input:checkbox[data-name="'+(t=e)+'"]:checked').map(function(){return this.value}).get().join(", "),o('input[name="'+e+'"]').val(a))}),o(this).find("[fingerprint=date]").each(function(){var e=o(this).data("name");s!==e&&(o('select[data-name="'+(s=e)+'"]').each(function(){var e=o(this).val();e&&d.push(e)}),3===d.length&&(n=d[0]+" "+d[1]+", "+d[2],o('input[name="'+e+'"]').val(n)))}),i=o(this).serialize(),r.find("input.gem-invalid").removeClass("gem-invalid"),o(this).find(".gem-required").each(function(){var e=o(this).val();"signup[email]"!==o(this).attr("name")||l.isEmail(e)?""===e&&o(this).is("input")?c.push(o(this)):o(this).is('input[type="checkbox"]')&&!o(this).is(":checked")?c.push(o(this)):o(this).is("label")&&void 0===o('input:radio[name="'+o(this).data("name")+'"]:checked').val()&&c.push(o(this)):c.push(o(this))}),0===c.length?(u.css("display","inline-block"),o.post(r.attr("action")+".json",i,function(i){r.fadeOut("fast",function(){var e;i.success?(e=i.result.audience_member.suppressed,i.result.has_redirect&&(window.location.href=i.result.redirect),r.html(l.addMessage(e?["suppressed","success"]:["info","success"],e?l.thankyou_suppressed:l.thankyou)).fadeIn("fast")):r.html(l.addMessage("info",l.oops)).fadeIn("fast")})},"jsonp")):(0!==h.length&&h.remove(),o(c.reverse()).each(function(){var e="";o(this).addClass("gem-invalid"),"signup[email]"===o(this).attr("name")?e=""===o(this).val()?l.required.replace("%s",o(this).data("label")):l.email:o(this).data("label")&&(e=l.required.replace("%s",o(this).data("label"))),e&&r.prepend(l.addMessage("error",e))}))})},l.addMessage=function(e,i){var t=[];return o.isArray(e)?o.each(e,function(e,i){t.push("gem-"+i)}):t.push("gem-"+e.toString()),o("<p/>",{class:t.join(" ")}).text(i)},l.isEmail=function(e){return/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e)},o(document).ready(l.init)}(jQuery);