1 2fcsocial=function($,options){options.maxage=options.maxage||14400;options.facebook_appid=options.facebook_appid||"";options.facebook_xfbml=options.facebook_xfbml||true;options.linkedin_api_key=options.linkedin_api_key||"";options.login_location=options.login_location||"";options.logout_location=options.logout_location||"";options.login_socialbuttons=options.login_socialbuttons||"#loginsocialbuttons";options.farcry_loginemail=options.farcry_loginemail||"#loginemail";options.farcry_loginpassword=options.farcry_loginpassword||"#loginpassword";options.farcry_loginerror=options.farcry_loginerror||"#loginform .form-group:first";options.farcry_signupemail=options.farcry_signupemail||"#signupemail";options.farcry_signuppassword=options.farcry_signuppassword||"#signuppassword";options.farcry_signupconfirmpassword=options.farcry_signupconfirmpassword||"#signupconfirmpassword";options.farcry_signupfirstname=options.farcry_signupfirstname||"#signupfirstname";options.farcry_signuplastname=options.farcry_signuplastname||"#signuplastname";options.farcry_signupname=options.farcry_signupname||"#signupname";options.farcry_signupcompany=options.farcry_signupcompany||"#signupcompany";options.farcry_signupjobtype=options.farcry_signupsignupjobtype||"#signupjobtype";options.farcry_signuperror=options.farcry_signuperror||"#signupform .form-group:first";options.farcry_forgotpasswordemail=options.farcry_forgotpasswordemail||"#forgotpasswordemail";options.farcry_forgotpassworderror=options.farcry_forgotpassworderror||"#forgotpasswordform .form-group:first";options.farcry_forgotpasswordsubmit=options.farcry_forgotpasswordsubmit||"#forgotpasswordform .btn";options.farcry_passwordresetemail=options.farcry_passwordresetemail||"#passwordresetemail";options.farcry_passwordresetkey=options.farcry_passwordresetkey||"#passwordresetkey";options.farcry_passwordresetpassword=options.farcry_passwordresetpassword||"#passwordresetpassword";options.farcry_passwordresetconfirmpassword=options.farcry_passwordresetconfirmpassword||"#passwordresetconfirmpassword";options.farcry_passwordreseterror=options.farcry_passwordreseterror||"#passwordresetform .form-group:first";options.farcry_successclass=options.farcry_successclass||"alert alert-success";options.farcry_errorclass=options.farcry_errorclass||"alert alert-danger";options.onAnonymousRequest=options.onAnonymousRequest||function(){};options.onSessionRequest=options.onSessionRequest||function(user){};options.onLogin=options.onLogin||function(user){if(options.login_location==""){window.location.reload(true);} 3else{window.location.href=options.login_location;}};options.onLogout=options.onLogout||function(){if(options.logout_location==""){window.location.reload(true);} 4else{window.location.href=options.logout_location;}};options.farcryLogin=options.farcryLogin||function(email,password){email=email||$(options.farcry_loginemail).val();password=password||$(options.farcry_loginpassword).val();$.ajax({url:"/farLogin/displayAjaxSocialLogin",method:"POST",data:{"signin":"farcry","email":email,"password":password},success:function(r){if(r.bSuccess==true){var user={"signin":"farcry","email":r.email||$(options.farcry_loginemail).val()};login(user);} 5else{showError(options.farcry_loginerror,r.error);}},error:function(){showError(options.farcry_loginerror,"There was an error logging in. Please try again or contact the site administrators.");}});};this.farcryLogin=function(){options.farcryLogin();return false;};options.farcrySignUp=options.farcrySignUp||function(){$.ajax({url:"/farLogin/displayAjaxSignUp",method:"POST",data:{"signin":"farcry","email":$(options.farcry_signupemail).val(),"password":$(options.farcry_signuppassword).val(),"confirmpassword":$(options.farcry_signupconfirmpassword).val(),"firstname":$(options.farcry_signupfirstname).val(),"lastname":$(options.farcry_signuplastname).val(),"name":$(options.farcry_signupname).val()},success:function(r){if(r.bSuccess==true){var user={"signin":"farcry","email":$(options.farcry_signupemail).val()};if($(options.farcry_signupname).val()){user.name=$(options.farcry_signupname).val();} 6if($(options.farcry_signupcompany).val()){user.company_name=$(options.farcry_signupcompany).val();}
7if($(options.farcry_signupjobtype).val()){user.job_title=$(options.farcry_signupjobtype).val();} 8login(user);} 9else{showError(options.farcry_signuperror,r.error);}},error:function(){showError(options.farcry_signuperror,"There was an error signing up. Please try again or contact the site administrators.");}});};this.farcrySignUp=function(){options.farcrySignUp();return false;};options.farcryForgotPassword=options.farcryForgotPassword||function(){$.ajax({url:"/farLogin/displayAjaxForgotPassword",method:"POST",data:{"signin":"farcry","email":$(options.farcry_forgotpasswordemail).val(),},success:function(r){if(r.bSuccess==true){showSuccess(options.farcry_forgotpassworderror,"An email has been sent to you containing a link to reset your password.");} 10else{showError(options.farcry_forgotpassworderror,r.error);}},error:function(){showError(options.farcry_forgotpassworderror,"There was an error sending your password reset email. Please contact the site administrators.");}});};this.farcryForgotPassword=function(){options.farcryForgotPassword();return false;};options.farcryPasswordReset=options.farcryPasswordReset||function(){var email=$(options.farcry_passwordresetemail).val();var password=$(options.farcry_passwordresetpassword).val();$.ajax({url:"/farLogin/displayAjaxPasswordReset",method:"POST",data:{"signin":"farcry","email":email,"key":$(options.farcry_passwordresetkey).val(),"password":password,"confirmpassword":$(options.farcry_passwordresetconfirmpassword).val()},success:function(r){if(r.bSuccess==true){var user={"signin":"farcry","email":email};if(options.login_location==""){options.login_location="/";} 11options.farcryLogin(email,password);} 12else{showError(options.farcry_passwordreseterror,r.error);}},error:function(){showError(options.farcry_passwordreseterror,"There was an error resetting your password. Please try again or contact the site administrators.");}});};this.farcryPasswordReset=function(){options.farcryPasswordReset();return false;};var currentuser=getCurrentUser();if(currentuser.success==true){options.onSessionRequest(currentuser);} 13else{options.onAnonymousRequest();};if(options.facebook_appid.length){window.fbAsyncInit=function(){FB.init({appId:options.facebook_appid,cookie:true,xfbml:options.facebook_xfbml,version:'v2.8'});FB.getLoginStatus(function(response){statusChangeCallback(response);});};(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src="//connect.facebook.net/en_US/sdk.js";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));} 14function getCurrentUser(){var user={success:false};var val=document.cookie.replace(/(?:(?:^|.*;\s*)FCSOCIAL\s*\=\s*([^;]*).*$)|^.*$/,"$1");if(val!=null&&val!=""){dval=base64DecodeUnicode(val);user=JSON.parse(dval);user.success=true;} 15return user;} 16function setCurrentUser(user){document.cookie="FCSOCIAL="+base64EncodeUnicode(JSON.stringify(user))+";max-age="+options.maxage+";path=/";} 17function login(user){setCurrentUser(user);options.onLogin(user);} 18function logout(){var user=getCurrentUser();if(user&&user.signin){if(user.signin=="facebook")facebookLogout();else if(user.signin=="linkedin")linkedinLogout();else if(user.signin=="farcry")removeSession();} 19else{removeSession();}} 20this.logout=logout;function removeSession(){document.cookie="FCSOCIAL=;expires=0";$.ajax({url:"/farLogin/displayAjaxSocialLogout",method:"POST",success:function(r){options.onLogout();}});} 21function base64EncodeUnicode(str){return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,function(match,p1){return String.fromCharCode('0x'+p1);}));} 22function base64DecodeUnicode(str){return decodeURIComponent(Array.prototype.map.call(atob(str),function(c){return'%'+('00'+c.charCodeAt(0).toString(16)).slice(-2);}).join(''));} 23this.onLinkedInLoad=function(){if(options.linkedin_api_key.length){IN.Event.on(IN,"auth",getProfileData);}} 24this.linkedinLogin=function(){IN.User.authorize(function(){getProfileData();});};this.linkedinLogout=function(){try{IN.User.logout(function(){removeSession();});} 25catch(err){removeSession();}} 26function onSuccess(data){$.ajax({url:"/farLogin/displayAjaxSocialLogin",method:"POST",data:{"signin":"linkedin","id":data.id,"firstname":data.firstName,"lastname":data.lastName,"email":data.emailAddress,"oauth_token":IN.ENV.auth.oauth_token},success:function(r){if(r.bSuccess==true){var user={"signin":"linkedin","id":data.id,"firstname":data.firstName,"lastname":data.lastName,"email":data.emailAddress};login(user);} 27else{showError(options.login_socialbuttons,"There was an error logging in. Please try again or c
27ontact the site administrators.");}},error:function(){showError(options.login_socialbuttons,"There was an error logging in. Please try again or contact the site administrators.");}});} 28function onError(error){console.log(error);} 29function getProfileData(){var user=getCurrentUser();if(user.success==false){IN.API.Raw("/people/~:(id,first-name,last-name,email-address)").result(onSuccess).error(onError);}} 30this.facebookLogin=function(){FB.login(function(response){FB.getLoginStatus(function(response){statusChangeCallback(response);});},{scope:"email",auth_type:"rerequest"});} 31this.facebookLogout=function(){try{FB.logout(function(response){removeSession();});} 32catch(err){removeSession();}} 33function statusChangeCallback(response){if(response.status==='connected'){var user=getCurrentUser();if(user.success==false){FB.api('/me',{fields:'name,first_name,last_name,email'},function(data){$.ajax({url:"/farLogin/displayAjaxSocialLogin",method:"POST",data:{"signin":"facebook","id":data.id,"firstname":data.first_name,"lastname":data.last_name,"email":data.email,"accessToken":response.authResponse.accessToken},success:function(r){if(r.bSuccess==true){var user={"signin":"facebook","id":data.id,"firstname":data.first_name,"lastname":data.last_name,"email":data.email,} 34login(user);} 35else{showError(options.login_socialbuttons,"There was an error logging in. Please try again or contact the site administrators.");}},error:function(){showError(options.login_socialbuttons,"There was an error logging in. Please try again or contact the site administrators.");}});});}}else if(response.status==='not_authorized'){}else{}} 36function showSuccess(selector,message){hideError();$("<div class='"+options.farcry_successclass+" fcsocial-error'>"+message+"</div>").insertBefore(selector);} 37function showError(selector,message){hideError();$("<div class='"+options.farcry_errorclass+" fcsocial-error'>"+message+"</div>").insertBefore(selector);} 38function hideError(){$(".fcsocial-error").remove();} 39return this;};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.