    //Función que valida que acepte solo letras
    function validaLetra(e){
                tecla = (document.all) ? e.keyCode : e.which;

                //Tecla de retroceso para borrar, siempre la permite
                if (tecla==8){
                  return true;
                }
        
                // Patron de entrada, en este caso solo acepta numeros
                patron =/[" ÁÉÍÓÚáéíóúabcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ"]/;
                tecla_final = String.fromCharCode(tecla);
                return patron.test(tecla_final);
            }  
    
    //Función que valida que acepte solo numeros
    function valida(e){
                tecla = (document.all) ? e.keyCode : e.which;

                //Tecla de retroceso para borrar, siempre la permite
                if (tecla==8){
                  return true;
                }
        
                // Patron de entrada, en este caso solo acepta numeros
                patron =/["0123456789"]/;
                tecla_final = String.fromCharCode(tecla);
                return patron.test(tecla_final);
            }  
//Función que valida que acepte un numero decimal
 function validaPunto(e){
                tecla = (document.all) ? e.keyCode : e.which;

                //Tecla de retroceso para borrar, siempre la permite
                if (tecla==8){
                  return true;
                }
        
                // Patron de entrada, en este caso solo acepta numeros
                patron =/["0123456789."]/;
                tecla_final = String.fromCharCode(tecla);
                return patron.test(tecla_final);
            }

function confirmaCliente(){
 if (confirm("Una vez eliminando el cliente se elimanarán todos los movimientos como 'Agenda y Expediente' ¿Realmente desea eliminarlo?")){ 
 }
 else { 
 return false
 }
}

