<!-- Creado: Félix Ricardo Oliva Alonso, 12/12/2016. Se crea la vista para administrar perfiles -->
<!-- Modificado: Félix Ricardo Oliva Alonso, 20/12/2016.  -->
<!-- Modificado: Félix Ricardo Oliva Alonso, 05/01/2017. -->
<!-- Modificado: Félix Ricardo Oliva Alonso, 06/01/2017. Se cambió el método de listar a jquery -->
<!-- Modificado: LI Juan Pablo Sánchez Bracamontes, 09/02/2017. Se cambió la función de Activo/Baja -->
<!-- Modificado: Jorge Antonio Mendoza Salazar, 15/02/2017. Se cambio la presentaciond de la vista -->

<?php
  use App\Libraries\ejLib;
  $var = ejLib::getInstance();
  $soapclient = $var->getWs();
  $wsClave = $var->get_wsClave();

  $response = $soapclient->vCat_CentroSalud($wsClave);
  $RESPUESTAS = new SimpleXMLElement(utf8_encode($response));

  $response2 = $soapclient->vCat_PerfilesFE($wsClave);
  $RESPUESTAS2 = new SimpleXMLElement(utf8_encode($response2));

  $response3 = $soapclient->vCat_ModulosFE($wsClave);
  $RESPUESTAS3 = new SimpleXMLElement(utf8_encode($response3));

?>

@extends('layouts.master')
@section('titulo')
  {{ 'Administrar Perfiles' }}
@endsection

<?php

  $usuario = $_SESSION['usuario'];

  $decoded = $var->desencriptar_AES($usuario['tusuario'], $usuario['x']);
  $decoded2 = $var->desencriptar_AES($usuario['centro_sal'], $usuario['x']);
  $Centro_Sal  = $var->desencriptar_AES($usuario['centro_sal'], $usuario['x']);
  $id_admin  = $var->desencriptar_AES($usuario['id_admin'], $usuario['x']);

?>

@section('navegacion_admin')
  @include('layouts.navegacion_admin')
@endsection


@section('titulo_pagina')
  <div class="titulo_pagina">
    <h2>ADMINISTRAR PERFILES DE USUARIO</h2>
  </div>
@endsection

<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/admingeneral.css">
<link rel="stylesheet" href="css/usuariogeneral.css">
<link rel="stylesheet" href="css/usuariocm.css">

<script src="js/jquery-3.1.0.min.js"></script>
<script src="js/bootstrap.js"></script>

<style media="screen">
  div.error {
    height: 15px;
    padding: 3px;
    background-color:rgba(0, 0, 0, 0.7);
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    -webkit-border-radius: 3px 3px 3px 3px;
    font-size: 9pt;
    -webkit-box-shadow: 1px 2px 3px -1px rgba(0,0,0,0.75);
    -moz-box-shadow: 1px 2px 3px -1px rgba(0,0,0,0.75);
    box-shadow: 1px 2px 3px -1px rgba(0,0,0,0.75);

    float: right;
    text-align:left;
    color: #ffffff;
    animation: fadein 0.8s;
  }

  @keyframes fadein {
    from { opacity: 0}
    to   { opacity: 1}
  }
</style>

