var $UUID;
var $id_captura = null;
var $rowSelecinada = null;

$(window).on('load', function(){
   
    //atualizaListas();
});


$('body').on('click','.btn-card', function(){
    
    loadButton($(this));
    $UUID = $(this).data('uuid');
    selecionaCardNotificacao($UUID);
    atualizaListas();
});

$('body').on('click','.set_leed', function(){
    $id_captura = $(this).data('id');
    $rowSelecinada = $(this).parents('tr');
});


$('body').on('click','.addAtendimentoIncorporadora', function(){
    
    get_ajax({id_rel:$(this).data('id'),tb_origem:  'cad_captura'}, 'administrativo/ajax/atendimento_ajax/ini_atendimento', 
        success =>{
            document.location.href = base_url+'atendimento/atendimento/atendimento_geral/'+$UUID+'/'+success.id_atendimento;
    });
    
});

$('#formAtendimentoRapido').submit(function(e) {
    e.preventDefault();
    
    $data = get_form(this);
    $data.push({"name": 'id_leed', "value": $id_captura});
    $data.push({"name": 'origem', "value": 'cad_captura'});
       
    get_ajax(data, 'atendimento/ajax/incorporadora_ajax/atendimentoRapido', 
        success =>{
            if(success.valid != false){
                atualizaListas()
                $('#formAtendimentoRapido')[0].reset();
                $('#atendimentoRapidoModal').modal('hide');
            }
            else
                $('.erroFormAtenderAnuncio').html(retorno.msg);
    });
        
});

/*$('#formFinalizarAtendimentoRapido').submit(function(e) {
    e.preventDefault();
    
    $data = get_form(this);
    data.push({"name": 'id_leed', "value": $id_captura});
    data.push({"name": 'origem', "value": 'cad_captura'});
       
    get_ajax(data, 'atendimento/ajax/incorporadora_ajax/atendimentoRapido', 
        success =>{
            if(success.valid != false){
                atualizaListas()
            }
            else
                $('.erroFormAtenderAnuncio').html(retorno.msg);
    });
});*/


function selecionaCardNotificacao($UUID)
{
    $('.card').removeClass('text-white');
    $('.card').removeClass('bg-primary');
    $('.card-'+$UUID).addClass('text-white');
    $('.card-'+$UUID).addClass('bg-primary'); 
    
    $('.btn-select').addClass('btn-card');
    $('.btn-'+$UUID).removeClass('btn-card');
    
    $('.divTabelasLoad').show();
    $('.divTabelas').hide();
}



function atualizaListas(){
    
    getListAntendimentoSemProximo('#tbCapturasNaoAtendidas', 'getCapturasNaoAtendidas' );
    getListAntendimento('#tbCapAguardandoRetorno', 'getCapAguardandoRetorno' )
    getListAntendimento('#tbCapturasAtendimentoFinalizado', 'getCapturasAtendimentoFinalizado' )
}

function getListAntendimento($tb,$function)
{
    $($tb).DataTable().clear().draw();
    get_ajax({UUID:$UUID}, 'atendimento/ajax/incorporadora_ajax/'+$function, 
        success =>{
            $('.divTabelasLoad').hide();
            $('.divTabelas').show();
            for(key in success){
                $cap = success[key];
                $($tb).DataTable()
                    .row.add(GetRowCapImpreendimento($cap)).draw( false );
            }
            
    });
}

function getListAntendimentoSemProximo($tb,$function)
{
    $($tb).DataTable().clear().draw();
    get_ajax({UUID:$UUID}, 'atendimento/ajax/incorporadora_ajax/'+$function, 
        success =>{
            $('.divTabelasLoad').hide();
            $('.divTabelas').show();
            for(key in success){
                $cap = success[key];
                $($tb).DataTable()
                    .row.add(GetRowCapImpreendimentoSemProximo($cap)).draw( false );
            }
            
    });
}

function GetRowCapImpreendimento(success)
{
    return [
            success.nome,
            success.email,
            success.telefone,
            success.datetime_captura,
            success.tipo_imovel,
            success.parceiro,
            success.situacao,
            success.ultimo_atendimento,
            success.proximo_contato,
            success.actions 
        ];
}

function GetRowCapImpreendimentoSemProximo(success)
{
    return [
            success.nome,
            success.email,
            success.telefone,
            success.datetime_captura,
            success.tipo_imovel,
            success.parceiro,
            success.situacao,
            //success.ultimo_atendimento,
            success.actions
        ];
}

































