
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	// VALIDATING PHONE NUMBER
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	// 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 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){
		s=stripCharsInBag(strPhone,validWorldPhoneChars);

		return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}
	
	function ValidatePhone(phone,field){
		if ((phone==null)||(phone=="")||(phone=="Phone No")){
			error_msg = error_msg + "* Please enter "+field+".\n";
			return false;
		}
		if (checkInternationalPhone(phone)==false){
			error_msg = error_msg + "* Please enter a valid "+field+" of atleast 10 digits.\n";
			return false;
		}
		return true;
	 }
	 
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	// END OF VALIDATING PHONE NUMBER
	//////////////////////////////////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////////////////////////////////
	// VALIDATING EMAIL ADDRESS
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function validateEmail(addr) {
		if(addr == "") {
		   error_msg = error_msg + "* Please enter your Email Address.\n";
		   return false;
		}
		var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
		for (i=0; i<invalidChars.length; i++) {
		   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
			  error_msg = error_msg + "* Your email address contains invalid characters\n";
			  return false;
		   }
		}
		for (i=0; i<addr.length; i++) {
		   if (addr.charCodeAt(i)>127) {
			  error_msg = error_msg + "* Your email address contains non ascii characters.\n";
			  return false;
		   }
		}
		
		var atPos = addr.indexOf('@',0);
		if (atPos == -1) {
		   error_msg = error_msg + "* Your email address must contain an @ symbol.\n";
		   return false;
		}
		if (atPos == 0) {
		   error_msg = error_msg + "* Your email address must not start with @ symbol.\n";
		   return false;
		}
		if (addr.indexOf('@', atPos + 1) > - 1) {
		   error_msg = error_msg + "* Your email address must contain only one @ symbol.\n";
		   return false;
		}
		if (addr.indexOf('.', atPos) == -1) {
		   error_msg = error_msg + "* Your email address must contain a period in the domain name.\n";
		   return false;
		}
		if (addr.indexOf('@.',0) != -1) {
		   error_msg = error_msg + "* The period must not immediately follow @ in email address.\n";
		   return false;
		}
		if (addr.indexOf('.@',0) != -1){
		   error_msg = error_msg + "* The period must not immediately precede @ in email address.\n";
		   return false;
		}
		if (addr.indexOf('..',0) != -1) {
		   error_msg = error_msg + "* Two periods must not be adjacent in email address.\n";
		   return false;
		}
		var suffix = addr.substring(addr.lastIndexOf('.')+1);
		if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
		   error_msg = error_msg + "* Invalid primary domain in email address.\n";
		   return false;
		}
		return true;
		
	} 

	//////////////////////////////////////////////////////////////////////////////////////////////////////
	// END OF VALIDATING EMAIL ADDRESS
	//////////////////////////////////////////////////////////////////////////////////////////////////////
	function Test(addr)    {
		alert(addr);
	}