<script>
  var jqSetMensaje = function (objetoHTML, mensaje, tagID) {
    $( "#"+objetoHTML ).html( mensaje );
    $( "#"+tagID ).focus();
  }

  var jqGetAjax = function (php_url_post, objetoHTML, array_datos) {
    var request = $.ajax({ url: php_url_post, method: "POST", data: array_datos, dataType: "html" });
    request.done(function( msg ) { $( "#"+objetoHTML ).html( msg ); });
    request.fail(function( jqXHR, textStatus ) { $( "#"+objetoHTML ).html(  "Request failed: " + textStatus ); });
  }

  $(document).ready(function(){
    ////////////////////////////////////////////////
    // SELECT
    ////////////////////////////////////////////////
    /*$("#css_centro_salud").change(function() {
      var valor = this.value;
      var id_perfil_t = $('#id_perfil_t').val();

      //alert(valor);
      //alert(id_perfil_t);
      $.ajax({
        type: "POST",
        url: 'perfiles-select',
        data:  {"css_centro_salud" : valor, "id_perfil_t" : id_perfil_t},
        success: function(data) {
          alert(data);
          $('#contenedor_tabla tr').remove();
          xmlDoc = $.parseXML(data),
          $xml = $( xmlDoc );

          var tabla = '<table border="1" class="table table-bordered">';
              tabla += '<tr>';
              tabla += '<th id="idperfil" style="display: none"></th><th id="centrosal" style="display: none"></th><th id="control" style="display: none"></th><th style="text-align: center;">N°</th><th class="col-sm-3">Perfil</th><th class="col-sm-5">Actividades</th><th style="text-align: center;">Activo desde</th><th style="text-align: center;">Opciones</th>';
              tabla += '</tr>';
              tr = '';
          var activo='<a href="#" id="status"><input type="hidden" value="0" id="h_Status" name="h_Status"><img id="cmdStatus" src="Img/Baja.png" width="20px" height="20px" title="Establecer en Activo el elemento" style="cursor: pointer;"/> </a>';
          var baja='<a href="#" id="status"><input type="hidden" value="1" id="h_Status" name="h_Status"><img id="cmdStatus" src="Img/Activar.png" width="20px" height="20px" title="Establecer en baja el elemento" style="cursor: pointer;"/> </a>';
          var clonar='<img class="clonar_perfil_ap" src="Img/Clonar.png" width="20px" height="20px" title="Usar el contenido del registro actual como plantilla para crear uno nuevo" style="cursor: pointer;"/> ';
          var editar='<img class="editar_perfil_ap" src="Img/Editar.png" width="20px" height="20px" title="Editar Perfil de Usuario" style="cursor: pointer;"/> ';

          var con = 1;
          $($xml).find("respuesta").each(function() {
            for (i = 1; i < 2; i++) {
              var perfil = ($(this).find("Respuesta>perfil").text());
              var momento_alta = ($(this).find("Respuesta>momento_alta").text());
              var actividades = ($(this).find("Respuesta>actividades").text());
              var subido = momento_alta.slice(0, 10);
              var baja_log = ($(this).find("Respuesta>baja_log").text());

              var idperfil = ($(this).find("Respuesta>id_perfil").text());
              var centrosal = ($(this).find("Respuesta>centro_sal").text());

              if (baja_log==1) {
                tr += '<tr>';
                tr += '<td id="control" style="text-align: center;">'+con+'</td><td>'+perfil+'</td><td>'+actividades+'</td><td style="text-align: center;">'+subido+'</td><td style="text-align: center;">'+activo+clonar+editar+'</td><td id="idperfil" style="display: none">'+idperfil+'</td><td id="centrosal" style="display: none">'+centrosal+'</td>';
                tr += '</tr>';
                con++;
              } else {
                tr += '<tr>';
                tr += '<td id="control" style="text-align: center;">'+con+'</td><td>'+perfil+'</td><td>'+actividades+'</td><td style="text-align: center;">'+subido+'</td><td style="text-align: center;">'+baja+clonar+editar+'</td><td id="idperfil" style="display: none">'+idperfil+'</td><td id="centrosal" style="display: none">'+centrosal+'</td>';
                tr += '</tr>';
                con++;
              }
            }
          });
          tabla += tr;
          tabla += '</table>';
          $('#contenedor_tabla').html( tabla );



        },
        error : function(xhr, status) {
          alert("error");
        },
      });
      return false;
    });*/

    ///////////////////////////////////////////////////////////////////////////////////////
    //                                    Agregar Perfil
    ///////////////////////////////////////////////////////////////////////////////////////
    $( "#btn_agregar_ap" ).click(function() {
      jqGetAjax("perfiles-addLst","tblMovimientos", { });
    });

    ////////////////////////////////////////////////
    //             Listar
    ////////////////////////////////////////////////
    $(document).on("click", "#btn_listar_ap", function(){
      // var mics = $('#css_centro_salud').val();
      // var miid = $('#id_perfil_t').val();
      ///alert("MI CS: "+mics+" MI Id: "+miid);
      $.ajax({
        type: "POST",
        url: 'perfiles-AdministrarPerfilesDeUsuarioDeFE_getLstPerfilFE',
        data: $("#admin_perfiles").serialize(),
        success: function(data) {
          //console.log(data);
          $('#contenedor_tabla tr').remove();
          xmlDoc = $.parseXML(data),
          $xml = $( xmlDoc );

          var tabla = '<table border="1" class="table table-bordered" >';
              tabla += '<tr>';
              tabla += '<th id="idperfil" style="display: none"></th><th id="centrosal" style="display: none"></th><th id="control" style="display: none"></th><th style="text-align: center;">N°</th><th class="col-sm-2">Perfil</th><th class="col-sm-3">Centro de Salud</th><th class="col-sm-4">Actividades</th><th style="text-align: center;">Activo desde</th><th style="text-align: center;">Opciones</th>';
              tabla += '</tr>';
              tr = '';
          var activo='<a href="#" id="status"><input type="hidden" value="0" id="h_Status" name="h_Status"><img id="cmdStatus" src="Img/Baja.png" width="20px" height="20px" title="Establecer en Activo el elemento" style="cursor: pointer;"/> </a>';
          var baja='<a href="#" id="status"><input type="hidden" value="1" id="h_Status" name="h_Status"><img id="cmdStatus" src="Img/Activar.png" width="20px" height="20px" title="Establecer en baja el elemento" style="cursor: pointer;"/> </a>';
          var clonar='<img class="clonar_perfil_ap" src="Img/Clonar.png" width="20px" height="20px" title="Usar el contenido del registro actual como plantilla para crear uno nuevo" style="cursor: pointer;"/> ';
          var editar='<img class="editar_perfil_ap" src="Img/Editar.png" width="20px" height="20px" title="Editar Perfil de Usuario" style="cursor: pointer;"/> ';


          var existe = 0;
          var con = 1;
          $($xml).find("respuesta").each(function() {
            for (i = 1; i < 2; i++) {
              var perfil = ($(this).find("Respuesta>perfil").text());
              var momento_alta = ($(this).find("Respuesta>momento_alta").text());
              var actividades = ($(this).find("Respuesta>actividades").text());
              var subido = momento_alta.slice(0, 10);
              var baja_log = ($(this).find("Respuesta>baja_log").text());
              var nom_centrosalud = ($(this).find("Respuesta>nom_centrosalud").text());

              var idperfil = ($(this).find("Respuesta>id_perfil").text());
              var centrosal = ($(this).find("Respuesta>centro_sal").text());

              // var filtrarCS = $('#css_centro_salud').val();
              // var filtrarId = $('#id_perfil_t').val();

              // Se quito el filtro, deben mostrarse todos los perfiles 28/02/2017
              // if (centrosal==filtrarCS && idperfil==filtrarId) {
                if (baja_log==1) {
                  tr += '<tr>';
                  tr += '<td id="control" style="text-align: center;">'+con+'</td><td>'+perfil+'</td><td>'+nom_centrosalud+'</td><td>'+actividades+'</td><td style="text-align: center;">'+subido+'</td><td style="text-align: center;">'+activo+clonar+editar+'</td><td id="idperfil" style="display:none">'+idperfil+'</td><td id="centrosal" style="display:none">'+centrosal+'</td>';
                  tr += '</tr>';
                  con++; existe++;
                } else {
                  tr += '<tr>';
                  tr += '<td id="control" style="text-align: center;">'+con+'</td><td>'+perfil+'</td><td>'+nom_centrosalud+'</td><td>'+actividades+'</td><td style="text-align: center;">'+subido+'</td><td style="text-align: center;">'+baja+clonar+editar+'</td><td id="idperfil" style="display:none">'+idperfil+'</td><td id="centrosal" style="display:none">'+centrosal+'</td>';
                  tr += '</tr>';
                  con++; existe++;
                }
              // }
            }
          });

          if (existe==0) { // Se removieron las llaves de mas
            $.notify("Esta búsqueda no arrojo ningún resultado", "info");
          }

          tabla += tr;
          tabla += '</table>';
          $('#contenedor_tabla').html( tabla );
        },

        error : function(xhr, status) {
          alert("error");
        },
      });
      return false;
    });

    ///////////////////////////////////////////////////////////////////////////////////////
    //                                    Cambiar Estado
    ///////////////////////////////////////////////////////////////////////////////////////
    $(document).on("click", "#status", function() {
      var currentRow = $(this).closest("tr");
      var idperfil = currentRow.find("#idperfil").html();
      var centrosal = currentRow.find("#centrosal").html();
      var status = currentRow.find("#h_Status").val();
      var control = currentRow.find("#control").html();

      $.post({
        url:   'perfiles-up_statusPerfilFE',
        data:  {'status':status,'idperfil':idperfil,'control':control,'centrosal':centrosal},

        success:  function (response) {
          //Convertimos la respuesta en objeto para recuperar la respuesta
          var xml = response,
          xmlDoc = $.parseXML( xml ),
          $xml = $( xmlDoc ),
          $error = $xml.find( "error" ),
          $titulo = $xml.find( "titulo" ),
          $descripcion = $xml.find( "descripcion" );

          if ($error.text() == "0" && status == 1){
            $( "td" ).find( "#cmdStatus" ).eq( control-1 ).prop('title', 'Establecer en activo el elemento');
            $( "td" ).find( "#cmdStatus" ).eq( control-1 ).attr('src', 'Img/Baja.png');
            $( "td" ).find( "#h_Status" ).eq( control-1 ).val("0");
          }

          if ($error.text() == "0" && status == 0){
            $( "td" ).find( "#cmdStatus" ).eq( control-1 ).prop('title', 'Establecer en baja el elemento');
            $( "td" ).find( "#cmdStatus" ).eq( control-1 ).attr('src', 'Img/Activar.png');
            $( "td" ).find( "#h_Status" ).eq( control-1 ).val("1");
          }

          if($error.text() == "1")
            $.notify($titulo.text()+', '+$descripcion.text(), "error");
          else
            $.notify("Cambio de estado exitoso", "success");

        },
        error : function(xhr, status) {
          $.notify("Disculpe, existió un problema", "error");
        },
      });
    });

    ///////////////////////////////////////////////////////////////////////////////////////
    //                                     Clonar Perfil
    ///////////////////////////////////////////////////////////////////////////////////////
    /*$(document).on("click", ".clonar_perfil_ap", function(){
      jqGetAjax("perfiles-clonLst","tblMovimientos", {  });
    });*/
    $(document).on("click", ".clonar_perfil_ap", function() {
      var currentRow = $(this).closest("tr");
      var data = currentRow.find("#idperfil").html();
      var data2 = currentRow.find("#centrosal").html();

      jqGetAjax("perfiles-clonLst","tblMovimientos", { idperfil: data,  centrosal: data2 });

    });

    ///////////////////////////////////////////////////////////////////////////////////////
    //                                     Editar Perfil
    ///////////////////////////////////////////////////////////////////////////////////////
    $(document).on("click", ".editar_perfil_ap", function(){
      jqGetAjax("perfiles-upLst","tblMovimientos", {  });

      var currentRow = $(this).closest("tr");
      var data = currentRow.find("#idperfil").html();
      var data2 = currentRow.find("#centrosal").html();

      //alert('Id: '+data+' CS: '+data2);
      $.ajax({
        url:   'jq-adminPerfiles',
        type:  'POST',
        data:  {"idperfil" : data, "centrosal" : data2},

        success:  function (response) {
          //alert(response);
          xmlDoc = $.parseXML( response ),
          $xml = $( xmlDoc );
          $($xml).each(function() {
            var nom_centrosalud = ($(this).find("Respuesta>nom_centrosalud").text());
            var perfil = ($(this).find("Respuesta>perfil").text());
            var actividades = ($(this).find("Respuesta>actividades").text());

            var id_perfil = ($(this).find("Respuesta>id_perfil").text());
            var centro_sal = ($(this).find("Respuesta>centro_sal").text());
            var baja_log = ($(this).find("Respuesta>baja_log").text());

            $('#cen_sal_ap4').val(nom_centrosalud);
            $('#perfil_ap4').val(perfil);
            $('#actividades_ap4').val(actividades);

            $('#id_perfil_ap4').val(id_perfil);
            $('#id44').val(centro_sal);

//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
            $('#mi_status').val(baja_log);
            //alert("Status editar: "+baja_log);
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
          });
          document.getElementById('btn_privilegios_ap5').click();
        },
        error : function(xhr, status) {
          alert('Disculpe, existió un problema');
        },
      });
    });
  });
