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("Invalid E-mail Address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail Address")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail Address")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail Address")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail Address")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail Address")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail Address")
		    return false
		 }

 		 return true					
	}

function ValidateEmail1(){
	var emailID=document.UpdateProviderInfoForm.Email
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter a Primary Contact Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	return true
 }

function ValidateEmail2(){
	var emailID=document.UpdateProviderInfoForm.AccountEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter an Account Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.focus()
		return false
	}
	return true
 }

function ValidateEmail3(){
	var emailID=document.UpdateProviderInfoForm.AdminEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter an Admin Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.focus()
		return false
	}
	return true
 }
 
function ValidateEmail4(){
	var emailID=document.UpdateProviderInfoForm.SupportEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter a Support Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.focus()
		return false
	}
	return true
 }
 
function ValidateEmailB1(){
	var emailID=document.BecomeAProviderForm.Email
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter a Primary Contact Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	return true
 }

function ValidateEmailB2(){
	var emailID=document.BecomeAProviderForm.AccountEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter an Account Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.focus()
		return false
	}
	return true
 }

function ValidateEmailB3(){
	var emailID=document.BecomeAProviderForm.AdminEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter an Admin Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.focus()
		return false
	}
	return true
 }
 
function ValidateEmailB4(){
	var emailID=document.BecomeAProviderForm.SupportEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Please Enter a Support Email Address")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.focus()
		return false
	}
	return true
 }
 
function checkPassword(form)
{
if(form.ExistingPassword.value.length > 0 || form.NewPassword.value.length > 0 || form.ConfirmPassword.value.length > 0){
  if(form.ExistingPassword.value != "") {
    if(form.ExistingPassword.value.length < 6) {
      alert("Error: Your Existing Password should contain at least six characters!");
      form.ExistingPassword.focus();
      return false;
    }
    re = /[0-9]/;
    if(!re.test(form.ExistingPassword.value)) {
      alert("Error: Your Existing Password should contain at least one number (0-9)!");
      form.ExistingPassword.focus();
      return false;
    }
    re = /[a-z]/;
    re2 = /[A-Z]/;
    if(!re.test(form.ExistingPassword.value) && !re2.test(form.ExistingPassword.value)) {
      alert("Error: Your Existing Password should contain at least one letter (a-z or A-Z)!");
      form.ExistingPassword.focus();
      return false;
    }
  } else {
    alert("Error: Please enter your Existing Password!");
    form.ExistingPassword.focus();
    return false;
  }

  if(form.NewPassword.value != "" && form.NewPassword.value == form.ConfirmPassword.value) {
    if(form.NewPassword.value.length < 6) {
      alert("Error: Your New Password must contain at least six characters!");
      form.NewPassword.focus();
      return false;
    }
    re = /[0-9]/;
    if(!re.test(form.NewPassword.value)) {
      alert("Error: Your New Password must contain at least one number (0-9)!");
      form.NewPassword.focus();
      return false;
    }
    re = /[a-z]/;
    re2 = /[A-Z]/;
    if(!re.test(form.NewPassword.value) && !re2.test(form.NewPassword.value)) {
      alert("Error: Your New Password must contain at least one letter (a-z or A-Z)!");
      form.NewPassword.focus();
      return false;
    }
  } else {
    alert("Error: Please check that you've entered and confirmed your New Password!");
    form.NewPassword.focus();
    return false;
  }
}

  return true;
}


function checkPassword2(form)
{
  if(form.NewPassword.value != "" && form.NewPassword.value == form.ConfirmPassword.value) {
    if(form.NewPassword.value.length < 6) {
      alert("Error: Your Password must contain at least six characters!");
      form.NewPassword.focus();
      return false;
    }
    re = /[0-9]/;
    if(!re.test(form.NewPassword.value)) {
      alert("Error: Your Password must contain at least one number (0-9)!");
      form.NewPassword.focus();
      return false;
    }
    re = /[a-z]/;
    re2 = /[A-Z]/;
    if(!re.test(form.NewPassword.value) && !re2.test(form.NewPassword.value)) {
      alert("Error: Your Password must contain at least one letter (a-z or A-Z)!");
      form.NewPassword.focus();
      return false;
    }
  } else {
    alert("Error: Please check that you've entered and confirmed your Password!");
    form.NewPassword.focus();
    return false;
  }

  return true;
}


