var Reg_Err = new Array();
Reg_Err[0] = "请输入登录名";
Reg_Err[1] = "登录名不合法";
Reg_Err[2] = "登录名已被使用";
Reg_Err[3] = "请输入密码";
Reg_Err[4] = "您输入的密码不合法";
Reg_Err[5] = "请重复输入密码";
Reg_Err[6] = "两次密码输入不一致";
Reg_Err[7] = "请选择安全问题";
Reg_Err[8] = "请输入安全答案";
Reg_Err[9] = "您的答案输入不合法";
Reg_Err[10] = "请输入电子邮件地址";
Reg_Err[11] = "电子邮件地址输入不合法";
Reg_Err[12] = "检测中，请稍后...";
Reg_Err[13] = "请输入正确的手机号码";

var Reg_Ask = new Array(
	language.RegAsk0,
	language.RegAsk1,
	language.RegAsk2,
	language.RegAsk3,
	language.RegAsk4,
	language.RegAsk5,
	language.RegAsk6,
	language.RegAsk7,
	language.RegAsk8,
	language.RegAsk9
);

var Reg_Check = {
	"username" : 0,
	"password" : 0,
	"repassword" : 0,
	"safeask" : 0,
	"safeanswer" : 0,
	"email" : 0,
	"mobile" : 0
};

function GetRegErr(inti){
	return Reg_Err[inti];
}

function checkall(){
	if($empty("username")){$Red("username", GetRegErr(0));}
	if($empty("password")){$Red("password", GetRegErr(3));}
	if($empty("repassword")){$Red("repassword", GetRegErr(5));}
	if($empty("safeask")){$Red("safeask", GetRegErr(7));}
	if($empty("safeanswer")){$Red("safeanswer", GetRegErr(8));}
	if($empty("email")){$Red("email", GetRegErr(10));}
	if($empty("mobile")){$Red("mobile", GetRegErr(13));}
}

///Select Ask

function setask(inti){
	$("Asks").style.display = 'none';
	$("selectAsk").innerHTML = Reg_Ask[inti];
	$("safeask").value = inti;
	$Green("safeask");
	Reg_Check.safeask = 1;
}
function init(){
	var sa = $("selectAsk");
	var as = $("Asks");
	var st = $("submit");
	sa.onclick = function(){
		ask_init(sa,as);
		$toggle("Asks");
	}
	$("username").onblur = function(){
		register("username");
	}
	$("password").onblur = function(){
		register("password");
	}
	$("repassword").onblur = function(){
		register("repassword");
	}
	$("safeanswer").onblur = function(){
		register("safeanswer");
	}
	$("email").onblur = function(){
		register("email");
	}
	$("mobile").onblur = function(){
		register("mobile");
	}
	st.onclick = function(){
		if($("agree").checked){
			checkall();
			if(!Reg_Check.username || !Reg_Check.password || !Reg_Check.repassword || !Reg_Check.safeask || !Reg_Check.safeanswer || !Reg_Check.email || !Reg_Check.mobile){
				return false;
			}else{
				$("reg").submit();
			}
		}else{
			alert(language.AlertDontAccept);
			return false;
		}
	}
	$addEvent(document, function(e){
		e = e || window.event;
		var source = e.target || e.srcElement;
		if (!sa.contains(source)) as.style.display = "none";
	});
}
function ask_init(sa,as){
	var shtml = sa.innerHTML;
	var html = '<span onclick="$toggle(\'Asks\');">' + language.RegAsk10 + '</span>';
	for(var i = 0; i < Reg_Ask.length; i++){
		if(Reg_Ask[i] == shtml)
			html += '<a class="select" href="javascript:;" onclick="setask(' + i + ')">' + Reg_Ask[i] + '</a>';
		else
			html += '<a href="javascript:;" onclick="setask(' + i + ')">' + Reg_Ask[i] + '</a>';
	}
	as.innerHTML = html;
}

function register(el){
	switch(el){
		case "username" :
			ckusername();
			break;
		case "password" :
			ckpassword();
			break;
		case "repassword" :
			ckrepassword();
			break;
		case "safeanswer" :
			cksafeanswer();
			break;
		case "email" :
			ckemail();
			break;
		case "mobile" :
			ckmobile();
			break;
		default:
			return false;
	}
}

