var userFlg = true; //是否存在name
var passFlg = true; //是否存在pass
var npassFlg = true; //是否存在pass
var mailFlg = true; //是否存在email
var codeFlg = true; //是否存在pass
  
function validateUser(obj){
	var tip = document.getElementById("usertip");
	var re = RegExp("^[a-zA-Z0-9]{1}[0-9a-zA-Z_]{2,14}[a-zA-Z0-9]{1}$|^([\u4e00-\u9fa5]){2,6}[a-zA-Z0-9]{0,6}$");
   	if (!re.test(obj.value)){
	   	tip.className = "reg_err";
    	tip.innerHTML="用户名只能使用2-6个汉字或4-16个数字、字母和下划线";
    	userFlg = false;
		return;
   	}
	
	Request.sendPOST('ajax/check_user.php', callback, "username="+obj.value);
	function callback(req,data)
	{
		var result = req.responseText;
		if (result!='') {
			tip.className = "reg_err";
			tip.innerHTML="此用户名已存在，<br />如果您有猪一戒账号，请 <a href=\"login.php\">【点击登录】</a>";
			userFlg = false;
		} else {
			tip.className = "reg_ok";
			tip.innerHTML="";
			userFlg = true;
		}
	}
}
  
  
function validateEmail(obj){
	var tip = document.getElementById("emailtip");
   	re = RegExp("^([a-z]|[A-Z]|[0-9]){1}([a-z]|[A-Z]|\.|[0-9]|-|_){0,20}@([a-z]|[A-Z]|[0-9]|-|_){1,20}\.([a-z]|[A-Z]){2,3}(\.([a-z]|[A-Z]){2}){0,1}$");
   	if (obj.value.length == 0 || !re.test(obj.value)) {
	  	tip.className = "reg_err";
    	tip.innerHTML = "请输入正确的邮箱地址，忘记密码时方便找回"; 
		mailFlg = false;
		return;
   	}
	
	Request.sendPOST('ajax/check_user.php', callback, "email="+obj.value);
	function callback(req,data)
	{
		var result = req.responseText;
		if (result!='') {
			tip.className = "reg_err";
			tip.innerHTML="此邮箱已存在，请尝试其他邮箱地址！";
			mailFlg = false;
		} else {
			tip.className = "reg_ok";
			tip.innerHTML="";
			mailFlg = true;
		}
		
	}
}

function validatePass(obj) {
	var tip = document.getElementById("passtip");
   	if(obj.value.length < 6 || obj.value.length > 20) {
	  	tip.className = "reg_err";
    	tip.innerHTML = "密码长度6～20位，字母区分大小写"; 
		passFlg = false;
   	} else {
		tip.className = "reg_ok";
    	tip.innerHTML = "";
    	passFlg = true;
   	}
}

function passLevel(obj) {
	var tip = document.getElementById("passtip");
   	if(obj.value.length < 6 || obj.value.length > 20) {
	  	return false;
   	} else {
		var str = "密码长度6～20位，字母区分大小写<br />强度：";
		var level = "";
		if (true) level = "<img src=\"images/regqd_1.gif\" /> <b>极佳</b>";
		
		var p1= (obj.value.search(/[a-zA-Z]/)!=-1) ? 1 : 0;
    	var p2= (obj.value.search(/[0-9]/)!=-1) ? 1 : 0;
    	var p3= (obj.value.search(/[^A-Za-z0-9_]/)!=-1) ? 1 : 0;
    	var pa=p1+p2+p3;
    	if(p1+p2+p3==1){
    		level = "<img src=\"images/regqd_1.gif\" /> <b style=\"color:#cc0000\">差</b>";
    	}else if(p1+p2+p3==2){
    		level = "<img src=\"images/regqd_2.gif\" /> <b style=\"color:#ff6600\">一般</b>";
    	}else if(p1+p2+p3==3 && obj.value.length<10){
    		level = "<img src=\"images/regqd_3.gif\" /> <b style=\"color:#3366cc\">强</b>";
    	} else {
			level = "<img src=\"images/regqd_4.gif\" /> <b style=\"color:#29b520\">极佳</b>";
		}

		
		tip.className = "reg_normal";
    	tip.innerHTML = str+level;
   	}
}

function validateNPass(obj) {
	var tip = document.getElementById("npasstip");
	if(obj.value.length < 6 || obj.value.length > 20) {
	  	tip.className = "reg_err";
    	tip.innerHTML = "密码长度6～14位，字母区分大小写"; 
		npassFlg = false;
   	} else if (obj.value != document.register.password.value) {
		tip.className = "reg_err";
    	tip.innerHTML = "确认密码和上面密码不一致"; 
		npassFlg = false;
	} else {
		tip.className = "reg_ok";
    	tip.innerHTML = "";
    	npassFlg = true;
   	}
}

function validateCode(obj) {
	var tip = document.getElementById("codetip");
   	if(obj.value.length != 4) {
	  	tip.className = "reg_err";
    	tip.innerHTML = "请输入正确的验证码！"; 
		codeFlg = false;
   	} else {
		tip.className = "reg_ok";
    	tip.innerHTML = "";
    	codeFlg = true;
   	}
}

function subForm(obj){
   	validateUser(obj.username)
	if (!userFlg) { obj.username.focus(); return false; }
   	validatePass(obj.password)
	if (!passFlg) { obj.password.focus(); return false; }
   	validateNPass(obj.npassword)
	if (!npassFlg) { obj.npassword.focus(); return false; }
	validateEmail(obj.email)
	if (!mailFlg) { obj.email.focus(); return false; }
	validateCode(obj.code)
	if (!codeFlg) { obj.code.focus(); return false; }
	return true;
}