/*
HTTP Host: static.ak.fbcdn.net
Generated: March 15th 2010 4:49:23 AM PDT
Machine: 10.16.140.108
Locale: nu_ll
Path: js/reg_util.js
*/

if (window.CavalryLogger) { CavalryLogger.start_js(["js\/reg_util.js"]); }

function RegUtil(){}RegUtil.genderFemale=1;RegUtil.genderMale=2;RegUtil.errorFields=[];RegUtil.DAY_FIELD='birthday_day';RegUtil.MONTH_FIELD='birthday_month';RegUtil.YEAR_FIELD='birthday_year';RegUtil.PASSWORD_FIELD='reg_passwd__';RegUtil.NAME_FIELD='name';RegUtil.FIRSTNAME_FIELD='firstname';RegUtil.LASTNAME_FIELD='lastname';RegUtil.EMAIL_FIELD='reg_email__';RegUtil.GENDER_FIELD='sex';RegUtil.errorFields[6]=RegUtil.PASSWORD_FIELD;RegUtil.errorFields[7]=RegUtil.PASSWORD_FIELD;RegUtil.errorFields[8]=RegUtil.PASSWORD_FIELD;RegUtil.errorFields[9]=RegUtil.PASSWORD_FIELD;RegUtil.errorFields[40]=RegUtil.PASSWORD_FIELD;RegUtil.errorFields[10]=RegUtil.NAME_FIELD;RegUtil.errorFields[48]=RegUtil.NAME_FIELD;RegUtil.errorFields[15]=RegUtil.YEAR_FIELD;RegUtil.errorFields[16]=RegUtil.EMAIL_FIELD;RegUtil.errorFields[18]=RegUtil.EMAIL_FIELD;RegUtil.errorFields[25]=RegUtil.EMAIL_FIELD;RegUtil.errorFields[26]=RegUtil.EMAIL_FIELD;RegUtil.errorFields[27]=RegUtil.EMAIL_FIELD;RegUtil.errorFields[37]=RegUtil.EMAIL_FIELD;RegUtil.errorFields[43]=RegUtil.GENDER_FIELD;RegUtil.getInstance=function(){if(!RegUtil._instance)RegUtil._instance=new RegUtil();return RegUtil._instance;};RegUtil.prototype.get_captcha=function(){if($('captcha_response').value)return this.finish_captcha();if(this.validate_data()){this.hide_error();this.show_captcha();}};RegUtil.prototype.register_no_captcha=function(){if(this.validate_data())this.register();};RegUtil.prototype.ajax_validate_data=function(g,a,d){var e=this;var c=function(h){hide('async_status');hide('captcha_async_status');var k=h.getPayload();if(k.redirect){goURI(k.redirect);}else if(k.field_validation_succeeded){e.hide_error();e.show_captcha();}else if(k.bad_captcha){DOM.setContent($('outer_captcha_box'),HTML(k.html));e.show_error('captcha_response',k.error);}else if(k.tooyoung){DOM.setContent($(a),HTML(k.html));}else if(k.registration_succeeded){if(d){var j=$('confirmation_email_form');var i=$('confirmation_email');i.value=k.email;j.submit();}else DOM.setContent($(a),HTML(k.html));CSS.setStyle($('fb_menubar_aux'),'visibility','hidden');}else{if(ge(RegUtil.FIRSTNAME_FIELD))RegUtil.errorFields[10]=[RegUtil.FIRSTNAME_FIELD,RegUtil.LASTNAME_FIELD];var i=RegUtil.errorFields[k.error_code];e.show_error(i,k.error);}};var f=$('reg');var b=serialize_form(f);if(g&&g.ignore)b.ignore=g.ignore.join('|');show('async_status');show('captcha_async_status');if(!this._async_request)this._async_request=new AsyncRequest();this._async_request.setURI('/ajax/register.php').setData(b).setReadOnly(true).setHandler(c).send();};RegUtil.prototype.validate_data=function(){this.hide_error();var d={fullname:this.get_full_name(),firstname:ge('firstname')?$('firstname').value:'',lastname:ge('lastname')?$('lastname').value:'',month:$(RegUtil.MONTH_FIELD).value,day:$(RegUtil.DAY_FIELD).value,year:$(RegUtil.YEAR_FIELD).value,email:this.normalize_email($('reg_email__').value),gender:$('sex').value};if(ge('reg_instance'))d.reg_instance=$('reg_instance').value;var b=this.normalize_password($('reg_passwd__').value),c=ge('reg_passwd2__')?this.normalize_password($('reg_passwd2__').value):undefined;var a=null;a=this.validate_name(d.fullname)||this.validate_birthday(d.month,d.day,d.year)||this.validate_email(d.email)||this.validate_password(b,c)||this.validate_gender(d.gender);d.error_code=a||-1;var e=new AsyncRequest().setURI('/ajax/register/logging.php').setData(d).setReadOnly(true).send();return !a;};RegUtil.prototype.finish_captcha=function(){if($('captcha_response').value){this.register();}else{this.show_error('captcha_response',_tx("You didn't type the text correctly in the box."));return;}};RegUtil.prototype.register=function(){this.show_progress();$('reg').submit();};RegUtil.prototype.show_captcha=function(){this.hide_reg_form();create_captcha();show('reg_captcha');if(ge('tos_container'))CSS.removeClass($('tos_container'),'hidden_elem');if(ge('reg_pages_msg'))hide($('reg_pages_msg'));if(ge('reg_captcha_buttons'))show('reg_captcha_buttons');if(ge('captcha_buttons'))show('captcha_buttons');try{$('captcha_response').focus();}catch(ignore){}};RegUtil.prototype.hide_captcha=function(){hide('reg_captcha');if(ge('tos_container'))CSS.addClass($('tos_container'),'hidden_elem');if(ge('reg_captcha_buttons'))hide('reg_captcha_buttons');if(ge('captcha_buttons'))hide('captcha_buttons');this.hide_error();};RegUtil.prototype.show_progress=function(a){this.hide_error();this.hide_reg_form();this.hide_captcha();if(a)DOM.setContent($('progress_msg'),HTML(a));show('reg_progress');};RegUtil.prototype.hide_progress=function(){hide('reg_progress');};RegUtil.prototype.attach_error_to_field=function(e,i){var f=[];var c='UIErrorFlag';if(e instanceof Array){c+=' UIErrorFlag_MultiField';for(var h=0;h<e.length;h++)f[h]=$(e[h]);}else f[0]=$(e);var d=$N('div',{className:'UIErrorFlag_Inner'});d.innerHTML=i;var g=$N('div',{className:c},d);var j=(f[0].parentNode.offsetWidth)+8;var k=j+'px';var b=(j+7)+'px';var a='left';if(intl_locale_is_rtl()){a='right';g.style.right=b;}else g.style.left=b;DOM.insertAfter(f[0],g);for(var h=0;h<f.length;h++)CSS.addClass(f[h].parentNode,'error_field');animation(g).from(a,b).to(a,k).duration(300).ease(function(l){return -1*Math.sin(11*l);}).go();};RegUtil.prototype.show_error=function(a,c){if(a==undefined)a='';if(ge('reg_pages_msg'))CSS.addClass($('reg_pages_msg'),'hidden_elem');var b=CSS.hasClass(document.body,'registration');if(a&&b){this.hide_error();this.attach_error_to_field(a,c);}if(a){if(a=='captcha_response'){this.show_captcha();}else this.show_reg_form();try{$(a).focus();}catch(ignore){}}if(!b||!a){var d=$('reg_error');var e=$('reg_error_inner');try{if(ge('name')){$('name').focus();}else $('firstname').focus();}catch(ignore){}if(a!='captcha_response')this.show_reg_form();if(typeof animation=='function'){DOM.setContent(e,HTML(c));CSS.setOpacity(d,0);animation(d).show().to('height','auto').duration(100).checkpoint().from('opacity',0).to('opacity',1).duration(400).go();}else show(d);}};RegUtil.prototype.hide_error=function(){if(shown($('reg_error'))&&CSS.getOpacity($('reg_error'))>0)hide($('reg_error'));var a=DOM.scry(document,'div.error_field');a.each(function(c){CSS.removeClass(c,'error_field');});var b=DOM.scry(document,'div.UIErrorFlag');b.each(function(c){DOM.remove(c);});};RegUtil.prototype.show_reg_form=function(){show('reg_form_box');if(ge('reg_pages_msg'))show($('reg_pages_msg'));};RegUtil.prototype.hide_reg_form=function(){hide('reg_form_box');};RegUtil.prototype.normalize_name=function(a){a=a.replace(/^\s+|\s+$/g,'');a=a.replace(/\s+/g,' ');return a;};RegUtil.prototype.normalize_email=function(a){return a;};RegUtil.prototype.normalize_password=function(a){return a;};RegUtil.prototype.validate_name=function(f,a){var e=2;var d=4;var g=f?f.split(' '):[];var c=null;var b=null;if(!f){if(a)return true;c=_tx("Please enter your full name.");}else if(ge('firstname')&&(!$('firstname').value||!$('lastname').value)){c=_tx("You must provide your full name.");}else if(g.length==2&&g[0]==g[1]){c=_tx("You must provide your full name.");}else if(g.length>d)c=_tx("The name contains too many words.");if(!c)for(word in g){len=word.length;if(len==1)continue;c=word[len-1];if('A'<=c&&c<='Z')c=_tx("The name contains too many capital letters.");}if(c){this.show_error('name',c);b=10;}return b;};RegUtil.prototype.validate_email=function(b){var e=null;var d=null;if(!b){e=_tx("Please enter your email address");d=12;}else if(b.indexOf('@')==-1){e=_tx("Please enter a valid email address");d=16;}else{var c=b.split('@');var a=c[1];if(a=='facebook.com'){e=_tx("Please enter your personal email address.");d=50;}}if(e)this.show_error('reg_email__',e);return d;};RegUtil.prototype.validate_gender=function(c){var b=null;var a=null;if(c!=RegUtil.genderMale&&c!=RegUtil.genderFemale){b=_tx("Please select either Male or Female.");a=43;}if(b)this.show_error('sex',b);return a;};RegUtil.prototype.validate_password=function(i,j){var f=6;var e=['password','facebook'];var c=null;var g=null;var b=null;if(!i){c=_tx("Please create a password to use on Facebook");b=6;}else if(i.length<f){c=_tx("Your password must be at least 6 characters long.");b=8;}else if(j!=undefined&&i!=j){c=_tx("Your passwords do not match. Please try again.");b=40;}else{var g=this.get_full_name();var h=g.toLowerCase().split(' ');var a=h.concat(e);for(var d=0;d<a.length;++d)if(i.toLowerCase()==a[d]){c=_tx("Your password should be more secure.");b=9;break;}}if(c)this.show_error('reg_passwd__',c);return b;};RegUtil.prototype.get_full_name=function(){if(ge('name'))return this.normalize_name($('name').value);return this.normalize_name($('firstname').value+' '+$('lastname').value);};RegUtil.prototype.validate_birthday=function(d,a,e){var c=null;var b=null;if(d==-1||a==-1||e==-1){c=_tx("Please enter your full date of birth.");}else if(e<=1910)c=_tx("Please enter your real date of birth.");if(c){this.show_error(RegUtil.monthField,c);b=15;}return b;};RegUtil.prototype.set_topper_content=function(a){DOM.replace($('UIContentTopper'),HTML(a));};RegUtil.prototype.show_reg_area=function(){CSS.removeClass($('simple_registration_container'),'hidden_elem');};RegUtil.prototype.hide_reg_area=function(){CSS.addClass($('simple_registration_container'),'hidden_elem');};RegUtil.prototype.show_openid_area=function(){if(ge('openid_welcome_area'))CSS.removeClass($('openid_welcome_area'),'hidden_elem');};RegUtil.prototype.hide_openid_area=function(){if(ge('openid_welcome_area'))CSS.addClass($('openid_welcome_area'),'hidden_elem');};RegUtil.prototype.set_form_field=function(a,b){if(ge(a))$(a).value=b;};RegUtil.prototype.set_openid_field=function(a){$('openid_token').value=a;};function RegKeyPressListen(a){var b=ge('reg_form_box');if(b)b.listen('keypress',function(event){if(event.keyCode==KEYS.RETURN&&shown(b)){if(a){RegUtil.getInstance().ajax_validate_data({ignore:['captcha']});}else RegUtil.getInstance().get_captcha();return false;}});}function CaptchaBoxKeyPressListen(b,a,c){var d=ge('reg_captcha');if(d)d.listen('keypress',function(event){if(event.keyCode==KEYS.RETURN&&shown(d)){if(b){RegUtil.getInstance().ajax_validate_data(null,a,c);}else RegUtil.getInstance().finish_captcha();return false;}});}function regform_focused(a){if(!regform_focused.called){var b='';if(ge('reg_instance'))b=$('reg_instance').value;new AsyncRequest().setURI('/ajax/register/logging.php').setData({action:a,reg_instance:b}).setOption('asynchronous',false).setReadOnly(true).send();regform_focused.called=true;}}function regform_listen_focus(c,a){var d=ge(c);if(d){var b=fireonce(function(){return regform_focused(a);});Event.listen(d,'click',b);Event.listen(d,'keypress',b);}}

if (window.Bootloader) { Bootloader.done(["js\/reg_util.js"]); }