<!DOCTYPE html>
<html lang="es">
                          
    <?php $this->load->view("template/header"); ?>
    <?php $this->load->view("template/nav"); ?>

    <style>
    	/* Centra el texto de los mensajes emergentes */
	    .Swal.fire-text {
    	    text-align: center;
	    }

        .form-control, #btn_buscar_permiso , #btn_nuevo_permiso {
            height: calc(1.5em + 0.75rem + 2px); /* Altura uniforme */
            padding: 0.375rem 0.75rem; /* Padding uniforme */
            font-size: 16px;
            line-height: 1.5;
        }

        #btn_buscar_permiso {
            width: 150px;
        }

        #btn_nuevo_permiso {
            min-width: 150px; /* Ancho mínimo para el botón */
            width: auto; /* Ajusta el ancho según el contenido */
            max-width: 200px; /* Ancho máximo */
            margin-left: 10px; /* Elimina el margen izquierdo */
            margin-top: 10px; /* Margen superior para separación */
            display: inline-block; /* Asegura que el botón no se expanda más allá de su contenido */
        }

        .form-group {
            margin-bottom: 0; /* Ajusta el espacio entre los campos */
        }

        .table-responsive {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }

        .table {
            width: 100%;
            margin-bottom: 1rem;
            background-color: transparent;
        }

        .card-footer {
            padding: 10px; /* Elimina padding para evitar el desalineamiento */
            display: flex; /* Usa flex para alinear el contenido */
            align-items: center; /* Centra verticalmente los elementos en el contenedor */    
        }

        .dataTables_length select {
            min-width: 60px; /* Ajusta el tamaño según sea necesario */
            padding-right: 20px; /* Agrega espacio adicional para las flechas */
        }
        /* Responsive design */
        @media (max-width: 768px) {
            .card-body .row {
                flex-direction: column; /* Cambia la dirección del flex para pantallas pequeñas */
            }

            #btn_buscar_permiso,
            #btn_nuevo_permiso {
                width: 100%; /* Hace que los botones ocupen todo el ancho en pantallas pequeñas */
            }
        }
    </style>
        
    <div class="content-wrapper">
        <div class="content-header">
            <div class="container-fluid">
                <div class="row mb-2">
                    <div class="col-sm-6 mt-1 mb-1">
                        <h1 class="m-0">Permisos</h1>
                    </div>

                    <div class="col-sm-6 mt-1 mb-1">
                        <ol class="breadcrumb float-sm-right">
                            <!-- <li class="breadcrumb-item"><a href="#" onclick="mySession()" class="nav-link">Cerrar Sesión</a></li> -->
                        </ol>
                    </div>
                </div>
            </div>
        </div>

        <section class="content">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-md-12">
                        <div class="card card-secondary">
                            <div class="card-header">
                                <h3 class="card-title">Datos de  búsqueda </h3>
                            </div>

                            <form id="quickForm"  autocomplete="off">
                                <div class="card-body">
                                    <div class="row">
                                        <div class="col-12 col-sm-4 col-md-3 col-lg-2 mt-1 mb-1">
                                            <div class="form-group">
                                                <label>Perfil</label>
								                <select class="custom-select" id="cmb_perfiles">
                                                    <option value="null">-- Seleccionar --</option>
								                    <?php foreach($perfiles as $k3) { ?>
									                    <option value="<?=$k3['IdPerfil']?>"> <?=$k3['Nombre']?></option>
								                    <?php } ?>                                       
								                </select>
                                            </div>
                                        </div> 
                            
                                        <div class="col-12 col-sm-4 col-md-3 col-lg-2 mt-1 mb-1">
                                            <div class="form-group">
                                                <label>Modulo</label>
								                <select class="custom-select" id="cmb_modulos">
                                                    <option value="null">-- Seleccionar --</option>
								                    <?php foreach($modulos as $k3) { ?>
									                    <option value="<?=$k3['IdModulo']?>"> <?=$k3['Nombre']?></option>
								                    <?php } ?>                                         
								                </select>
                                            </div>
                                        </div> 

                                        <div class="col-12 col-sm-4 col-md-3 col-lg-2 mt-1 mb-1 d-flex align-items-end">
                                            <button type="button" class="btn btn-primary" id="btn_buscar_permiso">Buscar</button>
                                        </div>
                                    </div> 
                                </div> 

                                <div class="card-body">
                                    <div id="example1_wrapper" class="dataTables_wrapper dt-bootstrap4">
                                        <div class="table-responsive">
                                            <table id="example1" class="table table-bordered table-striped dataTable dtr-inline" role="grid" aria-describedby="example1_info">
                                                <thead>
                                                    <tr role="row">
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Id</th>
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Perfil</th>
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Modulo</th>
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Registrar</th>
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Actualizar</th>
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Listar</th>
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Eliminar</th>
                                                        <th class="sorting" tabindex="0" aria-controls="example1" rowspan="1" colspan="1">Acciones</th>
                                                </thead>
                                                <tbody>
                                                </tbody>
                                                <tfoot>
                                                    <tr>
                                                        <th rowspan="1" colspan="1">Id</th>
                                                        <th rowspan="1" colspan="1">Perfil</th>
                                                        <th rowspan="1" colspan="1">Modulo</th>
                                                        <th rowspan="1" colspan="1">Registrar</th>
                                                        <th rowspan="1" colspan="1">Actualizar</th>
                                                        <th rowspan="1" colspan="1">Listar</th>
                                                        <th rowspan="1" colspan="1">Eliminar</th>
                                                        <th rowspan="1" colspan="1">Acciones</th>
                                                    </tr>
                                                </tfoot>
                                            </table>
                                        </div>
                                    </div>
                                </div>

                                <div class="card-footer">
    						        <div class="col-sm-3 p-3 pt-3">
                        	            <button type="button" class="btn btn-primary col-md-4" id="btn_nuevo_permiso"  >Nuevo </button>
						            </div>
                                </div>
                            </form>
                        </div> 

                        <div class="row">
                            <section class="col-lg-7 connectedSortable"></section>
                            <section class="col-lg-5 connectedSortable"></section>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </div>

    <?php $this->load->view("template/footer"); ?>
    <aside class="control-sidebar control-sidebar-dark"></aside>

