function validateForm(f,script)
{
	fieldsToValidate = new Array();
	for(i=0; i<f.length; i++)
	{
		e = f.elements[i];
		fieldsToValidate.push(encodeURIComponent(e.name)+'='+encodeURIComponent(e.value));
	}
	q_fields = fieldsToValidate.join('&');

   var url = '/assets/form_validation/validate_'+script+'.php';
	// notice the use of a proxy to circumvent the Same Origin Policy.
	new Ajax.Request(url, {
		method: 'post',
		postBody: q_fields,
		onSuccess: function(transport)
		{
			response_action = transport.responseText.substr(0,transport.responseText.indexOf(":"));
			url = "";
			if(response_action.length > 0)
				url = transport.responseText.substr(response_action.length+1);
			
			// direct post
	   		if (response_action == "PST"){
				sendForm(f,url);
			
			// modify redirect url then post
			} else if (response_action == "PST_R"){
				response_parts = url.split('||');
				f.returnURL.value = response_parts[1];
						
				sendForm(f,response_parts[0]);
				
			// simple redirect
			} else if(response_action == "URL") {
				document.location = url;
				
			} else
				sendError(transport.responseText);
		}
	});
	
	return(false);
	
	function sendForm(f,post_url)
	{
		f.action = post_url;
		f.submit();
	}
	
	function sendError(response)
	{
	   alert(response);
	}
}
