createOrUpdateClassHash("SecureMe.Misc.InvitationCodes"),SecureMe.Misc.InvitationCodes.OverlayNew=new Class({Extends:SecureMe.Overlay,options:{key:".misc.invitation-codes.new"},addCustomEvents:function(){this.addEmailFormEvents(),new K.Placeholder({scope:this.overlayWrapper})},addEmailFormEvents:function(){this.overlayWrapper.getElement("form").addEvents({"ajax:loading":function(){this.overlayWrapper.getElement(".spinner").addClass("show")}.bind(this),"ajax:success":function(a,b,c,d){var e=this.overlayWrapper.getElement("form .messages"),f=Elements.from(b);e?f.replaces(e):f.inject(this.overlayWrapper.getElement(".form"),"top"),this.overlayWrapper.getElement(".form input").hide(),this.overlayWrapper.getElement("form .submit").hide()}.bind(this),"ajax:complete":function(){this.overlayWrapper.getElement(".spinner").removeClass("show")}.bind(this)})}}),createOrUpdateClassHash("SecureMe.Signups"),SecureMe.Signups.OverlayChooseType=new Class({Extends:SecureMe.Overlay,options:{key:".overlay-signup.choose-type"},addCustomEvents:function(){this.addFacebookEvents(),this.addEmailFormEvents(),new K.Placeholder({scope:this.overlayWrapper})},addFacebookEvents:function(){this.overlayWrapper.getElement(".section.facebook").addEvents({"click:relay(a.facebook)":this.loginToFacebook.bind(this)}).getElement("form").addEvents({"ajax:loading":function(){this.overlayWrapper.getElement(".spinner").addClass("show")}.bind(this),"ajax:success":function(a,b,c,d){this.destroyOverlay(),(new URI(a)).go()}.bind(this),"ajax:failure":function(a,b,c,d){this.overlayWrapper.empty().adopt(Elements.from(b).getChildren()),this.addCustomEvents()}.bind(this),"ajax:complete":function(){this.overlayWrapper.getElement(".spinner").removeClass("show")}.bind(this)})},addEmailFormEvents:function(){this.overlayWrapper.getElement(".section.email form").addEvents({"ajax:loading":function(){this.overlayWrapper.getElement(".spinner").addClass("show")}.bind(this),"ajax:success":function(a,b,c,d){this.options.moveToAfterHide="left",$(document.html).hasClass("csstransitions")?this.overlayWrapper.addEvents({transitionend:this.showNextOverlay.bind(this,a,b,c,d),oTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d),webkitTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d),msTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d)}):this.showNextOverlay(a,b,c,d),this.destroyOverlay()}.bind(this),"ajax:failure":function(a,b,c,d){this.overlayWrapper.empty().adopt(Elements.from(b).getChildren()),this.addCustomEvents()}.bind(this),"ajax:complete":function(){this.overlayWrapper.getElement(".spinner").removeClass("show")}.bind(this)})},loginToFacebook:function(){FB.login(function(a){a.authResponse&&$(document.body).fireEvent('submit:relay(form[data-remote="true"])',{preventDefault:function(){},target:this.overlayWrapper.getElement(".section.facebook form")})}.bind(this),{scope:this.options.permissions.join(",")})},showNextOverlay:function(a,b,c,d){Elements.from(b).inject(this.overlayWrapper,"after"),Browser.exec(c)}}),createOrUpdateClassHash("SecureMe.Signups"),SecureMe.Signups.OverlayEmailActivationSent=new Class({Extends:SecureMe.Overlay,options:{key:".overlay-signup.email-activation-sent"},addCustomEvents:function(){this.overlayWrapper.getElement(".resend a").addEvents({click:function(a){(new Request({url:$(a.target).get("data-url"),data:{email:$(a.target).get("data-email")},onRequest:function(){this.overlayWrapper.getElement(".spinner").addClass("show")}.bind(this),onSuccess:function(a){var b=this.overlayWrapper.getElement(".resend .messages"),c=Elements.from(a);b?c.replaces(b):c.inject(this.overlayWrapper.getElement(".resend"),"top")}.bind(this),onComplete:function(){this.overlayWrapper.getElement(".spinner").removeClass("show")}.bind(this)})).send()}.bind(this)})}}),createOrUpdateClassHash("SecureMe.Signups"),SecureMe.Signups.OverlayInvitationCode=new Class({Extends:SecureMe.Overlay,options:{key:".overlay-signup.invitation-code"},addEvents:function(){this.parent(),this.addCodeFieldBehaviour()},addCustomEvents:function(){this.addFormEvents(),this.addMiscEvents(),new K.Placeholder({scope:this.overlayWrapper})},addCodeFieldBehaviour:function(){this.overlayWrapper.addEvents({"keypress:relay(input[type!=hidden])":function(a){if([8,46].contains(a.code))return!1;if(!String.fromCharCode(a.code).match(/[a-zA-Z0-9]/))return a.stop();if($(a.target).get("value").replace(/[^a-zA-Z0-9]*/g,"").length>=12)return a.stop()},"keyup:relay(input[type!=hidden])":function(a){var b=$(a.target).get("value").replace(/[^a-zA-Z0-9]*/g,""),c=[];Math.ceil(b.length/4).times(function(a){c.push(b.substr(a*4,4))}),$(a.target).set("value",c.join("–"))}})},addFormEvents:function(){this.overlayWrapper.getElement("form").addEvents({"ajax:loading":function(){this.overlayWrapper.getElements(".spinner").addClass("show")}.bind(this),"ajax:success":function(a,b,c,d){this.options.moveToAfterHide="left",$(document.html).hasClass("csstransitions")?this.overlayWrapper.addEvents({transitionend:this.showNextOverlay.bind(this,a,b,c,d),oTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d),webkitTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d),msTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d)}):this.showNextOverlay(a,b,c,d),this.destroyOverlay()}.bind(this),"ajax:failure":function(a,b,c,d){this.overlayWrapper.empty().adopt(Elements.from(b).getChildren()),this.addCustomEvents()}.bind(this),"ajax:complete":function(){this.overlayWrapper.getElements(".spinner").removeClass("show")}.bind(this)})},addMiscEvents:function(){this.overlayWrapper.getElements(".overlay-content-wrapper p a").addEvents({"ajax:success":function(a,b,c,d){this.options.moveToAfterHide="left",$(document.html).hasClass("csstransitions")?this.overlayWrapper.addEvents({transitionend:this.showNextOverlay.bind(this,a,b,c,d),oTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d),webkitTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d),msTransitionEnd:this.showNextOverlay.bind(this,a,b,c,d)}):this.showNextOverlay(a,b,c,d),this.destroyOverlay()}.bind(this)})},showNextOverlay:function(a,b,c,d){Elements.from(b).inject(this.overlayWrapper,"after"),Browser.exec(c)}}),createOrUpdateClassHash("SecureMe.Home"),SecureMe.Home.Show=new Class({Extends:SecureMe._Pages,initialize:function(){return this.parent(),$(document.body).addEvents({"click:relay(.signup)":this.showSignup}),this},showSignup:function(){(new Request.Overlay({url:this.get("data-url"),data:(new URI).getData()})).send()}}),window.addEvent("domready",function(){new SecureMe.Home.Show})