//////////////////////////////////////////funcion que busca al cliente que se le asignará el certificado//////////////////////////////////////////
function buscarSimilitudesCliente(nombre,idServicio,tipoVenta,IdDetalleVenta){
    var response ="";
    var fila = '';
    var vacio = '';
    var vacioDos = '';
    var filaDos = '';
    var filaID = '';
    var arreglo = nombre.split('///'); 
    var nombreArreglo = arreglo[0];
    var tipoUsuario = arreglo[2];
    var nombreServicio = arreglo[3];

    // console.log('nombreArreglo = '+ nombreArreglo);
    // console.log('arreglo[1] = '+ arreglo[1]);
    // console.log('tipoUsuario = '+ tipoUsuario);
    var urlSim = "";
    // var varClienteSelect = "";

            modalAsignarCertificado()


                if(arreglo[1] == 'sinBuscar'){

                  

                // filaID += '<div class="form-group">';
                filaID += '<label>ID </label>';
                filaID += '<input type="text" class="form-control" id="IDClienteInput" name="IDClienteInput" readonly=""> ';
                // filaID += '</div>';

                // fila += '<div class="form-group">';
                fila += '<label for=""> Beneficiario: </label>';
                fila += '<div class="input-group">';
                fila += '<input type="text" class="form-control estiloSelect" id="clientesSelect" name="clientesSelect" required="" value="'+nombreArreglo+'" autofocus>';
                fila += '<span class="input-group-btn">';
                fila += '<button type="button" id="limpiarCliente" class="botonAsignarModal btn btn-danger" style="background:#003CA6;" data-toggle="tooltip" data-placement="top" title="Limpia contenedor de busqueda"><span class="fas fa-broom"></span></button></span>';
                fila += '</div>';
                // fila += '</div>';



                }else{

                filaID += '<label>ID </label>';
                filaID += '<input type="text" class="form-control" id="IDClienteInput" name="IDClienteInput" readonly="" value="'+arreglo[1]+'"> ';

                  fila += '<label for=""> Beneficiario: </label>';
                    fila += '<div class="input-group">';
                fila += '<input type="text" class="form-control estiloSelect" id="clientesSelect" name="clientesSelect" required="" value="'+nombreArreglo+'">';
                fila += '<span class="input-group-btn">';
                fila += '<button type="button" id="limpiarCliente" class="botonAsignarModal btn btn-danger" style="background:#003CA6;" data-toggle="tooltip" data-placement="top" title="Limpia contenedor de busqueda"><span class="fas fa-broom"></span></button></span>';
                fila += '</div>';

                }
                
                vacio += '<label for="clientes" class="form-control" style="display:none;">Clientes relacionados:&nbsp;&nbsp; </label><br>';
                // vacio += '<div class="col-md-12 col-sm-8 col-xs-12">';
                vacio += '<input id="nombreAbuscar" class="botonAsignarModal" style="display:none;" value="'+nombre+'">';
                vacio += '<input id="idServicio" class="botonAsignarModal" style="display:none;" value="'+idServicio+'">';
                vacio += '<input id="tipoVenta" class="tipoVenta" style="display:none;" value="'+tipoVenta+'">';
                vacio += '<input id="IdDetalleVenta" class="IdDetalleVenta" style="display:none;" value="'+IdDetalleVenta+'">';
                vacio += '<input id="tipoUsuario" class="tipoUsuario" style="display:none;" value="'+tipoUsuario+'">';
                vacio += '<input id="nombreServicio" class="nombreServicio" style="display:none;" value="'+nombreServicio+'">';
                // vacio += '</div>';

                vacioDos += '<label for="" style="visibility:hidden;"> Beneficiario: </label>'; 
                // vacioDos += '<div class="col-md-12 col-sm-4 col-xs-12">';
                vacioDos += '<button id="asignarModal" name="asignarModal" class="col-md-12 col-sm-12 col-xs-5 botonAsignarModal">Asignar</button>';
                // vacioDos += '</div>';

                



                filaDos += '<div class="col-md-12">';
                filaDos += '<label for="clientes" class="col-md-8" style="font-size:18px;">'+nombreServicio+' </label>';
                filaDos += '<button id="botonNuevoCliente" name="botonNuevoCliente" class="col-md-4 botonNuevoCliente pull-right"><i class="fas fa-user-plus"></i> Nuevo cliente</button>';
                filaDos += '</div>';

            $('#IDCliente').html(filaID);
            $('#selectModal').html(fila);
            $('#vacio').html(vacio);

            $('#botonAsignar').html(vacioDos);
            $('#nuevoCliente').html(filaDos);

            $("#modal_Certificados").modal('show');

            $("#clientesSelect").autocomplete({
  source: base_url+'clientes/franquiciatario/ClienteF/clientesCertificado/?',
  maxShowItems: 15,
  
  select: function (event, ui) {
             $('[name="clientesSelect"]').val(ui.item.id); 
             console.log('ui.item.id = ' +ui.item.id);
             $('#IDClienteInput').val(ui.item.id);
         }
     });
    
$('#limpiarCliente').click(function(){
      $('[name="clientesSelect"]').val('');
      $("#clientesSelect").keyup();
      $("#clientesSelect").focus();

    });

    $('#botonNuevoCliente').click(function(){
          var nombreAbuscar=$("#nombreAbuscar").val();
          var idServicio=$("#idServicio").val();
          var tipoVenta=$("#tipoVenta").val();
          var tipoUsuario=$("#tipoUsuario").val();
          var nombreServicio=$("#nombreServicio").val();
        console.log('nombreServicio = '+nombreServicio);

        $('#nombrePrincipio').attr('value',nombreAbuscar);
        $('#idServicioPrincipio').attr('value',idServicio);
        $('#tipoVentaPrincipio').attr('value',tipoVenta);
        $('#tipoUsuario').attr('value',tipoUsuario);
        $('#nombreServicio').attr('value',nombreServicio);

        $('#modal_Certificados').modal('hide');
        $("#modal_nuevoCliente").modal('show');
    });


    // $("#clientesSelect").change(function() {
    //     console.log($(this).val());
    // });


$('#asignarModal').click(function(){
        var idDetalle = $('#IdDetalleVenta').val();
        var status = "ASIGNADO";
        var tipoUsuario = $('#tipoUsuario').val();
        var tipoVenta = $('#tipoVenta').val();

        var NombreclienteSeleccionado = $('[name="clientesSelect"]').val();
        var IDclienteSeleccionado = $('[name="IDClienteInput"]').val();
        console.log('NombreclienteSeleccionado = ' + NombreclienteSeleccionado);
        console.log('IDclienteSeleccionado = ' + IDclienteSeleccionado);

     if(tipoUsuario == 'franquiciatario'){
        urlSim = "/SM/clientes/franquiciatario/ClienteF/buscarSimilitudesCliente/";
    }else{
        urlSim = "/SM/clientes/cosmetologo/ClienteC/buscarSimilitudesCliente/";
    }
if(NombreclienteSeleccionado == ''){
    swal("No elegiste ningún cliente","","warning")
}else{
var IdSelect = buscarClienteExacto(urlSim, NombreclienteSeleccionado);
console.log('IDclienteSeleccionado = ' + IDclienteSeleccionado);


     if(IdSelect == "0"){
                swal("El cliente no existe","","warning")
                   
            }else{
              
              var arreglo = IdSelect.split('///');
              console.log(arreglo);

              if(arreglo[0] == "1"){
                asignarCertificado(tipoUsuario, idDetalle, status, arreglo[1], tipoVenta)
                console.log("== 1");
              }else{
                // console.log(arreglo[0]);
                if(IDclienteSeleccionado != ''){
                  asignarCertificado(tipoUsuario, idDetalle, status, IDclienteSeleccionado, tipoVenta)
                  // console.log(tipoUsuario);
                  // console.log(idDetalle);
                  // console.log(status);
                  // console.log(IDclienteSeleccionado);
                  // console.log(tipoVenta);
                }else{
                  swal("Existe más de un cliente registrado con este nombre","Favor de verificar el cliente a asignar","warning")
                }
                
                
              }
                 
            }
        }



    });
    //     },
    //     error:function(){
    //         console.log("error error");
    //     },
    // });
// return response;
}

