$(function() {
	$('#submit_feedback').click(validateComments);
});

function validateComments(event) {	
	/*
	Unauthorized users:
	- name, email are mandatory
	- url is optional
	Authorized users:
	- the same
	*/
	
	event.preventDefault();
	cleanupOldErrors();
	var $name = $('#name'), $email = $('#email'), $url = $('#url'), $message = $('#message');
	if (!$.trim($name.val())) {
		showCommentsError('Нужно указать имя', $name);
		return;
	}
	if (!$.trim($email.val())) {
		showCommentsError('Нужно указать e-mail', $email);
		return;
	}
	var regex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z\.]+$/i;
	if (!regex.test($email.val())) {
		showCommentsError('Это неправильный e-mail', $email);
		return;
	}
	if (!$.trim($message.val())) {
		showCommentsError('Нужно что-нибудь написать', $message);
		return;
	}
	
	var $form = $(event.target).is('form') ? $(event.target) : $(event.target).parents('form:first');
	$form.submit();
}

function cleanupOldErrors() {
	$('#respond .error').remove();
	$(':input').removeClass('highlight');
}

function showCommentsError(errorText, $field) {
	cleanupOldErrors();
	$('<ul class="error"><li>' + errorText + '</li></ul>').insertAfter('#respond h2');
	$field.addClass('highlight');
}
