/** 第一步 填写注册信息 */
function G(item){return document.getElementById(item);}
var totalCount=0;/**累加正确信息值，根据此提交*/
var c1=0;/**email*/
var c2=0;/**nickname*/
var c3=0;/**psw1*/
var c4=0;/**psw2*/
var c5=0;/**imgcode*/
var registerXmlHttp = false;/**Ajax Request*/
/**判断文本框值是否为空*/
function chd(op){if(null == op || "" == op || op.length == 0){return false;}return true;}
/**去空格*/
function T(str){var s = str.replace(/(^\s*)|(\s*$)/g, "");return s;}
/**判断是否是空格*/
function K(op){var s = /\s/;if(s.test(op)){return true;}else{return false;}}
/**判断中文*/
function isChinese(str){
	var lst = /[\u4e00-\u9fa5]/;// 中文
	if(lst.test(str))
		return true;
	else
		return false;
}
/**判断字符首尾是否包含下划线 _ */
function isLine(op){
	var pl = op.length - 1;
	var i1 = op.indexOf("_", 0);
	var i2 = op.indexOf("_", pl);
	if(i1 == 0 || i1 == pl || i2 != -1){return false;}
	return true;
}
/**验证特殊字符*/
var LS = "";
function chkLaw(op){
	LS = "";
	var reN = 0;
	var law = new Array(" ","~","`","!","@","#","$","%","^","&","*","(",")","-","+","=","[","]","{","}","|","'",";",":","<",",",">",".","?","/","‘","’");
	for(var i = 0; i < op.length; i++){
		var p = op.charAt(i);
		for(var j=0; j<law.length; j++){
			if(p == law[j]){
				if(reN > 0){LS += "，";}
				LS += law[j];
				reN += 1;
			}
		}
	}
	return reN;
}
/** 同名邮箱跳转到登录页面 */
function toLogin(){var email = G("ipt_email").value;var url = "users/regToLogin.action?email=" + email;window.open(url);}
/** 隐藏、显示指定元素 */
function hideshow(obj){if(null==obj||obj.length==0){return;}for(var i = 0; i < obj.length; i++){if(G(obj[i]).style.display=="block"){G(obj[i]).style.display="none";}}}
/** 验证email */
function checkEmail(op){
	var email = T(op);
	if(chd(email)){
		G("ipt_email").value=email;
		var s = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		if(s.test(email)){
			isOnlyEmail(email);
		}else{
			G("ipt_email").className="inputs2";
			G("dd_1_1").style.display="none";
			G("dd_1_3").style.display="none";
			G("dd_1_2").style.display="block";
			G("dd_1_2").innerHTML="请输入正确格式的邮箱";
			c1 = 0;
		}
	}else{
		G("ipt_email").className="inputs";
		hideshow(["dd_1_1","dd_1_3","dd_1_2"]);
		G("LI_1").className="";
		c1 = 0;
	}
}
/** Ajax验证用户Email是否唯一 */
function isOnlyEmail(email){
	registerXmlHttp = createXMLHTTP();
	var sParams = "";
	sParams = addURLParamPost(sParams, "email", email);
	registerXmlHttp.open("POST", "users/isEmailByAjax.action", true);
	registerXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	registerXmlHttp.onreadystatechange = backEmailCheck;
	registerXmlHttp.send(sParams);
}
function backEmailCheck(){
	if (registerXmlHttp.readyState == 4){
		if (registerXmlHttp.status == 200){
			var resxml = registerXmlHttp.responseText;
			if("success" == resxml){
				G("ipt_email").className="inputs";
				G("dd_1_1").style.display="none";
				G("dd_1_2").style.display="none";
				G("dd_1_3").style.display="block";
				c1 = 1;
			}else if("exist" == resxml){
				G("ipt_email").className="inputs2";
				G("dd_1_1").style.display="none";
				G("dd_1_3").style.display="none";
				G("dd_1_2").style.display="block";
				G("dd_1_2").innerHTML="该邮箱已被注册，请换用其他邮箱或使用该邮箱<a href=\"javascript:toLogin();\" class=\"fblue\">登录</a>";
				c1 = 0;
			}else{
				G("ipt_email").className="inputs";
				G("dd_1_1").style.display="none";
				G("dd_1_3").style.display="none";
				G("dd_1_2").style.display="none";
			}
		}
	}
}
/**验证昵称是否唯一*/
function isNickName(name){
	registerXmlHttp = createXMLHTTP();
	var sParams = "";
	sParams = addURLParamPost(sParams, "reg_nickName", name);
	registerXmlHttp.open("POST", "users/checkNickName.action", true);
	registerXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	registerXmlHttp.onreadystatechange = backNickName;
	registerXmlHttp.send(sParams);
}
function backNickName(){
	if (registerXmlHttp.readyState == 4){
		if (registerXmlHttp.status == 200){
			var resxml = registerXmlHttp.responseText;
			if("success" == resxml){
				G("ipt_nickname").className="inputs";
				G("dd_2_3").style.display="block";
				G("dd_2_1").style.display="none";
				G("dd_2_2").style.display="none";
				c2 = 1;
			}else if("exist" == resxml){
				G("ipt_nickname").className="inputs2";
				G("dd_2_1").style.display="none";
				G("dd_2_3").style.display="none";
				G("dd_2_2").style.display="block";
				G("dd_2_2").innerHTML="该昵称已被使用，请重新输入";
				c2 = 0;
			}else{
				G("ipt_nickname").className="inputs";
				G("dd_2_1").style.display="none";
				G("dd_2_3").style.display="none";
				G("dd_2_2").style.display="none";
			}
		}
	}
}
/**验证昵称*/
function checkNickName(op){
	var name = T(op);
	if(chd(name)){
		G("ipt_nickname").value=name;
		var len = 0;
		for(var i=0; i<name.length; i++){
			var vl = name.charAt(i);
			if(!K(vl)){
				if(isChinese(vl))
					len+=2;
				else
					len+=1;
			}
		}
		if(len >= 4 && len <= 12){
			G("ipt_nickname").className="inputs2";
			G("dd_2_1").style.display="none";
			G("dd_2_3").style.display="none";
			G("dd_2_2").style.display="block";
			var num = /^\d+$/;
			if(num.test(name)){
				G("dd_2_2").innerHTML="昵称不能全为数字";
				c2 = 0;
				return;
			}
			var res = chkLaw(name);
			if(res > 0){
				G("dd_2_2").innerHTML="该昵称包含非法字符：" + LS + "，请重新输入";
				c2 = 0;
				return;
			}
			if(!isLine(name)){
				G("dd_2_2").innerHTML="昵称首位和末位不能是“_”";
				c2 = 0;
				return;
			}
			isNickName(name);
		}else{
			G("ipt_nickname").className="inputs2";
			G("dd_2_1").style.display="none";
			G("dd_2_3").style.display="none";
			G("dd_2_2").style.display="block";
			G("dd_2_2").innerHTML="昵称由4-12个中英文字符组成";
			c2 = 0;
		}
	}else{
		G("ipt_nickname").className="inputs";
		hideshow(["dd_2_1","dd_2_3","dd_2_2"]);
		G("LI_2").className="";
		c2 = 0;
	}
}
/**计算昵称已输入字符数*/
function countChar(obj){
	G("label_WDS").style.display="block";
	var val = obj.value;
	var mxl = 12;
	var cur = 0;
	for(var i=0; i<val.length; i++){
		var vl = val.charAt(i);
		if(!K(vl)){
			if(isChinese(vl))
				cur+=2;
			else
				cur+=1;
		}
	}
	G("nklenth").innerHTML = cur;
	var nkl = G("nklenth").innerHTML;
	if(nkl < 0){
		var tmp = 0;
		var cut = obj.value.substring(0, mxl);
		for(var i=0; i<cut.length; i++){
			tmp += /[\u4E00-\u9FA5\uF900-\uFA2D]/.test(cut.charAt(i)) ? 2 : 1;
			if(tmp > mxl){break;}
		}	
		obj.value = cut.substring(0, i);
	}else if(nkl == 0){
		G("label_WDS").style.display="none";
	}
}
/**验证第一次输入的登录密码*/
function checkRepass(op){
	if(chd(op)){
		var len = op.length;
		if(len < 6 || len > 16){
			G("ipt_repassword").className="inputs2";
			G("dd_3_1").style.display="none";
			G("dd_3_3").style.display="none";
			G("dd_3_2").style.display="block";
			G("dd_3_2").innerHTML="密码由6-16个字符组成";
			c3 = 0;
		}else{
			G("ipt_repassword").className="inputs";
			G("dd_3_1").style.display="none";
			G("dd_3_2").style.display="none";
			G("dd_3_3").style.display="block";
			c3 = 1;
			var p2 = G("ipt_password").value;
			if(p2.length > 0){
				checkPassword(p2);
				return;
			}
		}
	}else{
		G("ipt_repassword").className="inputs";
		hideshow(["dd_3_1","dd_3_2","dd_3_3"]);
		G("LI_3").className="";
		c3 = 0;
	}
}
/**验证第二次输入的密码*/
function checkPassword(op){
	var rp = G("ipt_repassword").value;
	if(chd(op)){
		if(rp != op){
			G("ipt_password").className="inputs2";
			G("dd_4_1").style.display="none";
			G("dd_4_3").style.display="none";
			G("dd_4_2").style.display="block";
			G("dd_4_2").innerHTML="两次密码不匹配";
			c4 = 0;
		}else{
			G("ipt_password").className="inputs";
			G("dd_4_1").style.display="none";
			G("dd_4_2").style.display="none";
			G("dd_4_3").style.display="block";
			c4 = 1;
		}
	}else{
		G("ipt_password").className="inputs";
		hideshow(["dd_4_1","dd_4_2","dd_4_3"]);
		G("LI_4").className="";
		c4 = 0;
	}
}
/**验证服务器端的验证与用户输入是否一致*/
function isImgCode(code){ 
	registerXmlHttp = createXMLHTTP();
	var sParams = "";
	sParams = addURLParamPost(sParams, "imgCode", code);
	registerXmlHttp.open('POST','users/codeByAjax.action',true);
	registerXmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	registerXmlHttp.onreadystatechange = backImgCode;
	registerXmlHttp.send(sParams);
}
function backImgCode(){
	if(registerXmlHttp.readyState == 4){
		if(registerXmlHttp.status == 200){
			var resxml = registerXmlHttp.responseText;
			if("success" == resxml){
				G("validateCode").className="inputs";
				G("dd_code_message").style.display="none";
				G("dd_code_message").innerHTML="";
				G("dd_code_right").style.display="block";
				c5 = 1;
			}else if("error" == resxml){
				G("validateCode").className="inputs2";
				G("dd_code_right").style.display="none";
				G("dd_code_message").style.display="block";
				G("dd_code_message").innerHTML="验证码错误，请重新输入";
				c5 = 0;
			}else{
				G("validateCode").className="inputs";
				G("dd_code_message").style.display="none";
				G("dd_code_message").innerHTML="";
				G("dd_code_right").style.display="none";
			}
		}
	}
}
/**检查验证码*/
function checkImgCode(op){
	var code = T(op);
	if(chd(code)){
		if(code.length == 4){
			isImgCode(code);
		}else{
			G("validateCode").className="inputs2";
			G("dd_code_right").style.display="none";
			G("dd_code_message").style.display="block";
			G("dd_code_message").innerHTML="请输入4位验证码";
			c5 = 0;
		}
	}else{
		G("validateCode").className="inputs";
		G("dd_code_right").style.display="none";
		G("dd_code_message").style.display="none";
		c5 = 0;
	}
}
/**点击按钮，提交表单数据*/
function formSubmit(){
	totalCount = c1+c2+c3+c4+c5;
	if(totalCount == 5){
		return true;
	}else{
		if(c1 != 1){
			G("ipt_email").focus();
			return false;
		}else if(c2 != 1){
			G("ipt_nickname").focus();
			return false;
		}else if(c3 != 1){
			G("ipt_repassword").focus();
			return false;
		}else if(c4 != 1){
			G("ipt_password").focus();
			return false;
		}else if(c5 != 1){
			G("validateCode").focus();
			return false;
		}
		return true;
	}
}
