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(!ValidateFormProt(document.getElementById('formkey_sys').value,document.getElementById('formkey_user').value)) {
        stop_process = 'yes';
    }

	if(stop_process == 'yes'){
		return false;
	}


    //alert('aborting');
    //return false;


	return true;
}

function ValidateFormProt(fks,fku) {

    var oXHR = zXmlHttp.createRequest();
    oXHR.open("get", "/php/process/ajax_fpvalidate.php?fks=" + fks + "&fku=" + fku, false);
    oXHR.send(null);

    if(oXHR.status == 200){
        response_area=oXHR.responseText;
        if(response_area.substr(0,5) == 'VALID'){
            //alert('Code Entered is correct');
            return true;
        }
        if(response_area.substr(0,7) == 'INVALID'){
            alert('Code entered does not match code in image.  Please check it.');
            return false;
        }
        if(response_area.substr(0,5) == 'ERROR'){
            // assume OK, let server validate
            return true;
            alert('The code could not be validated.');
            return false;
        }

    }


}
