function validEmail(formField,fieldLabel,required){
 var result = true;
 if (required && !validRequired(formField,fieldLabel))
   result = false;
 if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) ){
   alert("Please enter a complete email address in the form: yourname@yourdomain.com");
   formField.focus();
   result = false;
 }
 return result;
}



function validRequired(formField,fieldLabel)
{
  var result = true;

  if (formField.value == "")
  {
    alert('Please enter a value for the "' + fieldLabel +'" field.');
    formField.focus();
    result = false;
  }

  return result;
}

function isEmailAddr(emailAddress){
  var invDomains = "..yahoo.hotmail.aol.gmail.msn.";
  if(emailAddress.match(/^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.[a-z]{2,3}$/)){
    var emailParts = emailAddress.toLowerCase().split("@")[1].split(".");
    if(invDomains.indexOf("."+emailParts[emailParts.length-2]+".")>0){
      alert("Please use a business email address. ");
      return false;
    } else 
      return true;
  } else 
    return false;
}



function validNum(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;

   if (result)
   {
     var num = parseInt(formField.value);
     if (isNaN(num))
     {
       alert('You must enter only a valid number for the "' + fieldLabel +'" field.');
      formField.focus();
      result = false;
    }
  }

  return result;
}

function validDate(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;

   if (result)
   {
     var elems = formField.value.split("/");

     result = (elems.length == 3); // should be three components

     if (result)
     {
       var month = parseInt(elems[0]);
        var day = parseInt(elems[1]);
       var year = parseInt(elems[2]);
      result = !isNaN(month) && (month > 0) && (month < 13) &&
            !isNaN(day) && (day > 0) && (day < 32) &&
            !isNaN(year) && (elems[2].length == 4);
     }

      if (!result)
     {
       alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
      formField.focus();
    }
  }

  return result;
}


function validateForm(theForm)
{
  // Customize these calls for your form

  // Start ------->
  if (!validEmail(theForm.username,"username"))
    return false;
  if (!validRequired(theForm.password,"password"))
    return false;     
    
  // <--------- End

  return true;
}

function validateRegForm(theForm)
{
  // Customize these calls for your form

  // Start ------->
  if (!validRequired(theForm.txtFirstName,"First Name"))
    return false;
  if (!validRequired(theForm.txtLastName,"Last Name"))
    return false;  
  if (!validRequired(theForm.txtCompany,"Firm Name"))
    return false;  
  if (!validRequired(theForm.cboCountry,"Country"))
    return false;     
  if (!validEmail(theForm.txtEmail,"Email"))
    return false; 
  if (!validRequired(theForm.txtPassword,"Password"))
    return false;  
  if (!validRequired(theForm.txtPassword2,"Confirm Password"))
    return false;      
  if (!validRequired(theForm.cboJobRole,"Primary Job Responsibility"))
    return false;      
    
  // <--------- End

  return true;
}
