
function postcomment(f)
{
	// first, validate
	var errors = new Array();
	if (
		!f.elements['mc_name'].value.length &&
		!f.elements['mc_email'].value.length &&
		!f.elements['mc_url'].value.length
	) {
		errors.push('Vul minstens &eacute;&eacute;n van de drie velden "naam", "e-mail" of "homepage" in.');
	}
	if (
		f.elements['mc_email'].value.length &&
		!f.elements['mc_email'].value.match(/^[-_a-zA-Z0-9.]+@[a-zA-Z0-9][-a-zA-Z0-9.]+\.[a-zA-Z]{2,4}$/)
	) {
		errors.push('Het opgegeven e-mailadres is niet geldig.');
	}
	var match_url = /^(http[s]?:\/\/)?(www\.)?[a-z0-9.-]+\.[a-z]{2,4}$/;
	if (
		f.elements['mc_url'].value.length &&
		!f.elements['mc_url'].value.match(match_url)
	) {
		errors.push('De opgegeven homepage is niet geldig.');
	}
	if (
		f.elements['mc_name'].value.length &&
		f.elements['mc_name'].value.match(match_url)
	) {
		errors.push('Je kunt geen URL opgeven bij "naam". Ga maar klagen bij de spamhoeren.');
	}
	if (!f.elements['mc_comment'].value.length) {
		errors.push('Je hebt geen reactie ingevoerd.');
	}
	if (errors.length) {
		mcAlert('Fout', '<ul><li>' + errors.join('<\/li><li>') + '<\/li></ul>');
		return false;
	}
	// okay, everything seems in order.
	// next up, get the "secret" using ajax.
	var ajax = new Ajax('post', '/ajax/postcomment.php');
	ajax.add_value('mc_name', f.elements['mc_name'].value);
	ajax.add_value('mc_email', f.elements['mc_email'].value);
	ajax.add_value('mc_url', f.elements['mc_url'].value);
	ajax.add_value('mc_comment', f.elements['mc_comment'].value);
	ajax.form = f;
	ajax.add_value(
		'check',
		SHA1(
			f.elements['mc_name'].value +
			f.elements['mc_email'].value +
			f.elements['mc_url'].value +
			f.elements['mc_comment'].value
		)
	);
	ajax.set_readystatehandler(function() {
		var i = document.createElement('INPUT');
		i.type = 'hidden';
		i.name = 'check';
		i.value = this.http.responseText;
		this.form.appendChild(i);
		this.form.onsubmit = function() { return true; };
		this.form.submit();
	});
	ajax.execute();
	return false;
}