</script>

@section('content')
  <div id="mensaje" name="mensaje"></div>
  <div id="contenedor">
    <form id="admin_perfiles">
      <input type="hidden" name="_token" value="{{csrf_token()}}">
      <div class="row">
        <div class="col-sm-4">
          <div class="input-group-sm form-group-sm">
            <label style="text-transform:uppercase">Centro de salud</label>
            <?php if (isset($_SESSION['usuario']['x'])) { ?>
              <?php if(strlen(rtrim($decoded))==4) { ?>
              <div class="input-group">
                <select id="css_centro_salud" name="css_centro_salud" class="form-control" style="width: 292px; height: 27px;">
                <option selected value="null">Elija una opción</option>
                @foreach($RESPUESTAS->respuesta as $cs)
                  <option value="<?php echo $cs->centro_sal; ?>" <?php if( ($cs->centro_sal) == ($Centro_Sal) )echo ' selected="selected" '; ?> title="<?php echo utf8_decode($cs->desc_centr); ?>" ><?php echo utf8_decode($cs->centrosalud); ?></option>
                @endforeach
                </select>
                <span class="input-group-addon">
                  <input type="checkbox" id="todos_cs" name="todos_cs" title="Desmarcar para ver todos los perfiles" checked>
                </span>
              </div>
              <?php } else { ?>
                <input type="text" style="display:none" id="css_centro_salud" name="css_centro_salud" class="form-control" value="{!! trim($decoded2); !!}">
                <?php $sessionID=(htmlspecialchars(session_id())); session_write_close();
                echo $var->getView('Catalogos\VistasController@vCat_CentroSalud','Centro_Sal='.$Centro_Sal.'&disable=1&sessionID='.$sessionID); ?>
              <?php } ?>
            <?php } ?>
          </div>
        </div>

        <br>

        <div class="col-sm-1">
          <div class="input-group-sm">
            <button type="button" id="btn_agregar_ap" href="#tblMovimientos">Agregar</button>
          </div>
        </div>

        <div class="col-sm-3 ">
          <div class="input-group input-group-sm">
            <span class="input-group-addon" id="sizing-addon3">Perfil</span>
            <input id="perfil_appp" name="perfil_appp" type="text" class="form-control" placeholder="Máximo 200 caracteres" >
          </div>
        </div>

        <div class="col-sm-1">
          <div class="input-group input-group-sm">
            <span class="input-group-addon">
              <input type="checkbox" aria-label="Checkbox for following text input" id="activo_c" name="activo_c">
            </span>
            <span class="input-group-addon">Activo</span>
          </div>
        </div>

        <div class="col-sm-1">
          <button type="submit"  id="btn_listar_ap">Listar</button>
        </div>
      </div>
    </form>

    <?php $con=0 ?>
    <div id="contenedor_tabla">
      <?php if (isset($_SESSION['usuario']['x'])) { ?>
        <?php if(strlen(rtrim($decoded))==4) { ?>
          <table border="1" class="table table-bordered" id="contenedorjquery">
            <tr>
              <th id="idperfil" style="display: none"></th>
              <th id="centrosal" style="display: none"></th>
              <th id="control" style="display: none"></th>

              {{-- <th style="text-align: center;">N°</th>
              <th class="col-sm-3">Perfil</th>
              <th class="col-sm-5">Actividades</th>
              <th style="text-align: center;">Activo desde</th>
              <th style="text-align: center;">Opciones</th> --}}
            </tr>
          </table>
        <?php } else { ?>
        <?php } ?>
      <?php } ?>
    </div>

  	<div id="tblMovimientos" name="tblMovimientos">
  	</div>
    <div id="divMensaje" name="divMensaje" style="height:20px;"></div>
    <br/>
  </div>
@endsection

<script src="js/notify.js"></script>