<!-- ======================================================================================================================================================================================================= -->
    <!-- Modal Crear Permiso -->
    <div class="modal fade show" id="modal-permiso-nuevo" aria-modal="true" role="dialog">
	    <div class="modal-dialog modal-dialog-centered modal-lg modal-permiso-nuevo">
            <div class="modal-content">
                <div class="modal-header">
                    <h4 class="modal-title">Permiso Nuevo</h4>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">×</span>
                    </button>
                </div>

			    <div class="modal-body">
                    <div class="card-body">
                        <div class = "row">
                            <div class="col-sm-6 mt-1 mb-1">
							    <div class="form-group">
								    <label>Perfil</label>
								    <select class="custom-select" id="cmb_perfiles_permisos">
                                        <option value="0">-- Seleccionar --</option>
								        <?php foreach($perfiles as $k3) { ?>
									        <option value="<?=$k3['IdPerfil']?>"> <?=$k3['Nombre']?></option>
								        <?php } ?>                                       
								    </select>
							    </div>
						    </div> 

						    <div class="col-sm-6 mt-1 mb-1">
							    <div class="form-group">
								    <label>Modulo</label>
								    <select class="custom-select" id="cmb_modulos_permisos">
                                        <option value="0">-- Seleccionar --</option>
								        <?php foreach($modulos as $k3) { ?>
									        <option value="<?=$k3['IdModulo']?>"> <?=$k3['Nombre']?></option>
								        <?php } ?>                                         
								    </select>
							    </div>
						    </div> 
                        </div> 
					
                        <div class = "row">
						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
						            <br>
								    <input type="checkbox" class="Form-check-input" name="Registrar" id="opt_registrar_permisos" ></input>                          
								    <label>Registrar</label>
							    </div>
						    </div>

						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
								    <br>
								    <input type="checkbox" name="Actualizar" id="opt_actualizar_permisos" ></input>                          
								    <label>Actualizar</label>
							    </div>
						    </div>

						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
								    <br>
								    <input type="checkbox" name="Listar" id="opt_listar_permisos" ></input>                          
								    <label>Listar</label>
							    </div>
						    </div>

						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
    								<br>
								    <input type="checkbox" name="Eliminar" id="opt_eliminar_permisos" ></input>                          
								    <label>Eliminar</label>
							    </div>
						    </div>
					    </div> 
				    </div>
                </div>

                <div class="modal-footer justify-content-between">
				    <button style="float: left" type="button" class="btn btn-secondary col-md-3" id="btn_cancelar_permisos" data-dismiss="modal">Cancelar </button>  
				    <button style="float: right" type="button" class="btn btn-primary col-md-3" id="btn_guardar_permisos" data-dismiss="modal">Guardar </button>   
                </div>
            </div>
        </div>
    </div>

