
// Función para cargar archivos.
function cargarVista(con, archivo) {
        var xhttp = new XMLHttpRequest();

        xhttp.onreadystatechange = function() {
            if (xhttp.readyState == 4 && this.status == 200) {
                document.getElementById(con).innerHTML = this.responseText;
                
                $('.selectproceso').select2();
                $('.selectperfil').select2();
                
                consultaNivelConsecuenciaProceso();
                // alert(archivo.substring(0 , 43));
                if(archivo.substring(0, 43)==='modulos/formulario_atencion_productores.php' || archivo.substring(0, 45)==='modulos/formulario_asistencia_productores.php' || archivo.substring(0, 34)==='modulos/formulario_informacion.php' || archivo.substring(0 , 36)=='modulos/formulario_cargue_masivo.php'){

                    importarScript('./lib/js/firma.js?122');
                    importarScript('./lib/js/administracion/gestionformularios.js?154');
                    
                }
            }else{

                console.log("cargando");
            
            }

            
        };
        xhttp.open("GET", archivo, true);
        xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhttp.send();

}

function importarScript(nombre) {
    var s = document.createElement("script");
    s.src = nombre;
    document.querySelector("head").appendChild(s);
}

//Mensaje modulo no disponible
function messajeinfo(href){
    
    if(href != 'usuarios' && href != 'perfiles' && href != 'permisos'){

        Swal.fire({
          icon: 'info',
          // title: 'Proceso exitoso',
          html: '<p class="text-left">Esta opción aún no se encuentra disponible. Consulta con el administrador del sistema a partir de qué fecha podrás usarla.</p>',
          confirmButtonText: 'Aceptar',
          confirmButtonColor: '#28A745',
          showConfirmButton: true,
          // footer: '<a href>Why do I have this issue?</a>'
        })

    }    

}

function checkbox_select(checkbox, msjcheckbox, id_perfil){

    let valor_checkbox = $('input:checkbox[name='+checkbox+']:checked').val();

    if(checkbox == "customSwitusuario" && valor_checkbox == "on"){

        $('#msj_checkbox_user').html('Activo');

    }else{

        $('#msj_checkbox_user').html('Inactivo');

    }

    if(checkbox == "estado_perfil" && valor_checkbox == "on"){

        $('#msj_estado_perfil').html('Activo');

    }else{

        $('#msj_estado_perfil').html('Inactivo');

    }

    if(checkbox == "customSwitperfil"+id_perfil && valor_checkbox == "on"){

        $('#'+msjcheckbox).html('Activo');

    }else if(checkbox == "customSwitperfil"+id_perfil && valor_checkbox != "on"){

        $('#'+msjcheckbox).html('Inactivo');

    }

    if(checkbox == "estado_proceso"+id_perfil && valor_checkbox == "on"){

        $('#'+msjcheckbox).html('Activo');

    }else if(checkbox == "estado_proceso"+id_perfil && valor_checkbox != "on"){

        $('#'+msjcheckbox).html('Inactivo');

    }

    if(checkbox == "estadomacro"+id_perfil && valor_checkbox == "on"){

        $('#'+msjcheckbox).html('Activo');

    }else if(checkbox == "estadomacro"+id_perfil && valor_checkbox != "on"){

        $('#'+msjcheckbox).html('Inactivo');

    }

    if(checkbox == "switestadotipodoc"+id_perfil && valor_checkbox == "on"){

        $('#'+msjcheckbox).html('Activo');

    }else if(checkbox == "switestadotipodoc"+id_perfil && valor_checkbox != "on"){

        $('#'+msjcheckbox).html('Inactivo');

    }

}

// Controla formularios
function formulario(id_formulario, id_usuario, accion, controlador, modulo, modal){

	console.log("------------------------------------------------------ modulo -------------------------------------------------------------------");
	console.log(modulo);

    if(accion == ""){

        accion = $('#accion').val();
    
    }

    // Parámetros obtenidos del formulario
    let parametros = new FormData($('#'+id_formulario)[0]);
    parametros.append('peticion', 'ajax');
    parametros.append('accion', accion);
    parametros.append('id_usuario', id_usuario);

    // Leyendo parámetros
    // parametros.forEach(function(value, key){
    //     console.log("key: "+key+", value: "+value);
    // });

    $.ajax({
        url: controlador,
        type: 'POST',
        data: parametros,
        cache: false,
        processData: false,
        contentType: false,
        dataType: 'json',
    }).done(function(respuesta){

        // console.log(respuesta);

        if(respuesta.hasOwnProperty('success')){

            Swal.fire({
                icon: 'success',
                title: 'Proceso exitoso',
                html: respuesta.success,
                showConfirmButton: false,
                timer: 1200
              })

            // Cerramos modal
            if(modal != ""){
                $('#'+modal).modal('hide');
            }

            // Cargamos el módulo
            setTimeout(function(){ cargarVista('contenido', modulo); }, 1500);

             $("#"+id_formulario)[0].reset();

            if(accion == "actualiza_usuario"){

                $('#accion').val("registrar_usuario");
                
            }

        }else if(respuesta.hasOwnProperty('info')){

            Swal.fire({
              icon: 'info',
              // title: 'Error',
              html: respuesta.info,
              confirmButtonText: 'Aceptar',
              confirmButtonColor: '#28A745',
              showConfirmButton: true,
              // footer: '<a href>Why do I have this issue?</a>'
            })
            
        }else{

            Swal.fire({
              icon: 'error',
              // title: 'Error',
              html: respuesta.error,
              confirmButtonText: 'Aceptar',
              confirmButtonColor: '#28A745',
              showConfirmButton: true,
              // footer: '<a href>Why do I have this issue?</a>'
            })
            
        }

    });

}


// Consulta usuario
function consultaUsuario(nombre, id_formulario, id_usuario, accion, controlador){

    $.ajax({
        url: controlador,
        type: 'POST',
        data: "nombre="+nombre+"&accion="+accion+"&peticion=ajax",
        success:function(respuesta){

            $('#lista_usuarios').html(respuesta);
        
        }
    });

}

function asignaUsuario(nombres, apellidos, correo, contrasena, celular, direccion, estado, id_proceso, id_perfil, imagen, cargo){
    $('#nombre').val(nombres);
    $('#apellido').val(apellidos);
    $('#perfil').val(id_perfil).trigger('change.select2');
    $('#correo').val(correo);
    $('#clave').val(contrasena);
    $('#proceso').val(id_proceso).trigger('change.select2');
    $('#direccion').val(direccion);
    $('#celular').val(celular);
    // $('#foto').val(imagen);
    $('#nombrefoto').html(imagen);
    $('#cargo').val(cargo);

    // Limpio campo de busqueda y contenedor usuarios consultados
    $('#buscador_usuario').val(''); 
    $('#lista_usuarios').html('');
    // Cierra modal
    $('#modal_usuarios').modal('hide');   
    $('#accion').val('actualiza_usuario');

    if(estado == 1){
        
        $('#customSwitusuario').click();

    }

}

// Obtiene el nombre de la foto seleccionada en el formulario Usuarios
function nombreFoto(){

    let nombreFoto = document.getElementById('foto').files[0].name;
    console.log(nombreFoto);

    $('#nombrefoto').html(nombreFoto);

}

function limpiarFormulario(){

    $('#nombre').val('');
    $('#apellido').val('');
    $('#perfil').val(0).trigger('change.select2');
    $('#correo').val('');
    $('#clave').val('');
    $('#proceso').val(0).trigger('change.select2');
    $('#direccion').val('');
    $('#celular').val('');
    $('#foto').val('');
    $('#nombrefoto').html('Selecciona una foto');

}

