var loginOn = false; var loggedIn = false; var submittedLogin = false; var submittedLogout = false; var showLoading = function() { $('overlay2').appear({duration:0.5, to: 0.8, afterFinish: function() { $('laodingText').show(); } }); } var hideLoading = function() { $('overlay2').fade({duration:0.5, afterFinish: function() { $('laodingText').hide(); } }); } var showSmallLoading = function() { $('smallLoading').show(); } var hideSmallLoading = function() { $('smallLoading').hide(); } var loadArticle = function(which) { if(which == 'full') { url = "/article/load/" + $('article-content-container').readAttribute('rel') + "/full"; $('article-content-container').blindUp({ duration: 1, afterFinish: function() { new Ajax.Updater('article-content-container', url, { onComplete: function() { $('article-content-container').blindDown({ duration: 1, afterFinish: function() { $('comment-tab-button').show(); initSmallComments(); hideLoading(); hideSmallLoading(); }}); } }); } }); } else if (which == 'excerpt') { url = "/article/load/" + $('article-content-container').readAttribute('rel') + "/excerpt"; articleTabClick(); $('article-content-container').blindUp({ duration: 1, afterFinish: function() { $('comments-box1').update(''); $('comment-tab-button').hide(); new Ajax.Updater('article-content-container', url, { onComplete: function() { $('article-content-container').blindDown({ duration: 1, afterFinish: function() { hideLoading(); }}); } }); } }); } } var logout = function() { if(!submittedLogout) { submittedLogout = true; var url = '/users/think_logout'; new Ajax.Request(url,{ method: 'post', onLoading: function() { showLoading(); }, onSuccess: function(transport) { $('loginInformation').fade({ duration: 1, afterFinish: function() { $$('a#nav_online').first().writeAttribute('href', "https://subscribe.cyclenews.com/account/online_magazine"); $('loginInformation').update('
Login ⇓
'); init(); $('loginInformation').appear({ afterFinish: function() { if($('article-content-container')) { //On article view page if($('article-content-container').readAttribute('paddock_pass') == 1) loadArticle('excerpt'); else { if($('comment-tab-button').hasClassName('tab_selected')) initLargeComments(); else initSmallComments(); } } else { hideLoading(); hideSmallLoading(); } submittedLogin = false; } }); } }); } }); } } var toggleLoginBox = function() { new Effect.toggle('login-box', 'blind', { duration: 0.5, afterFinish: function() { $('ThinkLoginFormThinkEmail').focus(); }}); if(loginOn) { loginOn = false; $('login-link').removeClassName('active'); $('login-link').update('Login '); } else { $('login-link').addClassName('active'); $('login-link').update('Login '); loginOn = true; } } var showError = function(error_text) { $('error-div').select('div').first().update(error_text); $('error-div').blindDown({ duration: 1, afterFinish: function() { $('error-div').blindUp({ duration: 1, delay: 2 }); } }); } var submitThinkLoginForm = function() { if(!submittedLogin) { submittedLogin = true; $('ThinkLoginForm').request({ onLoading: function() { showLoading(); }, onComplete: function(transport) { authObject = transport.responseText.evalJSON(); if(authObject['isAuthenticated']) { loggedIn = true; toggleLoginBox(); $('loginInformation').fade({ duration: 1, afterFinish: function() { $('loginInformation').update('
Hello, ' + authObject['email'] + '.  Logout
'); init(); $('loginInformation').appear({ afterFinish: function() { $$('a#nav_online').first().writeAttribute('href', authObject['hash_url']); if($('article-content-container')) { //On article view page if($('article-content-container').readAttribute('paddock_pass') == 1) loadArticle('full'); else { if($('comment-tab-button').hasClassName('tab_selected')) initLargeComments(); else initSmallComments(); } } else { hideLoading(); hideSmallLoading(); } submittedLogout = false; } }); } }); } else if(authObject['isError']) { hideLoading(); submittedLogin = false; showError(authObject['error_text']); } } }); } } var init = function() { if($('login-link')) { $('ThinkLoginForm').observe('submit', function(e) { e.stop(); submitThinkLoginForm(); }); $('login-link').observe('click', toggleLoginBox); $('login-button').observe('click', submitThinkLoginForm); } else { $('logout-link').observe('click', logout); } } var windowLoad = function() { init(); } Event.observe(window, 'load', windowLoad);