<!-- ======================================================================================================================================================================================================= -->
    <!-- Modal Editar Permiso -->
    <div class="modal fade show" id="modal-permiso-editar" aria-modal="true" role="dialog">
	    <div class="modal-dialog modal-dialog-centered modal-lg modal-permiso-editar">
            <div class="modal-content">
                <div class="modal-header">
                    <h4 class="modal-title">Editar Permiso</h4>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">×</span>
                    </button>
                </div>

			    <div class="modal-body">
                    <div class="card-body">
                        <div class = "row">
                            <div class="col-sm-6 mt-1 mb-1">
							    <div class="form-group">
								    <label>Perfil</label>
								    <select class="custom-select" id="cmb_perfiles_permisos_editar" disabled>
                                        <option value="0">-- Seleccionar --</option>
								        <?php foreach($perfiles as $k3) { ?>
									        <option value="<?=$k3['IdPerfil']?>"> <?=$k3['Nombre']?></option>
								        <?php } ?>                                       
								    </select>
							    </div>
						    </div> 

						    <div class="col-sm-6 mt-1 mb-1">
							    <div class="form-group">
								    <label>Modulo</label>
								    <select class="custom-select" id="cmb_modulos_permisos_editar" disabled>
                                        <option value="0">-- Seleccionar --</option>
								        <?php foreach($modulos as $k3) { ?>
									        <option value="<?=$k3['IdModulo']?>"> <?=$k3['Nombre']?></option>
								        <?php } ?>                                         
								    </select>
							    </div>
						    </div> 
                        </div> 
					
                        <div class = "row">
						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
						            <br>
								    <input type="checkbox" class="Form-check-input" name="Registrar" id="opt_registrar_permisos_editar" ></input>                          
								    <label>Registrar</label>
							    </div>
						    </div>

						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
    								<br>
								    <input type="checkbox" name="Actualizar" id="opt_actualizar_permisos_editar" ></input>                          
								    <label>Actualizar</label>
							    </div>
						    </div>

						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
								    <br>
								    <input type="checkbox" name="Listar" id="opt_listar_permisos_editar" ></input>                          
								    <label>Listar</label>
							    </div>
						    </div>

						    <div class="col-sm-3 mt-2 mb-2">
							    <div class="form-check">
								    <br>
								    <input type="checkbox" name="Eliminar" id="opt_eliminar_permisos_editar" ></input>                          
								    <label>Eliminar</label>
							    </div>
						    </div>
					    </div> 
				    </div>
                </div>

                <div class="modal-footer justify-content-between">
				    <button style="float: left" type="button" class="btn btn-secondary col-md-3" id="btn_cancelar_permisos" data-dismiss="modal">Cancelar </button>  
				    <button style="float: right" type="button" class="btn btn-primary col-md-3" id="btn_editar_permisos" data-dismiss="modal">Guardar </button>   
                </div>
            </div>
        </div>
    </div>
