// functions to limit submitting of the form to one time
function local_setoneclick(func2invoke){
	num_of_submits = num_of_submits + 1;
	if(num_of_submits > 1){
	    //alert('The form has already been submitted.');
		return false;
	}
	eval(func2invoke);
}


function validate(contact){
	stop_process = 'no';
	for(i=0;i<document.contact.elements.length;i++){
		if(document.contact.elements[i].name.substr((document.contact.elements[i].name.length - 4),4) == '_req'){
			name2chk = document.contact.elements[i].name.substr(0,(document.contact.elements[i].name.length - 4));
			chkObj = document.getElementById(name2chk);
			if(name2chk == 'state'){
				if(chkObj.selectedIndex < 1){
					name2get = name2chk + '_lbl';
					chkObj_label = document.getElementById(name2get).innerHTML;
					alert(document.getElementById(name2get).innerHTML + " is required.");
					stop_process = 'yes';
					break;
				}
			} else {
				if(isAllSpaces(chkObj.value)){
					name2get = name2chk + '_lbl';
					chkObj_label = document.getElementById(name2get).innerHTML;
					alert(document.getElementById(name2get).innerHTML + " is required.");
					stop_process = 'yes';
					break;
				}
			}
		}
		if(document.contact.elements[i].name == 'email'){
			chkObj = document.getElementById('email');
			if(!isEmail(document.getElementById('email').value)){
				alert(document.getElementById('email_lbl').innerHTML + " does not appear to be valid.");
				stop_process = 'yes';
				break;
			}
		}
	}
	if(document.getElementById("message_regarding").type == 'select-one'){
		idx = document.getElementById("message_regarding").selectedIndex;
		document.contact.subject.value = document.getElementById("message_regarding").options[idx].value;
	}
	if(stop_process == 'yes'){
        el = document.getElementById('TheButtonSubmit');
        el.value = "Submit";
		return resetoneclick();
	}
    el = document.getElementById('TheButtonSubmit');
    el.value = "Processing, please wait...";
    document.contact.submit();
	return true;
}
