var loginForm=function(){var self=this;self.form=jQuery("#login").find("form");self.message=self.form.find(".message");self.addEventListeners=function(){jQuery("#login .link").on("click",function(){var action=jQuery(this);self.message.text("");if(action.hasClass("forgot")) self.form.find(".lactions").hide().end().find(".factions").show().end().find("h2").text("Forgot Password?") else self.form.find(".lactions").show().end().find(".factions").hide().end().find("h2").text("Login")}) document.getElementById('FBloginBtn').addEventListener('click',checkFBLoginState);jQuery("#forgotFormSubmit, #loginFormSubmit").on("click",function(){var email=self.form.find("input[name='email']").val();var apiUrl='/api-proxy/user/login';var action="login";if(jQuery(this).attr("id")=="forgotFormSubmit"){apiUrl='/api-proxy/user/forgotPassword';action='password';} if(validateEmail(email)){var data=self.form.serialize();jQuery.ajax({url:apiUrl,data:data,type:"POST",success:function(result){if(typeOf(result)=="string") result=JSON.parse(result);if(result.status==1){self.message.html((action=="login")?"Your username or password was incorrect.":"This email address doesn't have an associated user account.").addClass("error");}else{if(action=="password"){self.message.html("Thanks! Please check your email for a link to reset your password.").removeClass("error").addClass("success");self.form.find("input, .actions, h2").hide();}else{if(result.result.nid&&result.result.token) document.location.href="/private-gallery/?notificationId="+result.result.nid+"&token="+result.result.token;else self.message.html("User account can't be found.").addClass("error");}}},error:function(error){self.message.html("Something went wrong. Please try again.").addClass("error");}});} else self.message.html("Please enter a valid email address").addClass("error");return false;})} function statusChangeCallback(response){var message=jQuery("#login").find(".message");if(response.status==='connected'){if(response.authResponse){var FBdata=response.authResponse;FBdata.source="web";jQuery.ajax({url:'/api-proxy/user/fblogin',data:FBdata,type:"POST",success:function(result){if(typeOf(result)=="string") result=JSON.parse(result);if(result.status==1){message.html("User account can't be found.").addClass("error");}else{if(result.result.nid&&result.result.token) document.location.href="/private-gallery/?notificationId="+result.result.nid+"&token="+result.result.token;else message.html("User account can't be found.").addClass("error");}},error:function(error){message.html("Something went wrong. Please try again.").addClass("error");}});}else{message.html("Something went wrong. Please try again.").addClass("error");}}else if(response.status==='not_authorized'){message.html('Please log into this app.').addClass("error");FB.login(function(){},{scope:'email'})}else{message.html('Please log into Facebook.').addClass("error");FB.login(function(){},{scope:'email'})}} function checkFBLoginState(){FB.getLoginStatus(function(response){statusChangeCallback(response);});} return self;};jQuery(function(){var lForm=new loginForm();lForm.addEventListeners();var mixpanel_params={link:document.location.href};if(mixpanel_params.link.indexOf("dev5.keepy")==-1) mixpanel.track('web_login',mixpanel_params);});function validateEmail(email){var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email);}