var OMGNTemplateSwitch={init:function(){var a=$$("a.template_switch");a.each(function(b){b.observe("click",this.doSwitch.bind(this))}.bind(this))},doSwitch:function(b){var a=b.element().identify().replace("template_switch_","");OMGNCookie.set("TEMPLATE",a);Event.stop(b);window.location.reload()}};var OMGNAskRegistration={init:function(){setTimeout(this.ask.bind(this),10000)},ask:function(){var a='<div class="title">Please Register!</div><p>You\'re not currently logged in to a user account. If you have one, please <a href="/user/login" title="Login">login</a>. Otherwise, please consider <a href="/user/register" title="Register">registering</a> with us. There are many features registered users have, including:</p><ul><li>Ability to comment on articles and blog posts</li><li>A blog you can post on (and get revenue share from!)</li><li>Ability to talk in our <a href="/forum" title="Forum">Forum</a></li><li>User preferences</li><li>And more!</li></ul>';OMGNOverlay.write(a,"ask_registration")}};var OMGNUnreadMessageAlert={display:function(b){var a='<div class="title">Unread Messages</div><p>You have '+b+" unread message"+((b>1)?"s":"")+'.</p><p>Please visit your <a href="/user/message/list-messages" title="User: Message: List Messages">messages</a> to read '+((b>1)?"them":"it")+".</p>";OMGNOverlay.write(a,"ask_registration")}};var OMGNAjaxLogin={init:function(){$$("a.ajax_login").each(function(a){a.observe("click",this.showLogin.bind(this))}.bind(this))},showLogin:function(b){var a='<form id="ajax_login"><div class="form_explain login"><p><a href="/user/register" title="Register">Register?</a></p><p>Login with...</p><p><a href="#" title="Login With Facebook" id="ajax_facebook_login"><img src="/images/social/facebook_logo.png" width="75" height="75" alt="Login With Facebook" title="Login With Facebook" /></a></p><p><a href="/user/login/social/twitter" title="Login With Twitter"><img src="/images/social/twitter_logo.png" width="75" height="75" alt="Login With Twitter" title="Login With Twitter" /></a></p></div><div class="form login" id="login_form_div"><div class="title">Login</div><ul><li><label for="username_overlay" class="required">Username:</label> <input type="text" name="username_overlay" id="username_overlay" maxlength="25" class="username" /></li><li><label for="password_overlay" class="required">Password:</label> <input type="password" name="password_overlay" id="password_overlay" maxlength="25" class="password" /></li><li><label for="remember_overlay">Remember Login:</label> <input type="checkbox" name="remember_overlay" id="remember_overlay" value="1" /> Yes (30 days)</li><li>'+required_fields+'<input type="submit" name="login" id="login" value="Login" /> <input type="button" name="login_close" id="login_close" value="Close" /></li></ul><div class="extras"><a href="/user/recover-password" title="Forgotten Password?">Forgotten Password?</a> &nbsp;<a href="/user/resend-confirmation" title="Resend Confirmation">Resend Confirmation</a></div></div></form>';OMGNOverlay.write(a,"login");OMGNOverlay.attachClickClose($A(["login_close"]));$("ajax_login").observe("submit",this.login.bind(this));$("login").observe("click",this.login.bind(this));$("ajax_facebook_login").observe("click",this.loginFacebook.bind(this));if(b){Event.stop(b)}},login:function(a){var c=$F("username_overlay"),h=$F("password_overlay"),e=$F("remember_overlay"),g=$("login"),f=$("login_close");if(!c.length||!h.length){alert("You must enter both the Username and Password.")}else{if(g&&f){var i=new Hash(),d=$("login_form_div"),b=$("overlay_close");i.set("username",c);i.set("password",h);i.set("remember",(e?1:0));g.disable();f.disable();OMGNOverlay.removeClickClose($A(["overlay_close"]));if(d){OMGNAjaxBase.fadeElement(d)}if(b){OMGNAjaxBase.fadeElement(b)}OMGNAjaxBase.showProcessing();new Ajax.Request("/ajax/login",{method:"post",parameters:i,onFailure:function(){g.enable();f.enable();OMGNOverlay.attachClickClose($A(["overlay_close"]));this.insertError(OMGNAjaxBase.default_error+" "+OMGNAjaxBase.contact_link);if(d){OMGNAjaxBase.unfadeElement(d)}if(b){OMGNAjaxBase.unfadeElement(b)}OMGNAjaxBase.hideProcessing()}.bind(this),onSuccess:function(k){g.enable();f.enable();OMGNOverlay.attachClickClose($A(["overlay_close"]));OMGNAjaxBase.hideProcessing();if(d){OMGNAjaxBase.unfadeElement(d)}if(b){OMGNAjaxBase.unfadeElement(b)}if(!k.responseText.isJSON()){this.insertError(OMGNAjaxBase.default_error+" "+OMGNAjaxBase.contact_link)}else{var j=k.responseText.evalJSON(true);if(j.error){this.insertError(j.error)}else{this.insertSuccess("Login successful! Hold on just a moment...");g.disable();f.disable();window.location.reload()}}}.bind(this)})}}if(a){Event.stop(a)}},loginFacebook:function(a){FB.login(function(d){if(d.authResponse){var c=$("login"),e=$("login_close");if(c&&e){var g=new Hash(),b=$("login_form_div"),f=$("overlay_close");g.set("facebook_access_token",d.authResponse.accessToken);g.set("facebook_access_token_expiration",d.authResponse.expiresIn);c.disable();e.disable();OMGNOverlay.removeClickClose($A(["overlay_close"]));if(b){OMGNAjaxBase.fadeElement(b)}if(f){OMGNAjaxBase.fadeElement(f)}OMGNAjaxBase.showProcessing();new Ajax.Request("/ajax/login",{method:"post",parameters:g,onFailure:function(){c.enable();e.enable();OMGNOverlay.attachClickClose($A(["overlay_close"]));this.insertError(OMGNAjaxBase.default_error+" "+OMGNAjaxBase.contact_link);if(b){OMGNAjaxBase.unfadeElement(b)}if(f){OMGNAjaxBase.unfadeElement(f)}OMGNAjaxBase.hideProcessing()}.bind(this),onSuccess:function(i){c.enable();e.enable();OMGNOverlay.attachClickClose($A(["overlay_close"]));OMGNAjaxBase.hideProcessing();if(b){OMGNAjaxBase.unfadeElement(b)}if(f){OMGNAjaxBase.unfadeElement(f)}if(!i.responseText.isJSON()){this.insertError(OMGNAjaxBase.default_error+" "+OMGNAjaxBase.contact_link)}else{var h=i.responseText.evalJSON(true);if(h.error){this.insertError(h.error)}else{this.insertSuccess("Login successful! Hold on just a moment...");c.disable();e.disable();window.location.reload()}}}.bind(this)})}}else{this.insertError("We are having an error logging you in with Facebook. You might want to consider trying registering and logging in with OMGN directly.")}}.bind(this),{scope:"email,publish_stream,publish_actions"});if(a){Event.stop(a)}},insertError:function(b){var d=$$("div#overlay_vertical div.overlay div.title");if(d.length){var a=$("overlay_error");if(a){a.update(b)}else{var c=d[0];c.insert({after:'<div class="error after" id="overlay_error">'+b+"</div>"})}}},insertSuccess:function(e){var d=$$("div#overlay_vertical div.overlay div.title");if(d.length){var b=$("overlay_success"),a=$("overlay_error");if(a){a.remove()}if(b){b.update(e)}else{var c=d[0];c.insert({after:'<div class="success after" id="overlay_success">'+e+"</div>"})}}}};var OMGNFacebookIFrame={iframe_location:null,buildFrame:function(b){if(!OMGNCookie.get("no_facebook_iframe_login")){this.iframe_location=b;var c=$$("body"),a=c[0];a.insert({bottom:'<iframe class="social facebook_iframe" id="facebook_oauth_iframe"> </iframe>'});this.checkFacebookLogin(true)}},checkFacebookLogin:function(a){FB.getLoginStatus(function(b){if(b.authResponse){if(b.authResponse.expiresIn<60){var c=$("facebook_oauth_iframe");if(c){c.contentWindow.location=this.iframe_location}}if(a){var e=new Hash();e.set("access_token",b.authResponse.accessToken);e.set("access_token_expiration",b.authResponse.expiresIn);new Ajax.Request("/ajax/social/facebook/set-access-token",{method:"post",parameters:e})}setTimeout(this.checkFacebookLogin.bind(this),60000)}else{var d='<div class="title">Facebook Login</div><p>Your OMGN account is linked to your Facebook account, and you\'ve enabled sharing. Currently, you are not logged in to Facebook, therefore you cannot share. Would you to log in to Facebook to resume sharing?</p><p><a href="#" id="facebook_iframe_confirm_yes">Yes</a> &nbsp; | &nbsp; <a href="#" id="facebook_iframe_confirm_no">No</a></p><p>Clicking "Yes" will log you in to Facebook. If you click "No", we won\'t ask again this session.</p>';OMGNOverlay.write(d,"facebook_iframe_login");OMGNOverlay.attachClickClose($A([]));$("facebook_iframe_confirm_yes").observe("click",this.doLogin.bind(this));$("facebook_iframe_confirm_no").observe("click",this.optOut.bind(this))}}.bind(this))},doLogin:function(a){FB.login(function(b){this.seconds_left=b.authResponse.expiresIn;var c=new Hash();c.set("access_token",b.authResponse.accessToken);c.set("access_token_expiration",b.authResponse.expiresIn);new Ajax.Request("/ajax/social/facebook/set-access-token",{method:"post",parameters:c})}.bind(this),{scope:"email,publish_actions,publish_stream"});setTimeout(this.checkFacebookLogin.bind(this),60000);OMGNOverlay.remove();Event.stop(a)},optOut:function(a){OMGNCookie.set("no_facebook_iframe_login",1);OMGNOverlay.remove();Event.stop(a)}};document.observe("dom:loaded",function(){var a=$("omgn_search"),b=$("omgn_search_form");if(a&&b){a.observe("focus",function(d){var c=d.element();if($F(c)=="Search OMGN"){c.value=""}Event.stop(d)});a.observe("blur",function(d){var c=d.element();if($F(c)==""){c.value="Search OMGN"}Event.stop(d)});b.observe("submit",function(c){if($F("omgn_search")=="Search OMGN"){Event.stop(c)}})}});
