
(function(){var msgmap={email:{0:'Your email address looks valid. Sweet!',1:'No spam, just the good stuff',2:'Validating email address&hellip;',3:'Check for spelling or formatting errors.',4:'Email address is already taken.',5:'Please enter an email address.'},username:{0:'Good choice :)',1:'Your Redux identity; choose wisely.',2:'Validating username&hellip;',3:'Only letters, numbers, and underscores, please.',4:'Username is already taken.',5:'Please enter a username.'},password:{0:'Great!',1:'At least 6 characters. bE cr3aT!vE.',2:'Validating password&hellip;',3:'Passwords must be between 6 and 128 characters.',5:'Please enter a password.'},tos:{0:"There's a test on all this stuff later. ;-)",5:'You must agree to these to continue.'},agecheck:{0:'Only physically-speaking, of course.',5:'You must be at least 13 years old to continue.'},contestcheck:{0:'Wiiiiiiiiiiiiiiiiiiiiiiiiii!',5:'You must agree to these to continue.'}};var clsmap=['good','active','validating','bad','bad','bad'];var allcls=clsmap.join(' ');function setstate(group,name,state){var note=group.find('.regnote');group.removeClass(allcls).addClass(clsmap[state]);note.html(msgmap[name][state]).fadeIn('fast');}
$('.ident.signup form, form.ident.externalsignup').each(function(){$(this).submit(function(){$('.group.validating .regnote',this).each(function(){$(this).fadeOut('fast');});});$('.group',this).each(function(){var $this=$(this);var input=$this.find('input');var note=$this.find('.regnote');var name=input.attr('name');var state=$this.attr('state');if(state)setstate($this,name,state);if($this.hasClass('input')){input.focus(function(){setstate($this,name,1);});input.blur(function(){if(!input.val())note.fadeOut('fast');else{setstate($this,name,2);var p={};p[name]=input.val().strip();function cb(data){setstate($this,name,data[name]);}
$.post(rx.scripturl+'/stream.validate',p,cb,'json');}});}else if($this.hasClass('check')){input.click(function(){setstate($this,name,input.get(0).checked?0:5);});}});});$('.ident .player').one('click',function(){var player=$(this);player.html(player.attr('embed')).addClass('playing');rx.anal.log('register','click','tourvideo');});})();(function(){if(!$('.import-contacts').length)return;var controls=$('.controls.emails');controls.find('button').click(function(){var ebox=$('.emailsbox').val();if(!ebox.length){alert('Select some people to invite first.');return;}
var opts={};opts.type='post';opts.url=rx.scripturl+'/invite.inviteboxcontacts';opts.data={emailsbox:ebox};var href=this.getAttribute('href');rx.ajax.pollstate($.ajax(opts),1,function(){location.href=href;});});})();(function(){if(!$('.suggested').length)return;function bind(people,cb){people=$(people);var macro=people.find('.macro');var boxes=people.find('.all input[type=checkbox]');function macrotoggle(m,state){var check=m.find('input[type=checkbox]');if(state){m.addClass('selected');check.attr('checked','checked');}else{boxes.removeAttr('checked');check.removeAttr('checked');m.removeClass('selected');}
cb&&cb(m,state);}
macro.hover(function(){$(this).addClass('hover');},function(){$(this).removeClass('hover');});macro.click(function(){var $this=$(this);macrotoggle($this,!$this.hasClass('selected'));});boxes.click(function(){var checked=this.checked;macro.each(function(){macrotoggle($(this),checked);});});};var people=$('.people');var results=$('.results');function followcb(m,state){var key=m.hasClass('macro-user')&&'uid'||'gid';var id=m.attr(key);var result=results.find('['+key+'='+id+']');if(state)result.siblings('.zool').hide();else{result.addClass('hidden');if(!result.siblings('.result:not(.hidden)').length)
result.siblings('.zool').show();}}
people.filter('.follow').each(function(){bind(this,followcb);});people.filter('.invite').each(function(){bind(this);});$('button[type=submit]').click(function(){var endgame=this.getAttribute('endgame');var uids=[];var gids=[];people.filter('.follow').find('.macro').filter('.selected').each(function(){var m=$(this);if(m.hasClass('macro-user'))uids.push(m.attr('uid'));else gids.push(m.attr('gid'));});var extids={tw:[]};people.filter('.invite').find('.twitter').find('.macro').filter('.selected').each(function(){extids.tw.push($(this).attr('extid'));});var href=this.getAttribute('href');var xhr,finished=0,sync=0,delay=0;function finish(){finished++;if(finished==sync)
setTimeout(function(){location.href=href+endgame;},delay);}
if(uids.length||gids.length||extids.tw.length){rx.stream.pagespinner.start();sync=Number(Boolean(uids.length||gids.length))+
Number(Boolean(extids.tw.length));if(uids.length||gids.length){endgame='home';delay=2000;xhr=$.post(rx.scripturl+'/regflow.dofollowing',{uid:uids,gid:gids});rx.ajax.pollstate(xhr,1,finish);}
if(extids.tw.length){xhr=$.post(rx.scripturl+'/regflow.doinvite',extids);rx.ajax.pollstate(xhr,1,finish);}}else location.href=href+endgame;return false;});})();(function(){var ns=rx.namespace('stream.register');ns.auth=function(e){var jq=$(e).closest('.service');if(jq.hasClass('authd'))return false;var svc=ns.getsvc(jq);svc.connect(function(){if(svc.finished()){svc.jq.addClass('authd').find('.connect').text('Connected');$('.services .skip').fadeOut('normal');$('.services .expl:hidden').css({opacity:0}).animate({opacity:1,height:'show'},'normal');}
if(svc.couldannounce())
svc.jq.find('.actions:hidden').fadeIn('slow');},null,true);return false;};ns.fbperms=['read_stream','offline_access','publish_stream'];ns.checkfbperms=function(){for(i in ns.fbperms)
if(!rx.user.idents.fb.eperms[ns.fbperms[i]])return false;return true;};ns.getsvc=function(jq){if(jq.hasClass('facebook'))
return new ns.fbsvc(jq);if(jq.hasClass('twitter'))
return new ns.twsvc(jq);};ns.twsvc=function(jq){this.jq=jq;this.connect=rx.services.tw.add;this.couldannounce=function(){return this.jq.hasClass('authd');};this.announce=function(){return this.couldannounce()&&this.jq.find('.announce:checked:visible').length;};this.finished=function(){return true;};};ns.fbsvc=function(jq){this.jq=jq;this.connect=rx.services.fb.add;this.couldannounce=function(){return rx.user.idents.fb&&rx.user.idents.fb.eperms.publish_stream;};this.announce=function(){return this.couldannounce()&&this.jq.find('.announce:checked:visible').length;};this.finished=function(){return ns.checkfbperms();};};ns.finalize=function(fm){var announce=0;fm=$(fm);fm.find('.service').each(function(){var jq=$(this);var id=parseInt(jq.attr('svcid'));var svc=ns.getsvc(jq);if(svc.announce())
announce|=id;});var href=fm.attr('next');if(announce){var url=rx.scripturl+'/regflow.connect/'+announce;rx.ajax.pollstate($.get(url),1,function(){location.href=href;});}else location.href=href;return false;};ns.fbprompt=function(){var service=$('.fbperms .service');var svc=ns.getsvc(service);rx.fb.requiresession(function(){function ext(){rx.services.fb.extended(ns.fbperms,function(){if(svc.couldannounce())
service.find('.actions .announcewrap').fadeIn('slow');if(svc.finished())
service.find('.actions .again').fadeOut('fast');else
service.find('.actions .again').fadeIn('slow');service.find('.controls').fadeIn('fast');});}
var d=rx.services.fb.defaultextendedtext;rx.fb.dialog(d[0],d[1],ext,false,ext);});return false;};$('.fbperms .service').eq(0).each(function(){setTimeout(ns.fbprompt,1000);});})();