jQuery(document).ready(function() {
	var checkRightTag = '<img src="/images/check_right.gif" border="0"/>';
	var checkErrorTag = '<img src="/images/check_error.gif" border="0"/>';
	var isCheckEmail = false;
	var isCheckPassword = false;
	var isCheckConfirmPassword = false;
	jQuery("#password").val('');
	jQuery("#confirmPassword").val('');
	
	function validateEmailPattern(email, loginText, errorMsg, displayValidateTag) {
		var pattern = /^([_\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
		validateValue(email, errorMsg, displayValidateTag, pattern, "请输入有效的电子邮箱");
	}

	function validateNickName(nickName, loginText, errorMsg, displayValidateTag) {
		var pattern = /^[\u4e00-\u9fa5a-zA-Z0-9_]*$/;
		validateValue(nickName, errorMsg, displayValidateTag, pattern, "昵称只能由数字,字母和下划线组成");
		
	}

	function validateQQ(qq, loginText, errorMsg, displayValidateTag) {
		var pattern = /^\d+$/;
		validateValue(qq, errorMsg, displayValidateTag, pattern, "qq号只能是数字, 请正确输入");
	}

	function validateMobilePhone(mobilephone, loginText, errorMsg, displayValidateTag) {
		var pattern = /^(159|158|131|132|133|134|135|136|137|138|139|189)\d{8}$/;
		validateValue(mobilephone, errorMsg, displayValidateTag, pattern, "请正确输入手机号码");
	}

	function validateValue(value, errorMsg, displayValidateTag, pattern, errorMsgText) {
		if (pattern.exec(value)) {
			displayValidateTag.html(checkRightTag);
			isCheckEmail = true;
		} else {
			errorMsg.html(errorMsgText);
       	  	displayValidateTag.html(checkErrorTag);
       	 	isCheckEmail = false;
		}
	}

	function validateIsExistsInDb() {
		var email = jQuery("#email").val();
		var emailMsg = jQuery("#emailMsg");
		var loginValue = getLoginValue();
		var loginText = getLoginText(loginValue);
		var displayEmailValidateTag = jQuery("#displayEmailValidateTag");
		
		jQuery.post("/homepage/validate", { value: email, field_name: loginValue}, 
				function submitForm(data) {
			validatePassword();
			validateConfirmPassword();
			if (data == 1){
				displayEmailValidateTag.html(checkRightTag);
				if (isCheckPassword && isCheckConfirmPassword)
				{
					jQuery("#userForm").submit();
//					alert("表单提交");
				}
	        } else {
				emailMsg.html("该"+loginText+"已被注册。");
				displayEmailValidateTag.html(checkErrorTag);
				jQuery("#confirmPassword").val("");
				jQuery("#password").val("");
	        }
	          
		}); 
	}

	function validateEmail() {
		var value = jQuery("#email").val();
		var errorMsg = jQuery("#emailMsg");
		var loginValue = getLoginValue();
		var loginText = getLoginText(loginValue);
		var displayValidateTag = jQuery("#displayEmailValidateTag");

		if (value == "" || value == null)
		{
			errorMsg.html(loginText+" 不能为空。");
			displayValidateTag.html(checkErrorTag);
			isCheckEmail = false;
		} else {
			if (value.length >= 2) {
				isCheckEmail = true;
				switch(loginValue) {
				   case 'email':
					   validateEmailPattern(value, loginText, errorMsg, displayValidateTag);
				     break;
				   case 'nickName':
					   validateNickName(value, loginText, errorMsg, displayValidateTag);
				     break;
				   case 'QQ':
					   validateQQ(value, loginText, errorMsg, displayValidateTag);
					 break;
				   case 'mobilephone':
					   validateMobilePhone(value, loginText, errorMsg, displayValidateTag);
					 break;
				}
			} else {
				errorMsg.html(loginText+"必须两个或以上字符");
				displayValidateTag.html(checkErrorTag);
				isCheckEmail = false;
			}
			
		}
	}

	function validatePassword() {
		var passwordMsg = jQuery("#passwordMsg");
		var password = jQuery("#password").val();
		var displayPasswordValidateTag = jQuery("#displayPasswordValidateTag");
		var minLength = 6;
		if (password == "" || password == null)
		{
			passwordMsg.html("密码不能为空。");
			displayPasswordValidateTag.html(checkErrorTag);
		}
		else if (password.length < minLength)
		{
			passwordMsg.html("密码长度不能低于"+minLength+"位。");
			displayPasswordValidateTag.html(checkErrorTag);
		}
		else
		{
			passwordMsg.html("");
			displayPasswordValidateTag.html(checkRightTag);
			isCheckPassword = true;
		}	
	}

	function validateConfirmPassword() {
		var confirmPasswordMsg = jQuery("#confirmPasswordMsg");
		var confirmPassword = jQuery("#confirmPassword").val();
		var password = jQuery("#password").val();
		var displayConfirmPasswordValidateTag = jQuery("#displayConfirmPasswordValidateTag");
		if (confirmPassword == "" || confirmPassword == null)
		{
			confirmPasswordMsg.html("请在此输入密码进行确认。");
			displayConfirmPasswordValidateTag.html(checkErrorTag);
		}
		else if(confirmPassword != password)
		{
			confirmPasswordMsg.html("两次密码输入不一致。");
			displayConfirmPasswordValidateTag.html(checkErrorTag);
		}
		else
		{
			displayConfirmPasswordValidateTag.html(checkRightTag);
			confirmPasswordMsg.html("");
			isCheckConfirmPassword = true;
		}
	}
	
	jQuery("#email").focus(function() {
		jQuery("#emailMsg").html("");
		jQuery("#displayEmailValidateTag").html("");
	});
	
	jQuery("#password").focus(function() {
		jQuery("#passwordMsg").html("");
		jQuery("#displayPasswordValidateTag").html("");
	});
	
	jQuery("#confirmPassword").focus(function() {
		jQuery("#confirmPasswordMsg").html("");
		jQuery("#displayConfirmPasswordValidateTag").html("");
	});
	
	jQuery("#login").click(function() {
//		alert(jQuery("#password").val());
		validateEmail();
		if (isCheckEmail) {
			validateIsExistsInDb();
		} else {
			validatePassword();
			validateConfirmPassword();
		}
		
	});

});	


var isLogin = getCookie('IsLogin');
function changeMode()
{
	document.getElementById('lab_email').className='';
	document.getElementById('lab_nickName').className='';
	document.getElementById('lab_QQ').className='';
	document.getElementById('lab_mobilephone').className='';
	if (!isLogin) {
		document.getElementById('emailMsg').innerHTML="";
		document.getElementById('passwordMsg').innerHTML="";
		document.getElementById('confirmPasswordMsg').innerHTML="";
	}
	
	var updateField = document.getElementById('loginName'); 
	updateField.innerHTML = getLoginHtml(getLoginValue());
	if (document.getElementById("register_mode")) {
		document.getElementById("register_mode").innerHTML = getLoginText(getLoginValue());
	}
//	updateField.nextSibling.nodeValue = "请输入您常用的"+getLoginValue();
}
function getLoginText(loginValue)
{
	switch(loginValue)
	   {
	   case 'email':
	     return '电子邮件';
	     break;
	   case 'nickName':
	     return '昵称';
	     break;
	   case 'QQ':
		 return 'QQ';
		 break;
	   case 'mobilephone':
		 return '手机';
		 break;
	   default:
	     return '';
	   }
}
function getLoginValue()
{
    var radioes = document.getElementsByName('loginMode'); 		
	for(var i=0;i<radioes.length;i++)
	{
	     if(radioes[i].checked){	
	    	radioes[i].nextSibling.className='Blue';
	 	    setCookie('LoginPreference', radioes[i].value);	    	 
	    	return radioes[i].value;
	     }
	}
	return '';
}

function getLoginHtml(modeValue)
{
	switch(modeValue)
	   {
	   case 'email':
	     return '&nbsp;电子邮件';
	     break;
	   case 'nickName':
	     return '&nbsp;昵称';
	     break;
	   case 'QQ':
		 return '&nbsp;QQ';
		 break;
	   case 'mobilephone':
		 return '&nbsp;手机';
		 break;
	   default:
	     return '';
	   }
			
} 