//////////////////////////////////////////////////// Modal donde elijen al cliente para asignar certificado ///////////////////////////////////////
function modalAsignarCertificado(){
  var fila ="";

  fila += '<div class="modal fade" id="modal_Certificados" data-backdrop="static" data-keyboard="false">';
    fila += '<div class="modal-dialog modal-lg">';
      fila += '<div class="modal-content">';

        fila += '<div class="modal-header">';   
          fila += '<button type="button" class="close" data-dismiss="modal" aria-label="Close">';
          fila += '<span aria-hidden="true">&times;</span></button>';
          fila += '<center><label style="font-size:22px;">ASIGNAR CERTIFICADO DE REGALO</label></center>';
        fila += '</div>';

          fila += '<div class="modal-body" id="body_Certificado">';
          // fila += '<center>Elija al cliente o registre un nuevo cliente</center>';
            fila += '<div id="nuevoCliente">';
            fila += '</div>';

            fila += '<br>';
            fila += '<br>';
            fila += '<div class="col-md-2 col-sm-3 col-xs-5" id="IDCliente">';
            fila += '</div>';

            fila += '<div class="col-md-6 col-sm-8 col-xs-12" id="selectModal">';
            fila += '</div>';
            

            fila += '<div class="col-md-1 col-sm-1 col-xs-12" id="vacio">';
            fila += '</div>';

            fila += '<div class="col-md-2 col-sm-3 col-xs-12" id="botonAsignar">';
            fila += '</div>';

            fila += '<div class="col-md-2 col-sm-12 col-xs-12">';
            fila += '<input type="text" class="" id="" name="" value=""  style="visibility: hidden;">';
            fila += '</div>';

            

          fila += '</div>';

          fila += '<div class="modal-footer">';
          fila += '<div class="col-md-12 col-sm-12 col-xs-12">'
          fila += '<br>';
            fila += '<input type="button" id="modalCerrar" class="col-md-3 modalCerrar btn btn-danger pull-left" data-dismiss="modal" value="CERRAR">';
            // fila += '<input type="button" id="modalGuardar" name="modalGuardar" class="col-md-3 modalGuardar btn btn-primary pull-right" style="background: #4E8284; border: #4E8284;" value="GUARDAR">';
          fila += '</div> ';
          fila += '</div> ';

      fila += '</div>';
    fila += '</div>';
  fila += '</div>';


// return fila;
$('#divModalCertificados').html(fila);

  


}
///////////////////////////////////////////////////////////////////////////////////

  window.addEventListener( 'load', function( event )
{
    console.log("clientes.js");


    // var botonNuevoCliente= document.querySelector('#botonNuevoCliente');

    // var guardarNuevoCliente= document.querySelector('#guardarNuevoCliente');
    // var botonCancelarNuevoCliente= document.querySelector('#cancelarNuevoCliente');

    $('#guardarNuevoCliente').click(function(){
        
        
        var nombre=document.getElementById("nombreCompleto").value;
        var telefono= document.getElementById("celular").value;
        

        var nombrePrincipio=$("#nombrePrincipio").val();
        var idServicioPrincipio=$("#idServicioPrincipio").val();
        var tipoVentaPrincipio=$("#tipoVentaPrincipio").val();
        var IdDetalleVenta=$("#IdDetalleVenta").val();
        var tipoUsuario=$("#tipoUsuario").val();
        var nombreServicio=$("#nombreServicio").val();
        // console.log('nombreServicio xxx = '+nombreServicio);

        var datos="nombre="+nombre+"&telefono="+telefono;

        var arregloDatos = tipoVentaPrincipio + "///" + tipoUsuario + "///"+ nombreServicio;
        
var urlTU="";
if(tipoUsuario == "franquiciatario"){
    urlTU = "/SM/clientes/franquiciatario/ClienteF/buscarCliente/";
}else{
    urlTU = "/SM/clientes/cosmetologo/ClienteC/buscarCliente/";
} 
      if(nombre!="" && telefono==""){
            document.getElementById("ayudaNombre").innerHTML="";
            document.getElementById("contenedorNc").classList.remove("has-error");
            document.getElementById("ayudaCelular").innerHTML="Ingrese su número de celular";
            document.getElementById("contenedorNTel").classList.add("has-error");
        }else if(nombre=="" && telefono!=""){
            document.getElementById("ayudaNombre").innerHTML="Ingresar nombre completo";
            document.getElementById("contenedorNc").classList.add("has-error");
            document.getElementById("ayudaCelular").innerHTML="";
            document.getElementById("contenedorNTel").classList.remove("has-error");
        }else if(nombre=="" && telefono==""){
            document.getElementById("ayudaNombre").innerHTML="Ingresar nombre completo";
            document.getElementById("contenedorNc").classList.add("has-error");
            document.getElementById("ayudaCelular").innerHTML="Ingrese su número de celular";
            document.getElementById("contenedorNTel").classList.add("has-error");
          }else{
            console.log(datos);
            document.getElementById("ayudaNombre").innerHTML="";
            document.getElementById("contenedorNc").classList.remove("has-error");
            document.getElementById("ayudaCelular").innerHTML="";
            document.getElementById("contenedorNTel").classList.remove("has-error");
            var nombreA="nombre="+nombre;
            $.ajax({
                  url:urlTU,
                  type:'POST',
                  dataType: 'json',
                  data:nombreA,
                  success:function(result){
                    console.log(result);
                    if(result==1){
                      guardaCliente(datos, IdDetalleVenta, nombrePrincipio, idServicioPrincipio, arregloDatos);
                    }
                    else{
                      swal({
                        title: "¡Nombre de cliente existente!",
                        text:"¿Está seguro de guardar esté cliente?",
                        icon: "warning",
                        buttons: ["Cancelar", "Aceptar"],
                        confirm: true,
                      })
                    .then((confirm) => {
                        if(confirm)
                        {
                        console.log('acepto');
                        guardaCliente(datos, IdDetalleVenta, nombrePrincipio, idServicioPrincipio, arregloDatos);
                        }
                    });
                    }
            
                    },//end success ajax response
                    error:function(){
                      console.log("No hay resultados");
                      swal("¡No se pudo conectar con el servidor!","contacte al departamento de sistemas","error")
                        .then((value) => {
                        location.href="";
                        });
                      },
            });//end ajax 

          }
    });//Fin guardarNuevoCliente


$('#cancelarNuevoCliente').click(function(){
      document.getElementById("nombreCompleto").value="";
      document.getElementById("celular").value="";
    });


});


