
var reg_checkers=new Array();var reg_checker_enabled=false;var hs_fields,college_fields;function reg_checker(field_obj,error_obj){if(!field_obj||!error_obj){return false;}
this.f=field_obj;this.f.checker=this;this.e_obj=error_obj;this.failed=0;this.e_obj.innerHTML='';}
reg_checker.prototype.can_show_error=true;reg_checker.prototype.failed=false;reg_checker.prototype._validate=function(){return true;}
reg_checker.prototype.validate=function(){this._validate();if((this.e_obj.innerHTML!='')&&this.can_show_error){show(this.e_obj);}else{hide(this.e_obj);}
return this.failed;}
function _reg_checker_init(){var c_obj,f_id;_add_event=function(obj,prop,func){var old=obj[prop];if(!old){obj[prop]=function(){func.call(obj);};}else{obj[prop]=function(){old.call(obj);func.call(obj);};}}
f_id='name';c_obj=new reg_checker(ge(f_id),ge(f_id+'_error'));if(c_obj.f){c_obj._validate=function()
{if(this.f.value==''){this.failed=1;this.e_obj.innerHTML="This field is required.";}else{this.failed=0;this.e_obj.innerHTML='';}};_add_event(c_obj.f,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
f_id='n';c_obj=new reg_checker(ge(f_id),ge('sq_error'));if(c_obj.f&&(c_obj.ls=ge('lifestage'))&&(c_obj.sq=ge('sq'))){c_obj.sq.checker=c_obj;c_obj._validate=function()
{var ls=parseInt(this.ls.value,10);this.failed=0;this.e_obj.innerHTML='';if(ls!=1){return;}else if(this.f.value==''){this.failed=1;this.e_obj.innerHTML="This field is required.";}else if(parseInt(this.f.value,10)==-1){this.failed=1;this.e_obj.innerHTML='You must select your high school from the list.';}};_add_event(c_obj.sq,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
f_id='high_school_year';c_obj=new reg_checker(ge(f_id),ge(f_id+'_error'));if(c_obj.f&&(c_obj.ls=ge('lifestage'))){c_obj._validate=function()
{var ls=parseInt(this.ls.value,10);this.failed=0;this.e_obj.innerHTML='';if(ls!=1){return;}else if(this.f.value==''){this.failed=1;this.e_obj.innerHTML="This field is required.";}};_add_event(c_obj.f,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
f_id='college_year';c_obj=new reg_checker(ge(f_id),ge(f_id+'_error'));if(c_obj.f&&(c_obj.status=ge('status'))&&(c_obj.ls=ge('lifestage'))){c_obj._validate=function()
{this.failed=0;this.e_obj.innerHTML='';if((parseInt(this.ls.value,10)!=2)||this.f.disabled||(parseInt(this.status.value,10)>2)){return;}else if(this.f.value==''){this.failed=1;this.e_obj.innerHTML="This field is required.";}};_add_event(c_obj.f,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
f_id='reg_email__';c_obj=new reg_checker(ge(f_id),ge(f_id+'_error'));if(c_obj.f){c_obj._validate=function()
{if(this.f.value==''){this.failed=1;this.e_obj.innerHTML="This field is required.";}else{this.failed=0;this.e_obj.innerHTML='';}};_add_event(c_obj.f,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
f_id='reg_passwd__';c_obj=new reg_checker(ge(f_id),ge(f_id+'_error'));if(c_obj.f&&(c_obj.name=ge('name'))){c_obj._validate=function()
{function is_password_weak(password,name){if(password=='facebook'||password=='password'){return true;}
if(name){var name_elements=name.toLowerCase().split(" ");for(i in name_elements){var elt=name_elements[i];if(elt==password){return true;}}
return false;}}
var pw=this.f.value.toLowerCase();if(pw==''){this.failed=1;this.e_obj.innerHTML="This field is required.";}else if(pw.length<6){this.failed=1;this.e_obj.innerHTML="Your password must be at least 6 characters long.";}else if(is_password_weak(pw,this.name.value)){this.failed=1;this.e_obj.innerHTML="Please choose a more secure password.";}else{this.failed=0;this.e_obj.innerHTML='';}};_add_event(c_obj.f,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
c_obj=new reg_checker(ge('birthday_year'),ge('birthday_error'));if(c_obj.f){c_obj.can_show_error=false;c_obj.day=ge('birthday_day');c_obj.day.checker=c_obj;c_obj.month=ge('birthday_month');c_obj.month.checker=c_obj;c_obj.year=ge('birthday_year');c_obj.year.checker=c_obj;c_obj._validate=function()
{if(parseInt(this.day.value,10)>0&&parseInt(this.month.value,10)>0&&parseInt(this.year.value,10)>0){this.failed=0;this.e_obj.innerHTML='';this.can_show_error=true;}else{this.failed=1;this.e_obj.innerHTML='A full birthday is required.';}}
_add_event(c_obj.month,'onchange',function(){this.checker.validate()});_add_event(c_obj.day,'onchange',function(){this.checker.validate()});_add_event(c_obj.year,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
f_id='captcha_response';c_obj=new reg_checker(ge(f_id),ge(f_id+'_error'));if(c_obj.f){c_obj._validate=function()
{if(ge('captcha_response')!=this.f){this.f=ge('captcha_response');this.f.checker=this;this.e_obj=ge('captcha_response_error');_add_event(this.f,'onchange',function(){this.checker.validate()});}
this.failed=0;this.e_obj.innerHTML='';if(!this.f||!this.e_obj){return;}else if(this.f.value==''){this.failed=1;this.e_obj.innerHTML='This field is required.';}};_add_event(c_obj.f,'onchange',function(){this.checker.validate()});reg_checkers.push(c_obj);}
f_id='terms';c_obj=new reg_checker(ge(f_id),ge(f_id+'_error'));if(c_obj.f){c_obj._validate=function()
{if(!this.f.checked){this.failed=1;this.e_obj.innerHTML='You must agree to the Terms of Use';}else{this.failed=0;this.e_obj.innerHTML='';}};_add_event(c_obj.f,'onclick',function(){this.checker.validate()});reg_checkers.push(c_obj);}}
function hide_lifestage_errors(){if(reg_checker_enabled){var ls_fields=hs_fields.concat(college_fields);for(i in ls_fields){var obj=ge(ls_fields[i]);if(obj&&obj.checker){hide(obj.checker.e_obj);}}}}
function _reg_submit_check(){var failures=new Array();for(i in reg_checkers){var c_obj=reg_checkers[i];c_obj.can_show_error=true;c_obj.validate();if(c_obj.failed){failures.push(c_obj.field);}}
return failures;}
function reg_submit_check(){var failures=_reg_submit_check();return!failures.length;}
function reg_checker_init(){_reg_checker_init();hs_fields=new Array('n','high_school_year');college_fields=new Array('status','college_year');_add_event(ge('name'),'onchange',function(){check_username(this.value);});reg_checker_enabled=true;}
function check_username(name){ajax=new Ajax(check_username_done,check_username_fail);ajax.get('ajax/register_username_ajax.php','name='+name);}
function check_username_done(obj,response){if(response)eval(response);var err_id='name_error_display';if(error!=''){ge(err_id).innerHTML=error;show(err_id);}else{hide(err_id);}}
function check_username_fail(){}
function checkEmail(email,network_type){if(email=='undefined')return true;if(!email)return true;if(email=='')return true;var queryString='email='+email;if(!network_type){lifestage=parseInt(ge('lifestage').value,10);switch(lifestage){case 2:network_type=1;break;case 1:network_type=2;break;case 4:network_type=3;break;case 3:network_type=4;break;}}
if(network_type){queryString+='&nt='+network_type;}
ajax=new Ajax(checkEmailDone,checkEmailFail);ajax.get('ajax/register_email_ajax.php',queryString);}
function checkEmailDone(obj,response){if(response)eval(response);var err_id='email_error_display';if(error!=''){ge(err_id).innerHTML=error;show(err_id);}else{hide(err_id);}}
function checkEmailFail(){}
function lifestage_chosen(selector){selector=ge(selector);hideHighSchoolOnly();hideCollegeOnly();hideEmailTips();switch(selector.value){case'1':showTableRow('high_school_network_row');showTableRow('high_school_year_row');show('hs_email_tips');break;case'2':showTableRow('college_status_row');showTableRow('college_year_row');show('college_email_tips');break;case'4':show('work_email_tips');break;}
hide_lifestage_errors();}
function hideHighSchoolOnly(){hide('high_school_network_row');hide('high_school_year_row');hide('hs_email_tips');}
function hideCollegeOnly(){hide('college_status_row');hide('college_year_row');hide('hs_email_tips');}
function hideEmailTips(){hide('college_email_tips');hide('work_email_tips');hide('hs_email_tips');}
function collegeStatusChanged(selected){s=ge('status');y=ge('college_year');var date=new Date();var cur_year=date.getFullYear();var start_year=2007;switch(s.value){case'1':make_year_select_options(y,start_year,start_year+6,selected);ge('college_year').disabled=false;break;case'2':make_year_select_options(y,cur_year,1925,selected);ge('college_year').disabled=false;break;case'3':case'4':abbreviate_options(y);ge('college_year').disabled=true;break;case'5':make_year_select_options(y,start_year,start_year+6,selected);ge('college_year').disabled=false;break;}
if(reg_checker_enabled){hide(y.checker.e_obj);}}
function abbreviate_options(s){s.options.length=1;}
function make_year_select_options(s,y1,y2,selected){var i;var j=1;s.options.length=1;if(y1<y2){for(i=y1;i<=y2;i++){s.options[j]=new Option(i,i,0,(selected==i?true:false));j++;}}else{for(i=y1;i>=y2;i--){s.options[j]=new Option(i,i,0,(selected==i?true:false));j++;}}}
function network_success(){if(reg_checker_enabled){hide(ge('sq_error'));}}