﻿
var UserInfo={Form:null,IsRegister:false,Init:function(rform,isregister)
{this.Form=rform;this.IsRegister=isregister;with(this.Form)
{Hinter.Reg(uPassword,Hinter.FOCUS,"建议使用强度足够的密码，以免帐户被盗用。密码长度最多20位");Hinter.Reg(uPassword2,Hinter.FOCUS,"重复填写密码，以确认密码输入正确");Hinter.Reg(uRealName,Hinter.FOCUS,"此处如不填写则自动以用户名来替代");Hinter.Reg(uEMail,Hinter.FOCUS,"填写一个最常用的邮箱，方便他人联系");if(isregister)
{Hinter.Reg(uName,Hinter.FOCUS,"用户名最少3位，最多20位");uName.onkeyup=UserInfo.WatchUserNameInput;uRealName.onkeyup=function(){UserInfo.DuplicateUserName=false;};LMGR.Reg(uName,LMGR.BLUR,UserInfo.ValidateUserName,false);}
LMGR.Reg(uPassword,LMGR.BLUR,UserInfo.ValidatePassword);LMGR.Reg(uPassword2,LMGR.BLUR,UserInfo.ValidatePassword);LMGR.Reg(uEMail,LMGR.BLUR,UserInfo.ValidateEMail);}
this.Form.onsubmit=UserInfo.ValidateAll;},DuplicateUserName:true,WatchUserNameInput:function(e)
{with(UserInfo)
{if(Form.uRealName.value=="")
DuplicateUserName=true;if(DuplicateUserName)
Form.uRealName.value=$E_T(e).value;}},ValidateUserName:function(e,dosubmit)
{with(UserInfo)
{if(!ValidateUserNameValue(dosubmit))
{if(dosubmit)
UserInfo.ValidateAll(null,dosubmit);}
else
{Validator.ValidateRegisterUserName(Form.uName.value,OnUserNameValidated,dosubmit);}}},OnUserNameValidated:function(nameok,dosubmit)
{Notice.SetLabel(UserInfo.Form.uName,true,nameok?"用户名可以使用":"用户名已被注册，请选择其他名称",!nameok);if(dosubmit&&UserInfo.ValidateAll(null,true))
{UserInfo.Form.submit();}},ValidatePassword:function(e)
{var ismatch;with(UserInfo.Form)
{ismatch=(uPassword.value==uPassword2.value);Notice.SetLabel(uPassword2,!ismatch,"两次密码输入不一致",true);Notice.SetLabel(uPassword,false);}
return ismatch;},ValidateEMail:function(e)
{var isvalid;with(UserInfo.Form)
{isvalid=Validator.ValidateEMail(uEMail.value);Notice.SetLabel(uEMail,!isvalid,Validator.EMailMessage,true);}
return isvalid;},ValidateUserNameValue:function(dosubmit)
{var isvalid=true;with(UserInfo.Form)
{var msg;if(uName.value.IsBlank())
{if(dosubmit)
{msg="需要填写用户名";isvalid=false;}
else
{return false;}}
else if(!Validator.ValidateUserName(uName.value))
{msg=Validator.UserNameMessage;isvalid=false;}
if(!isvalid)
Notice.SetLabel(uName,true,msg,true);}
return isvalid;},ValidateAll:function(e,usernamevalidated)
{with(UserInfo)
{if(usernamevalidated!=true&&IsRegister)
{ValidateUserName(null,true);return false;}
var isvalid=usernamevalidated;isvalid=isvalid&&ValidateUserNameValue(true);isvalid=isvalid&&ValidatePassword();if(ValidateUserNameValue(true))
Form.uRealName.value=Form.uName.value;if(IsRegister)
{if(Form.uPassword.value.IsBlank())
{Notice.SetLabel(Form.uPassword,true,"需要填写密码",true);isvalid=false;}
else
{Notice.SetLabel(Form.uPassword,false);}}
if(Form.uEMail.value.IsBlank()&&Form.uTel.value.IsBlank()&&Form.uQQMSN.value.IsBlank())
{isvalid=false;Notice.SetLabel(Form.uEMail,true,"电话、邮箱、QQ/MSN中至少要填写一项",true);Notice.SetLabel(Form.uTel,true,"电话、邮箱、QQ/MSN中至少要填写一项",true);Notice.SetLabel(Form.uQQMSN,true,"电话、邮箱、QQ/MSN中至少要填写一项",true);}
else
{Notice.SetLabel(Form.uEMail);Notice.SetLabel(Form.uTel);Notice.SetLabel(Form.uQQMSN);if(!ValidateEMail())
isvalid=false;}
return isvalid;}}}