$(document).ready(function(){
	var form = $("#frm_contact");
	var name = $("#name");
	var nameInfo = $("#nameInfo");
	
	var email = $("#email");
	var emailInfo = $("#emailInfo");
	
	var company = $("#company");
	var companyInfo = $("#companyInfo");
	
	var phone = $("#phone");
	var phoneInfo = $("#phoneInfo");
	
	var purpose = $("#purpose");
	var purposeInfo = $("#purposeInfo"); 
	
	var hear = $("#hear");
	var hearInfo = $("#hearInfo");
	
	var subject = $("#subject");
	var subjectInfo = $("#subjectInfo");
	
	var messageDetail = $("#messageDetail");
	var messageDetailInfo = $("#messageDetailInfo");
	//validatePhoneNumber
	name.blur(validateName);
	name.keyup(validateName);
	email.blur(validateEmail);
	email.keyup(validateEmail);
	//company.blur(validateCompany);
	phone.blur(validatePhoneNumber);
//	messageDetail.blur(validateMessageDetail);
	//subject.blur(validateSubject);
	$('#image').click(function(){
					   
		if(validateName()  & validateEmail() & validatePhoneNumber()){ return true;}
		else
		{
			return false;
		}
	}); 
	
	
	function validateSubject(){
		
			if(subject.val().length < 1 ){
			subjectInfo.text("Please Enter Subject.");
			subjectInfo.addClass("error");
			return false;
		}//if it's valid
		else{
			subjectInfo.text("");
			subjectInfo.removeClass("error");
			return true;
		}
	}
// function to validate helptext
	function validateMessageDetail(){
	   		if(messageDetail.val().length < 1 ){
			messageDetailInfo.text("Please Enter your Comments.");
			messageDetailInfo.addClass("error");
			return false;
		}//if it's valid
		else{
			messageDetailInfo.text("");
			messageDetailInfo.removeClass("error");
			return true;
		}
	}
///////////  Function to validate email

	function validateEmail(){
		var a = $("#email").val();
		var s=$("#email").val();
		   var i;
           var returnString = "";
		if(s == ""){
			//email.addClass("error");
			emailInfo.text("Please Enter Email.");
			emailInfo.addClass("error");
			return false;
		}	   
    for (i = 0; i < s.length; i++)
      {   
              var c = s.charAt(i);
        if (c == " " )
		  {
		 	// email.addClass("error");
			emailInfo.text("White Spaces are  not allowed !");
			emailInfo.addClass("error");
			return false;
			         }
        }
		var filter = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		//if it's valid email
		if(filter.test(a)){
			//email.removeClass("error");
			emailInfo.text("");
			emailInfo.removeClass("error");
			return true;
		}
		else{
			//email.addClass("error");
			emailInfo.text("Please enter valid email.");
			emailInfo.addClass("error");
			return false;
			}
	}

///////////  Function to validate name

	function validateName(){
		var s=name.val();
	   var i;
       var returnString = "";
	   var filter = /^([A-Za-z])$/;
     for (i = 0; i < s.length; i++)
      {   
          var c = s.charAt(i);
        if (c == "'" || c == "#" ||  c == "@" || c == "!" ||  c == "&" || c == "`")
		  {
			//name.addClass("error");
			nameInfo.text("This type of special characters are  not allowed !");
			nameInfo.addClass("error");
			return false;
         }
        }

		if(name.val().length < 1 ){
			//name.addClass("error");
			nameInfo.text("Please Enter Name.");
			nameInfo.addClass("error");
			return false;
		}//if it's valid
		else{
			//name.removeClass("error");
			nameInfo.text("");
			nameInfo.removeClass("error");
			return true;
		}
	}

///////////  Function to validate company

function validateCompany(){
	   var s=company.val();
	   var i;
       var returnString = "";
	   var filter = /^([A-Za-z])$/;
     for (i = 0; i < s.length; i++)
      {   
          var c = s.charAt(i);
        if (c == "'" || c == "#" ||  c == "@" || c == "!" ||  c == "&" || c == "`")
		  {
			//company.addClass("error");
			companyInfo.text("This type of special characters are  not allowed !");
			companyInfo.addClass("error");
			return false;
         }
        }

		if(company.val().length < 1 ){
			//company.addClass("error");
			companyInfo.text("Please Enter Company.");
			companyInfo.addClass("error");
			return false;
		}//if it's valid
		else{
			//company.removeClass("error");
			companyInfo.text("");
			companyInfo.removeClass("error");
			return true;
		}
	}
	
	// validating phone
	
	var digits = "0123456789";
				var phoneNumberDelimiters = "()- ";
				
				var validWorldPhoneChars = phoneNumberDelimiters + "+";
				var minDigitsInIPhoneNumber = 10;
				
				function isInteger(s)
				{   var i;
					for (i = 0; i < s.length; i++)
					{   
						var c = s.charAt(i);
						if (((c < "0") || (c > "9"))) return false;
					}
				   
					return true;
				}
				function trim(s)
				{   var i;
					var returnString = "";
					for (i = 0; i < s.length; i++)
					{   
						var c = s.charAt(i);
						if (c != " ") returnString += c;
					}
					return returnString;
				}
				function stripCharsInBag(s, bag)
				{   var i;
					var returnString = "";
					for (i = 0; i < s.length; i++)
					{   
						// Check that current character isn't whitespace.
						var c = s.charAt(i);
						if (bag.indexOf(c) == -1) returnString += c;
					}
					return returnString;
				}
				
				function checkInternationalPhone(strPhone){
				var bracket=3
				strPhone=trim(strPhone)
				if(strPhone.indexOf("+")>1) return false
				if(strPhone.indexOf("-")!=-1)bracket=bracket+1
				if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
				var brchr=strPhone.indexOf("(")
				if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
				if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
				s=stripCharsInBag(strPhone,validWorldPhoneChars);
				return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
				}
				
				function validatePhoneNumber(){
					if(phone.val()!="") {
						if (checkInternationalPhone(phone.val())==false){
							//phone.addClass("error");
							phoneInfo.text("Please Enter valid Phone.");
							phoneInfo.addClass("error");
							return false
						}else{
						//	phone.removeClass("error");
							phoneInfo.text("");
							phoneInfo.removeClass("error");
						return true;
						}
					} else {
						phoneInfo.text("");
						return true;
					}
				 }


function is_numeric(value){
			return !isNaN(value);
			}


});
