
function MM_validateForm() { //v3.0
    //test input illegal characters
  var illegalChars= /[\(\)\<\>\;\\\[\]]|%..%|&#..&|&#...&/;
    //test for valid email
  var emailFilter=/^.+@.+\..{2,3}$/;
  var Sdigits="0123456789-.,";
  var phonedig="0123456789-. xX";
  var sdsubmit=1;
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
	   if ((nm.match(illegalChars)) || (nm.match('&lt')))  errors+='- HTML code and characters such as ( ) [ ] \ ; < and > are not allowed.\n';
	   if ((val.match(illegalChars)) || (val.match('&lt'))) errors+='- HTML code and characters such as ( ) [ ] \ ; < and > are not allowed.\n';
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- Must contain a valid e-mail address.\n';
		if (!(emailFilter.test(val)))  errors+='- Must contain a valid e-mail address.\n';
      }
        if (test.indexOf('isNum') != -1) {
for (var n=0;n<val.length;n++){
temp=val.substring(n,n+1)
if (Sdigits.indexOf(temp)==-1) errors+='- '+nm+' must contain a number.\n';
      }
}
        if (test.indexOf('isPhone') != -1) {
		   if (val.length < 10) { errors+='- '+nm+' must contain a valid  phone number including area code.\n'; continue; }
           for (var ii=0;ii<val.length;ii++){
           temp=val.substring(ii,ii+1)
	   if (phonedig.indexOf(temp)==-1)  { errors+='- '+nm+' must contain a  phone number.\n'; break; }
      }
}
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          num = parseInt(val);
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
     } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors){
    alert('The following error(s) occurred:\n'+errors);
	sdsubmit=0;
    return false;
}

  if (document.testform.FNAME.value.length < 3)
  {
    alert("Please enter your Full Name.");
    document.testform.FNAME.focus();
	sdsubmit=0;
    return false;
  }
  
  if((document.testform.elements[11].checked==false) && (document.testform.elements[12].checked==false)){
	alert("You must check yes or no if you currently have a website!");
	sdsubmit=0;
    return false;
}

if(document.testform.referral_source.value==""){
	alert("You must choose how you found us!");
	sdsubmit=0;
    return false;
	}
if (sdsubmit) {
	document.testform.submit.value = "Please wait...";
	document.testform.submit.blur();
	sdsubmit=0;
  }
}
