	var ts=new Date().getTime();
	var system_root="/";//怎么这里没定义就不能用呢。为网站根目录。
	var url=system_root+"member/register_all.php";
	var lastusername = lastpasswd = lastemail = lastcode = '';
	var user_stat=email_stat=code_stat=false;
	function tip_toggle(type,id)
	{
		var err_msg;
		var str='';
		if(arguments.length >2){str = arguments[2];}
		if(type != "ok")
		{
			switch(type)
			{
				case "nothing":
					err_msg = "  此处不能为空!";
				break;
				case "length320":
					err_msg = "长度不正确,请输入3到20个字符!";
				break;
				case "length620":
					err_msg = "长度不正确,请输入6到20个字符!";
				break;
				case "invalid":
					err_msg ="只能包含字母,数字或下划线!";
				break;
				case "notmatch":
					err_msg = "两次输入不相符!";
				break;
				case "emailinvalid":
					err_msg = "邮件地址不合法!";
				break;
				case "str":
					err_msg = str;
				break;
			}
			jQuery("#"+id).empty().append("<img src='"+system_root+"images/check_error.gif'>"+err_msg);
			return false;
		}
		else{
			jQuery("#"+id).empty().append("<img src='"+system_root+"images/check_right.gif'>"+str);
			return true;
		}

	}
	function showLicense(){
		jQuery("#regContent").load(url,{action:"license"});
		jQuery("#regShowBox").show("slow");
	}
	function regDisable(id)
	{
		var state = jQuery("#"+id).attr("disabled");
		if(state.toString() == 'true'){jQuery("#"+id).removeClass("reg_but_ok_off").addClass("reg_but_ok").attr("disabled","");}
		else if(state.toString() == 'false'){jQuery("#"+id).removeClass("reg_but_ok").addClass("reg_but_ok_off").attr("disabled","true");}
	}
	function checkuser()
	{
		var name=jQuery("#reg_username").val();
		if(name == '')
		{
			user_stat=tip_toggle("nothing",'username_notice');
		}else if(name.trim().length < 3 || name.trim().length > 21 )
		{
			user_stat=tip_toggle("length320",'username_notice');
		}else if(!name.match(/^\w{2,19}$/))
		{
			user_stat=tip_toggle("invalid",'username_notice');//from slideshare.net register
		}else{
			if(lastusername == name){return;}else{lastusername = name;}//from discuz register
			jQuery.ajax({
				type:"POST",
				url:url,
				data:{t:ts,action:"checkuser",username:name},
				dataType:"html",
				beforeSend:function(xhr){loadImage('username_notice');},
				success:function(data){user_stat=filterResponse(data,'username_notice');}
			});
		}
	}
	function checkpasswd()
	{
		var pwd=jQuery("#reg_password").val();
		if(pwd == '')
		{
			return tip_toggle('nothing','passwd_msg');
		}else if(pwd.trim().length < 6 || pwd.trim().length > 21 )
		{
			return tip_toggle('length620','passwd_msg');
		}else{
			//if(pwd == lastpasswd) {return;}else{lastpasswd = pwd;}
			return tip_toggle('ok','passwd_msg');
		}
	}
	function confirmpasswd()
	{
		var pwds=jQuery("#reg_password").val();
		var repwds=jQuery("#pwdconfirm").val();
		if(repwds == '')
		{
			return tip_toggle('nothing','repasswd_msg');
		}else if(repwds != pwds)
		{
			return tip_toggle('notmatch','repasswd_msg');
		}else if(pwds == repwds && repwds.length >= 1 && pwds.length >=1){return tip_toggle('ok','repasswd_msg');}
	}
	function checkemail()
	{
		var mail = jQuery("#reg_email").val();
		if(mail == '')
		{
			email_stat=tip_toggle('nothing','email_msg');
		}else if(!mail.match(/^([a-zA-Z0-9_\-\.]+)@((?:[-a-zA-Z0-9]+\.)+[a-zA-Z]{2,})$/))
		{
			email_stat=tip_toggle('emailinvalid','email_msg');
		}else{
			if(lastemail == mail){return;}else{lastemail = mail;}//from discuz register
			jQuery.ajax({
				type:"POST",
				url:url,
				data:{t:ts,action:"checkemail",email:mail},
				dataType:"html",
				beforeSend:function(xhr){loadImage('email_msg');},
				success:function(data){email_stat=filterResponse(data,'email_msg');}
			});
		}
	}
	function loadImage(id)
	{
		jQuery("#"+id).empty().append("<img src='"+system_root+"images/reg_loading.gif'>");
	}
	function check_code()
	{
		var code = jQuery("#reg_checkcodestr").val();
		if(lastcode == code){return;}else{lastcode = code;}
		if(code == '')
		{
			code_stat=tip_toggle('str','code_msg','请输入图形中的字符');
		}else
		{
			jQuery.ajax({
				type:"POST",
				url:url,
				data:{t:ts,action:"checkcodes",checkcodestr:code},
				dataType:"html",
				beforeSend:function(xhr){loadImage('code_msg');},
				success:function(data){if(data !='0'){code_stat=tip_toggle('str','code_msg',data);}else{code_stat=filterResponse(data,'code_msg');}}
			});
		}
	}
	function filterResponse()
	{
		var data,id;
		if(arguments.length > 1)
		{
			data = arguments[0];
			id = arguments[1];
			switch(data)
			{
				case '1':
					return tip_toggle('str',id,'您填写的E-mail不合法!请重新填写.');
				break;
				case '2':
					return tip_toggle('str',id,'您填写的E-mail已被他人占用!请重新填写.');
				break;
				case '3':
					return tip_toggle('str',id,'您注册的会员名已被使用,请重新填写.');
				break;
				case '4':
					return tip_toggle('str',id,'您注册的会员名被禁止使用,请重新填写.');
				break;
				case '5':
					return tip_toggle('str',id,'您注册的会员名长度不合法，请重新填写。');
				break;
				case '6':
					return tip_toggle('str',id,'您注册的会员名含有非法字符，请重新填写。');
				break;
				case '0':
				return tip_toggle('ok',id);
				break;
			}
		}
	}
	function beforeSend()
	{
		pwd_stat=checkpasswd();
		repwd_stat=confirmpasswd();
		return (user_stat && email_stat && pwd_stat && repwd_stat && code_stat);
	}
	function checkRegForm()
	{
		if(beforeSend()){return true;}
		else{alert("注册信息不完整!");return false;}
		return false;
	}
	function refCheckCode()
	{
		jQuery("#checkcode").attr("src",system_root+"checkcode.php?id='+Math.random()*5'").show();
	}