
jQuery.validator.addMethod("phone", function(pnumber) { 
    var stripped = pnumber.replace(/\[\(\)\.- \]/g, ''); 
    if (isNaN(parseInt(stripped)) || stripped.length < 8) { 
        return false; 
    }else{ 
        return true; 
    } 
}, "Please specify a valid phone number");

jQuery.validator.addMethod("login", function(login) { 
  	var response = $.ajax({
  		type:"GET",
  		url: base_url + "public/india/checkLogin.php",
  		data: "login="+login,
  		async: false
 	}).responseText;
 	if(response == 1){
 		return false;
 	}
 	return true;
}, "the username you have chosen is already used.");

jQuery.validator.addMethod("validChars", function(login) { 
  	var exp=new RegExp("^[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+$","g");

  	if ( !exp.test(login) || login.indexOf(" ") != -1) {
    	return false;
    }
 	return true;
}, "username contains characters that are not allowed.");

jQuery.validator.addMethod("validCharsPass", function(password) { 
  	var exp=new RegExp("^[a-zA-Z0-9_-]+$","g");

  	if ( !exp.test(password) || password.indexOf(" ") != -1) {
    	return false;
    }
 	return true;
}, "The password you have entered contains illegal characters");


$().ready(function() {

	// validate signup form on keyup and submit
	$("#registration_form").validate({
		rules: {
			UserName: {
				required: true,
				minlength: 3,
				login:true,
				validChars:true
			},
			Password: {
				required: true,
				minLength: 5,
				validCharsPass:true
			},
			Password1: {
				required: true,
				minlength: 5,
				equalTo: "#Password"
			},
			FirstName: "required",
			LastName: "required",
			PhoneNumber: {
				required: true,
				phone:true
			},
			MailId: {
				required: true,
				email: true
			},
			Profession:{
				required:true
			}
		},
		messages: {
			UserName: {
				required: "Please enter a username",
				minLength: "Your username must consist of at least 2 characters",
				validChars: "Your username contains illegal characters. Only letters and numbers are allowed."
			},
			Password: {
				required: "Please provide a password",
				minLength: "Your password must be at least 5 characters long",
				validCharsPass: "The password you have entered contains illegal characters"
			},
			Password1: {
				required: "Please provide a password",
				minLength: "Your password must be at least 5 characters long",
				equalTo: "Please enter the same password as before"
			},
			FirstName: "Please enter your first name",
			LastName: "Please enter your last name",
			PhoneNumber:{
				required : "Please enter your phone number",
				phone : "Please enter a valid phone number"
			},
			MailId: {
				required: "Please enter your email id",
				email: "Please enter a valid email id"
			},
			Profession : {
				required: "Please enter a profession"
			}
		},
		errorPlacement: function(error, element) {
	        error.insertAfter(element.next('span'));
		}
	});
	
});