$(document).ready(function(){
	$(".validate").validate();
});

$.fn.validate = function(options) {  

	var defaults = {  
		requiredText: "this field is required",
		emailText: "enter a valid email",
		phoneText: "enter a valid Phone no",
		sentText: "Thankyou for your Message"
	};  
 
	var options = $.extend(defaults, options);  
  
	return this.each(function() {
		$(this).find(".required").not(".small:nth(1), .small:nth(0)").after("<sup>*</sup>");
		$(this).find("fieldset").append("<br class='clearBoth'/><span>* = required field</span>");
		$(this).find("input:submit").click(function(event){
			$(".required").each(function(){
				var input = $(this).val();
				var name = $(this).attr("name");				
				if($(this).is("select")){
					
				}
				if(input == "" || input == options.requiredText || input == options.emailText || input == options.phoneText){
					$(this).val(options.requiredText);
					$(this).addClass("error");
				}else{
					$(this).removeClass("error");
				}
				if (name == "email"  && input != "" || $(this).is(".email")){
					var email = $(this).val();					
					function isValidEmail(emailAddress) {					
						var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
						return pattern.test(emailAddress);
					}
					if(isValidEmail(email)){
						$(this).removeClass("error");
					}else{
						$(this).addClass("error");
						$(this).val(options.emailText);
					}
				}
				if (name == "tel" && input != "" || $(this).is(".number")){
					var tel = $(this).val();
					var tel = tel.replace(" ","");
					if (isNaN(tel)){
						$(this).addClass("error");
						$(this).val(options.phoneText);
					}else{
						$(this).removeClass("error");
					}
				}
			});
			$(".error").click(function(){
				$(this).val("").removeClass("error");
			});
			var error = $(".error").length;
			if(error > 0){
				event.preventDefault();
				//alert("not sent");
			}else{
				//alert("sent");
			}
		});
		return false;
	});  
};