function ckusername(){
	var el = "username";
	var ei = el + "_info";
	var s = $(el).value;
	var patrn = /^([a-zA-Z0-9]|[._]){4,16}$/;

	$setClassName(ei, "info_wait");
	$(ei).innerHTML = Reg_Err[12];

	if(patrn.exec(s)){
		Ajax.setRequest("/plus/validator.php","act=username&value=" + s,ckuser);
	}else{
		$Red(el, Reg_Err[1]);
	}
}
function ckuser(result){
	if(result == "succeed"){
		$Green("username");
		Reg_Check.username = 1;
	}else{
		$Red("username", Reg_Err[2]);
	}
}
function ckpassword(){
	var el = "password";
	var ei = el + "_info";
	var s = $(el).value;
	var patrn = /^([a-zA-Z0-9]|[_]){6,16}$/;

	if(patrn.exec(s)){
		$Green(el);
		Reg_Check.password = 1;
	}else{
		$Red(el, Reg_Err[4]);
	}
}
function ckrepassword(){
	var el = "repassword";
	var ei = el + "_info";
	var s = $(el).value;

	if($empty(el) || s != $("password").value || !Reg_Check.password){
		$Red(el, Reg_Err[6]);
	}else{
		$Green(el);
		Reg_Check.repassword = 1;
	}
}
function cksafeanswer(){
	var el = "safeanswer";
	var ei = el + "_info";
	var s = $(el).value;
	var length = ShowLength(el);
	//var patrn = /^[\u2e80-\u9fff]$/;
	var patrn = /^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9]){1}([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9]|[\s])*([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9]){1}$/; 
	if(length > 80 || length < 4){
		$Red(el, Reg_Err[9]);
	}else{
		if(patrn.exec(s)){
			$Green(el);
			Reg_Check.safeanswer = 1;
		}else{
			$Red(el, Reg_Err[9]);
		}
	}
}
function ckemail(){
	var el = "email";
	var ei = el + "_info";
	var s = $(el).value;
	var patrn = /^([a-zA-Z0-9]|[._-])+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;

	if(patrn.exec(s)){
		$Green(el);
		Reg_Check.email = 1;
	}else{
		$Red(el, Reg_Err[11]);
	}
}
function ckmobile(){
	var el = "mobile";
	var ei = el + "_info";
	var s = $(el).value;
	var patrn = /^[0-9]{11}$/;

	if(patrn.exec(s)){
		$Green(el);
		Reg_Check.mobile = 1;
	}else{
		$Red(el, Reg_Err[13]);
	}
}


////

function ckget(){
	var username = $('username').value;
	var safeask = $('safeask').value;
	var patrn = /^([a-zA-Z0-9]|[._]){4,16}$/;
	if(!patrn.exec(username)){
		alert('用户名填写错误！');
		return false;
	}
	if(safeask == ''){
		alert('请选择安全问题！');
		return false;
	}
	var patrn2 = /^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9]){1}([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9]|[\s])*([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9]){1}$/;
	var el = $('safeanswer');
	var v = el.value;
	if(v.length > 80 || v.length < 4 || !patrn2.exec(v)){
		alert('请填写正确的答案！');
		return false;
	}

	//
	var p = document.createElement("div");
	p.id = 'blackscreen';
	p.style.width = '100%';
	p.style.height = GetScrollHeight() + 'px';
	p.style.backgroundColor = '#000';
	p.style.position = "absolute";
	p.style.top = "0";
	p.style.left = "0";
	p.style.zIndex = "99";
	p.style.opacity = "0.5";
	p.style.filter = "alpha(opacity=50)";
	document.body.appendChild(p);

	var box = document.createElement("div");
	box.id = 'mbox';
	box.style.zIndex = "100";
	box.innerHTML = '<div id="loading" class="load_a"></div><div id="returnbox">检测中，请稍后...</div>';
	document.body.appendChild(box);

	Ajax.setRequest("/plus/validator.php","act=getpwd&value=" + Random() + "&username=" + username + "&safeask=" + safeask + "&safeanswer=" + v, ajaxpwd);
}
function ajaxpwd(result){
	var str = '';
	if(result == 'succeed'){
		str = '您的密码已成功找回！请登录您的注册邮箱查看新密码<br /> <a href="/login">登录NeeMo</a>';
		$setClassName("loading", "load_b");
	}else if(result == 'merror'){
		str = '我们试图向您的注册邮箱发送邮件，但遇到了错误<br />请 <a href="/register/getpwd.php">重试</a>';
		$setClassName("loading", "load_c");
	}else if(result == 'qerror'){
		str = '您设置的安全提问或回答有误！请 <a href="/register/getpwd.php">重试</a>';
		$setClassName("loading", "load_c");
	}else if(result == 'nouser'){
		str = '没有这个用户！请 <a href="/register/getpwd.php">重试</a>';
		$setClassName("loading", "load_c");
	}else{
		str = '系统错误！请 <a href="/register/getpwd.php">重试</a>';
		$setClassName("loading", "load_c");
	}
	$inner('returnbox', str);
}
