$(function() {
	var form = $('#ajax-contact');
	var formMessages = $('#form-messages');

	$(form).submit(function(e) {
		e.preventDefault();

		var submitButton = $(form).find('button[type="submit"]');
		var originalButtonText = submitButton.text();

		submitButton.prop('disabled', true).text('Enviando...');
		formMessages.removeClass('bg-danger bg-success').text('');

		$.ajax({
			type: 'POST',
			url: $(form).attr('action'),
			data: $(form).serialize(),
			dataType: 'json'
		})
		.done(function(response) {
			if (response && response.success) {
				formMessages.removeClass('bg-danger').addClass('bg-success');
				formMessages.text(response.message || 'Mensaje enviado correctamente. Nos contactaremos con usted a la brevedad.');
				form[0].reset();
				return;
			}

			formMessages.removeClass('bg-success').addClass('bg-danger');
			formMessages.text((response && response.message) || 'No fue posible enviar el mensaje. Intente nuevamente.');
		})
		.fail(function(data) {
			var message = 'No fue posible enviar el mensaje. Intente nuevamente o escriba directamente a dsinf@dsinf.cl.';

			if (data.responseJSON && data.responseJSON.message) {
				message = data.responseJSON.message;
			} else if (data.responseText) {
				message = data.responseText;
			}

			formMessages.removeClass('bg-success').addClass('bg-danger');
			formMessages.text(message);
		})
		.always(function() {
			submitButton.prop('disabled', false).text(originalButtonText);
		});
	});
});