// 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 memberValidate() {
  
  field = document.submitEmail.CompanyName;
  if (isBlank(field, "Company Name")) return false;
  
  field = document.submitEmail.CompanyAddress1;
  if (isBlank(field, "Company Address")) return false;
  
  field = document.submitEmail.CompanyCity;
  if (isBlank(field, "City")) return false;
  
  field = document.submitEmail.CompanyCountry;
  if (isBlank(field, "Country")) return false;
  
  field = document.submitEmail.PrimaryFirstName;
  if (isBlank(field, "Primary Contact First Name")) return false;
  
  field = document.submitEmail.PrimaryLastName;
  if (isBlank(field, "Primary Contact Last Name")) return false;
  
  field = document.submitEmail.PrimaryEmail;
  if (isBlank(field, "Primary Email")) return false;
  
  field = document.submitEmail.Username;
  if (isBlank(field, "Username")) return false;
  
  field = document.submitEmail.Password;
  if (isBlank(field, "Password")) return false;

  return true;
}
function trimLeft(s) {
  var whitespaces = " \t\n\r";
  for(n = 0; n < s.length; n++) { if (whitespaces.indexOf(s.charAt(n)) == -1) return (n > 0) ? s.substring(n, s.length) : s; }
  return("");
}

function trimRight(s){
  var whitespaces = " \t\n\r";
  for(n = s.length - 1; n  > -1; n--) { if (whitespaces.indexOf(s.charAt(n)) == -1) return (n < (s.length - 1)) ? s.substring(0, n+1) : s; }
  return("");
}

function trim(s) {return ((s == null) ? "" : trimRight(trimLeft(s))); }

function isBlank(field, strFieldName) {
  strTrimmed = trim(field.value);
  if (strTrimmed.length > 0 ) return false;
  alert("\"" + strFieldName + "\" is a required field. Please fill it out.");
  field.focus();
  return true;
}

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 echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Please Enter a Valid Primary Contact Email Address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Please Enter a Valid Primary Contact Email Address")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Please Enter a Valid Primary Contact Email Address")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Please Enter a Valid Primary Contact Email Address")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Please Enter a Valid Primary Contact Email Address")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Please Enter a Valid Primary Contact Email Address")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Please Enter a Valid Primary Contact Email Address")
		    return false
		 }

 		 return true					
	}

