<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.master" CodeBehind="selUsuarios.aspx.vb" Inherits="WebIntranet.selUsuarios" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Content" runat="server">


     <%--<div id="seleccionUsuario" runat="server" class="col" style="height: 90vh; padding-inline:0">--%>
     
     <div class="row pag" style="padding-top:200px;">
         <div id="cajaSelecciones" class="col colorFondoSeleccionPersonas">
             <div class="d-flex" id="selecctorInps" style="margin-top: 20px; margin-inline: 15px; gap: 10px">
                 <input type="text" id="txtBuscarUsu" onchange="buscarUsuario()" class="selectInHora" />
                 <input type="button" value="buscar" style="width: 17%; background-color:#606060 !important" class="btnAzul" onclick="buscarUsuario()" />
             </div>
             <div style="display: flex; padding-inline: 40px; margin-top: 10px" class=" fondoAzulOscuro divDep">
                 <input type="checkbox" id="selectAllselUs" />
                 <p class="pUsuario">SELECCIONAR TODO</p>
             </div>
             <div id="cajaUsuario" style="max-height: 80vh; text-transform: capitalize;" runat="server">
             </div>
         </div>
         <div id="cajaSeleccionados" style="margin-left: 60px; text-transform: capitalize;" runat="server" class="col colorFondoSeleccionPersonas">
         </div>
     </div>
     <div id="divBtn" runat="server">
         <input id='btnSeleccionar' type='button' class='btnAlargado btnAzul' value='Seleccionar' runat="server" onclick='cargarUsuarios();'/>
     </div>
     <div>
         <div id="mensajeErrorUsuarioDiv" style="position: fixed; top: 0; left: 0; height: 100vh; width: 100%; background-color: #000000d1; z-index: 20; display: none">
             <div style="max-width: 500px; padding: 20px; background-color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-inline: auto; margin-top: 300px;">
                 <p id="mensajeErrorUsuario" style="color: red; font-weight: bold; font-size: 20px; text-align: center; margin-block: 10px;"></p>
                 <input type="button" value="Continuar" onclick="$('#mensajeErrorUsuarioDiv').css('display','none')" />
             </div>
         </div>
     </div>
 <%--</div>--%>
     <script>
     var usuariosChecked = $(".divUsuarioSelect")
     var CheckUsuario = $(".divUsuario")
     var inpDep = $(".inpDep")
     $(inpDep).on("click", function () {
         var usuariosDep = "." + this.id
         usuariosDep = $(usuariosDep)
         if (this.checked == true) {
             for (var i = 0; i < usuariosDep.length; i++) {
                 if (usuariosDep[i].checked == false) {
                     usuariosDep[i].checked = true
                 }
             }
         }
         else {
             for (var i = 0; i < usuariosDep.length; i++) {
                 if (usuariosDep[i].checked == true) {
                     usuariosDep[i].checked = false
                 }
             }
         }
         for (var x = 0; x < CheckUsuario.length; x++) {
             var esteUsuario = "#" + CheckUsuario[x].id + "listado"
             if (CheckUsuario[x].children[0].checked == true) {
                 $(esteUsuario)[0].classList.remove('inactivo')
             }
             else {
                 $(esteUsuario)[0].classList.add('inactivo')
             }
         }
     })
     $('#selectAllselUs').on('click', function () {
         var inpusuarios = $('.inpUsuario')
         var seleccionados = $('.divUsuarioSelect')
         if ($('#selectAllselUs')[0].checked == true) {
             for (var i = 0; i < inpusuarios.length; i++) {
                 if (inpusuarios[i].checked == false) {
                     inpusuarios[i].checked = true
                 }
             }
             for (var i = 0; i < inpDep.length; i++) {
                 if (inpDep[i].checked == false) {
                     inpDep[i].checked = true
                 }
             }
             for (var i = 0; i < seleccionados.length; i++) {
                 seleccionados[i].classList.remove('inactivo')
             }

         }
         else {
             for (var i = 0; i < inpusuarios.length; i++) {
                 if (inpusuarios[i].checked == true) {
                     inpusuarios[i].checked = false
                 }
             }
             for (var i = 0; i < inpDep.length; i++) {
                 if (inpDep[i].checked == true) {
                     inpDep[i].checked = false
                 }
             }
             for (var i = 0; i < seleccionados.length; i++) {
                 seleccionados[i].classList.add('inactivo')
             }
         }
     })
     $(CheckUsuario).on("click", function () {
         var idUs = this.id
         var idCheck = "#" + this.id
         idUs = "#" + idUs + "listado"

         if ($(idUs)[0].classList.contains('inactivo') == true) {
             $(idCheck)[0].children[0].checked = true
             $(idUs)[0].classList.remove('inactivo')
         }
         else {
             $(idCheck)[0].children[0].checked = false
             $(idUs)[0].classList.add('inactivo')
         }
     })
     function vaciarLista() {
         var usuarios = $('.divUsuario')
         for (var i = 0; i < usuarios.length; i++) {
             usuarios[i].children[0].checked = false
         }
         var divUsuarioSelect = $('.divUsuarioSelect')
         for (var i = 0; i < divUsuarioSelect.length; i++) {
             if (divUsuarioSelect[i].classList.contains('inactivo') == false) {
                 divUsuarioSelect[i].classList.add('inactivo')
             }
         }
         var divDep = $('.divDep')
         for (var i = 0; i < divDep.length; i++) {
             divDep[i].children[0].checked = false
         }
     }
     function cargarUsuarios() {
         var usuarios = ""
         var usuariosdata = ""
         var cont = 0
         var usuariosAll = $('.inpUsuario')
         for (var i = 0; i < usuariosAll.length; i++) {
             if (usuariosAll[i].checked == true) {
                 if (usuarios == "") {
                     cont += 1
                     usuariosdata += usuariosAll[i].value
                     usuarios += "['" + usuariosAll[i].value + "'"
                 }
                 else {
                     cont += 1
                     usuarios += ", "
                     usuariosdata += ","
                     usuariosdata += usuariosAll[i].value
                     usuarios += "'" + usuariosAll[i].value + "'"
                 }
             }
         }
         usuarios += "]"

         if (usuarios == "]") {
             $('#mensajeErrorUsuario').text("Debe seleccionar al menos un usuario")
             $('#mensajeErrorUsuarioDiv').css("display", "block")
         }
         else {
             $('#mensajeErrorUsuario').text("")
             $.ajax({
                 type: "post",
                 contentType: "application/json",
                 url: "/selUsuarios.aspx/listaUsuariosSeleccionados",
                 data: '{"usuarios":"' + usuariosdata + '"}',
                 dataType: "json",
                 success: function (result) {
                     if (result.d.includes("ERROR--")) {
                         compEr(result.d)
                         return
                     }
                     if (result.d == "correcto") {
                         window.location.href = "/home.aspx"
                     }
                     else {
                         $('#mensajeErrorUsuario').text("Debe seleccionar al menos un usuario")
                         $('#mensajeErrorUsuarioDiv').css("display", "block")
                     }
                 },
                 error: function (result) {
                     alert('error occured');
                     alert(result.responseText);
                 },

             });
         }
     }
     function buscarUsuario() {
         var persona = $("#txtBuscarUsu").val().normalize("NFD").replace(/[\u0300-\u036f]/g, "")
         var personaAll = $('.divUsuario')
         var departamentos = $(".grupodep")
         personaAll.show()
         departamentos.show()
         for (var i = 0; i < personaAll.length; i++) {
             var nombre = personaAll[i].children[1].innerText.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
             if (nombre.toUpperCase().includes(persona.toUpperCase()) == false) {
                 personaAll[i].style.display = "none"
             }
             else {
                 personaAll[i].style.display = "flex"
             }
         }
         for (var x = 0; x < departamentos.length; x++) {
             var hijosDep = departamentos[x].children
             var contador = 1
             for (var y = 1; y < hijosDep.length; y++) {
                 if (hijosDep[y].style.display == "none") {
                     contador += 1
                 }
                 if (contador == hijosDep.length) {
                     departamentos[x].style.display = "none"
                 }
             }
         }
     }
     function selectUsuariosIncidenciasPendientes() {
         var listaUsuariosPendientes = $('#listUsPendientes').val().split(",")
         var fechainiIncPend = $('#fechaIniPendientes').val()
         var fechaFinIncPend = $('#fechaFinPendientes').val()
         var inpusuarios = $('.inpUsuario')
         for (var i = 0; i < inpusuarios.length; i++) {
             inpusuarios[i].checked = false
             for (var x = 0; x < listaUsuariosPendientes.length; x++) {
                 if (listaUsuariosPendientes[x] == inpusuarios[i].defaultValue) {
                     inpusuarios[i].checked = true
                 }
             }
         }
         var usuarios = ""
         var cont = 0
         var usuariosdata = ""
         var usuariosAll = $('.inpUsuario')
         for (var i = 0; i < usuariosAll.length; i++) {
             if (usuariosAll[i].checked == true) {
                 if (usuarios == "") {
                     cont += 1
                     usuariosdata += usuariosAll[i].value
                     usuarios += "['" + usuariosAll[i].value + "'"
                 }
                 else {
                     cont += 1
                     usuarios += ", "
                     usuariosdata += ","
                     usuariosdata += usuariosAll[i].value
                     usuarios += "'" + usuariosAll[i].value + "'"
                 }
             }
         }
         usuarios += "]"
         if (usuarios == "]") {
             $('#mensajeErrorUsuario').text("Debe seleccionar al menos un usuario")
             $('#mensajeErrorUsuarioDiv').css("display", "block")
         }
         else {
             sessionStorage.setItem("listUsuarios", usuarios)
             $('#mensajeErrorUsuario').text("")
             $.ajax({
                 type: "post",
                 contentType: "application/json",
                 url: "../ParlamentoIntranet.aspx/listaUsuariosSeleccionados",
                 data: '{"usuarios":"' + usuariosdata + '"}',
                 dataType: "json",
                 success: function (result) {
                     //console.log(result)
                     sessionStorage.setItem("listUsuarios", usuarios)
                     ModoPersonal()
                 },
                 error: function (result) {
                     alert('error occured');
                     alert(result.responseText);
                 },
             });
         }       
         ModoPersonal()
         MostrarPagina('listadoDeIncidencias', 'ControlHorario', 'listadoDeIncidenciasBL')
         $('#IncidenciasPendientesDiv').css("display", "none")
         $('#IncidenciasPendientesDiv').html("")
         $("#listUsPendientes").val("")
         $("#fechaIniPendientes").val("")
         $("#fechaFinPendientes").val("")
         $('#fechaInicioListInc').val(fechainiIncPend)
         $('#fechaFinListInc').val(fechaFinIncPend)
             var estados = $(".chbEstado")
             for (var i = 0; i < estados.length; i++) {
                 if (estados[i].defaultValue == "VISTO-BUENO") {
                     estados[i].checked = false
                 }
             }        
         MostrarIncidencias()
     }
     </script>
</asp:Content>
