$(document).ready(function () {
    $('#messages form').submit(function() {
        try {
            $('#new-post-errors').hide();
            
            if ($('#new-post-name').val() == ''
            ||  $('#new-post-body').val() == '') {
                $('#new-post-errors').html('<li>Missing post body or message.</li>');
                $('#new-post-errors').show();
                return false;
            }
            
            if ($('#new-post-name').hasClass('logged-in')) {
                submit_post(
                    $('#new-post-name').val(), 
                    $('#new-post-body').val(), 
                    null, 
                    null);
            } else {
                tb_show(null, 
                    '#TB_inline?height=165&width=330&inlineId=captcha-modal-content&modal=true',
                    false
                );
                $('#recaptcha_response_field').focus();
            }
        } finally {
            return false;
        }
    });
    
    $('#captcha-modal-content form').submit(function() {
        submit_post(
            $('#new-post-name').val(), 
            $('#new-post-body').val(), 
            $('#recaptcha_challenge_field').val(), 
            $('#recaptcha_response_field').val());
    
        return false;
    });
    
    $('#captcha-cancel').click(tb_remove);
});

function submit_post (name, body, recaptcha_challenge_field, recaptcha_response_field) {
    $('#recaptcha-error').hide();
    
    $.ajax({
        type: 'POST',
        url: '/unleashd/',
        data: {
            action: 'new_post',
            ajax: true,
            name: name,
            body: body,
            recaptcha_challenge_field: recaptcha_challenge_field,
            recaptcha_response_field:  recaptcha_response_field
        },
        success : function(data) {
        console.log(data);
            if (!jQuery.trim(data).match(/Error/)) {
                $('#recaptcha-loading').hide();
                tb_remove();
                $('#messages table tr:first').after(data);
            } else {
                $('#recaptcha-loading').hide();
                $('#recaptcha-error').text(data);
                $('#recaptcha-error').show();
            }
        },
        error: function(data) {
            console.log("error " + data);
            $('recaptcha-error').text('Unexpected error: ' + data);
            $('recaptcha-error').show();
        }
    });
    
    $('#recaptcha-loading').show();
    
    return false;
}
