var username_timer;var prev_uid_key='';var prev_uid_check='';var userid_check_server_pending=0;function username_changed(){if(username_timer){clearTimeout(username_timer);username_timer=0;}username_check();}function get_username(){var o=gk_get_el('f-uid');if(!o)return '';return String(o.value).toLowerCase();}function set_username_error(msg){var o=gk_get_el('f-uid-err');if(!o)return;o.innerHTML=msg;}function username_key(){var uid=get_username();if(prev_uid_key==uid)return;prev_uid_key=uid;if(username_timer){clearTimeout(username_timer);username_timer=0;}set_username_error('');username_timer=setTimeout("username_check()",600);}function username_check(){var uid=get_username();if(prev_uid_check==uid)return;prev_uid_check=uid;set_username_error('');if(!uid)return;var err='';if(uid.length<4)err='Too short, must be at least 4 characters long!';else
if(uid.length>16)err='Too long, must be less than 16 characters!';else
if(/[^\w\-]/.test(uid))err='Can only contain letters and numbers!';if(!err){userid_check_server(uid);return;}set_username_error(err);}function userid_check_server(uid){if(userid_check_server_pending>=2)return;userid_check_server_pending++;var params=[];params.push('auid='+uid);gk_request_remote_data('/register-test.pl',uid,userid_check_server_callback,params.join('&'));set_username_error('<span class=span-wait></span>');}function userid_check_server_callback(uid,txt){userid_check_server_pending--;if(userid_check_server_pending<0)userid_check_server_pending=0;if(!txt)return;var cur_uid=get_username();if(cur_uid!=uid)return;var err='';var data=txt.split('\n');if(data[0]!='register.1.0'){gk_log_error('Bogus response from register-test.pl:\n'+txt);set_username_error('');return;}else
if(to_int(data[1])!=1){err=data[2];}else{err='<em class=value_up>Ok!</em>';}set_username_error(err);}function get_password(){var o=gk_get_el('f-psw');if(!o)return '';return String(o.value).toLowerCase();}function set_password_error(msg){var o=gk_get_el('f-psw-err');if(!o)return;o.innerHTML=msg;}function get_password2(){var o=gk_get_el('f-psw2');if(!o)return '';return String(o.value).toLowerCase();}function set_password2_error(msg){var o=gk_get_el('f-psw2-err');if(!o)return;o.innerHTML=msg;}function password_changed(){var psw=get_password();var uid=get_username();var err='';if(psw.length<6)err='Too short, must be at least 6 characters long!';else
if(psw==uid)err='Please do not use your user name as your password!';else
if(/[^\w\-]/.test(psw))err='Can only contain letters and numbers!';if(!err){var easy_psw=['123456','1234567','12345678','123456789','password','qwerty','gameknot','secret','123123','abc123'];for(var i=0;i<easy_psw.length;i++){if(psw==easy_psw[i]){err='Common password, can be easily guessed!';break;}}}set_password_error(err?err:'<em class=value_up>Ok!</em>');password2_changed();}function password2_changed(){var psw=get_password();var psw2=get_password2();if(!psw2)return;var err='';if(psw!=psw2)err='Not the same as your password above, please re-type it exactly!';set_password2_error(err?err:'<em class=value_up>Ok!</em>');}
