jQuery(function(){
	
	var submitError = false;
	
	var newsletter_form = $("#newsletter_form");
	var newsletter = $("#submit_newsletter");
		var newsletter_name = $("#nl_name");
		var newsletter_email = $("#nl_email");
	
	Validation = new function(){
		
		this.newsletter_bind = function(){
			
			newsletter.bind('click', function(){
				if(newsletter_name.val() == '' || newsletter_name.val() == 'Name'){
					submitError = true;	
					Validation.animateError(newsletter_name);
				}
				if(newsletter_email.val() == '' || newsletter_email.val() == 'Email'){
					submitError = true;	
					Validation.animateError(newsletter_email);
				}
				if(submitError == true){
					submitError = false;
					return false;
				} else {
					var dataString = 'nl_name='+ newsletter_name.val() + '&nl_email=' + newsletter_email.val();  
					$.ajax({  
						type: "POST",  
						url: "/ajax_newsletter.php",  
						data: dataString,  
						success: function(result) {
							if(result == "success"){
								newsletter_form.fadeOut('slow', function(){
									newsletter_form.html('Thanks for registering').fadeIn('slow');
								});
							} else {
								Validation.animateError(newsletter_email);
							}
						}  
					});  
					return false;	
				}
			});
			
			newsletter_name.bind('focus', function(){
				Validation.removeError(newsletter_name);
				if(newsletter_name.val() == 'Name'){
					newsletter_name.val('');
				}
			});
			newsletter_name.bind('blur', function(){
				if(newsletter_name.val() == ''){
					newsletter_name.val('Name');
				}
			});
			
			newsletter_email.bind('focus', function(){
				Validation.removeError(newsletter_email);
				if(newsletter_email.val() == 'Email'){
					newsletter_email.val('');
				}
			});
			newsletter_email.bind('blur', function(){
				if(newsletter_email.val() == ''){
					newsletter_email.val('Email');
				}
			});
		
		}
		
		this.contact_bind = function(){
			
			contact_form = $("#contact_form");
			contact = $("#submit_contact_form");
				contact_select = $("#contact_select");
				contact_name = $("#contact_name");
				contact_email = $("#contact_email");
				contact_message = $("#contact_message");
					
			contact.live('click', function(){
				if(contact_name.val() == '' || contact_name.val() == 'Name'){
					submitError = true;	
					Validation.animateError(contact_name);
				}
				if(contact_email.val() == '' || contact_email.val() == 'Email'){
					submitError = true;	
					Validation.animateError(contact_email);
				}
				if(contact_message.val() == '' || contact_message.val() == 'Please enter your message...'){
					submitError = true;	
					Validation.animateError(contact_message);
				}
				if(submitError == true){
					submitError = false;
					return false;
				} else {
					var dataString = 'contact_select=' + contact_select.val() + '&contact_name=' + contact_name.val() + '&contact_email=' + contact_email.val() + '&contact_message=' + contact_message.val();  
					$.ajax({  
						type: "POST",  
						url: "/ajax_contact_form.php",  
						data: dataString,  
						success: function(result) {
							if(result == "success"){
								contact_form.fadeOut('slow', function(){
									contact_form.html('Thanks for contacting us. We will be in touch soon.').fadeIn('slow');
								});
							} else {
								Validation.animateError(contact_email);
							}
						}  
					});  
					return false;	
				}
			});
			
			contact_name.live('focus', function(){
				Validation.removeError(contact_name);
				if(contact_name.val() == 'Name'){
					contact_name.val('');
				}
			});
			contact_name.live('blur', function(){
				if(contact_name.val() == ''){
					contact_name.val('Name');
				}
			});
			
			contact_email.live('focus', function(){
				Validation.removeError(contact_email);
				if(contact_email.val() == 'Email'){
					contact_email.val('');
				}
			});
			contact_email.live('blur', function(){
				if(contact_email.val() == ''){
					contact_email.val('Email');
				}
			});
			
			contact_message.live('focus', function(){
				Validation.removeError(contact_message);
				if(contact_message.val() == 'Please enter your message...'){
					contact_message.val('');
				}
			});
			contact_message.live('blur', function(){
				if(contact_message.val() == ''){
					contact_message.val('Please enter your message...');
				}
			});
		}
		
		this.courier_bind = function(){
			
			courier_form = $("#courier_form");
			courier = $("#submit_courier_form");
				courier_firm_name = $("#courier_firm_name");
				courier_contact_name = $("#courier_contact_name");
				courier_contact_number = $("#courier_contact_number");
				courier_office = $("#courier_office");
				courier_collection_date = $("#courier_collection_date");
				courier_collection_time = $("#courier_collection_time");
				courier_details = $("#courier_details")
				
			courier.bind('click', function(){
				if(courier_firm_name.val() == '' || courier_firm_name.val() == 'Firm Name'){
					submitError = true;	
					Validation.animateError(courier_firm_name);
				}
				if(courier_contact_name.val() == '' || courier_contact_name.val() == 'Contact Name'){
					submitError = true;	
					Validation.animateError(courier_contact_name);
				}
				if(courier_contact_number.val() == '' || courier_contact_number.val() == 'Contact Number'){
					submitError = true;	
					Validation.animateError(courier_contact_number);
				}
				if(courier_collection_date.val() == '' || courier_collection_date.val() == 'Collection Date'){
					submitError = true;	
					Validation.animateError(courier_collection_date);
				}
				if(courier_details.val() == '' || courier_details.val() == 'Please detail what is to be collected'){
					submitError = true;	
					Validation.animateError(courier_details);
				}
				
				if(submitError == true){
					submitError = false;
					return false;
				} else {
					var dataString = 'courier_firm_name=' + courier_firm_name.val() + '&courier_contact_name=' + courier_contact_name.val() + '&courier_contact_number=' + courier_contact_number.val() + '&courier_office=' + courier_office.val() + '&courier_collection_date=' + courier_collection_date.val() + '&courier_collection_time=' + courier_collection_time.val() + '&courier_details=' + courier_details.val();
					$.ajax({  
						type: "POST",  
						url: "/ajax_courier_form.php",  
						data: dataString,  
						success: function(result) {
							if(result == "success"){
								courier_form.fadeOut('slow', function(){
									courier_form.html('Thanks for contacting us. We will be in touch soon.').fadeIn('slow');
								});
							} else {
								alert(result);
								Validation.animateError(courier_collection_date);
							}
						}  
					});  
					return false;	
				}
			});
			
			courier_firm_name.bind('focus', function(){
				Validation.removeError(courier_firm_name);
				if(courier_firm_name.val() == 'Firm Name'){
					courier_firm_name.val('');
				}
			});
			courier_firm_name.bind('blur', function(){
				if(courier_firm_name.val() == ''){
					courier_firm_name.val('Firm Name');
				}
			});
			
			courier_contact_name.bind('focus', function(){
				Validation.removeError(courier_contact_name);
				if(courier_contact_name.val() == 'Contact Name'){
					courier_contact_name.val('');
				}
			});
			courier_contact_name.bind('blur', function(){
				if(courier_contact_name.val() == ''){
					courier_contact_name.val('Contact Name');
				}
			});
			
			courier_contact_number.bind('focus', function(){
				Validation.removeError(courier_contact_number);
				if(courier_contact_number.val() == 'Contact Number'){
					courier_contact_number.val('');
				}
			});
			courier_contact_number.bind('blur', function(){
				if(courier_contact_number.val() == ''){
					courier_contact_number.val('Contact Number');
				}
			});
			
			courier_collection_date.bind('focus', function(){
				Validation.removeError(courier_collection_date);
				if(courier_collection_date.val() == 'Collection Date'){
					courier_collection_date.val('');
				}
			});
			courier_collection_date.bind('blur', function(){
				if(courier_collection_date.val() == ''){
					courier_collection_date.val('Collection Date');
				}
			});
			
			courier_details.bind('focus', function(){
				Validation.removeError(courier_details);
				if(courier_details.val() == 'Please detail what is to be collected'){
					courier_details.val('');
				}
			});
			courier_details.bind('blur', function(){
				if(courier_details.val() == ''){
					courier_details.val('Please detail what is to be collected');
				}
			});
		}
		
		this.client_bind = function(){
			
			client_form = $("#client_form");
			client = $("#submit_client_form");
				client_firm_name = $("#client_firm_name");
				client_contact_name = $("#client_contact_name");
				client_contact_number = $("#client_contact_number");
				client_email = $("#client_email");
				client_comments = $("#client_comments");
				client_requirements = $("#client_requirements");
				
				
			client.live('click', function(){
				client_requirements_checked = $("input[name=client_requirements[]]:checked").length;
				if(client_requirements_checked == 0){
					submitError = true;
					Validation.animateError(client_requirements);					
				}				
				if(client_firm_name.val() == '' || client_firm_name.val() == 'Firm Name'){
					submitError = true;	
					Validation.animateError(client_firm_name);
				}
				if(client_contact_name.val() == '' || client_contact_name.val() == 'Contact Name'){
					submitError = true;	
					Validation.animateError(client_contact_name);
				}
				if(client_contact_number.val() == '' || client_contact_number.val() == 'Contact Number'){
					submitError = true;	
					Validation.animateError(client_contact_number);
				}
				if(client_email.val() == '' || client_email.val() == 'Email'){
					submitError = true;	
					Validation.animateError(client_email);
				}
				if(client_comments.val() == '' || client_comments.val() == 'Any other comments?'){
					submitError = true;	
					Validation.animateError(client_comments);
				}
				if(submitError == true){
					submitError = false;
					return false;
				} else {
					var clientReqArr = new Array();
					$("#client_form input:checked").each(function(id) {
						 message = $("#client_form input:checked").get(id); 
						 clientReqArr.push(message.value);
					});
					
					var dataString = 'client_firm_name=' + client_firm_name.val() + '&client_contact_name=' + client_contact_name.val() + '&client_contact_number=' + client_contact_number.val() + '&client_email=' + client_email.val() + '&client_comments=' + client_comments.val() + '&client_requirements[]=' + clientReqArr;  
					$.ajax({  
						type: "POST",  
						url: "/ajax_client_form.php",  
						data: dataString,  
						success: function(result) {
							if(result == "success"){
								client_form.fadeOut('slow', function(){
									client_form.html('Thanks for contacting us. We will be in touch soon.').fadeIn('slow');
								});
							} else {
								Validation.animateError(client_email);
							}
						}  
					});  
					return false;	
				}
			});
			
			client_firm_name.live('focus', function(){
				Validation.removeError(client_firm_name);
				if(client_firm_name.val() == 'Firm Name'){
					client_firm_name.val('');
				}
			});
			client_firm_name.live('blur', function(){
				if(client_firm_name.val() == ''){
					client_firm_name.val('Firm Name');
				}
			});
			
			client_firm_name.live('focus', function(){
				Validation.removeError(client_firm_name);
				if(client_firm_name.val() == 'Firm Name'){
					client_firm_name.val('');
				}
			});
			client_firm_name.live('blur', function(){
				if(client_firm_name.val() == ''){
					client_firm_name.val('Firm Name');
				}
			});
			
			client_contact_name.live('focus', function(){
				Validation.removeError(client_contact_name);
				if(client_contact_name.val() == 'Contact Name'){
					client_contact_name.val('');
				}
			});
			client_contact_name.live('blur', function(){
				if(client_contact_name.val() == ''){
					client_contact_name.val('Contact Name');
				}
			});
			
			client_contact_number.live('focus', function(){
				Validation.removeError(client_contact_number);
				if(client_contact_number.val() == 'Contact Number'){
					client_contact_number.val('');
				}
			});
			client_contact_number.live('blur', function(){
				if(client_contact_number.val() == ''){
					client_contact_number.val('Contact Number');
				}
			});
			
			client_email.live('focus', function(){
				Validation.removeError(client_email);
				if(client_email.val() == 'Email'){
					client_email.val('');
				}
			});
			client_email.live('blur', function(){
				if(client_email.val() == ''){
					client_email.val('Email');
				}
			});
			
			client_comments.live('focus', function(){
				Validation.removeError(client_comments);
				if(client_comments.val() == 'Any other comments?'){
					client_comments.val('');
				}
			});
			client_comments.live('blur', function(){
				if(client_comments.val() == ''){
					client_comments.val('Any other comments?');
				}
			});
			$("input[name=client_requirements[]]").live('focus', function(){
				client_requirements.animate({
					backgroundColor:'#000000',
					color:'#ffffff'
				}, 'slow');
			});
		}
		
		this.animateError = function(obj){
			obj.animate({
				backgroundColor:"#b51515",
				color:"#ffffff"
			}, 'slow');	
		}
		
		this.removeError = function(obj){
			obj.animate({
				backgroundColor:"#ffffff",
				color:"#000000"
			}, 'slow');
		}
	
		this.is_string = function(str){
			return (typeof(str) == "string");
		}
		
	};

	Validation.newsletter_bind();
	Validation.contact_bind();
	Validation.courier_bind();
	Validation.client_bind();
		
});