function msgSuccess($div, $success){
    setAlert($div, $success.msg, 'success');
}
function msgErro($div, $erro){
    if($erro.msg != undefined)
        setAlert($div, $erro.msg, 'danger');
    else{
        //$msg = "<b>"+$($($erro.responseText)[7]).find('h1').text()+"</b>, "+$($($erro.responseText)[7]).find('p').text()
            console.log($erro.responseText);
                msg = $($($erro.responseText)[7]).find('h1').text();
            if(msg == '')
                msg = $($erro.responseText)[8].find('h1').text();
             if(msg == '')
                msg =   $($erro.responseText).find('h4').text()+'\n'+$($($erro.responseText).find('p')[1]).text();
            if(msg == '')
                msg =   "ERRO!";
                    
        setAlert($div, msg, 'danger');
    }
}
function setAlert($div, $msg, $cor){
    $html = '<div class="alert alert-'+$cor+' alert-dismissible fade show" role="alert">' +
         $msg +
    '    <button class="close" type="button" data-dismiss="alert" aria-label="Close">' +
    '        <span aria-hidden="true">×</span>' +
    '    </button>' +
    '</div>';
    $($div).html($html); 
}
// VARIAVES PARA O LOAD BUTTON
var textLoad = "<i class='fa fa-circle-o-notch fa-spin'></i>";
var textButton = '';
var btn = null;
function loadButton(button = null, disabled = true)
{
    if(button != null)
        btn = button;
        
    if(disabled == true)
    {
        textButton = btn.html();
        btn.prop('disabled', true);
        btn.html(textLoad);//+' '+textButton
    }
    else
    {
	    if(btn != null){
            	btn.prop('disabled', false);
	    	btn.html(textButton);
	    	btn = null;
	    }
    }
}
function get_form($form)
{
    data = [];
    var nameRadio = [];
    
    //$($form).find('input:not([type=radio]):input:not([type=checkbox]):input:not([type=file])').each(function(key,value){
    $($form).find('input:not([type=radio]):input:not([type=checkbox]):input:not([type=file])').each(function(key,value){
        if(this.name != "")
            data.push({"name": this.name, "value": this.value});
    });
    
    $($form).find('input[type=file]').each(function(key,value){
        if(this.name != ""){
            data.push({"name": this.name, "value": $(this).data('value')});
        }
    });
    
    $($form).find('textarea').each(function(key,value){
       
        if(this.name != "")
        {
            if(typeof CKEDITOR != undefined){
                 //data.push({"name": this.name, "value": CKEDITOR.instances[this.name].getData()});
                 ckeditorValue = $($($($('#cke_'+this.id)[0])[0]).find('iframe').contents().find("body")).html();
                 data.push({"name": this.name, "value": ckeditorValue});
                 if(ckeditorValue == undefined)
                    data.push({"name": this.name, "value": this.value});
            }
            else
            {
                data.push({"name": this.name, "value": this.value});
            }
        }
    });
    
    $($form).find('input[type=radio]').each(function(key,value){
        if(nameRadio[this.name] == undefined)
            nameRadio[this.name] = '';
        if($(this).is(':checked'))
            nameRadio[this.name] = this.value;
    });
    
    for(var name in nameRadio){
        data.push({"name": name, "value": nameRadio[name]});
    };
    
    $($form).find('select option:selected').each(function(key,value)    {
        if(this.parentElement.localName == 'select')
            data.push({"name": this.parentElement.name, "value": this.value});
            
        if(this.parentElement.parentElement.localName == 'select')
            data.push({"name": this.parentElement.parentElement.name, "value": this.value});
    });
    
    $($form).find('input[type=checkbox]:checked').each(function(key,value)    {
        if(this.name != "")
            data.push({"name": this.name, "value": this.value});
    });
    
    $($form).find('input[type=checkbox]:not(:checked)').each(function(key,value)    {
        if(this.name != "")
            data.push({"name": this.name, "value": ""});
    });
    
    data.push({"name": 'UUID', "value": $UUID});
    
    return data;
}
/*
function get_ajax

$func = nome da funcao no php
$success = funcao Callbeck, exemplo = "retorno =>{alert('deu bom');}"
$error = funcao Callbeck
$data = objeto passado no post ajax
*/
function get_ajax($data = [], $uri, $success = null, $error = null ){
    
    if($error == null)
    {
        $error = function($erro){
            if($erro.msg != undefined)
                alert($erro.msg);
            else{
                console.log($erro.responseText);
                    msg = $($($erro.responseText)[7]).find('h1').text();
                if(msg == '')
                    msg = $($($erro.responseText)[8]).find('h1').text();
                if(msg == '')
                    msg =   $($erro.responseText).find('h4').text()+'\n'+$($($erro.responseText).find('p')[1]).text();
                if(msg == '')
                    msg =   "ERRO!";
                alert(msg);
            }
        };
    }
    
    if($success == null)
    {
        $success = function(e){
            //e);
        };
    }
    
    $.ajax({
		url: base_url+$uri, 
		dataType: 'json',
		type: 'POST',
		data: $data,
		success: function(retorno)
		{
		    loadButton(null,false);
		    if(retorno.valid == false)
		    {   
		        $error(retorno);
		    }
		    else
		    {
		        $success(retorno)
		    }
		},
		error: function(error)
		{
		    loadButton(null,false);
		    $error(error);
		}
    });
    
 }