$.validator.setDefaults({ 
	errorElement: 'em',
	errorPlacement: function(error, element) {
		return true;
	},
	highlight: highlightForm,
	unhighlight: unhighlightForm
});

$(function() {
	$('#payment-form').validate({
		rules: {
			other_guests: {
				required: function() {
					return $('#how-many-attending').val() > 1;
				}
			}
		}
	});
});

function highlightForm(element, errorClass, validClass) {
	if (element.type == 'radio' || element.type == 'checkbox') {
		$.each($("input[name*='" + element.name + "']"), function(i, j) {
			$(j.form).find("label[for=" + j.id + "]")
				.addClass(errorClass).removeClass(validClass);
		});
	}
	else {
		$(element).addClass(errorClass).removeClass(validClass);
		$(element.form).find("label[for=" + element.id + "]")
			.addClass(errorClass);
	}
}
function unhighlightForm(element, errorClass, validClass) {
	if (element.type == 'radio' || element.type == 'checkbox') {
		$.each($("input[name*='" + element.name + "']"), function(i, j) {
			$(j.form).find("label[for=" + j.id + "]").removeClass(errorClass)
				.addClass(validClass);
		});
	}
	else {
		$(element).removeClass(errorClass).addClass(validClass);
		$(element.form).find("label[for=" + element.id + "]")
			.removeClass(errorClass);
	}
}