function guardaCliente(datos, IdDetalleVenta, nombrePrincipio, idServicioPrincipio, tipoVentaPrincipio)
{
var arreglo = tipoVentaPrincipio.split("///");
var TipoVP=arreglo[0];
var tipoUsuario=arreglo[1];
var nombreServicio=arreglo[2];

var urlAsignar = "";

    if(tipoUsuario == 'franquiciatario'){
        urlAsignar = "/SM/clientes/franquiciatario/ClienteF/guardarCliente/";
    }else{
        urlAsignar = "/SM/clientes/cosmetologo/ClienteC/guardarCliente/";
    }
// console.log('urlAsignar = ' +urlAsignar);
  $.ajax({
    url:urlAsignar,
    type:'POST',
    // dataType: 'json',
    data:datos,
    success:function(result){
      // console.log(result);
      var arreglo2 = result.split('///');
      var id = arreglo2[0];
      var nombreRetorno = arreglo2[1];

      var cadenaArreglo = nombreRetorno + "///" + id + "///" + tipoUsuario + "///" + nombreServicio;


      $('#modal_nuevoCliente').modal('hide');         
      $.notify("CLIENTE GUARDADO CORRECTAMENTE !!",  { 
        position:"top center",
        className: 'success cambia-letra',
      });

      buscarSimilitudesCliente(cadenaArreglo, idServicioPrincipio, TipoVP, IdDetalleVenta)

      document.getElementById("nombreCompleto").value="";
      document.getElementById("celular").value="";
    },//end success ajax response
    error:function(){
      // console.log("No hay resultados");
      swal("¡No se pudo conectar con el servidor!","contacte al departamento de sistemas","error")
        .then((value) => {
        location.href="";
        });
      },
    });//end ajax   
}


