function validate(id, test){
    var error_color = 'lightpink';
    var default_color = 'white';

    if(test == true){
        $(id).css('background',default_color);
        return 0;
    } else {
        $(id).css('background',error_color);
        return 1;
    }
}

$(function() { 

    $('a#closer').click(function() {
        $('#hovercover').fadeOut('slow');
    });

    
    $('input#submitbtn').click(function() {
                    

    var name = $('#name').val(), email = $('#email').val(), subject = $('#subject').val(), message = $('#message').val(), agreement=$('#agreement:checked').val()
        var error_count = 0;
        var name_regex = /^[ \.A-z0-9_-]{3,16}$/, email_regex = /^([A-z0-9_\.-]+)@([\dA-z\.-]+)\.([A-z\.]{2,6})$/;
    
        error_count += validate('#name', name_regex.test(name));
        error_count += validate('#email', email_regex.test(email));
        error_count += validate('#subject', subject.length > 0);
        error_count += validate('#message', message.length > 0);
        error_count += validate('#agreement-field-container', agreement !== undefined)

        if(error_count === 0) {
            $.ajax({
                type: "post",
                url: "mail.php",
                data: "name=" + name + "&email=" + email + "&subject=" + subject + "&message=" + message + "&agreement=" + agreement,
                error: function() { 
                    //noop on error
                },
                success: function (data) { 
                    $('#name').val('');
                    $('#email').val('');
                    $('#subject').val('');
                    $('#message').val('');
                    $('#agreement').attr('checked', false);
                    
                    $('#hovercover').fadeIn('slow').delay(1500).fadeOut('slow');
                } 
            });
        } else {
            // don't actually show any errors
            //$('.error').show();
        }
        
        return false;
    }); 
});

