$(document).ready(function() {
    $("#aspnetForm").validate({
        errorElement: "p",
        errorPlacement: function(error, element) {
            if (element.attr("name").substring(9, 0) == "ctl00$td_") {
                // color row red instead of adding error message
                $(element.parent().parent().addClass('errorRow'));
            } else if (element.attr("name") == "ctl00$recommend" || element.attr("name") == "ctl00$may_we_contact" || element.attr("name") == "ctl00$offers" || element.attr("name") == "ctl00$share_comments") {
                error.appendTo(element.parent());
            } else {
                error.insertAfter(element);
            }
        },
        rules: {
            //none
            ctl00$your_name: "required",
            ctl00$email: { required: true, email: true },
            ctl00$zip: { required: true, minlength: 5, maxlength: 5, number: true },
            ctl00$captain_name: "required",
            ctl00$decision_influencer: "required",
            ctl00$td_overall_satisfaction: "required",
            ctl00$td_overall_friendliness: "required",
            ctl00$td_overall_entertainment: "required",
            ctl00$td_overall_informational: "required",
            ctl00$recommend: "required",
            ctl00$may_we_contact: "required",
            ctl00$offers: "required",
            ctl00$share_comments: "required"
        },
        messages: {
            ctl00$your_name: 'Please enter your name',
            ctl00$email: "Please enter a valid email address",
            ctl00$zip: "Please enter your zip / postal code",
            ctl00$captain_name: "Please enter a captain name, if you can't remember simply enter can't remember",
            ctl00$decision_influencer: 'Please make a selection',
            ctl00$recommend: 'Please select "yes" or "no"',
            ctl00$may_we_contact: 'Please select "yes" or "no"',
            ctl00$offers: 'Please select "yes" or "no"',
            ctl00$share_comments: 'Please select "yes" or "no"'
        },
        invalidHandler: function(form, validator) {
            var errors = validator.numberOfInvalids();
            if (errors) {
                //alert("errors total = "+errors);
                //$('table.questions td label.error').parent().parent().addClass('errorRow');
            } else {
                // $("div.error").hide();
            }
        },
        onkeyup: false
    });

    // remove error rows once checked
    $('td input').change(function() {
        $(this).parent().parent().removeClass('errorRow');
    })
		        .change();
});
