//passport:ctl_register:index的JavaScript文件

function init()
{
	var allTags=document.getElementsByTagName("*");
	for (var i=0;i<allTags.length;i++)
	{
		if (allTags[i].nodeName=="INPUT")
		{
			allTags[i].onfocus=showHint;
			allTags[i].onblur=hideHint;
			allTags[i].onkeyup=validate_input;
		}
		else if (allTags[i].id.indexOf("_valid")>-1)
		{
			allTags[i].style.display="none";
		}
	}
	document.getElementById("protocol").onclick=click_protocol;
	document.getElementById("register_form").onsubmit=validate_form;
	document.getElementById("seccode").onkeyup=validateSecCode;
	setSecImage();
	var error_msg=document.getElementById("error_msg");
	if((error_msg!=null) && (error_msg.innerHTML!='')) alert(error_msg.innerHTML);
}

function setSecImage()
{
	document.getElementById("secImage").src="check_code.php?"+Math.random();
}

var oldValue;
function validateSecCode()
{
	var secCode=document.getElementById("seccode");
	if (secCode.value.length!=4 || secCode.value==oldValue) return ;
	oldValue=secCode.value;
	QuakeAjax.post("passport:ctl_register:verify_seccode",secCode.value,_validateSecCode);
}

function _validateSecCode(data)
{
	$("#seccode_valid").show();
	if (data.indexOf("y")!=-1)
	{
		$("#seccode_valid").attr("src", "passport/image/seccode_right.gif");
	}
	else
	{
		$("#seccode_valid").attr("src", "passport/image/seccode_error.gif");
	}
}

function showHint()
{
   //alert("ok");
	var tagID=this.id;
	var input_e=document.getElementById(tagID);
	var tip_e=document.getElementById(tagID+"_tip");
	if(tip_e==null || input_e.value!="") return;
	switch(tagID)
	{
		case "user_name":
			tip_e.innerHTML="账号以字母开头，长度6~20位";
			break;
		case "password":
			tip_e.innerHTML="6-20位数字或字母组成的密码";
			break;
		case "password2":
			tip_e.innerHTML="请重输上面的密码";
			break;
		case "nick_name":
			tip_e.innerHTML="请填写您的昵称，昵称将显示在游戏里";
			break;
		/*case "true_name":
			tip_e.innerHTML="请填写您的真实姓名，以保障您的用户权益。";
			break;
		case "id_card":
			tip_e.innerHTML="身份证是您账号所有权的唯一凭证。";
			break;*/
		case "email":
			tip_e.innerHTML="邮箱可以取回密码和抽取奖品";
			break;
	}
	tip_e.style.display="";//"inline";
}

function hideHint()
{
	var tagID=this.id;
	var input_e=document.getElementById(tagID);
	var tip_e=document.getElementById(tagID+"_tip");
	var img_e=document.getElementById(tagID+"_valid");
	var verified;
	if(tip_e==null) return;
	
	if (tagID=="user_name" && input_e.value!="")
		QuakeAjax.post("passport:ctl_register:verify_user_name",input_e.value,_validateUserName);
	else if(tagID=="nick_name")
		QuakeAjax.post("passport:ctl_register:verify_nick_name",input_e.value,_validateNickName);
	else if(tagID=="password2")
	{
		verified=verify_password2(document.getElementById("password").value,input_e.value);
		if (verified>0)
		{
			tip_e.innerHTML="<font color='orange'>两次输入的密码不同</font>";
			if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
		}
		else
		{
			tip_e.innerHTML="两次输入的密码一致";
			if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
		}
	}
		
	/*if (input_e.value=="")
	{
		tip_e.style.display="none";
		if (img_e!=null) img_e.style.display="none";
	}*/
}

