Y.namespace('LazyFB');var LazyFB=Y.LazyFB;Y.namespace('HPFacebookWrapper');var HPFacebookWrapper=Y.HPFacebookWrapper;var HPFB={api_key:false,init:function(user_id){if(!user_id){el=document.getElementById('fConnect_img_container');if(el)el.style.display="block";}},maybeFacebookConnected:function(){if(HuffPoUtil.getCookie(HPFB.api_key)!=''&&HuffPoUtil.getCookie(HPFB.api_key+'_expires')!=''&&HuffPoUtil.getCookie(HPFB.api_key+'_session_key')!=''&&HuffPoUtil.getCookie(HPFB.api_key+'_ss')!=''&&HuffPoUtil.getCookie(HPFB.api_key+'_user')!='')
{return true;}
else if(/fbcdn/.test(HuffCookies.getBigAvatar())||/facebook\.com/.test(HuffCookies.getBigAvatar())||/fbcdn/.test(HuffCookies.getSmallAvatar())||/facebook\.com/.test(HuffCookies.getSmallAvatar()))
{return true;}
return false;}};LazyFB.postLoad=[];LazyFB.callPostLoad=function(user_id)
{if((!user_id)&&HPUser.is_facebook())
{SNProject.linkAccountsBar('special');}
for(var i=0;i<LazyFB.postLoad.length;i++)
{if(typeof(LazyFB.postLoad[i])=='function')
{LazyFB.postLoad[i]();}}};LazyFB.loadWhenReady=function(function_using_fb_api)
{if(typeof(FB)=='undefined'||typeof(FB.ensureInit)!=='function')
{LazyFB.postLoad.push(function_using_fb_api);return false;}
else
{return function_using_fb_api();}}
LazyFB.isEnabled=true;LazyFB.showErrorLightbox=function()
{QuickSNProject.showModal('Sorry, this feature is temporarily disabled due to technical difficulties.  Please check back soon!');}
LazyFB.markFBDisabled=function()
{LazyFB.ensureInit=LazyFB.showErrorLightbox;if(typeof(FB)=='undefined')FB={};FB.ensureInit=LazyFB.showErrorLightbox;LazyFB.isEnabled=false;}
LazyFB.ensureInit=function(callback,force_callback)
{return FB.ensureInit(callback);}
LazyFB.smartyFBLogin=function(unset_callback)
{if(!LazyFB.isEnabled)return LazyFB.showErrorLightbox();if(typeof(unset_callback)=='undefined')
unset_callback=true;if(unset_callback)
{if(typeof(QuickLogin.FacebookLoginCallback)=='function')
{QuickLogin.avoidFBCallbackBeforeHPLogin=false;QuickLogin.FacebookLoginCallback=undefined;}}
Modal.hideMask();LazyFB.loadWhenReady(function()
{FB.ensureInit(function(){FB.Connect.requireSession(QuickLogin.FacebookLogin)});});}
LazyFB.getFBInfo=function(success_callback,failure_callback)
{this.getFBInfo_success=success_callback;this.getFBInfo_failure=function(){return;};if(failure_callback)this.getFBInfo_failure=failure_callback;try
{FB.ensureInit(function()
{var api=FB.Facebook.apiClient;var user_id=api.get_session().uid;var fql="SELECT name, pic_square FROM user WHERE uid ="+user_id;api.fql_query(fql+'',function(o)
{var LFB=LazyFB;if(!(o&&o[0]))
{LFB.getFBInfo_failure();LFB.getFBInfo_failure=function(){return;};}
else
{LFB.getFBInfo_success(o);LFB.getFBInfo_success=function(){return;};}});});}
catch(e)
{LazyFB.getFBInfo_failure();LazyFB.getFBInfo_failure=function(){return;};}};HPFacebookWrapper.showFeedDialog=function(template_bundle_id,template_data,target_id,body_general,story_size,require_connect,callback,user_message_prompt,user_message)
{template_data=template_data||null;target_id=target_id||null;body_general=body_general||null;story_size=story_size||null;require_connect=require_connect||null;callback=callback||null;user_message_prompt=user_message_prompt||null;user_message=user_message||null;Modal.HideEmbed();FB.ensureInit(function(){FB.Connect.showFeedDialog(template_bundle_id,template_data,target_id,body_general,story_size,require_connect,function(){callback();Modal.ShowEmbed();},user_message_prompt,user_message);});}
HPFacebookVote={init:function(feedTmplBundleId,entryId,entryTitle,entryBrief,permalink,entryImgSrc,inviteContent){HPFacebookVote.userLoggedIn=HuffCookies.getUserName();HPFacebookVote.voteUpCalled=false;HPFacebookVote.feedTmplBundleId=feedTmplBundleId;HPFacebookVote.entryId=entryId;HPFacebookVote.entryTitle=entryTitle;HPFacebookVote.entryBrief=entryBrief;HPFacebookVote.permalink=permalink;HPFacebookVote.entryImgSrc=entryImgSrc;HPFacebookVote.inviteContent=inviteContent;HPFacebookVote.userDefaultComment='';if(HPFacebookVote.userLoggedIn&&HuffCookies.get('voted_down')){HuffCookies.del('voted_down');HPFacebookVote.postVote('down');}
else if(HPFacebookVote.userLoggedIn&&HuffCookies.get('voted_up')){HuffCookies.del('voted_up');HPFacebookVote.postVote('up');}
else if(!HPFacebookVote.userLoggedIn&&window.location.hash=='#require-fbconnect'){HuffPoUtil.onPageReady(function(){FB.ensureInit(function(){FB.Connect.requireSession(function(){QuickLogin.FacebookLogin();})},true)});}},postVoteCallback:{vote:'',success:function(o){if(!HPFacebookVote.userLoggedIn&&this.vote.length!=0){window.location.reload();}
else{try{eval('oVoteData = '+o.responseText);}catch(err){return;}
if(oVoteData.error)return;if(oVoteData.current_user_voted){D.get('link_vote_up').innerHTML=oVoteData.up+' Like It';D.get('link_vote_down').innerHTML=oVoteData.down+' Don\'t';D.get('link_vote_up').onclick=function(){return false;};D.get('link_vote_down').onclick=function(){return false;};SNProject.track(HPFacebookVote.entryId,(this.vote=='up'?'entry_like':'entry_unlike'));}}},timeout:7000},postVote:function(v){var q='/include/vote.php?entry_id=';q+=HPFacebookVote.entryId;if(v=='up')q+='&vote=up';if(v=='down')q+='&vote=down';HPFacebookVote.postVoteCallback.vote=v;var cObj=C.asyncRequest('GET',q,HPFacebookVote.postVoteCallback);},onFeedDialogClosed:function(){HuffCookies.set('voted_up',1);QuickFacebookInvite.invitationContent=HPFacebookVote.inviteContent;QuickFacebookInvite.pop(function(){HPFacebookVote.postVote('up');});},onFacebookVoteUp:function(){if(HPFacebookVote.voteUpCalled)return;HuffCookies.del('snn_popup_needed');FB.ensureInit(function(){FB.Connect.get_status().waitUntilReady(function(status){if(status==FB.ConnectState.connected){HPFacebookVote.voteUpCalled=true;feedData={"entry_title":HPFacebookVote.entryTitle,"entry_desc":HPFacebookVote.entryBrief,"entry_link":HPFacebookVote.permalink,"images":[{"src":HPFacebookVote.entryImgSrc,"href":HPFacebookVote.permalink}]};FB.Connect.showFeedDialog(HPFacebookVote.feedTmplBundleId,feedData,null,null,null,FB.RequireConnect.require,HPFacebookVote.onFeedDialogClosed,'Your comment is here',{value:HPFacebookVote.userDefaultComment});}
else{alert('You\'re not connected to Facebook. Please try again.');FB.Connect.logout(function(){});}});})},onVoteUp:function(){D.get('link_vote_up').onclick=function(){return false;};if(!HPFacebookVote.userLoggedIn){HuffCookies.set('voted_up',1);}
FB.ensureInit(function(){FB.Connect.requireSession(function(){QuickLogin.FacebookLoginCallback=HPFacebookVote.onFacebookVoteUp;QuickLogin.FacebookLogin();});});},onVoteDown:function(){if(!HPFacebookVote.userLoggedIn){HuffCookies.set('voted_down',1);QuickLogin.pop();}
else{HPFacebookVote.postVote('down');}}}
HPFacebookVoteV2={status:0,status_limit:0,vote_status:[],lock:false,init_done:false,init:function(entryId,entryTitle,entryBrief,permalink,entryImgSrc,inviteContent,bpage,vote_words){if(this.init_done===true){return;}
this.init_done=true;this.userLoggedIn=HuffCookies.getUserName();this.voteUpCalled=false;this.entryId=entryId;this.entryTitle=entryTitle;this.entryBrief=entryBrief;this.permalink=permalink;this.entryImgSrc=entryImgSrc;this.inviteContent=inviteContent;this.userDefaultComment='';if("undefined"!=typeof(bpage))
{this.bpage=bpage;}else{this.bpage='';}
if("undefined"!=typeof(vote_words))
{this.vote_status=vote_words;}
else
{this.vote_status=['Amazing','Inspiring','Funny','Scary','Hot','Crazy','Important','Weird'];}
this.status_limit=this.vote_status.length;if(HuffCookies.get('facebook_user_has_voted')&&null==HuffCookies.get('facebook_user_is_voting'))
{this.status=HuffCookies.get('facebook_user_has_voted');HuffCookies.del('facebook_user_has_voted');HuffPoUtil.onPageReady(HPFacebookVoteV2.postVote());return;}
if(this.userLoggedIn&&null!=HuffCookies.get('facebook_user_is_voting'))
{this.status=HuffCookies.get('facebook_user_is_voting');HuffCookies.del('facebook_user_is_voting');HPFacebookVoteV2.onFacebookVote();}},postVoteCallback:{success:function(o)
{try{eval('oVoteData = '+o.responseText);}catch(err){return;}
if(oVoteData.error)
{HPError.e(oVoteData.error);return;}
if(oVoteData.total_votes){if("news"==HPFacebookVoteV2.bpage)
{if($('link_vote_0'))
{for(var i=0;i<HPFacebookVoteV2.status_limit;i++)
{if("undefined"!=typeof(oVoteData[i]))
{$('link_vote_'+oVoteData[i].status).innerHTML=HPFacebookVoteV2.vote_status[oVoteData[i].status]+"<br/>"+" ("+oVoteData[i].count+")";}else{$('link_vote_'+i).innerHTML=HPFacebookVoteV2.vote_status[i];}}}
if($('bottom_link_vote_0'))
{for(i=0;i<HPFacebookVoteV2.status_limit;i++)
{if("undefined"!=typeof(oVoteData[i]))
{$('bottom_link_vote_'+oVoteData[i].status).innerHTML=HPFacebookVoteV2.vote_status[oVoteData[i].status]+"<br/>"+" ("+oVoteData[i].count+")";}else{$('bottom_link_vote_'+i).innerHTML=HPFacebookVoteV2.vote_status[i];}}}}
}},timeout:7000},postVote:function(update){var q='/include/vote.php?entry_id=';q+=this.entryId;q+='&vote_status='+this.status;q+=("undefined"!=typeof(update))?'&update=1':'';q+="&v=2";var cObj=C.asyncRequest('GET',q,HPFacebookVoteV2.postVoteCallback);},onFeedDialogClosed:function(publish){if("null"!=publish)
{HuffCookies.set('facebook_user_has_voted',HPFacebookVoteV2.status);HuffCookies.del('facebook_user_is_voting');HPFacebookVoteV2.voteUpCalled=false;QuickFacebookInvite.invitationContent=HPFacebookVoteV2.inviteContent;QuickFacebookInvite.pop();HPFacebookVoteV2.lock=false;}
else
{HPFacebookVoteV2.lock=false;}},onFacebookVote:function(){if(!HPFacebookVoteV2.userLoggedIn&&null!=HuffCookies.get('facebook_user_is_voting')){window.location.reload();return;}
HuffCookies.del('snn_popup_needed');HuffCookies.del('facebook_user_is_voting');if(HPFacebookVoteV2.voteUpCalled)return;HPFacebookVoteV2.postVote(true);FB.ensureInit(function(){FB.Connect.get_status().waitUntilReady(function(status)
{if(status==FB.ConnectState.connected)
{HPFacebookVoteV2.voteUpCalled=true;feedData={"name":HPFacebookVoteV2.entryTitle,"description":HPFacebookVoteV2.entryBrief,"href":HPFacebookVoteV2.permalink,"media":[{"type":"image","src":HPFacebookVoteV2.entryImgSrc,"href":HPFacebookVoteV2.permalink}]};FB.Connect.streamPublish(HPFacebookVoteV2.vote_status[HPFacebookVoteV2.status]+'... '+HPFacebookVoteV2.userDefaultComment,feedData,null,null,'Your comment is here',HPFacebookVoteV2.onFeedDialogClosed);}
else{alert('You\'re not connected to Facebook. Please try again.');FB.Connect.logout(function(){});}});})},onVote:function(vote_status){if(this.lock)return;this.lock=true;HPFacebookVoteV2.voteUpCalled=false;this.status=vote_status;if(this.status>this.status_limit)return;if(HPFB.maybeFacebookConnected())
{HuffCookies.set('facebook_user_is_voting',this.status);FB.ensureInit(function(){FB.Connect.requireSession(function(){QuickLogin.FacebookLoginCallback=HPFacebookVoteV2.onFacebookVote;QuickLogin.FacebookLogin();});});}
else if(this.userLoggedIn)
{HPFacebookVoteV2.postVote(true);this.lock=false;}
else
{SNProject.joinCheckingUserStatus();this.lock=false;}}}
var HPFBQuickIntroduce={finalCallback:function(){return true;},uploadFile:false,oForm:null,formUrl:'/users/signup/fb_init_signup_form.php',isEmailSpecified:false,pop:function(){var QI=HPFBQuickIntroduce;Modal.setMaskListener(function(){return false;});if(QI.shown||!HPUtil.isWWW())
{QI.finalCallback();return false;}
if(QuickLogin.calledBySNN)
QI.formUrl=QI.formUrl.replace(/php\??.*$/,'php?snn=1');if(QI.html){QI.success({responseText:QI.html});}
else{C.asyncRequest('GET',QI.formUrl,HPFBQuickIntroduce);}},failure:function(o){HPError.e();},success:function(o){if(o.responseText!=''){if(Modal.id){Modal.hideMask();}
Modal.id='huff_modal_common';Modal.setWidth(410);Modal.showMask(Modal.id);$('huff_modal_common_inner').innerHTML=o.responseText;D.setStyle($('huff_modal_common_inner'),'font-size','12px');if($('privacy_field'))$('privacy_field').style.visibility='visible';E.on('init_preferences_form_submit','click',function(){HPFBQuickIntroduce.onSubmit();return false;});E.on('user_photo','change',function(){var QI=HPFBQuickIntroduce;var valid_extensions={'.gif':1,'.jpeg':1,'.jpg':1,'.png':1};var re=/\..+$/;var ext=this.value.match(re);if(valid_extensions[ext]){QI.uploadFile=true;}else{QI.uploadFile=false;alert('Please select a valid image file');}});E.on('bio_field','keyup',HPUtil.enforceTextAreaLimit,{chars:120});}},onSubmit:function(){var QI=HPFBQuickIntroduce;var oEml=$('email_field');if(oEml&&oEml.value!=''){if(!HPUtil.checkEmail(oEml.value)){HPError.e('Please specify a valid e-mail address');oEml.value='';oEml.focus();return;}
QI.isEmailSpecified=true;}
QI.showSpinner();QI.oForm=$('init_preferences_form');C.setForm(QI.oForm,(!($('use_fb_avatar').checked)&&QI.uploadFile));C.asyncRequest('POST',QI.formUrl,{success:QI.onSubmitSuccess,upload:QI.onSubmitSuccess,failure:function(o){HPError.e();}});},showSpinner:function(){$('btn_save_and_continue').style.display='none';$('form_posting_indicator').style.display='block';},hideSpinner:function(){$('btn_save_and_continue').style.display='block';$('form_posting_indicator').style.display='none';},onSubmitSuccess:function(o){var QI=HPFBQuickIntroduce;switch(o.responseText){case'success':Modal.hideMask();QI.finalCallback();QI.shown=true;break;case'invalid_email':HPError.e('Please specify a valid e-mail address');QI.hideSpinner();$('email_field').select();break;case'duplicate_email':HPError.e('Specified e-mail address is already used, please choose another one');QI.hideSpinner();$('email_field').select();break;case'photo_upload_failed':HPError.e('There was an error uploading your photo, please try again');QI.hideSpinner();break;default:HPError.e('Saving is failed, please try again');QI.hideSpinner();}},onFBPhotoCheckbox:function(){var box=$('photo_upload_box');if($('use_fb_avatar').checked){box.style.display='none';}else{box.style.display='block';}}}