jQuery(function ($) 
{

    $('body').on('click', '.submit', function (e){
        e.preventDefault();
        $botao_envia = $(this);
        $botao_envia_texto = $(this).text();
        $botao_envia_html = $(this).html();
        $botao_acao = $(this).attr("name");
        
        var $form     = $(this).closest('form');
        var form_id   = $form.attr('id');
        var form_url  = $form.attr('action');
        //var form      = $("#"+form_id);  
        var dados       = $("#"+form_id).serialize();
        var erros = 0;
        console.log(form_id);
            
            $("#"+form_id + ' input').closest(".form-floating").removeClass('was-validated');

            var fields = $form.find(':input');
            //console.log($form.attr('id'));
            for(var i=0; i < fields.length; i++){
                var obrigatorio   = $(fields[i]).attr('required');

                if (typeof obrigatorio !== 'undefined' && obrigatorio !== false) {
                    console.log($(fields[i]).attr('name'));
                    if(!$(fields[i]).val()){
                        console.log('vazio');
                        Notificacao('error', $(fields[i]).attr('required_m') ); 
                        $(fields[i]).focus();
                        $(fields[i]).closest(".form-floating").addClass('was-validated');
                        erros = 1;
                        return false;
                    }

                }
            }

            if(erros == 0)
            {
                $('<input>').attr({
                    type: 'hidden',
                    id: $botao_acao,
                    name: $botao_acao,
                    value: $botao_acao
                }).appendTo($form);

                    $botao_envia.html('<i class="fa fa-spinner fa-spin"></i> aguarde');
                    setTimeout(function() {
                        //var dados1        = $("#"+form_id).serialize() + '&' + $botao_acao+"="+$botao_acao;
                        

                        var options = {
                            success:    function(data) {
                                var retorno = $.parseJSON( data );
                                if(retorno[0]=='erro')
                                {
                                    Notificacao('error', 'Houve algo de errado', retorno[1]); 
                                }
                                else if(retorno[0]=='sucesso')
                                {
                                    Notificacao('success','Sucesso', retorno[1]);
                                }
                                else if(retorno[0]=='info')
                                {
                                    Notificacao('info','Aguarde', retorno[1]);
                                }
                                else
                                {
                                    //Notificacao('error',retorno[1]); 
                                }
                                //acao
                                    if (retorno[2] !== null || retorno[2] !== ''){
                                        if(retorno[2] == 'redirectToUrl')
                                        {
                                            if (retorno[3] !== null || retorno[3] !== ''){
                                                var host = window.location.hostname;
                                                setTimeout(function() { location.href= retorno[3];}, 1000);
                                            }
                                        }
                                            if(retorno[2] == 'functionExecute')
                                            {
                                                if (retorno[3] !== null || retorno[3] !== ''){
                                                    setTimeout(function() {
                                                        window[retorno[3]](retorno[4]);
                                                    }, 1000);
                                                }
                                            }
                                    }
                                //acao
                                setTimeout(function() { $botao_envia.html( $botao_envia_texto ); }, 1000);
                            },
                            complete: function() {
                                setTimeout(function() { $botao_envia.html( $botao_envia_texto ); }, 500);
                            },
                            error: function(xhr,er) {
                                setTimeout(function() { $botao_envia.html( $botao_envia_texto ); }, 500);
                            }
                        };
                        $form.ajaxSubmit(options);
                    }, 400);
            }
        
    });
});




function mensagemRecebidaExibe(texto){
    $("#modalMensagemVisualizaMnesagem").html(texto);
    window.toastr.clear();
}
 
function atualizaPagina(){
    location.reload();
}

function mudaIconeBotaoSubmit(dados){
    var retorno = dados.split("|");
    //alert(retorno);
    setTimeout(function(){
        $("#"+retorno[0]).html( '<i class="'+retorno[1]+'"></i>' );    
    }, 800)
    
}


function finishADS(token){
    jQuery.post("app/tarefa/conclui",
    {
        token: token
    }, function(data)
    {
        if(data == 1){
            $(".lottieSucesso").fadeIn(0);
            $(".progressbar-text").fadeOut(0);
        }
        else
        {
            $(".lottieErro").fadeIn(0);
            $(".progressbar-text").fadeOut(0);
        }
    });
}









///MASCARAS
$(document).ready(function(){
    $('.data').mask('00/00/0000');
    $('.hora').mask('00:00');
    $('.cep').mask('00000-000');
    $('.cpf').mask('000.000.000-00', {reverse: true});
    $('.cnpj').mask('00.000.000/0000-00', {reverse: true});
    $('.celular').mask('(00) 0 0000 0000');
    $('.telefone').mask('(00) 0000 0000');
    $('.moeda').mask("#.##0,00", {reverse: true});
})

//MASCARAS

//notificações
function Notificacao( tipo, titulo, mensagem )
{
    toastr.options = {
      "closeButton": true,
      "debug": false,
      "newestOnTop": true,
      "progressBar": true,
      "positionClass": "toast-top-center",
      "preventDuplicates": false,
      "onclick": null,
      "showDuration": "300",
      "hideDuration": "1000",
      "timeOut": "5000",
      "extendedTimeOut": "1000",
      "showEasing": "swing",
      "hideEasing": "linear",
      "showMethod": "fadeIn",
      "hideMethod": "fadeOut"
    }
    
    toastr[tipo](mensagem, titulo);
}
