(function($, window, document, undefined) { function getCookie(c_name) { var c_value = document.cookie; var c_start = c_value.indexOf(" " + c_name + "="); if (c_start == -1) { c_start = c_value.indexOf(c_name + "="); } if (c_start == -1) { c_value = null; } else { c_start = c_value.indexOf("=", c_start) + 1; var c_end = c_value.indexOf(";", c_start); if (c_end == -1) { c_end = c_value.length; } c_value = unescape(c_value.substring(c_start,c_end)); } return c_value; } var lfCookieName = 'livefyre_token', authDelegate = new fyre.conv.RemoteAuthDelegate(), lfToken = getCookie('livefyre_token'); authDelegate.login = function (delegate) { window.getFyreAuth(delegate); }; authDelegate.viewProfile = function(handlers,author) { window.location = '/user/show/?id=' + author.id.split('@')[0]; handlers.success(); }; var lf_globalConfig = { "network" : LF_NETWORK, "authDelegate" : authDelegate, "strings" : { "postAsButton" : "Post Comment" } }; var lf_commentStream = { "siteId" : LF_SITE_ID, "articleId" : LF_ARTICLE_ID, "el" : 'livefyre-comments-stream', "collectionMeta" : LF_COLLECTIONMETA, "checksum" : LF_CHECKSUM }; if(lfToken === null) { lf_commentStream.postToButtons = []; } if(LF_B_MODE === true) { if(!getCookie('livefyre_prem_token')) { $(function() { $('#livefyre-seo').show(); }); return; } } fyre.conv.load(lf_globalConfig, [lf_commentStream], function(widget) { if(lfToken !== null) { fyre.conv.login(lfToken); } else { fyre.conv.logout(); } $(function() { setTimeout(function() { $('#powered_by_livefyre_new').show(); }, 2000); }); widget.on('commentPosted', function(data) { if(data && data.bodyHtml) { $.post('/admin/livefyre/addComment', { 'comment': data.bodyHtml, 'id' : LF_ARTICLE_ID }); } }); }); $(function() { var floDelegate = null, $twitterEmail = $('#twitterEmail'); if(IS_ADMIN && lfToken) { $('.livefyre-admin-url').append('Livefyre Admin Panel'); } window.getFyreAuth = function(delegate) { var $editors = $('#livefyre-comments-stream').find('.fyre-editor').filter(':visible'), $editor = $editors.eq($editors.size()-1); $loginExt = $('.fyre-ext').insertAfter($editor).show().addClass('active showRegister'); floDelegate = delegate; }; $('.toggleRegisterLogin').live('click',function() { $('.fyre-ext') .toggleClass('showRegister') .toggleClass('showLogin'); return false; }); $('#registerWithEmail').submit(function(ev) { ev.preventDefault(); $("#pass2").val($("#pass1").val()); var $this = $(this), $submit = $this.find('[type="submit"]').addClass('loading'), $err = $this.find('.formErrors').hide().empty(), dataArr = $this.serializeArray(), data = {}, pass = null; for(var i = 0, row; (row = dataArr[i++]);) { data[row.name] = row.value; } $.ajax( { "url" : this.action, "data" : data, "type" : 'POST', "dataType" : 'json', "success" : function(response) { if(!response) { $err.html('Unknown Error Occured'); } else if(!response.success) { var error = response.errors || 'Unknown Error Occured'; $err.css('display','block').html(error); } else if(response.success && response.livefyreToken) { userAuthenticatedSuccess(response.livefyreToken); } } }); return false; }); $('.inlineLogin').submit(function() { var $this = $(this), $submit = $this.find('[type="submit"]').addClass('loading'), $err = $this.find('.formErrors').hide().empty(), url = (this.action || '/') + '?' + $this.serialize(); $.ajax( { "url" : url, "type" : this.method || 'GET', "dataType" : 'json', "success" : function(response) { $submit.removeClass('loading'); if(!response) { $err.html('Unknown Error Occured'); } else if(!response.success) { var error = response.errors || 'Unknown Error Occured'; $err.css('display','block').html(error); } else if(response.success && response.livefyreToken) { userAuthenticatedSuccess(response.livefyreToken); } } }); return false; }); function userAuthenticatedSuccess(livefyreToken, showSocialSignup, username) { if(!livefyreToken) return; if(typeof showSocialSignup !== 'undefined' && typeof username !== 'undefined') { $('.fyre-ext') .empty() .append('

Successfully Commented and Signed Up!

') .append('

Username: ' + username + '

') .append('

Password: is your first name on your social network

') .append('Change Your Password Now') .css('height', 'auto'); } else { $('.fyre-ext').hide().removeClass('active showRegister'); } $('.secondary-nav').hide(); fyre.conv.login(livefyreToken); floDelegate.success(); } window.twitterCallback = function(livefyreToken, username) { if(livefyreToken) { userAuthenticatedSuccess(livefyreToken, username, username); $.get('/site/resendWelcomeEmail'); } else { userAuthenticatedSuccess(false); $.helpers.dialog.showError('Twitter Connection Error', 'Twitter Connection Error. Please, refresh and try again.'); } }; $twitterEmail.submit(function() { var twitter_email = $('#twitter_email').val(); if(!twitter_email) return false; $.post(this.action, {'email': twitter_email}, function(res) { if(res.indexOf('true') < 0) { $.helpers.dialog.showError('Email', 'Email does not appear to be correct. Please, try again.'); return; } $('.tw-login2').find('.socialName').text("Twitter'ing..."); $.getJSON('/twitter/status?callback=twitterCallback?returnUrl='+window.location.href, function(response) { if (response && response.authenticated) { window.location = response.url; } else { var w = 800; var h = 640; var left = (screen.width - w)/2; var top = (screen.height - h)/2; var timeout = 800; var twitterWindow = window.open(response.url, '', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left); setTimeout(function() { if(twitterWindow.window) { setTimeout(arguments.callee, timeout); } else { $.getJSON('/site/getTwitterCompleteInfo', function(data) { if(!data || !data.token) alert('Error Occured'); window.twitterCallback(data.token, data.username); }); } }, timeout); } }); }); return false; }); $('.tw-login2').live('click', function() { $twitterEmail.show(); $(this).die('click'); }); $('.fb-login2').click(function() { $(this).find('.socialName').text("Facebook'ing..."); function doConnectComplete() { $.getJSON('/public/dashboard/loginOrRegisterUsingFB', function(response) { if (response.success && response.livefyreToken) { if(response.username) { userAuthenticatedSuccess(response.livefyreToken, true, response.username); } else { userAuthenticatedSuccess(response.livefyreToken); } } else { userAuthenticatedSuccess(false); $.helpers.dialog.showError('Facebook Connection Error', response.error || 'Facebook Connection Error. Please, refresh and try again.'); } }); } FB.getLoginStatus(function(fb_res) { if(fb_res && fb_res.status === 'connected' && fb_res.authResponse) { doConnectComplete(fb_res.authResponse); return; } FB.login(function(fb_login_res) { if(fb_login_res && fb_login_res.authResponse) { doConnectComplete(fb_login_res.authResponse); } }, { scope:'email,user_birthday,user_location,user_hometown,user_education_history,user_work_history,publish_actions'}); }, true); return false; }); }); })(jQuery, window, document);