BR.newsletter=BR.newsletter||{};BR.newsletter.validator={validateEmail:function(email){var regexp=/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;return(regexp.test(email)?true:false);},resetErrors:function(el){el.hide();},setErrors:function(el,errors){var msg="";for(name in errors){if(errors.hasOwnProperty(name)){msg+=name+" "+errors[name];}}
el.html(msg);el.show();}};jQuery.noConflict();jQuery(function($){var validator=BR.newsletter.validator;BR.Newsletter=function(options){var controller="/engaged_readers";var controller_count="/engaged_readers/count_popup";var defaults={popup_name:null};options=$.extend({},defaults,options);var dom={errors:$(options.errors),submit:$(options.submit),email:$(options.email),decline:options.decline?$(options.decline):$([]),lightbox:options.lightbox?$(options.lightbox):$([])};var callbacks={after_submit:options.after_submit||function(){}};init();function init(){setHandlers();setTimer();setPersonalization();};function setHandlers(){dom.submit.click(submitForm);dom.decline.click(decline);dom.email.bind('keypress',function(e){if((e.keyCode?e.keyCode:e.which)==13){submitForm(e);return false;}});};function setTimer(){if(dom.lightbox.length==0){return;}
if(BR.currentUser==undefined&&BR.currentArticle){setTimeout(show,45000);}};function setPersonalization(){if(options.email_value){dom.email.val(options.email_value);}};function submitForm(e){if(!$(this).indicate(true))return false;validator.resetErrors(dom.errors);if(!validator.validateEmail(dom.email.val())){validator.setErrors(dom.errors,{email:"is invalid"});return;};var data=mapData();$.post(controller,data,handleResponse,'json');return false;};function decline(e){e.preventDefault();dom.lightbox.hide();setCookie();};function show(){if(document.cookie.indexOf('leave-me-alone-longer=')==-1){var top=($(window).height()-dom.lightbox.height())/2+$(window).scrollTop();dom.lightbox.css({top:top+'px'});dom.lightbox.show();$.post(controller_count,{popup_name:options.popup_name},function(data){if(!data.success){alert("There was an error with the the popup");}},'json');}};function hide(){dom.lightbox.hide();};function setCookie(){var exdate=new Date();exdate.setDate(exdate.getDate()+60);document.cookie='leave-me-alone-longer=true;expires='+exdate.toGMTString();};function mapData(){var data={};setUnlessNull(data,"email",dom.email.val());setUnlessNull(data,"article_id",options.article_id);setUnlessNull(data,"tags",options.signup_tag_id);setUnlessNull(data,"popup_name",options.popup_name);setUnlessNull(data,"signup_module",options.signup_module);return data;};function setUnlessNull(obj,field,value){if(value!=null&&value!=undefined){obj[field]=value;}};function handleResponse(data){if(data.success){setCookie();callbacks.after_submit();}else{alert("We're sorry, there was an error processing your request");}};$.extend(this,{dom:dom,options:options,show:show,decline:decline,hide:hide});};});BR.contactImporter=BR.contactImporter||{};jQuery.noConflict();jQuery(function($){BR.ContactImporter=function(options){var controller="/contact_importer";var defaults={};options=$.extend({},defaults,options);var cards=[$('#step-one'),$('#step-three-other-email'),$('#step-three-email'),$('#step-three-email-select'),$('#invitation-confirmation')];var currentCardIndex=0;var email=null;var emailService=null;var tag_id=options.tag_id;var article_id=options.article_id;var dest=null;var selectAllContacts=true;var dom={lightbox:$('#lightbox_engage'),friendSubmit:$('#friend-submit'),friendList:$('#emails_to_share'),serviceLoginSubmit:$('#service-login-submit'),serviceContactSubmit:$('#service-contacts-submit'),contactList:$('#email-select-contacts'),additionalEmails:$('#additional-emails'),skipButtons:$('.skip-button'),closeButtons:$('.contact-close-button'),servicePassword:$('#service-password'),switchToManual:$('#switch-to-manual')};init();function init(){setHandlers();};function setHandlers(){dom.friendSubmit.click(submitFriends);dom.serviceContactSubmit.click(submitServiceContacts);dom.serviceLoginSubmit.click(fetchContacts);dom.skipButtons.click(function(){next();});dom.closeButtons.click(function(){displayCard(-1);});dom.switchToManual.click(function(){displayCard(1);});$('#emails_to_share').bind('keypress',function(e){if((e.keyCode?e.keyCode:e.which)==13){submitFriends();return false;}});$('#service-password').bind('keypress',function(e){if((e.keyCode?e.keyCode:e.which)==13){fetchContacts();return false;}});$('#additional-emails').bind('keypress',function(e){if((e.keyCode?e.keyCode:e.which)==13){submitServiceContacts();return false;}});$('#select-all-contacts').change(function(){selectAllContacts=!selectAllContacts;jQuery.each($$(".contact"),function(i,item){item.checked=selectAllContacts;});})};function submitFriends(){var contacts=dom.friendList.val();submitContacts(contacts);}
function submitServiceContacts(){var contacts=[];jQuery.each($$(".contact"),function(i,item){if(item.checked){contacts.push(item.value);}});contacts=contacts.join(',')+','+dom.additionalEmails.val();submitContacts(contacts);}
function submitContacts(contacts){displayCard(4);$.post('/contacts/add',{email:email,tag_id:tag_id,article_id:article_id,contacts:contacts},function(data){},'json');}
function show(emailIn,destIn,subscribed){setEmail(emailIn);setDest(destIn);next();if(subscribed){$('.lightbox_content').addClass('newsletter-share');if(emailService==null){$('.newsletter-intro').html($('.share-text')[0].innerHTML.replace(' from ',''));}else{$('.newsletter-intro').html($('.share-text')[0].innerHTML);}}else{$('.lightbox_content').addClass('newsletter-invite');}
analyticsTracker._trackPageview('display_virality_intro');}
function setDest(destIn){dest=destIn;}
function importContacts(emailIn,contacts,error){setEmail(emailIn);fillContactList(contacts);displayCard(3);if(error){alert(error);}
var intro=$('#newsletter-intro-1');$('.newsletter-intro').html($('.share-text')[0].innerHTML);$('.share-text').html("&nbsp");analyticsTracker._trackPageview('display_virality_contacts');}
function next(){if(currentCardIndex==cards.size()-1){currentCardIndex=-1;}else{currentCardIndex=(currentCardIndex+1)%cards.size();if(currentCardIndex==1&&emailService!=null){currentCardIndex=currentCardIndex+1;}else if(currentCardIndex==2&&(emailService==null||true)){currentCardIndex=-1;}}
displayCard(currentCardIndex);}
function hide(){currentCardIndex=-1;displayCard(currentCardIndex);}
function displayCard(index){dom.lightbox.show();jQuery.each(cards,function(i,item){if(i==index){item.show();}else{item.hide();}});}
function setEmail(emailIn){email=emailIn;jQuery.each($$(".email-display"),function(i,item){item.innerHTML=emailIn;});if(email.include('@gmail.com')){emailService='Gmail';}else if(email.include('@yahoo.com')){emailService='Yahoo';}else if(email.include('@hotmail.com')){emailService='Hotmail';}
setEmailService(emailService);}
function setEmailService(service){emailService=service;jQuery.each($$(".service-display"),function(i,item){item.innerHTML=service;});}
function fetchContacts(){window.location="/contacts/authenticate_email?email="+email+"&dest="+dest;return false;};function fillContactList(contacts){var entry="";jQuery.each(contacts,function(i,val){if((i%2)==0){entry='<tr><td class="ecs-first"><input type="checkbox" class="contact" checked="checked" value="'+val[1]+'"/></td class="ecs-second"><td>'+val[0]+'</td><td class="ecs-third">'+val[1]+'</td></tr>';}else{entry='<tr class="alt"><td class="ecs-first"><input type="checkbox" class="contact" checked="checked" value="'+val[1]+'"/></td><td class="ecs-second">'+val[0]+'</td><td class="ecs-third">'+val[1]+'</td></tr>';}
dom.contactList.children()[0].insert(entry);});}
$.extend(this,{show:show,next:next,setEmail:setEmail,importContacts:importContacts,displayCard:displayCard});};});