var UnifiedLogin=function(){return{debug:false,visible_el_name:null,captcha_loaded:false,is_registration:false,no_onion:false,reg_type:"standard",login_callback:null,log:function(message){if(this.debug&&window.console){console.log(message);var markup=jQuery("#debug_div").html();jQuery("#debug_div").html(markup+"<br />"+message)}},hideVisible:function(){this.log("in hideVisible");if(this.visible_el_name){this.log(this.visible_el_name);jQuery(this.visible_el_name).hide()}},showPage:function(name){this.hideVisible();this.visible_el_name=name;if(jQuery("#lgn_login").length==0){jQuery("#unified-login-overlay").load("/utility/unifiedlogin",function(){window.scrollTo(0,0);jQuery(name).show();FB.XFBML.parse(document.getElementById(name.substr(1)))}).show()}else{window.scrollTo(0,0);jQuery(name).show();FB.XFBML.parse(document.getElementById(name.substr(1)))}},closeOverlay:function(){this.hideVisible();jQuery("#default_onion").hide()},register:function(reg_type,cb){if(cb){this.login_callback=cb}if(this.badMSIEActiveX()){document.location.href="/member/registration";return}if(reg_type){this.reg_type=reg_type}if(this.reg_type=="standard"){jQuery("#lgn_register_complete a.btn_35").html("Build My First Page!").removeClass("btn_gray")}else{if(this.reg_type=="wizard"){jQuery("#lgn_register_complete a.btn_35").html("Continue").removeClass("btn_gray")}else{if(this.reg_type=="quick"){jQuery("#lgn_register_complete a.btn_35").html("Close").addClass("btn_gray")}}}this.is_registration=true;if(!this.no_onion){jQuery("#default_onion").show()}if(Facebook_SDK_Helper.available){this.registerFB()}else{this.registerSquidoo()}},registerFB:function(){this.showPage("#lgn_reg_fb");this.init()},registerSquidoo:function(){jQuery(this.visible_el_name).hide();this.showPage("#lgn_reg_squidoo");jQuery("#lgn_reg_squidoo div.gb_captcha",this.current_form).show();if(!this.captcha_loaded){jQuery.get("/utility/load_captcha/new",function(res){jQuery("#lgn_reg_squidoo div.gb_captcha").html(res);UnifiedLogin.captcha_loaded=true})}},isMSIE:function(){return"\v"=="v"},hasActiveX:function(){try{versionString=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");return true}catch(x){return false}return false},badMSIEActiveX:function(){if(this.isMSIE()){return !this.hasActiveX()}return false},login:function(cb){if(cb){this.login_callback=cb}if(this.badMSIEActiveX()){document.location.href="/member/login";return}this.is_registration=false;jQuery("button[type=submit]",jQuery("#lgn_login")).removeClass("btn_gray").html("Login");if(!this.no_onion){jQuery("#default_onion").show()}this.showPage("#lgn_login");this.init()},init:function(){this.log("UnifiedLogin.init");if(Facebook_SDK_Helper.available){Facebook_SDK_Helper.subscribe(function(status,session,permissions){UnifiedLogin.onFBLogin(status,session,permissions)},function(){UnifiedLogin.onFBLogout(status,null)})}else{this.log("Facebook_SDK_Helper not available");jQuery(".lgn_fb_option").hide()}},connect:function(){this.showPage("#lgn_connect")},unknown:function(){this.showPage("#lgn_fb_unknown");FB.api("/me",function(response){UnifiedLogin.log(response);jQuery("#lgn_fb_unknown_name").html(response.first_name)})},onFBLogin:function(status,session,permissions){this.log("UnifiedLogin.onFBLogin");if(!this.is_registration){jQuery.get("/utility/can_fb_login",function(response){var o=UnifiedLogin.parseJSON(response);if(o.result){UnifiedLogin.closeRefresh();if(UnifiedLogin.login_callback){try{UnifiedLogin.login_callback(o.user_type)}catch(e){}}else{UnifiedLogin.closeRefresh()}}else{UnifiedLogin.unknown()}})}else{this.getCurrentPermissions(function(has_all){if(has_all){jQuery("#lgn_reg_fb_nosession").hide();jQuery("#lgn_reg_fb_session").show();jQuery("#lgn_reg_fb").addClass("reg_wide").removeClass("reg_narrow");FB.api("/me",function(response){UnifiedLogin.log(response);jQuery("#lgn_reg_fb_name").html(response.name);UnifiedLogin.getUsername(response);UnifiedLogin.getEmailAddress(function(resp_email){UnifiedLogin.log(resp_email);jQuery("#lgn_register_email").val(resp_email)})});FB.XFBML.parse()}else{}})}},onFBLogout:function(status,session){this.log("UnifiedLogin.onFBLogout")},getUsername:function(fb_user_object){jQuery.post("/utility/fb_user_username",fb_user_object,function(response){UnifiedLogin.log(response);var o=UnifiedLogin.parseJSON(response);jQuery("#lgn_register_username").val(o.username)})},getExtendedPermissions:function(){FB.login(function(response){if(response.session){if(response.perms){UnifiedLogin.log(response)}else{UnifiedLogin.log(response)}}else{UnifiedLogin.log(response)}},{perms:"email,read_stream,publish_stream,offline_access"})},getCurrentPermissions:function(cb){var query="SELECT publish_stream, email FROM permissions WHERE uid="+FB.getSession().uid;UnifiedLogin.log(query);FB.api({method:"fql.query",query:query},function(response){var has_all=true;UnifiedLogin.log(response);if(response.length){has_all=true;perms=response[0];has_all=has_all&&(perms.email==1);has_all=has_all&&(perms.publish_stream==1);UnifiedLogin.log(has_all)}else{has_all=false;UnifiedLogin.log("No permissions returned at all")}cb(has_all)})},getEmailAddress:function(cb){var query="SELECT uid, email FROM user WHERE uid="+FB.getSession().uid;UnifiedLogin.log(query);FB.api({method:"fql.query",query:query},function(response){UnifiedLogin.log(response);var email="";if(response.length){data=response[0];email=data.email}else{UnifiedLogin.log("No query data returned")}cb(email)})},connectAccount:function(the_form){jQuery("div",the_form).removeClass("form_error");var email=jQuery("#lgn_connect_email",the_form).val();var password=jQuery("#lgn_connect_password",the_form).val();var valid=true;if(jQuery.trim(email)==""){valid=false;jQuery("#lgn_connect_email_div",the_form).addClass("form_error")}if(jQuery.trim(password)==""){valid=false;jQuery("#lgn_connect_password_div",the_form).addClass("form_error")}if(!valid){return false}jQuery.post("/utility/fb_login_connect",the_form.serialize(),function(response){var o=UnifiedLogin.parseJSON(response);UnifiedLogin.log(o);if(o.status=="success"){UnifiedLogin.closeRefresh()}else{jQuery("#lgn_connect_gen_err",the_form).html(o.reason);jQuery("#lgn_connect_gen_div",the_form).addClass("form_error")}});return false},loginSquidoo:function(the_form){jQuery("div",the_form).removeClass("form_error");var email=jQuery("#lgn_squidoo_email",the_form).val();var password=jQuery("#lgn_squidoo_password",the_form).val();var valid=true;if(jQuery.trim(email)==""){valid=false;jQuery("#lgn_squidoo_email_div",the_form).addClass("form_error")}if(jQuery.trim(password)==""){valid=false;jQuery("#lgn_squidoo_password_div",the_form).addClass("form_error")}if(!valid){return false}jQuery("button[type=submit]",the_form).addClass("btn_gray").html("logging in");jQuery.post("/utility/ajax_login",the_form.serialize(),function(response){var obj;UnifiedLogin.log(response);try{obj=UnifiedLogin.parseJSON(response)}catch(ex){UnifiedLogin.log(ex);obj={status:"fail",reason:"Login failed. Please try again."}}UnifiedLogin.log(obj);if(obj.status=="success"){if(UnifiedLogin.login_callback){try{UnifiedLogin.login_callback(obj.user_type)}catch(e){}}else{UnifiedLogin.closeRefresh()}}else{jQuery("button[type=submit]",the_form).removeClass("btn_gray").html("Login");jQuery("#lgn_squidoo_gen_err",the_form).html(obj.reason);jQuery("#lgn_squidoo_gen_div",the_form).addClass("form_error")}});return false},validateAndRegister:function(reg_form){jQuery("div",reg_form).removeClass("form_error");var tos_checked=jQuery("#accept_lmtos",reg_form).attr("checked");var email=jQuery("#lgn_register_email",reg_form).val();var username=jQuery("#lgn_register_username",reg_form).val();var valid=true;if(!tos_checked){valid=false;jQuery("#lgn_register_tos_div",reg_form).addClass("form_error")}if(jQuery.trim(email)==""){valid=false;jQuery("#lgn_register_email_div",reg_form).addClass("form_error")}if(jQuery.trim(username)==""){valid=false;jQuery("#lgn_register_username_div",reg_form).addClass("form_error")}if(!valid){return false}jQuery.post("/utility/fb_login_register",reg_form.serialize(),function(response){var o=UnifiedLogin.parseJSON(response);UnifiedLogin.log(o);if(o.status=="fail"){var cur_field;for(var i=0;i<o.err_fields.length;i++){cur_field=o.err_fields[i];jQuery("#lgn_register_"+cur_field+"_div",reg_form).addClass("form_error");if(cur_field=="email"){jQuery("#lgn_register_email_err",reg_form).html(o.err_msgs.email).addClass("error_n")}if(cur_field=="username"){jQuery("#lgn_register_username_err",reg_form).html(o.err_msgs.username).addClass("error_n")}if(cur_field=="tos"){jQuery("#lgn_register_tos_err",reg_form).html(o.err_msgs.tos).addClass("error_n")}}}else{UnifiedLogin.showPage("#lgn_register_complete")}});return false},validateAndRegisterSquidoo:function(reg_form){jQuery("button[type=submit]",reg_form).addClass("btn_working").html("Working");jQuery("div",reg_form).removeClass("form_error");jQuery(".error_y",reg_form).html("").removeClass("error_y");jQuery(".error_n",reg_form).html("").removeClass("error_n");var tos_checked=jQuery("#lgn_register_sq_lmtos",reg_form).attr("checked");var email=jQuery("#lgn_register_sq_email",reg_form).val();var username=jQuery("#lgn_register_sq_username",reg_form).val();var password=jQuery("#lgn_register_sq_password",reg_form).val();var verify=jQuery("#lgn_register_sq_verify",reg_form).val();var valid=true;if(!tos_checked){valid=false}if(jQuery.trim(email)==""){valid=false;jQuery("#email_address_err").html("Enter email address").removeClass("error_y").addClass("error_n").show();jQuery("#email_address_err").closest("div.form_item").addClass("form_error")}if(jQuery.trim(username)==""){valid=false;jQuery("#desired_username_err").html("Enter username").removeClass("error_y").addClass("error_n").show();jQuery("#desired_username_err").closest("div.form_item").addClass("form_error")}if(jQuery.trim(password)==""){valid=false;jQuery("#password_err").html("Enter password").removeClass("error_y").addClass("error_n").show();jQuery("#password_err").closest("div.form_item").addClass("form_error")}if(password!=verify){valid=false;jQuery("#password_confirmation_err").html("Does not match password").removeClass("error_y").addClass("error_n").show();jQuery("#password_confirmation_err").closest("div.form_item").addClass("form_error")}if(!valid){jQuery("button[type=submit]",reg_form).removeClass("btn_working").html("Join Now!");return false}jQuery.post("/utility/fb_login_register",reg_form.serialize(),function(response){var o=UnifiedLogin.parseJSON(response);UnifiedLogin.log(o);if(o.status=="fail"){var cur_field;jQuery("button[type=submit]",reg_form).removeClass("btn_working").html("Join Now!");for(var i=0;i<o.err_fields.length;i++){cur_field=o.err_fields[i];jQuery("#lgn_register_"+cur_field+"_div",reg_form).addClass("form_error");if(cur_field=="email"){jQuery("#email_address_err").html(o.err_msgs.email).removeClass("error_y").addClass("error_n").show();jQuery("#email_address_err").closest("div.form_item").addClass("form_error")}if(cur_field=="username"){jQuery("#desired_username_err").html(o.err_msgs.username).removeClass("error_y").addClass("error_n").show();jQuery("#desired_username_err").closest("div.form_item").addClass("form_error")}if(cur_field=="tos"){jQuery("#lgn_register_tos_err",reg_form).html(o.err_msgs.tos)}}}else{UnifiedLogin.showPage("#lgn_register_complete")}});return false},closeRefresh:function(){this.closeOverlay();document.location.reload()},closeRegister:function(){this.log(this.reg_type);this.closeOverlay();if(this.reg_type=="standard"){document.location="/wizard/start"}else{if(this.reg_type=="wizard"){document.location="/wizard/step1"}else{if(this.reg_type=="quick"){document.location="/build/quick"}else{if(this.reg_type=="cb"){try{if(this.login_callback){this.login_callback("new")}}catch(e){}}}}}},squidooLogoutRefresh:function(){jQuery.get("/member/ajax_logout",function(){UnifiedLogin.closeOverlay();document.location.reload()})},fbLogoutRefresh:function(){FB.logout(function(){UnifiedLogin.closeOverlay();document.location.reload()})},validateUsername:function(parent_el,skip_if_empty){var val=jQuery("#lgn_register_sq_username").val();if((jQuery.trim(val)=="")&&skip_if_empty){return}jQuery("#desired_username_err").html("Checking...").removeClass("form_error").show();jQuery.post("/member/ajax_validate_registration",{data_type:"username",value:val},function(res){var res_o=UnifiedLogin.parseJSON(res);if(res_o.result==true){jQuery("#desired_username_err").html(res_o.msg).removeClass("error_n").addClass("error_y").show();jQuery(parent_el).addClass("form_error")}else{jQuery("#desired_username_err").html(res_o.msg).removeClass("error_y").addClass("error_n").show();jQuery(parent_el).addClass("form_error")}})},usernameKeyUp:function(e){this.log(e);var charCode=(e.which)?e.which:e.keyCode;if((charCode==45)||(charCode==8)||(charCode==9)||(charCode==95)||((charCode>=97)&&(charCode<=122))||((charCode>=65)&&(charCode<=90))||((charCode>=48)&&(charCode<=57))){return true}return false},validateEmail:function(parent_el,skip_if_empty){var val=jQuery("#lgn_register_sq_email").val();if((jQuery.trim(val)=="")&&skip_if_empty){return}jQuery("#email_address_err").html("Checking...").removeClass("form_error").show();jQuery.post("/member/ajax_validate_registration",{data_type:"email_address",value:val},function(res){var res_o=UnifiedLogin.parseJSON(res);if(res_o.result==true){jQuery("#email_address_err").html(res_o.msg).removeClass("error_n").addClass("error_y").show();jQuery(parent_el).addClass("form_error")}else{jQuery("#email_address_err").html(res_o.msg).removeClass("error_y").addClass("error_n").show();jQuery(parent_el).addClass("form_error")}})},validatePassword:function(parent_el,skip_if_empty){var val=jQuery("#lgn_register_sq_password").val();if((jQuery.trim(val)=="")&&skip_if_empty){return}if(val.length<6){jQuery("#password_err").html("Password too short").removeClass("error_y").addClass("error_n").show();jQuery(parent_el).addClass("form_error")}else{jQuery("#password_err").html("OK").removeClass("error_n").addClass("error_y").show();jQuery(parent_el).addClass("form_error")}},validatePasswordConf:function(parent_el,skip_if_empty){var pass=jQuery("#lgn_register_sq_password").val();var pass_conf=jQuery("#lgn_register_sq_verify").val();if((jQuery.trim(pass_conf)=="")&&skip_if_empty){return}if(pass!=pass_conf){jQuery("#password_confirmation_err").html("Passwords do not match").removeClass("error_y").addClass("error_n").show();jQuery(parent_el).addClass("form_error")}else{jQuery("#password_confirmation_err").html("OK").removeClass("error_n").addClass("error_y").show();jQuery(parent_el).addClass("form_error")}},parseJSON:function(str){if(typeof(str)=="string"){return eval("("+str+")")}else{return str}},__d:null}}();