jQuery(document).ready(function($) {

    $('form#criar_contato input[type=button]').click(function() {
        $('form#criar_contato').submit();
    });

    $('form#criar_contato').submit(function() {

        $form = $(this);
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function() {
                $form.prevAll('p[class=erro], p[class=ok]').remove();
                $form.before('<p class="ok">Contato submetido com sucesso.</p>');
                $form.clearForm();
                $.scrollTo('p.ok');
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                var errorsStr = '';
                if (XMLHttpRequest.status == 403) {
                    var jsonErrors = eval('('+XMLHttpRequest.responseText+')');
                    var errors = [];
                    for (field in jsonErrors) {
                        errors.push(jsonErrors[field]);
                    }
                    errorsStr = errors.join('<br />');
                }
                else {
                    errorsStr = 'Um erro inesperado ocorreu no servidor. Seu contato não foi submetido.';
                }
                $form.prevAll('p[class=erro], p[class=ok]').remove()
                $form.before('<p class="erro">'+errorsStr+'</p>');
                $.scrollTo('p.erro');
            }
        });
        return false;
    });
});