function asignarCertificado(tipoUsuario, idDetalle, status, IDclienteSeleccionado, tipoVenta){
    var urlAsignar = "";

    if(tipoUsuario == 'franquiciatario'){
        urlAsignar = "/SM/clientes/franquiciatario/ClienteF/asignarCertificado";
    }else{
        urlAsignar = "/SM/clientes/cosmetologo/ClienteC/asignarCertificado";
    }
    $.ajax({
        url: urlAsignar,
        type:"POST",
        data:{
            idDetalleVenta:idDetalle, status:status, IDclienteSeleccionado:IDclienteSeleccionado, tipoVenta:tipoVenta
        },
        success:function(respuesta){
            // console.log(respuesta);
            dataTableCertificados()
            if(respuesta == '1'){
                swal("¡El certificado fue asignado correctamente!","","success")
                .then((value) => {
                    $('#modal_Certificados').modal('hide');
                });
            }else{
                swal("¡El certificado no se asignó correctamente!","","warning")
                $('#modal_Certificados').modal('hide');
            }
        },
        error:function(){
            console.log("error al asignar");
        },
    });
}


function buscarClienteExacto(urlSim, clienteSeleccionado){
    var retornar ="";
     $.ajax({
        async : false,
        url:urlSim,
        type:"POST",
        // dataType: 'json',
        data:{
            nombre:clienteSeleccionado,
        },
        success:function(respuesta){
            console.log(respuesta);
            retornar = respuesta;
    },
        error:function(){
            console.log("error error");
        },
    });
return retornar;
}