var Event = YAHOO.util.Event;
var Dom = YAHOO.util.Dom;
var Connect = YAHOO.util.Connect;
var trim = YAHOO.lang.trim;
var ajaxCheckLoginNameServer = "./ajaxServer/ajaxCheckRegisterLoginName.php";// 验证用户名的服务端脚本
var ajaxCheckEmailServer = "./ajaxServer/ajaxCheckRegisterEmail.php";// 验证Email的服务端脚本
var nameOK = false;
var emailOK = false;
var passwordOk = false;
var repasswordOK = false;
Event.onDOMReady(function() {
    Dom.get('loginname').blur();
	// 验证用户名
	function checkLoginName() {
		Dom.setStyle('loginname_mes', 'display', 'block');
		var loginname = trim(Dom.get('loginname').value);
		if (loginname == '') {
			Dom.removeClass('loginname_mes', 'tip');
			Dom.removeClass('loginname_mes', 'succ');
			Dom.addClass('loginname_mes', 'error');
			Dom.get('loginname_mes').innerHTML = "请输入用户名！";
			nameOK = false;
			return;
		}
		var re=/^[a-zA-Z0-9\u4e00-\u9fa5_]{2,16}$/i;
		if(!re.test(loginname)){
        Dom.removeClass('loginname_mes', 'tip');
			Dom.removeClass('loginname_mes', 'succ');
			Dom.addClass('loginname_mes', 'error');
			nameOK = false;
			Dom.get('loginname_mes').innerHTML = "用户名必须由2～16个字符组成(中、英文、数字和下划线)";
			return;
		}
		var url = ajaxCheckLoginNameServer + "?loginname="
				+ encodeURIComponent(loginname);
		var request = Connect.asyncRequest('GET', url, {
			success : function(response) {
				// alert(response.responseText);
				eval("var obj=" + response.responseText);
				if (obj.status == '0') {
					Dom.removeClass('loginname_mes', 'tip');
					Dom.removeClass('loginname_mes', 'succ');
					Dom.addClass('loginname_mes', 'error');
					nameOK = false;
				} else if (obj.status == '1') {
					Dom.removeClass('loginname_mes', 'tip');
					Dom.removeClass('loginname_mes', 'error');
					Dom.addClass('loginname_mes', 'succ');
					nameOK = true;
				}
				Dom.get('loginname_mes').innerHTML = obj.message;
			},
			failure : function(response) {
			}
		});
	}
	// 验证Email地址
	function checkEmail() {
		Dom.setStyle('email_mes', 'display', 'block');
		var email = trim(Dom.get('email').value);
		if (email == '') {
			Dom.removeClass('email_mes', 'tip');
			Dom.removeClass('email_mes', 'succ');
			Dom.addClass('email_mes', 'error');
			Dom.get('email_mes').innerHTML = "请输入Email地址！";
			emailOK = false;
			return;
		}
		var re = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
		if (!re.test(email)) {
			Dom.removeClass('email_mes', 'tip');
			Dom.removeClass('email_mes', 'succ');
			Dom.addClass('email_mes', 'error');
			Dom.get('email_mes').innerHTML = "邮件地址格式不正确！请输入正确的邮件地址！";
			emailOK = false;
			return;
		}
		var url = ajaxCheckEmailServer + "?email=" + encodeURIComponent(email);
		var request = Connect.asyncRequest('GET', url, {
			success : function(response) {
				// alert(response.responseText);
				eval('var obj=' + response.responseText);
				if (obj.status == '0') {
					Dom.removeClass('email_mes', 'tip');
					Dom.removeClass('email_mes', 'succ');
					Dom.addClass('email_mes', 'error');
					emailOK = false;
				} else if (obj.status == '1') {
					Dom.removeClass('email_mes', 'tip');
					Dom.removeClass('email_mes', 'error');
					Dom.addClass('email_mes', 'succ');
					emailOK = true;
				}
				Dom.get('email_mes').innerHTML = obj.message;
			},
			failure : function(response) {
			}
		});

	}
	// 验证密码
	function checkPassword() {
		Dom.setStyle('password_mes', 'display', 'block');
		var pwd = trim(Dom.get('password').value);
		if (pwd == '') {
			Dom.removeClass('password_mes', 'tip');
			Dom.removeClass('password_mes', 'succ');
			Dom.addClass('password_mes', 'error');
			Dom.get('password_mes').innerHTML = "请输入密码！";
			passwordOK = false;
			Dom.get('confirm_password').value = '';
			Dom.removeClass('confirm_password_mes', 'error');
			Dom.removeClass('confirm_password_mes', 'succ');
			Dom.addClass('confirm_password_mes', 'tip');
			Dom.get('confirm_password_mes').innerHTML = "6～15个字符（英文字母，数字，符号，不区分大小写）。";
			return;
		}
		if (pwd.length < 6 || pwd.length > 15) {
			Dom.removeClass('password_mes', 'tip');
			Dom.removeClass('password_mes', 'succ');
			Dom.addClass('password_mes', 'error');
			Dom.get('password_mes').innerHTML = " 密码必须由6～15个字符组成（英文字母，数字，符号，不区分大小写）。";
			passwordOK = false;
			Dom.get('confirm_password').value = '';
			Dom.removeClass('confirm_password_mes', 'error');
			Dom.removeClass('confirm_password_mes', 'succ');
			Dom.addClass('confirm_password_mes', 'tip');
			Dom.get('confirm_password_mes').innerHTML = "6～15个字符（英文字母，数字，符号，不区分大小写）。";
			return;
		}
		Dom.removeClass('password_mes', 'error');
		Dom.removeClass('password_mes', 'tip');
		Dom.addClass('password_mes', 'succ');
		Dom.get('password_mes').innerHTML = " 6～15个字符（英文字母，数字，符号，不区分大小写）。";
		passwordOK = true;
		var repwd = trim(Dom.get('confirm_password').value);
		if (repwd != '') {
			checkConfirmPassword();
		}
	}
	// 验证确认密码
	function checkConfirmPassword() {
		Dom.setStyle('confirm_password_mes', 'display', 'block');
		var pwd = trim(Dom.get('password').value);
		var repwd = trim(Dom.get('confirm_password').value);
		if (repwd == '') {
			Dom.removeClass('confirm_password_mes', 'tip');
			Dom.removeClass('confirm_password_mes', 'succ');
			Dom.addClass('confirm_password_mes', 'error');
			Dom.get('confirm_password_mes').innerHTML = "请再输入一次密码！";
			repasswordOK = false;
			return false;
		}
		if (repwd.length < 6 || repwd.length > 15) {
			Dom.removeClass('confirm_password_mes', 'tip');
			Dom.removeClass('confirm_password_mes', 'succ');
			Dom.addClass('confirm_password_mes', 'error');
			Dom.get('confirm_password_mes').innerHTML = " 密码必须由6～15个字符组成（英文字母，数字，符号，不区分大小写）。";
			repasswordOK = false;
			return false;
		}
		if (repwd != pwd) {
			Dom.removeClass('confirm_password_mes', 'tip');
			Dom.removeClass('confirm_password_mes', 'succ');
			Dom.addClass('confirm_password_mes', 'error');
			Dom.get('confirm_password_mes').innerHTML = "对不起，两次输入的密码不匹配。不要着急，慢慢来，再输一次吧。";
			repasswordOK = false;
			return false;
		}
		Dom.removeClass('confirm_password_mes', 'error');
		Dom.removeClass('confirm_password_mes', 'tip');
		Dom.addClass('confirm_password_mes', 'succ');
		Dom.get('confirm_password_mes').innerHTML = "不错，密码设置好了！";
		repasswordOK = true;
		return true;
	}
	Event.addListener('loginname', 'focus', function() {
		Dom.setStyle('loginname_mes', 'display', 'block');
	});
	Event.addListener('email', 'focus', function() {
		Dom.setStyle('email_mes', 'display', 'block');
	});
	Event.addListener('password', 'focus', function() {
		Dom.setStyle('password_mes', 'display', 'block');
	});
	Event.addListener('confirm_password', 'focus', function() {
		Dom.setStyle('confirm_password_mes', 'display', 'block');
	});
	// 验证用户名
	Event.addListener('loginname', 'blur', function() {
		Dom.setStyle('loginname_mes', 'display', 'block');
		if (trim(this.value) != '') {
			checkLoginName();
		} else {
			Dom.setStyle('loginname_mes', 'display', 'block');
			Dom.removeClass('loginname_mes', 'error');
			Dom.removeClass('loginname_mes', 'succ');
			Dom.addClass('loginname_mes', 'tip');
			Dom.get('loginname_mes').innerHTML = "2～16个字符组成(中、英文、数字和下划线)";
			nameOK = false;
		}
	});
	// 验证Email地址
	Event.addListener('email', 'blur', function() {
		Dom.setStyle('email_mes', 'display', 'block');
		if (trim(this.value) != '') {
			checkEmail();
		} else {
			Dom.setStyle('email_mes', 'display', 'block');
			Dom.removeClass('email_mes', 'succ');
			Dom.removeClass('email_mes', 'error');
			Dom.addClass('email_mes', 'tip');
			Dom.get('email_mes').innerHTML = "重要！我们会定期赠送礼品给客户，通过Email通知的哦。如果不慎忘记密码还可以通过Email找回。";
			emailOK = false;
		}
	});
	// 验证密码
	Event.addListener('password', 'blur', function() {
		Dom.setStyle('password_mes', 'display', 'block');
		if (trim(this.value) != '') {
			checkPassword();
		} else {
			Dom.setStyle('password_mes', 'display', 'block');
			Dom.removeClass('password_mes', 'error');
			Dom.removeClass('password_mes', 'succ');
			Dom.addClass('password_mes', 'tip');
			Dom.get('password_mes').innerHTML = " 6～15个字符（英文字母，数字，符号，不区分大小写）。";
			passwordOK = false;
		}
	});
	// 验证确认密码
	Event.addListener('confirm_password', 'blur', function() {
		Dom.setStyle('confirm_password_mes', 'display', 'block');
		if (trim(this.value) != '') {
			checkConfirmPassword();
		} else {
			Dom.setStyle('confirm_password_mes', 'display', 'block');
			Dom.removeClass('confirm_password_mes', 'error');
			Dom.removeClass('confirm_password_mes', 'succ');
			Dom.addClass('confirm_password_mes', 'tip');
			Dom.get('confirm_password_mes').innerHTML = "6～15个字符（英文字母，数字，符号，不区分大小写）。";
			repasswordOK = false;
		}
	});
	// 提交
	Event.addListener('doSubmit', 'click', function() {
		if (!nameOK) {
			checkLoginName();
			return;
		}
		if (!emailOK) {
			checkEmail();
			return;
		}
		if (!passwordOK) {
			checkPassword();
			return;
		}
		if (!repasswordOK) {
			checkConfirmPassword();
			return;
		}
		if (!(Dom.get('agree').checked)) {
			Dom.setStyle('agree_mes', 'display', 'block');
			return;
		}
		this.form.submit();
	});
});
