$().ready(function() {	
	
    $.validator.addMethod("phone", function(ph, element) {    	
        if (ph == null) {
        	return false;
        }
        
        var stripped = ph.replace(/[\s()+-]|ext\.?/gi, "");        
        
        var phoneRegExp = /^([0-9]{10}|[0-9]{11}|[0-9]{12})$/;

        return (phoneRegExp.test(stripped));        
    }, "Please enter a valid telephone number."); 	     
				


				
	$("#contact-form").validate({
		rules : {		
			title : { required : true, maxlength : 128 },
			forename : { required : true, maxlength : 128 },
			surname : { required : true, maxlength : 128 },
			email : { required : true, email : true, maxlength : 128 },
			jobtitle : { required : true, maxlength : 128 },
			companyname : { required : true, maxlength : 128 },
			companyaddress1 : { required : true, maxlength : 128 },
			companypostcode : { required : true, maxlength : 128 },
			noemployees : { required :true },
			tel : { required :true, maxlength : 12 },
			telephone : { required :true, maxlength : 12 },
			enquiry : { required : true, maxlength : 512 }	
		},
		
		messages : {
			title : { required : "Please enter your title.",
					 maxlength : "The Title field is too long." },
					 
			forename : { required : "Please enter your forename.",
						maxlength : "The Forename field is too long." },
						
			surname : { required : "Please enter your surname.",
		 				maxlength : "The Surname field is too long." },
		 				
			email : { 	required : "Please enter a valid email address.",
						maxlength : "The Email field is too long.",
						email : "The Email field must be a valid email address." },

			jobtitle : {	required : "Please enter your job title.",
							maxlength : "The Job Title field is too long." },
					
			companyname : { required : "Please enter your Company's title.",
							maxlength : "The Company Name field is too long." },	
							
			companyaddress1 : { required : "Please enter your Company's address.",
							maxlength : "The Company Address field is too long." },	
							
			companypostcode : { required : "Please enter your Company's postcode.",
							maxlength : "The Company Postcode field is too long." },	
							
			noemployees : { required : "Please select the number of employees in your company." },
			
			tel : { required : "Please enter your telephone number. ",
					maxlength : "The telphone number entered is too long. " },
			
			telephone : { required : "Please enter your telephone number. ",
						  maxlength : "The telphone number entered is too long. " },
						  
			callbacktime : { required : "Please select the best time to call you." },
						
			enquiry : { required : "Please enter an enquiry.",
						maxlength : "The enquiry field is too long." }
		}
	});
					
	$("#callback").validate({
		rules : {		
			title : { required : true, maxlength : 128 },
			forename : { required : true, maxlength : 128 },
			surname : { required : true, maxlength : 128 },
			email : { required : true, email : true, maxlength : 128 },
			telephone : { required : true, maxlength : 128, phone : true },
			jobtitle : { required : true, maxlength : 128 },
			companyname : { required : true, maxlength : 128 },						
			companyaddress1 : { required : true, maxlength : 128 },
			companypostcode : { required : true, maxlength : 128 },			
			noemployees : { required : true },
			callbacktime : { required : true }									
		},
		
		messages : {
			title : { required : "Please enter your title.",
					 maxlength : "The Title field is too long." },
					 
			forename : { required : "Please enter your forename.",
						maxlength : "The Forename field is too long." },
						
			surname : { required : "Please enter your surname.",
		 				maxlength : "The Surname field is too long." },
		 				
			email : { 	required : "Please enter a valid email address.",
						maxlength : "The Email field is too long.",
						email : "The Email field must be a valid email address." },
						
			telephone : { 	required : "Please enter your telephone number." },
			
			jobtitle : {	required : "Please enter your job title.",
							maxlength : "The Job Title field is too long." },
					
			companyname : { required : "Please enter your Company's title.",
							maxlength : "The Company Name field is too long." },	
							
			companyaddress1 : { required : "Please enter your Company's address.",
								maxlength : "The Company Address field is too long." },	
							
			companypostcode : { required : "Please enter your Company's postcode.",
								maxlength : "The Company Postcode field is too long." },	
							
			noemployees : { required : "Please select the number of employees in your company." },
						
			callbacktime : { required : "Please select a suitable callback time.",
							 maxlength : "Please select a suitable callback time." }
		}
	});
	
	$("#login").validate({
		rules : {		
			loginemail : { required : true, email : true, maxlength : 128 }
		},
		
		messages : {
			loginemail : { 	required : "Please enter a valid email address.",
						maxlength : "The Email field is too long.",
						email : "The Email field must be a valid email address." }
		}
	});
	
	$("#registration").validate({
		rules : {
			title : { required : true, maxlength : 128 },
			forename : { required : true, maxlength : 128 },
			surname : { required : true, maxlength : 128 },
			jobtitle : { required : true, maxlength : 128 },
			telephone : { required : true, phone : true, maxlength : 128 },
			email : { required : true, email : true, maxlength : 128 },						
			companyname : { required : true, maxlength : 128 },
			companyaddress1 : { required :true, maxlength : 128 },
			companypostcode : { required : true, maxlength : 128 },
			noemployees : { required :true },
			callbacktime : { required : true }
		},
		
		messages : {		
			title : { required : "Please enter your title.",
					 maxlength : "The Title field is too long." },
					 
			forename : { required : "Please enter your forename.",
						maxlength : "The Forename field is too long." },
						
			surname : { required : "Please enter your surname.",
		 				maxlength : "The Surname field is too long." },
		 				
			jobtitle : {	required : "Please enter your job title.",
							maxlength : "The Job Title field is too long." },
							
			telephone : { 	required : "Please enter your telephone number." },
							
			email : { 	required : "Please enter a valid email address.",
						maxlength : "The Email field is too long.",
						email : "The Email field must be a valid email address." },
					
			companyname : { required : "Please enter your Company's title.",
							maxlength : "The Company Name field is too long." },
							
			companyaddress1 : { required : "Please enter your Company address.",
								maxlength : "The Company Address field is too long." },
								
			companypostcode : { required : "Please enter your Company postcode.",
								maxlength : "The Company Postcode field is too long." },
								
			noemployees : { required : "Please select the number of employees in your company." },
							
			callbacktime : { required : "Please select a suitable callback time." }
		}		
	});
	
	$("#getfitandwin").validate({
		rules : {								
			name : { required : true, maxlength : 128 },
		    title : { required : true, maxlength : 128 },  
		    telephone : { required : true, phone : true, maxlength : 128 },  
		    email : { required : true, email : true, maxlength : 128 },  
		    companyname : { required : true, maxlength : 128 },  
		    businessactivity : { required : true, maxlength : 128 },  
		    turnover : { required : true, maxlength : 128 },  
		    numberofsites : { required : true, maxlength : 128, digits : true },  
		    addressofsiteyouwishustoaudit1 : { required : true, maxlength : 128 },  
		    addressofsiteyouwishustoaudit2 : { maxlength : 128 },  
		    addressofsiteyouwishustoaudit3 : { maxlength : 128 },  
		    numberofpeoplelocatedonsite : { required : true, maxlength : 128, digits : true },  
		    sitetype : { required : true }, 
		    othersitetype : {  maxlength : 128 }	
		},
		
		messages : {						
		    
		    name : { required : "Please enter your name.",
					 maxlength : "The Name field is too long." },
					 
			title : { 	required : "Please enter your title.",
					 	maxlength : "The Title field is too long." },
					 
			telephone : { required : "Please enter your telephone number." },
					 					 				
			email : { 	required : "Please enter a valid email address.",
						maxlength : "The Email field is too long.",
						email : "The Email field must be a valid email address." },

			companyname : { required : "Please enter your company's title.",
							maxlength : "The Company Name field is too long." },
								
			businessactivity : { 	required : "Please enter your business activity.",
									maxlength : "The Business activity field is too long." },
							
			turnover : {	required : "Please enter your turnover.",
							maxlength : "The Turnover field is too long." },
							
			numberofsites : { 	required : "Please enter the number of sites.",
		 						maxlength : "The number of sites field is too long.",
								digits : "Please enter only numerical data into this field." },

		    addressofsiteyouwishustoaudit1 : { 	required : "Please enter an address.",			
		 										maxlength : "The 1st line of the address field is too long." },
		    addressofsiteyouwishustoaudit2 : { maxlength : "The 2nd line of the  address field is too long." },
		    addressofsiteyouwishustoaudit3 : { maxlength : "The 3rd line of the address field is too long." },
						
			numberofpeoplelocatedonsite : { required : "Please enter the number of people located on site.",
											maxlength : "This field is too long.",
											digits : "Please enter only numerical data into this field."
										 },
											
		    sitetype : { required : "Please select a site type." }, 
		    
		    othersitetype : { maxlength : "This field is too long." }	
		}
	});
	
	$("#expo").validate({
		rules : {		
			title : { required : true, maxlength : 128 },
			forename : { required : true, maxlength : 128 },
			surname : { required : true, maxlength : 128 },
			jobtitle : { required : true, maxlength : 128 },
			telephone : { required : true, phone : true, maxlength : 128 },
			email : { required : true, email : true, maxlength : 128 },
			companyname : { required : true, maxlength : 128 },
			day : { required : true },
			time : { required : true }
		},
		
		messages : {
			name : { required : "Please enter your name.",
					 maxlength : "The Name field is too long." },
					 
			title : { 	required : "Please enter your title.",
					 	maxlength : "The Title field is too long." },
					 
			telephone : { required : "Please enter your telephone number." },
					 					 				
			email : { 	required : "Please enter a valid email address.",
						maxlength : "The Email field is too long.",
						email : "The Email field must be a valid email address." },

			companyname : { required : "Please enter your company's title.",
							maxlength : "The Company Name field is too long." },
							
			day : { required : "Please choose a suitable day." },
			
			time : { required : "Please choose a suitable time."}
		}
	});
});