// JavaScript Document
$(document).ready(function(){
			
			//we user jQuery validator plugin to do input validation
			
			//call the validate method on our form, and pass in our explicit options
			$("#registerform").validate({
				onkeyup:false,
				rules: {
						txtFirstName: {
							required: true,
							maxlength: 255,
							minlength:2
							},
						txtLastName: {
							required: true,
							maxlength: 255,
							minlength:2
							},
						txtEmail: {
							required: true,
							email:true,
							maxlength: 255,
							emailCheck: true
							},
						txtPass: {
							required: true,
							minlength: 6,
							maxlength: 128
							},
						txtPassConf: {
							required: true,
							minlength: 6,
							equalTo: "#txtPass"
							},
						txtPhone: {
							required: true,
							minlength: 10,
							maxlength: 20,
							number: true
							},
						txtMobile: {
							required: true,
							minlength: 10,
							maxlength: 20,
							number: true
							},
						txtPassport: {
							required: true,
							minlength: 4,
							maxlength: 20
							},
						cboCountry: {
							required: true
							},
						cboIndustry1: {
							required: true
							},
						cboDepartement1: {
							required: true
							},
						txtPosition1: {
							required: true,
							minlength: 5,
							maxlength: 50
							},
						txtExpNum1: {
							required: true,
							min: 1,
							max: 50
							},
						cboAB: {
							required: true
							},
						fileResume: {
							required: true,
							accept: ".doc|.pdf|.jpg"
							}
					},
				messages:{
					txtFirstName: {
						required: " First name is required.",
						maxlength: jQuery.format(" First name can not exceed {0} characters in lenght."),
						minlength: jQuery.format(" First name must be at least {0} characters in length.")
						},
					txtLastName: {
						required: " Last name is required.",
						maxlength: jQuery.format(" Last name can not exceed {0} characters in lenght."),
						minlength: jQuery.format(" Last name must be at least {0} characters in length.")
						},
					txtEmail: {
						required: " email address is required.",
						email: " email address must be valid.",
						maxlength: jQuery.format(" email address can not exceed {0} characters in lenght."),
						emailCheck: " this email adress is already in use."
						},
					txtPass: {
						required: " password is required.",
						minlength: jQuery.format(" password must be at least {0} characters in length."),
						maxlength: jQuery.format(" password can not exceed {0} characters in length.")
						},
					txtPassConf: {
						required: " confirmed password is required.",
						minlength: jQuery.format(" "),
						equalTo: " confirmed password does not match"
						},
					txtPhone: {
						required: " phone is required.",
						minlength: jQuery.format(" phone must be at least {0} characters in length."),
						maxlength: jQuery.format(" phone can not exceed {0} characters in length."),
						number: jQuery.format(" please enter a valid number ex. 00966104612124")
						},
					txtMobile: {
						required: " mobile is required.",
						minlength: jQuery.format(" mobile must be at least {0} characters in length."),
						maxlength: jQuery.format(" mobile can not exceed {0} characters in length."),
						number: jQuery.format(" please enter a valid mobile ex. 00966540762210")
						},
					txtPassport: {
						required: " passport is required.",
						minlength: jQuery.format(" passport must be at least {0} characters in length."),
						maxlength: jQuery.format(" passport can not exceed {0} characters in length.")
						},
					cboCountry: {
						required: " country is required."
						},
					cboIndustry1: {
						required: " industry is required."
						},
					cboDepartement1: {
						required: " departement is required."
						},
					txtPosition1: {
						required: " position is required.",
						minlength: jQuery.format(" position must be at least {0} characters in length."),
						maxlength: jQuery.format(" position can not exceed {0} characters in length.")
						},
					txtExpNum1: {
						required: " job experience is required.",
						min: jQuery.format(" job experience must be at least {0} characters in length."),
						max: jQuery.format(" job experience can not exceed {0} characters in length.")
						},
					cboAB: {
						required: " academic background is required."
						},
					fileResume: {
						required: " resume is required.",
						accept: jQuery.format(" resume allowed extention .doc or .pdf or .jpg")
						}
					}
				});
		
			});

jQuery.validator.addMethod('emailCheck', function(email){
	var postURL = "email_check.php";
	$.ajax({
		   cache: false,
		   async: false,
		   type: "POST",
		   data: "email=" +email,
		   url: postURL,
		   success: function(msg){
			   result = (msg == 'TRUE')? true: false;
			   }
		   });
			return result;
	
	}, 'this email adress is already in use.');
	
$.validator.addMethod('validChars', function(value){
											 
	var result = true;
	var iChars = "!@#$%^&*()-+[]\\\';,./{}|\":<>?";
	
	for (var i = 0; i < value.length; i++){
		if(iChars.indexOf(value.charAt(i)) != -1){
			return false;
			}
		}
		return result;
		
	}, '');
