jQuery(document).ready(function() {
    setTimeout(pro_bono, 0);
});

var pro_bono = function() {
    $("textarea#captcha").closest("li").addClass("captcha");

    $("textarea").each(function() {
        $(this).closest('li').children('span').attr('htmlfor', 'pro_bono_' + $(this).closest('li').children('span').attr('htmlfor'));
        $(this).focus(function() {
            $(this).closest('.input-box').addClass("active");
        });
        $(this).blur(function() {
            if ($(this).val() === "") {
                $(this).closest("li").children(".error").hide();
                $(this).valid();
            }
            $(this).closest('.input-box').removeClass("active");
        });
        var rows = 1;
        if ($(this).attr("id") == "pro_bono_note")
            rows = 3;
        $(this).smartArea(rows);
    });

    if (math_error !== '') {
        $("li.captcha").find("span.error").text(math_error).show();
        $.scrollTo($("span.error[htmlfor='pro_bono_captcha']"),200,-20);
    }

    $("#a_submit").click(function() {
        if ($("#pro_bono_form").valid()) {
            $('#pro_bono_form').submit();
        } else $.scrollTo('span.error:visible:first', 200, {offset: -20 });
        return false;
    });

    jQuery.validator.setDefaults({
        errorElement: "span"
    });

    jQuery.validator.addMethod("customemail", function(value, element, param) {
        if (this.optional(element))
            return true;
        value = $.trim(value);
        return jQuery.validator.methods.email.call(this, value, element, param);
    }, jQuery.validator.messages.email);

    var validator = $("#pro_bono_form").validate({
        rules: {
            'pro_bono[name]': { required: true },
            'pro_bono[url]': { required: false, url: true },
            'pro_bono[contact_with]': { required: true },
            'pro_bono[email_to]': { required: true, customemail: true },
            'pro_bono[note]': { required: true }
        },
        messages: {
            'pro_bono[name]': { 'required': "required" },
            'pro_bono[url]': { 'required': "required", 'url': "valid url (http://www.yoursitename) required" },
            'pro_bono[contact_with]': { 'required': "required" },
            'pro_bono[email_to]': { 'required': "required", 'customemail': "valid email address required" },
            'pro_bono[note]': { 'required': "required: we need to learn a little about you" }
        }
    });
};