function validate_input()
{
	var tagID=this.id;
	var input_e=document.getElementById(tagID);
	var tip_e=document.getElementById(tagID+"_tip");
	var img_e=document.getElementById(tagID+"_valid");
	var verified;
	if(tip_e==null) return;
	switch(tagID)
	{
		case "user_name":
			verified=verify_user_name(input_e.value);
			if (verified>0)
			{
				tip_e.innerHTML="<font color='orange'>账号必须字母开头长度6~20</font>";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else
			{
				tip_e.innerHTML="<font color='orange'>账号以字母开头，长度6~20位</font>";
				if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
			}
			break;
		case "password":
			verified=verify_password(input_e.value);
			if (verified==3)
			{
				tip_e.innerHTML="<font color='orange'>密码不能和用户名相同</font>";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else if (verified>0)
			{
				tip_e.innerHTML="<font color='orange'>密码必须6-20位数字或字母</font>";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else
			{
				tip_e.innerHTML="6-20位数字或字母组成的密码";
				if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
			}
			break;
		case "password2":
			verified=verify_password2(document.getElementById("password").value,input_e.value);
			if (verified>0)
			{
				tip_e.innerHTML="<font color='orange'>两次输入的密码不同</font>";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else
			{
				tip_e.innerHTML="两次输入的密码一致";
				if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
			}
			break;
		case "nick_name":
			verified=verify_nick_name(input_e.value);
			if (verified>0)
			{
				tip_e.innerHTML="昵称长度不对";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else
			{
				tip_e.innerHTML="请填写昵称，昵称将显示在游戏里";
				if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
			}
			break;
		/*case "true_name":
			verified=verify_true_name(input_e.value);
			if (verified>0)
			{
				tip_e.innerHTML="真实姓名格式不正确，请重新填写。";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else
			{
				tip_e.innerHTML="请填写您的真实姓名，以保障您的用户权益。";
				if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
			}
			break;
		case "id_card":
			verified=verify_id_card(input_e.value);
			if (verified>0)
			{
				tip_e.innerHTML="您的身份证格式不正确，请重新填写。";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else
			{
				tip_e.innerHTML="身份证是您账号所有权的唯一凭证。";
				if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
			}
			break;*/
		case "email":
			verified=verify_email(input_e.value);
			if (verified>0)
			{
				tip_e.innerHTML="<font color='orange'>邮箱格式不正确</font>";
				if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
			}
			else
			{
				tip_e.innerHTML="<font color='orange'>邮箱可以取回密码和抽取奖品</font>";
				if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
			}
			break;
	}
	if (img_e!=null) img_e.style.display="";
}

function click_protocol()
{
	var submit_register=document.getElementById("submit_register");
	if(null!=submit_register)
	{
		if(this.checked)
		{
			submit_register.disabled=false;
			submit_register.className='submit';
		}
		else
		{
			submit_register.disabled=true;
			submit_register.className='cancel';
		}
	}
}

function verify_email(value)
{
	/*if (value.length<7 || !value.match(/^[\w\-\.]+@[\w\-]+(\.\w+)+$/))
		return 1;*/
	return 0;
}
/*
function verify_id_card(value)
{
	if (value.match(/^[0-9]{15}$/) || value.match(/^[0-9]{17}[0-9xX]$/))
		return 0;

	return 1;
}

function verify_true_name(value)
{
	if (value.length<2 || value.length>10)
		return 1;
	return 0;
}
*/
function verify_nick_name(value)
{
	//if (value.length<2 || value.length>20)
	//	return 1;
	return 0;
}

function verify_password(value)
{
	if (value.length<6 || value.length>20)
		return 1;
	if (!value.match(/^[A-Za-z0-9]+$/))
		return 2;
	var user_name=document.getElementById('user_name');
	if (value==user_name.value)
		return 3;
	
	return 0;
}

function verify_password2(value1,value2)
{
	if (value1!=value2)
		return 3;
		
	return 0;
}

function verify_user_name(value)
{
	if (value.length<6 || value.length>20)
		return 1;
	if (!value.match(/^[A-Za-z]\w+$/))
		return 2;
	return 0;
}

function _validateUserName(data)
{
	var tagID="user_name";
	var tip_e=document.getElementById(tagID+"_tip");
	var img_e=document.getElementById(tagID+"_valid");
	
	if (data=="3")
	{
		tip_e.innerHTML="<font color='orange'>该账号已被注册，请重新填写</font>";
		if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
	}
	else if (data!="0")
	{
		tip_e.innerHTML="<font color='orange'>账号错误,字母开头长度6~20</font>";
		if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
	}
	else
	{
		tip_e.innerHTML="<font color='orange'>账号以字母开头，长度6~20位</font>";
		if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
	}
}

function _validateNickName(data)
{
	var tagID="nick_name";
	var tip_e=document.getElementById(tagID+"_tip");
	var img_e=document.getElementById(tagID+"_valid");
	
	if (data=="3")
	{
		tip_e.innerHTML="该昵称已被使用，请重新填写";
		if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
	}
	else if (data!="0")
	{
		tip_e.innerHTML="昵称长度不对";
		if (img_e!=null) img_e.src="passport/image/seccode_error.gif";
	}
	else
	{
		tip_e.innerHTML="请填写昵称，昵称将显示在游戏里";
		if (img_e!=null) img_e.src="passport/image/seccode_right.gif";
	}
}

function validate_form()
{
	var allTags=document.getElementsByTagName("*");
	var input_e;
	for (var i=0;i<allTags.length;i++)
	{
		if (allTags[i].nodeName=="INPUT")
		{
			switch (allTags[i].id)
			{
				case "user_name":
					if (verify_user_name(allTags[i].value)>0)
					{
						allTags[i].focus();
						alert("账号请以字母开头，长度6~20位。可以包含数字、字母(不分大小写)或下划线。");
						return false;
					}
					break;
				case "password":
					if (verify_password(allTags[i].value)>0)
					{
						allTags[i].focus();
						alert("密码格式不对，请填入6-20位数字或字母组成的密码，且不能和用户名相同。");
						return false;
					}
					break;
				case "password2":
					break;
				/*case "nick_name":
					if (verify_nick_name(allTags[i].value)>0)
					{
						allTags[i].focus();
						alert("昵称长度不对，请重新填写。");
						return false;
					}
					break;
				case "true_name":
					if (verify_true_name(allTags[i].value)>0)
					{
						allTags[i].focus();
						alert("真实姓名格式不正确，请重新填写。");
						return false;
					}
					break;
				case "id_card":
					if (verify_id_card(allTags[i].value)>0)
					{
						allTags[i].focus();
						alert("您的身份证格式不正确，请重新填写。");
						return false;
					}
					break;*/
				case "email":
					if (verify_email(allTags[i].value)>0)
					{
						allTags[i].focus();
						alert("您的邮箱地址不正确，请重新填写。");
						return false;
					}
					break;
			}
		}
	}
	return true;
}

function submit_register()
{
	$('#password2').val($('#password').val());
	if (validate_form())
	{
		document.register_form.submit();
	}
}


//检查按enter
function ctlent(evn)
{
	var e=evn?evn:window.event;
	if(e.keyCode==13)
	{
       document.register_form.submit();
	}
	return true;
}


