	var method;

	function uidcheck()
	{
		
		var uid = document.forms[0].runupid.value;
		if (uid.length<6 || uid.length>16)
		{
			return false;
		}
		/*
		else
		{
			var uidPat="^([a-z]){1}([a-z0-9]{5,15})$";
			var matchArray=uid.match(uidPat);
			if (matchArray == null)
			{
				return false;
			}
			else
			{
				return true;
			}
		}*/
	}
	function loadXMLDoc(url, postStr)
	{
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange;
			if (postStr != null && postStr != ""){
				req.open("POST", url, true);
				req.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
				req.send(postStr);
			}
			else{
				req.open("GET", url, true);
				req.send(null);
			}
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange;
				if (postStr != null && postStr != ""){
					req.open("POST", url, true);
					req.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
					req.send(postStr);
				}
				else{
					req.open("GET", url, true);
					req.send();
				}
			}
		}
	}
	function processReqChange()
	{
		if (req.readyState == 4) {
			if (req.status == 200) {
				result	=	req.responseText;
				eval(method + '(result)');
			} else {
				alert("Data get error！:\n" + req.statusText);
			}
		}
	}
	function isExistedUid(response)
	{
		var uid=document.forms[0].runupid;
		var message = document.getElementById('uidresult');
		if (uid.value == '')
		{
			message.innerHTML = '<div class="errmsg">Please fill in member account</div>';
		}
		else if (uidcheck() == false)
		{
			message.innerHTML = '<div class="errmsg">Please check your format.</div>';
		}
		else
		{
			if (response != '')
			{
				if (response == -2)
				{
					message.innerHTML = '<div class="errmsg"></div>';
				}
				else
				{
					message.innerHTML = '<div class="errmsg">Sorry! "'+uid.value+'" is unavailable!</div>';
					uid.focus();
				}
			}
			else
			{
				url  = 'checkuid.php?username=' + uid.value;
				method	=	'isExistedUid';
				loadXMLDoc(url);
			}
		}
	}

	function checkIfToBeLimited(response){
		var realname = document.getElementById('realname');
		var idnum = document.getElementById('idno');
		var isadult = document.getElementsByName('isadult');
		var sex = document.getElementsByName('gender');

		if (sex[0].checked) gender	=	'm';
		else gender	=	'f';

		var message = document.getElementById('id_msg');

		if(isadult[0].checked)
		{
			document.getElementById('idnodiv').style.display	=	'';
			if (idnum.value != "" && realname.value != ""){
				if (response != '')
				{
					if (response == 1)
					{
						message.innerHTML = '';
					}
					else
					{
						switch (parseInt(response)){
							case 2:
								notice = 'Your ID No. has been used';
								break;
							case -1:
								notice = '您是未成年人，将被纳入网络游戏防沉迷系统，您确认继续？';
								break;
							case -2:
								notice = 'Please input ID No.';
								break;
							case -3:
								notice = 'Input error of the real name';
								break;
							case -4:
								notice = 'Input error of the ID No.';
								break;
							case -5:
								notice = 'Incompleted ID information';
								break;

							default:
								notice = 'Incorrect ID No.!';
								break;

						}
						message.innerHTML = '<div class="errmsg">'+notice+'</div>';
					}
				}
				else
				{
					url		= 'checkuid.php?realname=' + realname.value + '&sex=' + gender + '&idcard='+idnum.value;
					method	=	'checkIfToBeLimited';
					loadXMLDoc(url);
				}
			}
			else{
				message.innerHTML = '<div class="errmsg">Incomplete ID information, can not finish the registration!</div>';
			}
		}
		else{
			message.innerHTML = '';
			document.getElementById('idnodiv').style.display	=	'none';
		}
	}

	function selectQuestion(qid){
		var ct	=	document.getElementById("customques");
		if (qid == '-1'){
			ct.style.display	=	"";
		}
		else{
			ct.style.display	=	"none";
		}
	}

	function selectExtends(oj){
		if (oj.checked){
			document.getElementById("extend_div").style.display	=	"";
		}
		else{
			document.getElementById("extend_div").style.display	=	"none";
		}
	}

	function checkChar(cN){
		if (cN >= 48 && cN <= 57) //数字
			return 1;
		if (cN >= 97 && cN <= 122) //小写字母
			return 2;
		if (cN == 95)
			return 4; //_
		else
			return 0;
	}

	function countType(num){
		type	=	0;
		for (i=0; i<4; i++){
			if (num & 1) type++;
			num>>>=1;
		}
		return type;
	}

	function getPwdLevel(pwd){
		var Regex	=	"^([a-zA-Z0-9]{6,16})$";
		var t	=	pwd.match(Regex);
		if (t == null)
			return 0;	//

		level	=	0;
		for (i=0; i<pwd.length; i++){
			level	|=	checkChar(pwd.charCodeAt(i));
		}
		return countType(level);
	}
	function checkAZ(pass) {
		start	=	pass.charAt(0);
		end		=	pass.charAt(pass.length-1);
		var Regex	=	"^([a-zA-Z])$";
		var t1	=	start.match(Regex);
		//var t2	=	end.match(Regex);
		if (t1 == null) {
			return true;
		}else{
			return false;
		}
	}
	function checkPwdValid(pwd){
		var msg	=	document.getElementById("pwd_msg");

		if (pwd==null || pwd==''){
			msg.innerHTML = '<div class="errmsg">Please input the password of member account</div>';
			//document.getElementById('showmsg').innerHTML	=	"";//<img src=\"../themes/en/images/pwdstrength_1.gif\" /> " + " Illegal";
		}
		else if (pwd == document.getElementById("runupid").value){
			msg.innerHTML = '<div class="errmsg">Password should be different from the account</div>';
			//document.getElementById('showmsg').innerHTML	=	"<img src=\"../themes/en/images/pwdstrength_1.gif\" /> " + "不合要求";
		//}else if(checkAZ(pwd)) {
		//	msg.innerHTML = '<div class="errmsg">Please check your format.</div>';
		}else{
			var r_level	=	getPwdLevel(pwd);
			var showmsg	=	"";

			if (r_level == 3){
				if (pwd.length < 12)
					r_level	=	2;
			}

			switch(r_level){
				case 1:
					showmsg	=	"<img src=\"../themes/en/images/pwdstrength_2.gif\" /> " + "Unsafe";
					break;
				case 2:
					showmsg	=	"<img src=\"../themes/en/images/pwdstrength_3.gif\" /> " + "Medium";
					break;
				case 3:
					showmsg	=	"<img src=\"../themes/en/images/pwdstrength_4.gif\" /> " + "Safe";
					break;
				default:
					msg.innerHTML = '<div class="errmsg">Please check your format.</div>';
					//document.getElementById('showmsg').innerHTML	=	"";//"<img src=\"../themes/en/images/pwdstrength_1.gif\" /> " + " Illegal";
					return;
					break;
			}

			checkPwdCfm(document.getElementById("passwordcfm").value);
			//document.getElementById('showmsg').innerHTML = showmsg;
			msg.innerHTML	=	"<div class=\"errmsg\">"+showmsg+"</div>";
		}
	}

	function checkPwdCfm(pwdcfm){
		var msg	=	document.getElementById("pwdcfm_msg");

		if (pwdcfm==null || pwdcfm==''){
			msg.innerHTML	=	'<div class="errmsg">Please input password confirmation</div>';
		}
		else if (pwdcfm != document.getElementById("password").value){
			msg.innerHTML	=	'<div class="errmsg">The passwords do not match</div>';
		}
		else{
			msg.innerHTML	=	"";
		}
	}

	function checkSecPassword(secpwd){
		var Regex	=	"^([a-zA-Z0-9]{6,16})$";
		var msg		=	document.getElementById("secpass_msg");
		var t	=	secpwd.match(Regex);
		if (secpwd==null || secpwd==""){
			msg.innerHTML	=	"<div class=\"errmsg\">Please input secondary password</div>";
		}
		else if (t == null){
			msg.innerHTML	=	"<div class=\"errmsg\">Secondary password should be only consist of 6-16 characters,a-z,A-Z,0~9.</div>";
		}
		else if (secpwd == document.getElementById("runupid").value){
			msg.innerHTML	=	"<div class=\"errmsg\">Secondary password shoule be different from the account</div>";
		}
		else{
			msg.innerHTML	=	"";
			checkSecPassCfm(document.getElementById("safepasscfm").value);
		}
	}

	function checkSecPassCfm(secpwdcfm){
		var msg	=	document.getElementById("secpasscfm_msg");

		if (secpwdcfm==null || secpwdcfm==''){
			msg.innerHTML	=	'<div class="errmsg">Please re-input the secondary password</div>';
		}
		else if (secpwdcfm != document.getElementById("safepass").value){
			msg.innerHTML	=	'<div class="errmsg">The passwords do not match</div>';
		}
		else{
			msg.innerHTML	=	"";
		}
	}
