var oAjaxCheckName;
var oAjaxCheckEmail;
var oAjaxCheckAuth;

// 登录验证参数 bool类型
var bName = false;
var bPwd = false;
var bEmail = false;
var bVerifyCode = false;

/**
 * 刷新验证码
 */
function refreshAuth() {
	var ran = Math.random();
	document.getElementById('authImg').src = 'operator/ranImg.php?ran=' + ran;
}

/**
 * 根据控件的id获得控件对象
 */
function getEle(name) {
	return document.getElementById(name);
}// /~getEle()

/**
 * 验证email格式正确有否
 */
function isEmail(email) {
	var res = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	var re = new RegExp(res);
	return !(email.match(re) == null);
}// /~isEmail()

/**
 * 验证是否是合法的用户名
 */
function legalUserName(name) {
	var reg = /[\+|\-|\\|\/||&|!|~|@|#|\$|%|\^|\*|\(|\)|=|\?|´|"|<|>|\.|,|:|;|\]|\[|\{|\}|\|]+/;
	if (reg.test(name)) {
		return false;
	}
	return true;
}// /~legalUserName()

/**
 * 判断用户名是否合法, 合法的话,进一步发送请求验证,该用户是否被注册过
 */
function checkUserReq() {
	var uName = getEle('name').value;
	if (uName == '') {
		getEle('nameSpan').innerHTML = '';
		bName = false;
		return;
	}
	// 合法用户名
	if (!legalUserName(uName)) {
		bName = false;
		getEle('nameSpan').innerHTML = "<span>您输入用户名含有非法字符！\n用户名为字母、数字和下划线组成的名称。</span>";
		return;
		// 用户名合法,ajax发送请求
	} else {
		oAjaxCheckName = AJAX_objRedefine(oAjaxCheckName);
		var params = 'userName=' + uName + "&ran=" + Math.random();
		var url = 'operator/checkUser.php';
		AJAX_sendRequestByPost(oAjaxCheckName, url, params, checkUser);
	}

}// /~checkUser()

function checkUser() {
	if (oAjaxCheckName.readyState == 4 && oAjaxCheckName.status == 200) {
		var result = AJAX_getResponseText(oAjaxCheckName);
		var oDomNameSpan = getEle('nameSpan');
		// 用户存在
		if (result == 2) {
			bName = false;
			oDomNameSpan.innerHTML = "<span>用户名不合法</span>";
			// 用户不存在,可以注册
		} else if (result == 1) {
			oDomNameSpan.innerHTML = "正确";
			bName = true;
		} else if (result == 3) {
			bName = false;
			oDomNameSpan.innerHTML = "<span>包含不允许注册的词语</span>";

		} else if (result == 4) {
			bName = false;
			oDomNameSpan.innerHTML = "<span>用户名已被使用</span>";
		}

		/*
		 * else{ bName = false; oDomNameSpan.innerHTML = "<img
		 * src='themes/images/check_error.gif' /><span>response worng</span>";
		 * alert(result); }
		 */
	}
}// /~checkUser()

/**
 * 验证email,需要传入参数name,pwd,email
 */
function checkEmailReq() {
	oAjaxCheckEmail = AJAX_objRedefine(oAjaxCheckEmail);
	var email = getEle('mail').value;
	var oDOMEmailSpan = getEle('emailSpan');
	if (email == '') {
		bEmail = false;
		oDOMEmailSpan.innerHTML = '';
		return false;
	}
	if (!isEmail(email)) {
		bEmail = false;
		oDOMEmailSpan.innerHTML = "<span>邮箱地址格式不正确<span>";
		return false;
	}
	// 用户输入均合法
	var params = '&email=' + email + '&ran=' + Math.random();
	var url = 'operator/checkEmail.php';
	AJAX_sendRequestByPost(oAjaxCheckEmail, url, params, checkEmail);
}// /~checkEmailReq()

/**
 * 
 */
function checkEmail() {
	if (oAjaxCheckEmail.readyState == 4 && oAjaxCheckEmail.status == 200) {
		var oDOMEmailSpan = getEle('emailSpan');
		var result = AJAX_getResponseText(oAjaxCheckEmail);
		// email没有被使用过
		if (result == 2) {
			bEmail = false;
			oDOMEmailSpan.innerHTML = "<span>Email 格式有误<span>";
		} else if (result == 1) {
			oDOMEmailSpan.innerHTML = "正确";
			bEmail = true;
		} else if (result == 3) {
			bEmail = false;
			oDOMEmailSpan.innerHTML = "<span>Email 不允许注册<span>";
		} else if (result == 4) {
			bEmail = false;
			oDOMEmailSpan.innerHTML = "<span>邮箱地址已经被使用<span>";
		}
	}
}

/**
 * js 验证用户密码
 */
function checkPwd() {
	var pwd = getEle('pwd').value;
	var rePwd = getEle('repwd').value;
	var oDOMPwdSpan = getEle('pwdSpan');
	var oDOMRePwdSpan = getEle('repwdSpan');
	// 2个密码都没有填写
	if ((pwd == '') && (rePwd == '')) {
		oDOMPwdSpan.innerHTML = '';
		oDOMRePwdSpan.innerHTML = '';
		return false;
		// 填写了密码没有填密码确认
	} else if ((pwd != '') && (rePwd == '')) {
		oDOMRePwdSpan.innerHTML = "<span>密码确认不能为空<span>";
		return false;
		// 密码 只填写了确认密码
	} else if ((pwd == '') && (rePwd != '')) {
		oDOMPwdSpan.innerHTML = "<span>密码不能为空<span>";
		return false;
		// 2个密码都填了
	} else {
		if (pwd.length < 4) {
			oDOMPwdSpan.innerHTML = "<span>密码长度4-10个字符<span>";
			return false;
		} else if (rePwd.length > 10) {
			oDOMPwdSpan.innerHTML = "<span>密码长度4-10个字符<span>";
			return false;
		} else if (pwd != rePwd) {
			oDOMRePwdSpan.innerHTML = "<span>确认密码不一致<span>";
			return false;
		} else {
			oDOMPwdSpan.innerHTML = "正确";
			oDOMRePwdSpan.innerHTML = "正确";
			return true;
		}
	}
	return true;
}// /~checkPwd()

/**
 * 验证码匹配请求
 */
function checkAuthReq() {
	oAjaxCheckAuth = AJAX_objRedefine(oAjaxCheckAuth);
	var verifyCode = getEle('verify').value;
	if (verifyCode != '') {
		var url = 'operator/checkAuth.php';
		var params = 'verCode=' + verifyCode + "&ran=" + Math.random();
		AJAX_sendRequestByPost(oAjaxCheckAuth, url, params, checkAuth);
	} else {
		bVerifyCode = false;
	}
}// /~checkAuthReq()

/**
 * 
 */
function checkAuth() {
	if (oAjaxCheckAuth.readyState == 4 && oAjaxCheckAuth.status == 200) {
		var oDOMVerifySpan = getEle('verifySpan');
		var result = AJAX_getResponseText(oAjaxCheckAuth);
		// alert('result = ' + result);
		// 匹配
		if (result == 1) {
			bVerifyCode = true;
			oDOMVerifySpan.innerHTML = "正确";
			// 不匹配
		} else if (result == 2) {
			bVerifyCode = false;
			oDOMVerifySpan.innerHTML = "<span>验证码错误<span>";
			// 会话中不存在验证码
		} else if (result == 3) {
			bVerifyCode = false;
			oDOMVerifySpan.innerHTML = "<span>验证码未知<span>";
		} else {
			bVerifyCode = false;
			oDOMVerifySpan.innerHTML = '';
		}
	}
}// /~checkAuth()

/**
 * 注册信息填写验证
 */
function register_validate() {
	var name = getEle('name').value;
	var pwd =  getEle('pwd').value;
	var rePwd = getEle('repwd').value;
	var email = getEle('mail').value;
	var verify = getEle('verify').value;
	bPwd = checkPwd();
	if( !bName){
		alert('请输入或更换用户名');
		return false;
	}else if(!bPwd){
		alert('密码设置有误');
		return false;
	}else if(!bEmail){
		alert('请正确填写邮箱地址');
		return false;
	}else if( verify == ''){
		alert('验证码不能为空');	
		return false;
	}else if (!bVerifyCode){
		alert('请输入正确的验证码');	
		return false;
	}
	document.forms[0].submit();
}// /~register_validate()
