// validates form
function validateForm()
{
    // if final message is still "" then there was no error
    // each check will add to the message of specific error
    var error = 0;
    var obj = document.rmiForm; // assign form    
    var emailtest = document.getElementById('email');
	var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	var namefilter = /^([a-zA-Z0-9&'`-])+$/;
	var numfilter = /^([0-9])+$/;
	var nametest = document.getElementById('firstname');
	var lnametest = document.getElementById('lastname');
	var ziptest = document.getElementById('zip');
	var ziptest2 = document.getElementById('zip2');
	
    if (obj.firstname.value == "") {
        document.getElementById('error1').style.display = 'inline';
		document.getElementById('error1a').style.display = 'block';
        error = 1;
    } else {
        document.getElementById('error1').style.display = 'none';
		document.getElementById('error1a').style.display = 'none';
	}
	if (!namefilter.test(nametest.value)) {
		document.getElementById('error1').style.display = 'inline';
		document.getElementById('error1a').style.display = 'block';
        error = 1;
    } else {
        document.getElementById('error1').style.display = 'none';
		document.getElementById('error1a').style.display = 'none';
	}
    
 	if (obj.lastname.value == "") {
    	document.getElementById('error2').style.display = 'inline';
		document.getElementById('error2a').style.display = 'block';
   		error = 1;
 	} else {
  		document.getElementById('error2').style.display = 'none';
		document.getElementById('error2a').style.display = 'none';
 	}
	if (!namefilter.test(lnametest.value)) {
		document.getElementById('error2').style.display = 'inline';
		document.getElementById('error2a').style.display = 'block';
   		error = 1;
 	} else {
  		document.getElementById('error2').style.display = 'none';
		document.getElementById('error2a').style.display = 'none';
 	}
     
  	if (obj.email.value == "") {
		document.getElementById('error3').style.display = 'inline'; 
		document.getElementById('error3a').style.display = 'block'; 
   		error = 1;
	} else {
    	document.getElementById('error3').style.display = 'none';
		document.getElementById('error3a').style.display = 'none';
 	}
	if (!filter.test(emailtest.value)) {
		document.getElementById('error3').style.display = 'inline'; 
		document.getElementById('error3a').style.display = 'block'; 
   		error = 1;
	} else {
    	document.getElementById('error3').style.display = 'none';
		document.getElementById('error3a').style.display = 'none';
 	}
          
	if (obj.email_confirm.value != obj.email.value) {
  		document.getElementById('error4').style.display = 'inline'; 
		document.getElementById('error4a').style.display = 'block'; 
     	error = 1;
	} else {
      	document.getElementById('error4').style.display = 'none';
		document.getElementById('error4a').style.display = 'none';
	}
           
	if (obj.address1.value == "") {
       	document.getElementById('error5').style.display = 'inline'; 
		document.getElementById('error5a').style.display = 'block'; 
     	error = 1;
	} else {
       	document.getElementById('error5').style.display = 'none';
		document.getElementById('error5a').style.display = 'none';
   	}

	if (obj.city.value == "") {
       	document.getElementById('error6').style.display = 'inline';
		document.getElementById('error6a').style.display = 'block';
     	error = 1;
	} else {
       	document.getElementById('error6').style.display = 'none';
		document.getElementById('error6a').style.display = 'none';
   	}
	
	if (obj.state.selectedIndex == 0) {
  		document.getElementById('error7').style.display = 'inline'; 
  		document.getElementById('error7a').style.display = 'block'; 
     	error = 1;
  	} else {
     	document.getElementById('error7').style.display = 'none';
     	document.getElementById('error7a').style.display = 'none';
	}
    
	if (obj.zip.value == "") {
  		document.getElementById('error8').style.display = 'inline'; 
  		document.getElementById('error8a').style.display = 'block'; 
     	error = 1;
  	} else {
     	document.getElementById('error8').style.display = 'none';
     	document.getElementById('error8a').style.display = 'none';
	}
	if (!numfilter.test(ziptest.value)) {
		document.getElementById('error8').style.display = 'inline'; 
  		document.getElementById('error8a').style.display = 'block'; 
     	error = 1;
  	} else {
     	document.getElementById('error8').style.display = 'none';
     	document.getElementById('error8a').style.display = 'none';
	}
	
    
    if ((obj.seeking_info[0].checked == false) && (obj.seeking_info[1].checked == false) && (obj.seeking_info[2].checked == false)) {
        document.getElementById('error9').style.display = 'inline'; 
		document.getElementById('error9a').style.display = 'block'; 
        error = 1;        
    } else
    {
        document.getElementById('error9').style.display = 'none';
		document.getElementById('error9a').style.display = 'none'; 
    }

    
    
    // final message
    if (error == 0)
    {
        return true; // no error - submit form as button intended
    }
    else
    {
        // error - show message and don't submit form
		document.getElementById('errordiv').style.display = 'block'; 
        return false;
    }
}