<!-- ======================================================================================================================================================================================================= -->
    <!-- jQuery -->
    <script src="<?php echo base_url() ?>assets/plugins/jquery/jquery.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/jquery/jquery.min.js"></script>
    <!-- jQuery UI 1.11.4 -->
    <script src="<?php echo base_url() ?>assets/plugins/jquery-ui/jquery-ui.min.js"></script>
    <!-- jQuery Mask -->
    <script src="<?php echo base_url() ?>assets/plugins/jquery-Mask/jquery.mask.min.js"></script>
    <!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip -->
    <script>
        $.widget.bridge('uibutton', $.ui.button)
    </script>
    <!-- Bootstrap 4 -->
    <script src="<?php echo base_url() ?>assets/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
    <!-- ChartJS -->
    <script src="<?php echo base_url() ?>assets/plugins/chart.js/Chart.min.js"></script>
    <!-- Sparkline -->
    <!-- <script src="<?php echo base_url() ?>assets/plugins/sparklines/sparkline.js"></script> -->
    <!-- JQVMap -->
    <script src="<?php echo base_url() ?>assets/plugins/jqvmap/jquery.vmap.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/jqvmap/maps/jquery.vmap.usa.js"></script>
    <!-- jQuery Knob Chart -->
    <script src="<?php echo base_url() ?>assets/plugins/jquery-knob/jquery.knob.min.js"></script>
    <!-- daterangepicker -->
    <script src="<?php echo base_url() ?>assets/plugins/moment/moment.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/daterangepicker/daterangepicker.js"></script>
    <!-- Tempusdominus Bootstrap 4 -->
    <script src="<?php echo base_url() ?>assets/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script>
    <!-- Summernote -->
    <script src="<?php echo base_url() ?>assets/plugins/summernote/summernote-bs4.min.js"></script>
    <!-- overlayScrollbars -->
    <script src="<?php echo base_url() ?>assets/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script>
    <!-- AdminLTE App -->
    <script src="<?php echo base_url() ?>assets/dist/js/adminlte.js"></script>
    <!-- AdminLTE for demo purposes -->
    <script src="<?php echo base_url() ?>assets/dist/js/demo.js"></script>
    <!-- AdminLTE dashboard demo (This is only for demo purposes) -->
    <!-- <script src="<?php echo base_url() ?>assets/dist/js/pages/dashboard.js"></script> -->
    <!-- SweetAlert -->
    <script src="<?php echo base_url() ?>assets/plugins/sweetalert2/sweetalert2.all.min.js"></script>
    <!-- AdminLTE Datatable components -->
    <script src="<?php echo base_url() ?>assets/plugins/datatables/jquery.dataTables.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-responsive/js/dataTables.responsive.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/dataTables.buttons.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/jszip/jszip.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/pdfmake/pdfmake.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/pdfmake/vfs_fonts.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.html5.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.print.min.js"></script>
    <script src="<?php echo base_url() ?>assets/plugins/datatables-buttons/js/buttons.colVis.min.js"></script>

