loadscript("mdialog");

function validateEmail(str){
	if(str.length == 0) return -1;
	if(!checkByteLength(str,6,40)) return 1;
	var patn = /^[_a-zA-Z0-9\-]+(\.[_a-zA-Z0-9\-]*)*@[a-zA-Z0-9\-]+([\.][a-zA-Z0-9\-]+)+$/;
	if(!patn.test(str))	return 2;
	return 0;
}

function checkEmail(email) {
	var errMsg = '';
	switch (validateEmail(email)) {
	case -1:
		errMsg = '请输入邮箱地址!';
		break;
	case 1:
		errMsg = '邮箱地址字符不能小于6个或大于40个字符!';
		break;
	case 2:
		errMsg = '您输入的邮箱地址不正确!';
		break;
	}
	if (errMsg) {
		setErrMsg(errMsg, 'emailError');
	} else {
		clearErrMsg('emailError');
	}
}

function validateusername(str) {
	if(str.length > 16){
			return 1;
	}
	if(str.length == 0){
			 return -1;
	}
	return 0;
}

function checkUsername(username, checked) {
	var errMsg = '';
	switch (validateusername(username)) {
	case -1:
		errMsg = '请输入用户名！';
		break;
	case 1:
		errMsg = '用户名不能大于16个字符！';
		break;
	}
	if (errMsg) {
		setErrMsg(errMsg, 'usernameError');
	} else {
		clearErrMsg('usernameError');
		if (checked) {
			// 检查姓名是否可用
			show_existname();
		}
	}
}

function validatePassword(str){
	if(str.length == 0) return -1;
	if(!checkByteLength(str,6,20)) return 1;															
	var patn1 = /[\'\"\\]/;
	if(patn1.test(str) ) return 2;
	return 0; 
}

function checkPassword(password) {
	var errMsg = '';
	switch (validatePassword(password)) {
	case -1:
		errMsg = '请输入密码！';
		break;
	case 1:
		errMsg = '密码的长度必须控制在6-20个字符以内！';
		break;
	case 2:
		errMsg = '密码空或包含非法字符，请重新填写！';
		break;
	}
	if (errMsg) {
		setErrMsg(errMsg, 'passwordError');
	} else {
		clearErrMsg('passwordError');
	}
}

function checkPasswords(passwords) {
	var errMsg = '';
	var password = document.getElementById('password').value;
	if (passwords!=password) {
		errMsg = '2次输入的密码不一致！';
	}
	if (errMsg) {
		setErrMsg(errMsg, 'passwordsError');
	} else {
		clearErrMsg('passwordsError');
	}
}

function setErrMsg(errMsg, id) {
	var error = document.getElementById(id);
	error.className = 'formerror';
	error.innerHTML = errMsg;
}

function clearErrMsg(id) {
	var error = document.getElementById(id);
	if (error && error.innerHTML) {
		error.className = '';
		error.innerHTML = '';
	}
}

function clearPreErrMsgs() {
	var ids = ['usernameError', 'emailError', 'passwordError', 'passwordsError', 'termError'];
	for (id in ids) {
		var error = document.getElementById(ids[id]);
		if (error && error.innerHTML) {
			error.setAttribute('class', '');
			error.innerHTML = '';
		}
	}
}

function checkForm (obj) {
	clearPreErrMsgs();
	var errMsg = '';
	var username = obj.username.value.trim();
	switch (validateusername(username)) {
	case -1:
		errMsg = '请输入用户名！';
		break;
	case 1:
		errMsg = '用户名不能大于16个字符！';
		break;
	}
	if (errMsg) {
		setErrMsg(errMsg, 'usernameError');
		return false;
	}
	var email = obj.email.value.trim();
	switch (validateEmail(email)) {
	case -1:
		errMsg = '请输入邮箱地址!';
		break;
	case 1:
		errMsg = '邮箱地址字符不能小于6个或大于40个字符!';
		break;
	case 2:
		errMsg = '您输入的邮箱地址不正确!';
		break;
	}
	if (errMsg) {
		setErrMsg(errMsg, 'emailError');
		return false;
	}
	var password = obj.password.value;
	switch (validatePassword(password)) {
	case -1:
		errMsg = '请输入密码！';
		break;
	case 1:
		errMsg = '密码的长度必须控制在6-20个字符以内！';
		break;
	case 2:
		errMsg = '密码空或包含非法字符，请重新填写！';
		break;
	}
	if (errMsg) {
		setErrMsg(errMsg, 'passwordError');
		return false;
	}
	var password_s = obj.password_s.value;
	if (password_s!=password) {
		errMsg = '2次输入的密码不一致！';
	}
	if (errMsg) {
		setErrMsg(errMsg, 'passwordsError');
		return false;
	}
	return true;
}

function show_existname() {
	var div = document.getElementById("username");
	var username = div.value.trim();
	
	var dlg = document.getElementById("MODOER_DIALOG");
	if (dlg) {
		dlg.parentNode.removeChild(dlg);
	}
	$.get(getUrl('username')+'shop/post.php', { action:"checkusername",username:username,in_ajax:1 } , function(result) {
		//myAlert(result, 300, 40);
		var errMsg = result;
		if (errMsg) {
			setErrMsg(errMsg, 'usernameError');
		} else {
			clearErrMsg('usernameError');
		}
		//alert(result);
	});
}
