function validate_form(form){
	var req;
	// if using a regular complaince standard browser
	if (window.XMLHttpRequest){
   	    req = new XMLHttpRequest();
   	}// if using Internet Explorer
	else if (window.ActiveXObject) {
   	    req = new ActiveXObject("Microsoft.XMLHTTP");
   	}
	
	form.formAction.value = "validate";
	
	
	
	if(req){
		// open the connection
		req.open("POST", "/includes/modules/kresge/controllers/editInsert.php", true);	
		
		/* when the data has been completely loaded back into the browser
		  * and the status is OK, it puts the text string that was returned
		  * into the tag specified in curDiv, and shows the div (if specified)
		  */
		req.onreadystatechange = function(){
			if (req.readyState == 4 && req.status == 200) {

				var response = req.responseText;
				//alert(response);
				form.formAction.value = "update";
				
				//alert("before Json");
				var errorObj = Json.evaluate(response);
				//alert("after Json");
				
				//alert(Json.toString(errorObj));
				// if there are errors
				if(errorObj.errors.length > 0){
					show_form_errors(form, errorObj);
				}
				else if(response.indexOf("{'errors'") > -1){
					form.submit();
				}
			}
		}
		
		
		req.setRequestHeader('User-Agent','XMLHTTP/1.0');
		// set the header
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		
		// get the form values string
		var qString = $("kresgeForm").toQueryString();
		
		qString += "&disciplines_visualArts=" + (form.disciplines_visualArts.checked ? form.disciplines_visualArts.value : "");
		qString += "&disciplines_performing=" + (form.disciplines_performing.checked ? form.disciplines_performing.value : "");
		qString += "&disciplines_literary=" + (form.disciplines_literary.checked ? form.disciplines_literary.value : "");
		
		qString += "&involvement_artist=" + (form.involvement_artist.checked ? form.involvement_artist.value : "");
		qString += "&involvement_artsCurator=" + (form.involvement_artsCurator.checked ? form.involvement_artsCurator.value : "");
		qString += "&involvement_artsEducator=" + (form.involvement_artsEducator.checked ? form.involvement_artsEducator.value : "");
		qString += "&involvement_artsProgrammer=" + (form.involvement_artsProgrammer.checked ? form.involvement_artsProgrammer.value : "");
		qString += "&involvement_artsFunder=" + (form.involvement_artsFunder.checked ? form.involvement_artsFunder.value : "");
		qString += "&involvement_press=" + (form.involvement_press.checked ? form.involvement_press.value : "");
		qString += "&involvement_artFan=" + (form.involvement_artFan.checked ? form.involvement_artFan.value : "");
		qString += "&involvement_other=" + (form.involvement_other.checked ? form.involvement_other.value : "");

		// send the request
		req.send(qString);
	}
}
