$(function() {

	jQuery("#email").change(function(){
		jQuery("#email").val(jQuery.trim(jQuery("#email").val()));
	});
	
	jQuery.validator.addMethod("email", function(value, element) {
		return this.optional(element) || /^[_A-z0-9-]+((\.|\+)[_A-z0-9-]+)*@[A-z0-9-]+(\.[A-z0-9-]+)*(\.[A-z]{2,3})$/i.test( jQuery.trim(value) );
	}, "Email bạn đang nhập không hợp lệ ! ");  
	
	jQuery.validator.addMethod("username", function(value, element) {
		//return this.optional(element) || /^[a-zA-Z]{1}[a-zA-Z0-9_]{min_username_len,max_username_len}$/i.test( jQuery.trim(value) );
		
		return this.optional(element) || /^[a-zA-Z]{1}[a-zA-Z0-9_]{5,20}$/i.test( jQuery.trim(value) );
	}, "Bút danh bắt đầu bằng chữ , bao gồm các ký tự a-z, A-Z, 0-9, _  có ít nhất "+min_username_len+" ký tự ");  
	
	jQuery.validator.addMethod("mobile", function(value, element) {
		return this.optional(element) || /^((\(\+?84\)[\-\.\s]?)|(\+?84[\-\.\s]?)|(0))((\d{3}[\-\.\s]?\d{6})|(\d{2}[\-\.\s]?\d{8}))$/i.test( jQuery.trim(value) );
	}, "Số điện thoại di động không hợp lệ , Vui lòng nhập lại số điện thoại di động ");  

	jQuery.validator.addMethod("imgcode", function(value, element) {
		return this.optional(element) || /^[a-zA-Z0-9]{6}$/i.test( jQuery.trim(value) );
	}, "Mã xác nhận không hợp lệ ");
	
	jQuery("#signupform").validate({
		event : "submit",
		rules: {
			email : {
				required : true 
			},
			password :{
				required: true ,
				minlength: min_password_len,
				maxlength:max_password_len
			},
			confirm_password :{
				required : true ,
				minlength: min_password_len,
				maxlength:max_password_len,
				equalTo : "#password" 
			},
			username :{
				required : true
			},
			mobile :{
				required : true
			},
			security_code : {
				required : true 	
			}
		
		},
		messages: {
			email : {
				required :  "Vui lòng nhập email!",
				remote : $.format("'{0}' đã được sử dụng ") 
			},
			password:{
				required : "Vui lòng nhập mật khẩu !",
				minlength : "Mật khẩu có ít nhất "+min_password_len+" ký tự",
				maxlength : "Mật khẩu có nhiều nhất "+max_password_len+" ký tự"
			},
			confirm_password :{
				required : " Vui lòng nhập lại mật khẩu!",
				minlength : "Mật khẩu có ít nhất "+min_password_len+" ký tự!",
				equalTo : "Mật khẩu không trùng nhau!"
			},
			mobile:{
				required :'Vui lòng nhập số điện thoại vào',
				remote : $.format("Số điện thoại di động '{0}' đã được sử dụng")
			},
			username :{
				required : "Vui lòng nhập Biệt danh!",
				remote : $.format("Tài khoản '{0}' đã được sử dụng!")
				
			},
			security_code : {
				required : "Vui lòng nhập mã xác nhận!",
				remote : "mã xác nhận không đúng"
			}
			
			
		},
		submitHandler: function(form) { 
			
			$('#password').val($.md5( $('#password').val() ));
			$('#confirm_password').val($.md5( $('#confirm_password').val() ));
			
			form.submit();
		}
	});
	$('#imgreload,#imgcode').click (function(){
		$("img#imgcode").attr("src", "captcha/"+Math.random()+".jpg");
	});
	jQuery("#password,#confirm_password").blur(function() {
		$("#confirm_password").valid();
	});
});