function validateForm(form)
{
  if(form.Address1.value.length < 1) {
    alert("Please enter your Street Address.");
    form.Address1.focus();
    return false;
  }
  if(form.City.value.length < 1) {
    alert("Please enter your City.");
    form.City.focus();
    return false;
  }
  if(form.State.value.length != 2) {
    alert("Please enter the two letter code for your State.");
    form.State.focus();
    return false;
  }
  if(isNaN(form.ZipCode.value) || form.ZipCode.value.length < 5) {
    alert("Please enter your 5-digit Zip Code. (Numbers 0-9 only)");
    form.ZipCode.focus();
    return false;
  }
  if(form.CompanyDescription.value.length < 21) {
    alert("The Short Company Description must be more than 20 characters.\nYou have only entered " + form.CompanyDescription.value.length + " characters.");
    form.CompanyDescription.focus();
    return false;
  }
  if(form.CompanyDescription.value.length > 600) {
    alert("The Short Company Description must be less than 600 characters.\nYou have entered " + form.CompanyDescription.value.length + " characters.");
    form.CompanyDescription.focus();
    return false;
  }
  if(form.CompanyText.value.length < 101) {
    alert("The Long Company Description must be more than 100 characters.\nYou have only entered " + form.CompanyText.value.length + " characters.");
    form.CompanyText.focus();
    return false;
  }
  if(form.CompanyType[0].checked == false && form.CompanyType[1].checked == false){
    alert("Please select your company type. Either Independant Cleaner or Cleaning Company");
    form.CompanyType[0].focus();
    return false;
  }
  
  if(form.CompanyType[0].checked == true){
	  if(form.CleaningHomes.value == "") {
	    alert("Please answer the question: Are you currently cleaning homes?");
	    form.CleaningHomes.focus();
	    return false;
	  }
	  if(form.CleaningPartner.value == "") {
	    alert("Please answer the question: Do you clean homes with a partner?");
	    form.CleaningPartner.focus();
	    return false;
	  }
	  if(form.YearsCleaning.value == 100) {
	    alert("Please answer the question: Number of years cleaning for paying customers?");
	    form.YearsCleaning.focus();
	    return false;
	  }
	  if(form.Legal.value == "") {
	    alert("Please answer the question: Are you legally able to work in the United States?");
	    form.Legal.focus();
	    return false;
	  }
  }

  if(form.CompanyType[1].checked == true){
	  if(form.BusinessType.value == "") {
	    alert("Please answer the question: Business type?");
	    form.BusinessType.focus();
	    return false;
	  }
	  if(form.YearsBusiness.value == 100) {
	    alert("Please answer the question: Number of years in business?");
	    form.YearsBusiness.focus();
	    return false;
	  }
	  if(form.BBB.value == "") {
	    alert("Please answer the question: Are you a member of the BBB?");
	    form.BBB.focus();
	    return false;
	  }
  }

  if(form.BackgroundCheck.value == "") {
    alert("Please answer the question: Do you consent to a background check?");
    form.BackgroundCheck.focus();
    return false;
  }

  if(form.LangEnglish.checked == false && form.LangSpanish.checked == false && form.LangFrench.checked == false) {
    alert("Please select at least one language.");
    form.LangEnglish.focus();
    return false;
  }
  if(form.FirstName.value.length < 1) {
    alert("Please enter a Primary Contact First Name.");
    form.FirstName.focus();
    return false;
  }
  if(form.LastName.value.length < 1) {
    alert("Please enter a Primary Contact Last Name.");
    form.LastName.focus();
    return false;
  }
  if(form.AdminFirstName.value.length < 1) {
    alert("Please enter an Admin Contact First Name.");
    form.AdminFirstName.focus();
    return false;
  }
  if(form.AdminLastName.value.length < 1) {
    alert("Please enter an Admin Contact Last Name.");
    form.AdminLastName.focus();
    return false;
  }
  if(form.SupportFirstName.value.length < 1) {
    alert("Please enter a Support Contact First Name.");
    form.SupportFirstName.focus();
    return false;
  }
  if(form.SupportLastName.value.length < 1) {
    alert("Please enter a Support Contact Last Name.");
    form.SupportLastName.focus();
    return false;
  }
  if(form.FaxArea.value.length > 0){
  if(isNaN(form.FaxArea.value) || form.FaxArea.value.length < 3) {
    alert("Please enter your 3-digit Fax Number Area Code. (Numbers 0-9 only)");
    form.FaxArea.focus();
    return false;
  }
  }
  if(form.FaxNumber.value.length > 0){
  if(isNaN(form.FaxNumber.value) || form.FaxNumber.value.length < 7) {
    alert("Please enter your 7-digit Fax Number. (Numbers 0-9 only)");
    form.FaxNumber.focus();
    return false;
  }
  }
  if(form.WorkArea.value.length > 0){
  if(isNaN(form.WorkArea.value) || form.WorkArea.value.length < 3) {
    alert("Please enter your 3-digit Work Number Area Code. (Numbers 0-9 only)");
    form.WorkArea.focus();
    return false;
  }
  }
  if(form.WorkNumber.value.length > 0){
  if(isNaN(form.WorkNumber.value) || form.WorkNumber.value.length < 7) {
    alert("Please enter your 7-digit Work Number. (Numbers 0-9 only)");
    form.WorkNumber.focus();
    return false;
  }
  }
  if(isNaN(form.CellArea.value) || form.CellArea.value.length < 3) {
    alert("Please enter your 3-digit Cell Number Area Code. (Numbers 0-9 only)");
    form.CellArea.focus();
    return false;
  }
  if(isNaN(form.CellNumber.value) || form.CellNumber.value.length < 7) {
    alert("Please enter your 7-digit Cell Number. (Numbers 0-9 only)");
    form.CellNumber.focus();
    return false;
  }

  return true;
}