<!-- ======================================================================================================================================================================================================= -->

    <script>
        //Definir Variables
        var Modulo = 'PERMISOS';
        var Permiso_Id = '';

        //aca ya carga la data no necesito enviar nuevamente   
        var permisos = <?php echo json_encode($permisos) ?>;
        var permiso  = <?php echo json_encode($permiso) ?>;
        var perfiles = <?php echo json_encode($perfiles) ?>;
        var modulos  = <?php echo json_encode($modulos) ?>;

        //Iniciar Carga
        $(document).ready (function(){        
            $("#example1").DataTable({
                data: permiso,
                destroy: true,
                searching: false,
		        responsive: true,
                columns:
                [
                    {data : 'IdPermiso'},
			        {data : 'Perfil'},
                    {data : 'Modulo'},
                    {data : 'Registrar'},
                    {data : 'Actualizar'},
                    {data : 'Listar'},
                    {data : 'Eliminar'},
				    {"data" : function (row, type,val, meta) {
                        var PermisoId = row.IdPermiso;
				        if(type==='display'){
						    return '<a href="#" onclick="btn_editar_permiso('+ row.IdPermiso +')" data-id="' + row.IdPermiso + '" class="table-edit" >Editar</a> &nbsp;&nbsp;<a <a href="#" onclick="btn_eliminar_permiso('+ row.IdPermiso +')" data-id="' + row.IdPermiso + '" class="table-edit" >Eliminar</a>'
					    }else{
						    return null;
					    }                             
                    }}
                ],
                responsive: true, 
                "lengthChange": false, 
                "autoWidth": false,
                lengthChange: true, // Habilitar la opción de longitud
                lengthMenu: [ [10, 25, 50, -1], [10, 25, 50, "All"] ], // Opciones para seleccionar la cantidad de registros por página
                autoWidth: false,
                language: {
                    "sProcessing": "Procesando...",
                    "sLengthMenu": "Mostrar _MENU_ entradas",
                    "sZeroRecords": "No se encontraron resultados",
                    "sInfo": "Mostrando de _START_ a _END_ de _TOTAL_ entradas",
                    "sInfoEmpty": "Mostrando 0 a 0 de 0 entradas",
                    "sInfoFiltered": "(filtrado de _MAX_ entradas totales)",
                    "sInfoPostFix": "",
                    "sSearch": "Buscar:",
                    "sUrl": "",
                    "sInfoThousands": ",",
                    "sLoadingRecords": "Cargando...",
                    "oPaginate": {
                        "sFirst": "Primero",
                        "sPrevious": "Anterior",
                        "sNext": "Siguiente",
                        "sLast": "Último"
                    },
                    "oAria": {
                        "sSortAscending": ": activar para ordenar la columna de manera ascendente",
                        "sSortDescending": ": activar para ordenar la columna de manera descendente"
                    }
                },
                buttons: ["copy", "csv", "excel", "pdf", "print"]
            }).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(1)').css('float','right');
        });

        //Boton de busqueda por los parametros.
        $("#btn_buscar_permiso").click(function ()
	    {             
            //Captura de valores 
            var Opcion = '2';
            var IdPerfil = $("#cmb_perfiles").val();
            var IdModulo = $("#cmb_modulos").val();

            //llamada a micro servicio de validacion
            $.ajax({
                url: '<?php echo base_url() ?>Permisos/searchPermisos',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: { 'Opcion' : Opcion,
                        'IdPerfil' : IdPerfil,
                        'IdModulo' : IdModulo}//formato json Data                    
            }).done(function(dato) {              
                var permisos_bus=JSON.parse(dato);

                $("#example1").DataTable({
                    data: permisos_bus,
                    destroy: true,
                    searching: false,
			        responsive: true,
                    columns:
                    [
                        {data : 'IdPermiso'},
			            {data : 'Perfil'},
                        {data : 'Modulo'},
                        {data : 'Registrar'},
                        {data : 'Actualizar'},
                        {data : 'Listar'},
                        {data : 'Eliminar'},
				        {"data" : function (row, type,val, meta) {
                            var PermisoId = row.IdPermiso;
				            if(type==='display'){
						        return '<a href="#" onclick="btn_editar_permiso('+ row.IdPermiso +')" data-id="' + row.IdPermiso + '" class="table-edit" >Editar</a> &nbsp;&nbsp;<a <a href="#" onclick="btn_eliminar_permiso('+ row.IdPermiso +')" data-id="' + row.IdPermiso + '" class="table-edit" >Eliminar</a>'
					        }else{
						        return null;
					        }                                
                        }}
                    ],
                    responsive: true, 
                    "lengthChange": false, 
                    "autoWidth": false,
                    lengthChange: true, // Habilitar la opción de longitud
                    lengthMenu: [ [10, 25, 50, -1], [10, 25, 50, "All"] ], // Opciones para seleccionar la cantidad de registros por página
                    autoWidth: false,
                    language: {
                        "sProcessing": "Procesando...",
                        "sLengthMenu": "Mostrar _MENU_ entradas",
                        "sZeroRecords": "No se encontraron resultados",
                        "sInfo": "Mostrando de _START_ a _END_ de _TOTAL_ entradas",
                        "sInfoEmpty": "Mostrando 0 a 0 de 0 entradas",
                        "sInfoFiltered": "(filtrado de _MAX_ entradas totales)",
                        "sInfoPostFix": "",
                        "sSearch": "Buscar:",
                        "sUrl": "",
                        "sInfoThousands": ",",
                        "sLoadingRecords": "Cargando...",
                        "oPaginate": {
                            "sFirst": "Primero",
                            "sPrevious": "Anterior",
                            "sNext": "Siguiente",
                            "sLast": "Último"
                        },
                        "oAria": {
                            "sSortAscending": ": activar para ordenar la columna de manera ascendente",
                            "sSortDescending": ": activar para ordenar la columna de manera descendente"
                        }
                    },
                    buttons: ["copy", "csv", "excel", "pdf", "print"]
                }).buttons().container().appendTo('#example1_wrapper .col-md-6:eq(1)').css('float','right');
            });
        });

        //Boton Nuevo Permiso
        $("#btn_nuevo_permiso").click(function () 
        { 
            //validar permisos de acceso
		    for(i=0; i<permisos.length; i++){
	    	    if(permisos[i].Nombre == Modulo){ 
                    if(permisos[i].Registrar == 'A'){
                        $("#modal-permiso-nuevo").modal({
                                    backdrop: 'static',
                                    keyboard: false
                        });
                        $("#modal-permiso-nuevo").modal("show");
					    break;
				    }else{
					    MsgAlerta(); 
				    }
			    }
		    }
        });

        //Boton para guardar         
        $("#btn_guardar_permisos").click(function ()
        {
            //capturar los valores
            var Opcion     = '1';
            var IdPerfil   = $('#cmb_perfiles_permisos').val();
            var IdModulo   = $('#cmb_modulos_permisos').val();
            var registrar  = '';
            var actualizar = '';
            var listar     = '';
            var eliminar   = '';

            if($('#opt_registrar_permisos').prop('checked')){
                registrar='A';   
            }else{
                registrar='I';
            }

            if($('#opt_actualizar_permisos').prop('checked')){
                actualizar='A';  
            }else{
                actualizar='I';    
            }

            if($('#opt_listar_permisos').prop('checked')){
                listar='A';   
            }else{
                listar='I';    
            }

            if($('#opt_eliminar_permisos').prop('checked')){
                eliminar='A';   
            }else{
                eliminar='I';   
            }

            //Validaciones de front end
            if(IdPerfil=='' || IdModulo ==''){
                Swal.fire({
                    title: 'Error',
                    text: 'Debe seleccionar el valor del perfil y/o el modulo',
                    icon: 'error',
                    confirmButtonText: 'OK',
                    allowOutsideClick: false, // Deshabilita el cierre al hacer clic fuera del modal
                    allowEscapeKey: false // Deshabilita el cierre al presionar la tecla "Escape"
                }); 
                return;
            }

            $.ajax({
                url: '<?php echo base_url() ?>Permisos/insertPermisos',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: { 'Opcion'     : Opcion, 
                        'IdPerfil'   : IdPerfil,
                        'IdModulo'   : IdModulo, 
                        'Registrar'  : registrar,
                        'Actualizar' : actualizar,
                        'Listar'     : listar,
                        'Eliminar'   : eliminar}//formato json Data   
            }).done(function(dato){
                //convierto la respuesta json
                var obj = JSON.parse(dato); 
                if (obj.res == 'ok') {
                    window.location.href="<?php echo base_url() ?>Permisos/listPermisos";
                }else{
                    Swal.fire("error",obj.msg, "error");     
                }
            });
        });      

        //Boton para guardar         
        $("#btn_editar_permisos").click(function ()
        {   
            //capturar los valores
            var Opcion     = '1';
            var IdPerfil   = $('#cmb_perfiles_permisos_editar').val();
            var IdModulo   = $('#cmb_modulos_permisos_editar').val();
            var registrar  = '';
            var actualizar = '';
            var listar     = '';
            var eliminar   = '';
            var IdPermiso  = Permiso_Id;

            if($('#opt_registrar_permisos_editar').prop('checked')){
                registrar='A';   
            }else{
                registrar='I';
            }

            if($('#opt_actualizar_permisos_editar').prop('checked')){
                actualizar='A';  
            }else{
                actualizar='I';    
            }

            if($('#opt_listar_permisos_editar').prop('checked')){
                listar='A';   
            }else{
                listar='I';    
            }

            if($('#opt_eliminar_permisos_editar').prop('checked')){
                eliminar='A';   
            }else{
                eliminar='I';   
            }

            //Validaciones de front end
            if(IdPerfil=='' || IdModulo ==''){
                Swal.fire({
                    title: 'Error',
                    text: 'Debe seleccionar el valor del perfil y/o el modulo',
                    icon: 'error',
                    confirmButtonText: 'OK',
                    allowOutsideClick: false, // Deshabilita el cierre al hacer clic fuera del modal
                    allowEscapeKey: false // Deshabilita el cierre al presionar la tecla "Escape"
                }); 
                return;
            }

            $.ajax({
                url: '<?php echo base_url() ?>Permisos/updatePermisos',//controlador
                type: "POST",//tipo de peticion POST o GET
                headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                data: { 'Opcion'     : Opcion,
                        'IdPermiso'  : IdPermiso,
                        'IdPerfil'   : IdPerfil,
                        'IdModulo'   : IdModulo, 
                        'Registrar'  : registrar,
                        'Actualizar' : actualizar,
                        'Listar'     : listar,
                        'Eliminar'   : eliminar}//formato json Data   
            }).done(function(dato){
                //convierto la respuesta json
                var obj = JSON.parse(dato); 
                if (obj.res == 'ok') {
                    window.location.href="<?php echo base_url() ?>Permisos/listPermisos";
                }else{
                    Swal.fire("error",obj.msg, "error");     
                }
            });
        });      

        //Boton Actualizar permisos
        function btn_editar_permiso(valor) 
        { 
            for(i=0; i<permisos.length; i++){
			    if (permisos[i].Nombre == Modulo){ 
                    if(permisos[i].Actualizar == 'A'){
					    for(i=0;i<=permiso.length;i++){
						    if(permiso[i].IdPermiso == valor){
                                Permiso_Id = valor;
							    //Cargar datos solicitud    
							    $('#cmb_perfiles_permisos_editar').val(permiso[i].IdPerfil);
							    $('#cmb_modulos_permisos_editar').val(permiso[i].IdModulo);
                                if(permiso[i].Registrar=='ACTIVO'){
                                    $("#opt_registrar_permisos_editar").prop('checked', true);               
                                }else{
                                    $("#opt_registrar_permisos_editar").prop('checked', false);
                                }
            
                                if(permiso[i].Actualizar=='ACTIVO'){
                                    $("#opt_actualizar_permisos_editar").prop('checked', true);
                                }else{
                                    $("#opt_actualizar_permisos_editar").prop('checked', false);
                                }

                                if(permiso[i].Listar=='ACTIVO'){
                                    $("#opt_listar_permisos_editar").prop('checked', true);
                                }else{
                                    $("#opt_listar_permisos_editar").prop('checked', false);
                                }

                                if(permiso[i].Eliminar=='ACTIVO'){
                                    $("#opt_eliminar_permisos_editar").prop('checked', true); 
                                }else{
                                    $("#opt_eliminar_permisos_editar").prop('checked', false);
                                }
							    //Cargar Ventana Modal
                                $("#modal-permiso-editar").modal({
                                    backdrop: 'static',
                                    keyboard: false
                                });
							    $("#modal-permiso-editar").modal("show");
							    return; 
						    }   
					    }
					    break;				
				    }else{
					    MsgAlerta(); 
				    }
			    }
		    }  
        };
    
        //Boton Eliminar Permiso
        function btn_eliminar_permiso(valor)
        {
            //validar permisos de acceso
	        for(i=0; i<permisos.length; i++){
    		    if(permisos[i].Nombre == Modulo){ 
                    if(permisos[i].Eliminar == 'A'){
					    Swal.fire({
                            title: "¿Está seguro de eliminar el permiso?",
                            text: "Esta opción eliminará el permiso seleccionado",
                            icon: "warning",
                            showCancelButton: true,
                            confirmButtonColor: '#3085d6',
                            cancelButtonColor: '#d33',
                            confirmButtonText: 'Eliminar',
                            cancelButtonText: 'Cancelar'
                        }).then((result) => {
                            if (result.isConfirmed){
                                $.ajax({
                                    url: '<?php echo base_url() ?>Permisos/deletePermisos/',//controlador
                                    type: "POST",//tipo de peticion POST o GET
                                    headers: {'X-Requested-With': 'XMLHttpRequest'},//Encabezados
                                    data: {'IdPermiso': valor}//formato json Data
                                }).done(function(dato){
                                    var obj = JSON.parse(dato); 
                                    if (obj.res == 'ok'){
                                        window.location.href="<?php echo base_url() ?>Permisos/listPermisos";
                                    }else{                    
                                        Swal.fire("error",obj.msg, "error");                      
                                    }
                                });
                            } 
                        });
				    }else{
                        MsgAlerta(); 
                    }
                }
            }
        };

        //funcion pasar a mayusculas
	    function mayus(e) 
        {   
		    e.value = e.value.toUpperCase();
	    };

        //Funcion para mensajes
        function MsgAlerta()
        {
            Swal.fire({
                title: "Información",
                html:" <p>No tiene permisos para esta acción. <br> Comunicate con el administrador.</p>",
                icon: "info"
		    })
        };   
    </script>
</body>
</html>
