// JavaScript Document
// Leadform Validation
function leadformValidation()
{
  if (document.leadform.contact_name.value == '')
  {
	 alert ('Please enter your name');  
	 document.leadform.contact_name.focus();
	 document.leadform.contact_name.style.border = '1px solid #FF0000';
	 return false;
  }
  
  if (document.leadform.email.value == '')
  {
	 alert ('Please enter your email');  
	 document.leadform.email.focus();
	 document.leadform.email.style.border = '1px solid #FF0000';
	 return false;
  }
  
  var email = document.leadform.email.value;
  var filter=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  if (!filter.test(email))
  {
	document.leadform.email.focus();
	alert ("Please enter a valid email id [xxxxx@xxxx.xxx]");
	document.leadform.email.style.border = '1px solid #FF0000';
	return false;
  }
  
  // International Phone Validation
			// Declaring required variables
		var digits = "0123456789";
		// non-digit characters which are allowed in phone numbers
		var phoneNumberDelimiters = "()- ";
		// characters which are allowed in international phone numbers
		// (a leading + is OK)
		var validWorldPhoneChars = phoneNumberDelimiters + "+";
		// Minimum no of digits in an international phone no.
		var minDigitsInIPhoneNumber = 10;
		
		function isInteger(s)
		{   var i;
			for (i = 0; i < s.length; i++)
			{   
				// Check that current character is number.
				var c = s.charAt(i);
				if (((c < "0") || (c > "9"))) return false;
			}
			// All characters are numbers.
			return true;
		}
		function trim(s)
		{   var i;
			var returnString = "";
			// Search through string's characters one by one.
			// If character is not a whitespace, append to returnString.
			for (i = 0; i < s.length; i++)
			{   
				// Check that current character isn't whitespace.
				var c = s.charAt(i);
				if (c != " ") returnString += c;
			}
			return returnString;
		}
		function stripCharsInBag(s, bag)
		{   var i;
			var returnString = "";
			// Search through string's characters one by one.
			// If character is not in bag, append to 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);
		}
			
	// International Phone Validation
  
  if (document.leadform.phone.value == '')
  {
	 alert ('Please enter your phone number');  
	 document.leadform.phone.focus();
	 document.leadform.phone.style.border = '1px solid #FF0000';
	 return false;
  }
  var Phone=document.leadform.phone
  if (checkInternationalPhone(Phone.value)==false){
		alert("Please Enter a Valid Phone Number [###-###-####]")
		Phone.value=""
		Phone.focus()
		return false
	}
	
  if (document.leadform.comments.value == '')
  {
	 alert ('Please enter your comments');  
	 document.leadform.comments.focus();
	 document.leadform.comments.style.border = '1px solid #FF0000';
	 return false;
  }	
  
  else
  return true;
}