/*
	function checkEmail(email){
		var msg	=	document.getElementById("email_msg");
		var mail_format = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

		if (email == null || email == ""){
			msg.innerHTML	=	'<div class="errmsg">Please input Email</div>';
		}
		else if (!mail_format.test(email)){
			msg.innerHTML	=	'<div class="errmsg">Please input valid Email</div>';
		}
		else{
			msg.innerHTML	=	"<div class=\"errmsg\"></div>";
		}
		
		//checkEmailCfm(document.getElementById("email_cfm").value);
	}
*/
	function checkEmail(response)
	{
		var email	=	document.forms[0].email;
		var msg		=	document.getElementById("email_msg");
		var mail_format = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

		if (email.value == null || email.value == ""){
			msg.innerHTML	=	'<div class="errmsg">Please input Email</div>';
		}
		else if (!mail_format.test(email.value)){
			msg.innerHTML	=	'<div class="errmsg">Please input valid Email</div>';
		}
		else
		{
			if (response != '')
			{
				
				if (response == -2)
				{
					msg.innerHTML = '<div class="errmsg"></div>';
				}
				else
				{
					msg.innerHTML = '<div class="errmsg">Sorry! "'+email.value+'" is unavailable!</div>';
					email.focus();
				}
			}
			else
			{
				url		=	'checkemail.php?email=' + email.value;
				method	=	'checkEmail';
				loadXMLDoc(url);
			}
		}
	}

	function checkEmailCfm(email_cfm){
		var msg	=	document.getElementById("email_cfm_msg");

		if (email_cfm==null || email_cfm==''){
			msg.innerHTML	=	'<div class="errmsg">Please re-input Email</div>';
		}
		else if (email_cfm != document.getElementById("email").value){
			msg.innerHTML	=	'<div class="errmsg">The emails do not match</div>';
		}
		else{
			msg.innerHTML	=	"";
		}
	}


	function len(str) {
	    var i,sum;
	     sum=0;
	     for(i=0;i<str.length;i++)
	     {
	         if ((str.charCodeAt(i)>=0) && (str.charCodeAt(i)<=255))
	             sum=sum+1;
	         else
	             sum=sum+3;
	     }
	     return sum;
	}

	function checkVcode(response)
	{
		var regcode		=	document.forms[0].regcode;
		var message =	document.getElementById('code_msg');
		if (regcode.value == '')
		{
			message.innerHTML = '<div class="errmsg">Input Mismatched.</div>';
		}
		/*else
		{
			if (response != '')
			{
				if (response == -2)
				{
					message.innerHTML = '<div class="errmsg"></div>';
				}
				else
				{
					message.innerHTML = '<div class="errmsg">Input Mismatched.</div>';
				}
			}
			else
			{
				url  = 'checkVcode.php?regcode=' + regcode.value +"&seed="+new Date().getTime();
				method	=	'checkVcode';
				loadXMLDoc(url);
			}
		}*/
	}

	function checkValidCode(response){
		var msg1	=	document.getElementById("validcode_msg");
		var msg2	=	document.getElementById("validcode_cfm_msg");
		var v1	=	document.getElementById("validcode").value;
		var v2	=	document.getElementById("validcode_cfm").value;

		v1_length	=	len(v1);

		if (v1==null || v1==""){
			msg1.innerHTML	=	'<div class="errmsg">Please input super ID.</div>';
		}
		else if (v1_length < 6 || v1_length > 30){
			msg1.innerHTML	=	'<div class="errmsg">Super ID. only can be consist of 6-30 characters.超级身份验证码长度只可使用6~30位长度的中英文或者数字[一个中文为三位]</div>';
		}
		else{
			if (response != '')
			{

				if (parseInt(response) != -1)
				{
					msg1.innerHTML = '';

					if (v2==null || v2==""){
						msg2.innerHTML	=	'<div class="errmsg">Please re-input ID</div>';
					}
					else if (v1 != v2){
						msg2.innerHTML	=	'<div class="errmsg">The IDs do not match</div>';
					}
					else{
						msg2.innerHTML	=	"";
					}
				}
				else
				{
					//msg1.innerHTML = '<div class="errmsg">超级身份验证码只可使用6~30位长度的中英文或者数字[一个中文为三位] benero</div>';
				}
			}
			else
			{
				url  = 'checkuid.php?vcode=' + v1;
				method	=	'checkValidCode';
				loadXMLDoc(url);
			}
		}
	}
	
	var checkPost = function() {
		var uid = document.getElementById("runupid");
		var password = document.getElementById("password");
		var passwordcfm = document.getElementById("passwordcfm");
		
		var email = document.getElementById("email");
		var regcode = document.getElementById("regcode");
		var agree	=	document.getElementById("agree");
		var mail_format = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
		//var agree = document.getElementById("agree");
		if (uid.value == ''){
			uid.select();
			return false;
		}
		
		if (password.value == ''){
			password.select();
			return false;
		}
		
		//if(checkAZ(password.value)) {
		//	password.select();
		//	return false;		
		//}
		if (passwordcfm.value == ''){
			passwordcfm.select();
			return false;
		}
		
		if (password.value != passwordcfm.value){
			passwordcfm.select();
			return false;
		}
		
		if (email.value == ''){
			email.select();
			return false;
		}
		if (!mail_format.test(email.value)){
			email.select();
			return false;
		}
		if (regcode.value == ''){
			regcode.select();
			return false;
		}
		if(agree.checked == false) {
			alert('Agreed is not checked');
			return false;
		}
		
		

		
		/*
		var uid = document.getElementById("runupid");
		if (runupid.value){
			url  = 'checkuid.php?username=' + uid.value;
			method	=	'test';
			loadXMLDoc(url);
			//return false;
		}else{
			alert('test1');
			return false;
		}
		*/
		//$("runupid").focus();
	}
	
	/*
	var test = function(response){
		var uid = document.getElementById("runupid");
		var message = document.getElementById('uidresult');
		
		if (response == -2)
		{
			message.innerHTML = '<div class="errmsg"></div>';
		}
		else
		{
			message.innerHTML = '<div class="errmsg">Sorry! "'+uid.value+'" is unavailable!.</div>';
			return false;
		}
	}
	*/