function validateForm(frm) {
	fixMistake();
    
	var el;
    var erMessage = "";
	
	
	$('[class^="confirm-"]').each(function (i) {
		var confirmName = $(this).attr('class');
		confirmName = confirmName.replace("confirm-","");
		var firstVal = $('#'+confirmName).val();
		var secondVal = $(this).val();
		if (firstVal != secondVal) {
			$('#'+confirmName).parent().next().html("These fields do not match").addClass('error');
			$('#'+confirmName).parent().parent().css('border','thin solid red');
		}
	});
	
	$('.req').each(function (i) {
		if ($(this).val() == "") {
			erMessage += $(this).attr('id') + "\n";
			$(this).parent().next().html("This field must not be blank").addClass('error');
			$(this).parent().parent().css('border','thin solid red');
		}
	});
	
	$('.email').each(function(i) {
		if ($(this).val() == "") {
			erMessage += $(this).attr('id') + "\n";
			$(this).parent().next().html("This field must not be blank").addClass('error');
			$(this).parent().parent().css('border','thin solid red');
		} else if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($(this).val()))){
			erMessage += "Email address is not valid\n";
			$(this).parent().next().html("Email address is not valid").addClass('error');
			$(this).parent().parent().css('border','thin solid red');
		}
	});
	
	var name = $(this).attr('name');
	var myOption = -1;
	$('[name="'+name+'"]').each(function(i) {
		if ($(this)[0].checked) {
			myOption = i;
			i=$('[name="'+name+'"]').length;
		}
	});
	if (myOption == -1 && $(this).parent().parent().parent().children().filter('.mistake').length == 0) {
		$(this).parent().parent().before('<span class="mistake">Must select at least one value</span>');
		erFlag = 'yes';
	}
	
	$('.check').each(function(i) {
		var checkName = $(this).attr('name');
		var myOption = -1;
		$('[name="'+checkName+'"]').each(function(i) {
			if ($(this)[0].checked) {
				myOption = i;
				i=$('[name="'+checkName+'"]').length;
			}
		});
		if (myOption == -1) {
			erMessage += $(this).attr('id') + "\n";
			$(this).parent().next().html("At least one must be checked").addClass('error');
			$(this).parent().parent().css('border','thin solid red');
		}
	});
	
	$('.tableCheck').each(function(i) {
		var checkName = $(this).attr('name');
		var myOption = -1;
		$('[name="'+checkName+'"]').each(function(i) {
			if ($(this)[0].checked) {
				myOption = i;
				i=$('[name="'+checkName+'"]').length;
			}
		});
		if (myOption == -1) {
			erMessage += $(this).attr('id') + "\n";
			$(this).parent().parent().parent().parent().parent().next().html("At least one must be checked").addClass('error');
		}
	});
	
	if (!(erMessage == "")) {
		erMessage = "There are some problems in your form";
		alert(erMessage);
		return (false);
	} else {
		return (true);
	}
}

function fixMistake() {
	$('.error').html('').removeClass('error');
}