(function($){
	var staticValid = true;
	$(document).ready(function() {
		bind_component_event();
	});
	
	function bind_component_event(){
		bind_mainform_event();
		bind_name_event();
		bind_password_event();
		bind_mobile_event();
		bind_email_event()
		bind_cardform_event();
		bind_card_blur_event();
	}
	
	function bind_mainform_event(){
		$("#mainform").submit(function(){
			if($("#entity_name").val() == ""){
				$("#entity_name + span").removeClass("validlb").addClass("errorlb").html("用户名不能为空");
				staticValid = false;
			}
			if($("#entity_password").val() == ""){
				$("#entity_password + span").removeClass("validlb").addClass("errorlb").html("密码不能为空");
				staticValid = false;
			}
			if($("#repassword").val() == ""){
				$("#repassword + span").removeClass("validlb").addClass("errorlb").html("密码不匹配");
				staticValid = false;
			}
			if(!$("#agreement").attr("checked")){
				alert('必须同意环游服务条款');
				staticValid = false;
			}
			if($("#entity_name + span").attr("class") == "errorlb"
				|| $("#entity_password + span").attr("class") == "errorlb"
				|| $("#repassword + span").attr("class") == "errorlb"
				|| $("#mobile + span").attr("class") == "errorlb"
				|| !$("#agreement").attr("checked")
			){
				staticValid = false;
			}else{
				staticValid = true;
			}
			return staticValid;
		});
	}
	function bind_name_event(){	
		$("#entity_name").blur(function(){
			reg=/^[a-z,A-Z,\u4e00-\u9fa5][a-z,A-Z,0-9,\u4e00-\u9fa5]{5,17}$/; 
			if(!reg.test($("#entity_name").val())){
				$("#entity_name + span").removeClass("validlb").addClass("errorlb").html("必须由中英文开头的6-18中英文字母或数字组成");
				return;
			}
			if( $("#entity_name").val() != ""){
				if(validateUserName()){
					$("#entity_name + span").removeClass("errorlb").addClass("validlb").html(" ");
				}else{
					$("#entity_name + span").removeClass("validlb").addClass("errorlb").html("用户名已存在，请使用其他用户名");
					$("#entity_name").focus();
				}
			}else{
				$("#entity_name + span").removeClass().html("用户名由英文字母开头");
			}
		});
	}
	function bind_password_event(){
		$("#entity_password").blur(function(){
			reg=/^[a-z,A-Z,0-9]{6,12}$/;   
			if(reg.test($("#entity_password").val())){
				$("#entity_password + span").removeClass("errorlb").addClass("validlb").html(" ");
			}else{
				$("#entity_password + span").removeClass("validlb").addClass("errorlb").html("由6-12位英文字母或数字组成");
			}
			if($("#repassword").val() != ""){
				if($("#entity_password").val() == $("#repassword").val() ){
					$("#repassword + span").removeClass("errorlb").addClass("validlb").html(" ");
				}else{
					$("#repassword + span").removeClass("validlb").addClass("errorlb").html("密码不匹配");
				}
			}
		});
		$("#repassword").blur(function(){
			if($("#repassword").val() != ""){
				if($("#entity_password").val() == $("#repassword").val() ){
					$("#repassword + span").removeClass("errorlb").addClass("validlb").html(" ");
				}else{
					$("#repassword + span").removeClass("validlb").addClass("errorlb").html("密码不匹配");
				}
			}
		});
	}
	function bind_mobile_event(){
		$("#mobile").blur(function(){
			reg=/^(\+\d{2,3}\-)?\d{11}$/;
			if(reg.test($("#mobile").val()) || $("#mobile").val() == "" ){
				if( $("#mobile").val() == ""){
					$("#mobile + span").removeClass().html("您可以留下手机号码，以便确认您的预订服务");
				}else{
					$("#mobile + span").removeClass("errorlb").addClass("validlb").html(" ");
				}
			}else{
				$("#mobile + span").removeClass("validlb").addClass("errorlb").html("请输入正确的手机号码");
			}
		});
	}
	function bind_email_event(){
		$("#email").blur(function(){
			regEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
			var email = $("#email").val();
			if(regEmail.test(email) || email == ""){
				if(email == ""){
					$("#email + span").removeClass().html("您可以留下邮件地址，以便确认您的预订服务");
				}else{
					$("#email + span").removeClass("errorlb").addClass("validlb").html(" ");
				}
			}else{
				$("#email + span").removeClass("validlb").addClass("errorlb").html("请输入正确的邮件地址");
			}
		});
	}
	function bind_cardform_event(){
		$("#cardform").submit(function(){
			staticValid = true;
			if($("#entity_unutripCard").val() == ""){
				$("#entity_unutripCard + span").removeClass("validlb").addClass("errorlb").html(" ");
				$("#entity_unutripCard").attr("title","商联卡号不能为空");
				staticValid = false;
			}
			if($("#validCode").val() == ""){
				$("#validCode + span").removeClass("validlb").addClass("errorlb").html(" ");
				$("#validCode").attr("title","密码不能为空");
				staticValid = false;
			}
			if($("#entity_unutripCard").val() != "" && $("#validCode").val() != ""){
				var validMsg = validateCard();
				if(validMsg == "0204" || validMsg == "0104"){
					$("#entity_unutripCard + span").removeClass("validlb").addClass("errorlb").html(" ");
					$("#entity_unutripCard").attr("title","此卡号的用户已经被注册");
					staticValid = false;
				}
				if(validMsg == "0101"){
					$("#entity_unutripCard + span").removeClass("validlb").addClass("errorlb").html(" ");
					$("#entity_unutripCard").attr("title","不存在此卡号，或者此卡号没有被激活");
					staticValid = false;
				}
				if(validMsg == "0102"){
					$("#entity_unutripCard + span").removeClass("validlb").addClass("errorlb").html(" ");
					$("#entity_unutripCard").attr("title","卡过期");
					staticValid = false;
				}
				if(validMsg == "0103"){
					$("#validCode + span").removeClass("validlb").addClass("errorlb").html(" ");
					$("#validCode").attr("title","密码不正确");
					staticValid = false;
				}
				if(validMsg == "0000"){
					alert("远程调用失败，请稍后再试。");
					staticValid = false;
				}
			}
			bindTooltip();
			return staticValid;
		});
	}
	
	function bind_card_blur_event(){
		$("#entity_unutripCard").blur(function(){
//			if($("#entity_unutripCard").val() != ""){
//				var validMsg = validateCard();
//				if(validMsg == "0204" || validMsg == "0104"){
//					$("#entity_unutripCard + span").removeClass("validlb").addClass("errorlb").html(" ");
//					$("#entity_unutripCard").attr("title","此卡号的用户已经被注册");
//				}else if(validMsg == "0101"){
//					$("#entity_unutripCard + span").removeClass("validlb").addClass("errorlb").html(" ");
//					$("#entity_unutripCard").attr("title","不存在此卡号，或者此卡号没有被激活");
//				}else if(validMsg == "0102"){
//					$("#entity_unutripCard + span").removeClass("validlb").addClass("errorlb").html(" ");
//					$("#entity_unutripCard").attr("title","卡过期");
//				} else {
//					$("#entity_unutripCard + span").removeClass("errorlb").addClass("validlb");
//					$("#entity_unutripCard").removeAttr("title");
//				}
//				bindTooltip();
//			}
			
			$("#entity_unutripCard + span").removeClass("errorlb");
			$("#entity_unutripCard").removeAttr("title");
			bindTooltip();
		});
		$("#validCode").blur(function(){
//			if($("#validCode").val() != ""){
//				var validMsg = validateCard();
//				if(validMsg == "0103"){
//					$("#validCode + span").removeClass("validlb").addClass("errorlb").html(" ");
//					$("#validCode").attr("title","密码不正确");
//				}else{
//					$("#validCode + span").removeClass("errorlb").addClass("validlb");
//					$("#validCode").removeAttr("title");
//				}
//				bindTooltip();
//			}
			
			$("#validCode + span").removeClass("errorlb");
			$("#validCode").removeAttr("title");
			bindTooltip();
		});
	}
	
	var validateUserName = function(){
		var result = true;
		if($("#entity_name").val() != ""){
			$.ajax({
			   type: "POST",
			   cache: false,
			   async: false,
			   dataType:"json",
			   url: CONTEXT_PATH + "/validate/member-ajax-validate!validateUserName.dhtml",
			   data: "userName="+$("#entity_name").val(),
			   success: function(data){
			   		result = data.result;
	  		   }
			}); 
		}
		return result;
	}
	
	var validateCard = function(){
		var result = "0104";
		if($("#entity_unutripCard").val() != "" && $("#validCode").val() != ""){
			$.ajax({
			   type: "POST",
			   cache: false,
			   async: false,
			   dataType:"json",
			   url: CONTEXT_PATH + "/validate/member-ajax-validate!validateUnutripCard.dhtml",
			   data: "unutripCard="+$("#entity_unutripCard").val()+"&validCode="+$("#validCode").val(),
			   success: function(data){
			   		result = data.result;
	  		   }
			}); 
		}
		return result;
	}
	
	var bindTooltip = function(){
		$("#entity_unutripCard").tooltip({
			track: true, 
			extraClass: "errordiv", 
			top: -15, 
			left: 5 
		});
		$("#validCode").tooltip({
			track: true, 
			extraClass: "errordiv", 
			top: -15, 
			left: 5 
		});
	}
	
})(jQuery)
