
        // matches zip codes
        valid.zipCode = /\d{5}(-\d{4})?/;

        // matches $17.23 or $14,281,545.45 or ...
        valid.Currency = /\$\d{1,3}(,\d{3})*\.\d{2}/;

        // matches 5:04 or 12:34 but not 75:83
        valid.Time = /^([1-9]|1[0-2]):[0-5]\d$/;

        //matches email
        valid.emailAddress = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;

        // matches phone ###-###-####
        valid.phoneNumber = /^\(?\d{3}\)?\s|-\d{3}-\d{4}$/;

        // International Phone Number
        valid.phoneNumberInternational = /^\d(\d|-){7,20}/;

        // IP Address
        valid.ipAddress = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;

        // Date xx/xx/xxxx
        valid.Date = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;

        // State Abbreviation
        valid.State = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i;

        // Social Security Number
        valid.SSN = /^\d{3}\-\d{2}\-\d{4}$/;

function validate(){
  var errors = "";
  var vfocus = "";
  var cnt = 0;
  
  // lstContact
  if (document.frmSelectArea.lstContact.value == "") {
	cnt++;
	errors += cnt+") Topic of interest. Required Field.\n";
	if(!(vfocus)) { vfocus="lstContact"; }
	document.frmSelectArea.lstContact.style.backgroundColor="#d90000";
  } else { document.frmSelectArea.lstContact.style.backgroundColor="#ffffff";}
  
  // GENDER
  if (document.frmSelectArea.GENDER.value == "") {
	cnt++;
	errors += cnt+") Title. Required Field.\n";
	if(!(vfocus)) { vfocus="GENDER"; }
	document.frmSelectArea.GENDER.style.backgroundColor="#d90000";
  } else { document.frmSelectArea.GENDER.style.backgroundColor="#ffffff";}

  // FIRSTNAME
  tFIRSTNAME = /\w{2,}/;
  if (!(tFIRSTNAME.test(document.frmSelectArea.FIRSTNAME.value ))) {
		cnt++;  
		errors+=cnt+") First name. Required Field.\n";
		document.frmSelectArea.FIRSTNAME.style.backgroundColor="#d90000";
		vfocus="FIRSTNAME";
  } else { document.frmSelectArea.FIRSTNAME.style.backgroundColor="#ffffff";}
 
  // LASTNAME
  tLASTNAME = /^\w{2,}/;
  if (!(tLASTNAME.test(document.frmSelectArea.LASTNAME.value ))) {
		cnt++;  
		errors+=cnt+") Last name. Required Field.\n";
		document.frmSelectArea.LASTNAME.style.backgroundColor="#d90000";
		vfocus="LASTNAME";
  } else { document.frmSelectArea.LASTNAME.style.backgroundColor="#ffffff";}
 
 
  // COUNTRY
  if (document.frmSelectArea.COUNTRY.value == "") {
	cnt++;
	errors += cnt+") Country. Required Field.\n";
	if(!(vfocus)) { vfocus="COUNTRY"; }
	document.frmSelectArea.COUNTRY.style.backgroundColor="#d90000";
  } else { document.frmSelectArea.COUNTRY.style.backgroundColor="#ffffff";}


  // EMAIL 
  tEMAIL = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
  if(!(tEMAIL.test(document.frmSelectArea.EMAIL.value))) {
  	cnt++;
	errors += cnt+") E-Mail. Required Field.\n";
	document.frmSelectArea.EMAIL.style.backgroundColor="#d90000";
  } else { document.frmSelectArea.EMAIL.style.backgroundColor="#ffffff"; }

  // COMMENTS validation
  tCOMMENTS = /^\w{1,}/;
  if(!(tCOMMENTS.test(document.frmSelectArea.COMMENTS.value))){
	cnt++;
	errors += cnt+") Your message text. Required Field.\n";
	if(!(vfocus)) { vfocus = "COMMENTS"; }
	document.frmSelectArea.COMMENTS.style.backgroundColor="#d90000";
  } else { document.frmSelectArea.COMMENTS.style.backgroundColor="#ffffff"; }

  
  //Legal Instruction Acceptance
  if(document.frmSelectArea.cbJustice.checked==false){
	  cnt++;
	  errors += cnt+") Legal Instruction Accepted.\n";
	  if(!(vfocus)) { vfocus = "cbJustice"; }
  } else { document.frmSelectArea.cbJustice.style.backgroundColor="#ffffff"; }

  //Print Out the Errors or Submit Form for Processing
  if (errors) {
	var aerrors=errors;
	errors="";
    alert("ERROR(s):\n"+aerrors+"\n\nPlease correct all fields in red and resubmit.");
	document.frmSelectArea.focus(vfocus);
	return false;
  }
  else {
	//alert("no errors found");    	
	return true;
  }
}
