$(function() {
    $('#test button').click(function() {
        formit.form.validate(function(data) {
            $('#test button').attr('disabled', 'disabled');
            $('#test-status').html('Sending...').attr('class', 'unknown');
            $.post('/ajax/test_send', data, function(json) {
                $('#test-status').html(json.html).attr('class', json.status);
                if (json.status == 'unknown') {
                    setTimeout("checkTestSendStatus("+json.id+",0)", 1000);
                }
            }, 'json');
        });
    });
});

function checkTestSendStatus(id, count) {
    if (count > 60) {
        $('#test-status').html('No send response; timed out').attr('class', 'error');
        return;
    }
    $.get('/ajax/test_send', { id: id }, function(json) {
        $('#test-status').html(json.html).attr('class', json.status);
        if (json.status == 'unknown') {
            setTimeout("checkTestSendStatus("+id+","+(count+1)+")", 1000);
        } else {
            $('#test button').attr('disabled', '');
        }
    }, 'json');
}