function sendAjax(button) {

    // Formulario
    var f = button.form;

    // Dirección de envío
    var url = 'form.sendAjax';

    // Deshabilitar el botón
    button.disabled = true;
	
    $.ajax({
        url: url,
        type: "POST",
        data: $(f).serialize(),
        success: function(msg){
            try {
                var data = jQuery.parseJSON(msg);
                var messages = data.messages;
                var errores = [];
				
                if (messages) {
                    $.each(messages, function(key, val){
                        $.each(val, function(key2, val2){
                            if((key2 == 'isEmpty') || (key2 == 'emailAddressInvalidFormat') || (key2 == 'hostnameLocalNameNotAllowed') || (key2 == 'fileUploadErrorNoFile')) {
                                errores.push('  - ' + val.title + ' - ' + $('body').data(key2));
                            }
                        });
                    });
                }
                if (errores.length == 0) {
                    alert($('body').data('form_ok'));
                    f.reset();
                } else {
                    alert('Por favor, compruebe los siguientes datos:\n\n' + errores.join('\n'));
                }
            } catch (e) {
                alert($('body').data('form_ko'));
            }
            button.disabled = false;
        },
        error: function(){
            alert($('body').data('form_ko'));
            button.disabled = false;
        }
    });

    // Cancelar el submit
    return false;
}
