$(document).ready(function(){ $(document).on('submit', 'form[data-contact-form]', function(event){ event.preventDefault(); var $form = $(this); if($form.data('contactSending')) return; var $submit = $form.find('[type=submit]').first(); var originalValue = $submit.val(); $form.data('contactSending', true); $submit.prop('disabled', true).val('Enviando...'); $.ajax({ url: 'https://wikipay.app/contact/send', type: 'POST', dataType: 'json', data: $form.serialize() }).done(function(data){ if(!data || !data.result || data.error || parseFloat(data.result) <= 0) { if(parseFloat(data.result) == -500.1) return alert('Serviço de contato indisponível no momento.'); if(parseFloat(data.result) == -400.11) return alert('Informe o seu nome.'); if(parseFloat(data.result) == -400.12) return alert('Informe um e-mail válido.'); if(parseFloat(data.result) == -400.13) return alert('Informe o assunto da mensagem.'); if(parseFloat(data.result) == -400.14) return alert('Escreva a sua mensagem.'); if(parseFloat(data.result) == -500.2) return alert('Canal de contato indisponível no momento.'); if(parseFloat(data.result) == -409.1) return alert('Já recebemos uma solicitação recente deste acesso. Aguarde alguns minutos e tente novamente.'); if(parseFloat(data.result) == -409.2) return alert('Já existe uma solicitação equivalente em processamento. Aguarde alguns minutos e tente novamente.'); if(parseFloat(data.result) == -500.3) return alert('Não foi possível registrar a sua solicitação agora. Tente novamente mais tarde.'); return alert('Não foi possível enviar sua mensagem no momento. Tente novamente mais tarde.'); } alert('Mensagem enviada com sucesso.'); }).fail(function(){ return alert('Não foi possível enviar sua mensagem no momento. Tente novamente mais tarde.'); }).always(function(){ $form.removeData('contactSending'); $submit.prop('disabled', false).val(originalValue); }); }); });