<?php
  session_start();
  include('../../../php/conn_2.php');
  if(!isset($_SESSION["id"])){
    header('Location: index.php');
  }

  mysqli_query($enlace, "SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
  mysqli_query($enlacehost, "SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
  mysqli_query($enlace, "SET NAMES 'utf8'");

  $id_filter = 0;
  $es_padre = 0;
  $onchange = '';
  $cod_encuesta = '';

  // // Si la tabla es: "xxx" debe recuperar la encuesta por defecto
  // if($_GET["cod_encuesta"] == 'xxx'){
  //   $query = "SELECT cod_encuesta FROM tb_encuesta WHERE cod_cliente = ".$_GET["cod_cliente"]." ORDER BY orden_encuesta LIMIT 1";

  //   if ($res = mysqli_query($enlace, $query)) {
  //     if (mysqli_num_rows($res) > 0) {
  //       while($row = mysqli_fetch_assoc($res)) {
  //         $cod_encuesta = $row["cod_encuesta"];
  //       }
  //     }
  //   }
  // }
  // else{
  //   $cod_encuesta = $_GET["cod_encuesta"];
  // }

  // Nueva forma de traer los parámetros - MCBN 07/11/2018 ----------------------------------------------------------
    // Asigna mes por defecto cuando venga vacío
      $filtro_mes = '';

    // Obtiene todos los parámetros por defecto
      if($_GET["mes"] == 'null'){
        if($_GET["cod_encuesta"] == 'null'){
          // Nombre de tabla de resultados
          $query = "SELECT cod_encuesta, tabla_encuesta_destino FROM tb_encuesta WHERE cod_cliente = ".$_GET["cod_cliente"]." ORDER BY nom_encuesta LIMIT 1";

          if ($res = mysqli_query($enlace, $query)) {
            if (mysqli_num_rows($res) > 0) {
              while($row = mysqli_fetch_assoc($res)) {
                $nom_tabla = $row["tabla_encuesta_destino"];
                $filtro_encuesta = $row["cod_encuesta"];
              }
            }
          }
        }
        else{
          $nom_tabla = $_GET["tabla_resultados"];
          $filtro_encuesta = $_GET["cod_encuesta"];
        }
        

        // Último año con datos
          $query = "SELECT cod_anho AS Anho FROM ".$nom_tabla." GROUP BY cod_anho ORDER BY 1 DESC LIMIT 1";

          if ($res = mysqli_query($enlace, $query)){
            while($row = mysqli_fetch_array($res)){
              $filtro_anho = $row["Anho"];
            };
          }

        // Último mes con datos
          $query = "SELECT cod_mes FROM ".$nom_tabla." WHERE cod_anho = ".$filtro_anho." GROUP BY cod_mes ORDER BY 1 DESC  LIMIT 1";

          if ($res = mysqli_query($enlace, $query)){
            while($row = mysqli_fetch_array($res)){
              $filtro_mes = $row["cod_mes"];
            };
          }

        // Filtros
          $filtro_filtros = '';
      }
      else{
        $nom_tabla = $_GET["tabla_resultados"];

        $filtro_encuesta = $_GET["cod_encuesta"];
        $filtro_anho = $_GET["anho"];
        $filtro_mes = $_GET["mes"];
        $filtro_filtros = $_GET["filtros"];
      }

  // Agregar filtro de fechas (para Encuesta de Salida)
    if ($filtro_encuesta == 454124){
      echo '<form class="form-horizontal form-label-left">';
      echo '<div class="form-group">';
      echo '  <div class="col-md-12 col-sm-12 col-xs-12">';
      echo '    <font color="white">';
      echo '      Fecha Salida (d/m/aaaa)';
      echo '    </font>';
      // echo '    <div class="col-md-12 col-sm-12 col-xs-12">';
      echo '      <center><input id="_dia" type="number" min="1" max="31" style="width: 28%; height: 35px; text-align:center;" placeholder="dd">';
      echo '      </input>';
      echo '      <font color="white">';
      echo '        /';
      echo '      </font>';
      echo '      <input id="_mes" type="number" min="1" max="12" style="width: 28%; height: 35px; text-align:center;" placeholder="mm">';
      echo '      </input>';
      echo '      <font color="white">';
      echo '        /';
      echo '      </font>';
      echo '      <input id="_anho" type="number" min="2018" max="3018" style="width: 30%; height: 35px; text-align:center;" placeholder="aaaa">';
      echo '      </input></center>';
      // echo '    </div>';
      echo '  </div>';
      echo '</div>';
      echo '</div>';
    }

  // Agregar todos los filtros dinámicos
    $query = "SELECT P.id, P.cod_pregunta, P.where_pregunta, P.etiqueta_pregunta, P.filtro_padre, P.filtro_hijo, P.where_pregunta_hijo, P.cod_hijo, (SELECT H.filtro_padre FROM tb_config_FiltrosReporteria H WHERE H.cod_encuesta = '".$filtro_encuesta."' AND H.Id = P.cod_hijo AND H.estado_filtro = 'A') AS hijo_padre FROM tb_config_FiltrosReporteria P WHERE P.cod_encuesta = '".$filtro_encuesta."' AND P.estado_filtro = 'A' ORDER BY P.orden_filtro";

    if ($res_div = mysqli_query($enlace, $query)) {
      if (mysqli_num_rows($res_div) > 0) {
        $num_filtros = mysqli_num_rows($res_div); // Obteniendo el número de filtros que se van a crear

        while($row_div = mysqli_fetch_assoc($res_div)) {
          $id_filter = $id_filter + 1;
          $onchange = '';
          $_in = '';

          if($row_div["filtro_padre"] == 1){
            //$es_padre = 1; // Si es padre el siguiente filtro debe ser hijo

            $cod_pregunta = $row_div["where_pregunta_hijo"];
            $cod_hijo = $row_div["cod_hijo"];
            
            $newid_filter = $id_filter + 1;
            $hijo_padre = $row_div["hijo_padre"]; // Ayuda a saber si el hijo también es padre
            $newid_filter_hijo = $id_filter + 2; //Ayuda a limpiar los hijos del hijo padre

            $onchange = 'onchange="f_cargafiltrohijo('."'".'filter_'.$id_filter."'".', '."'".'filter_'.$newid_filter."'".', '."'".$cod_pregunta."'".', '."'".$cod_hijo."'".', '."'".$hijo_padre."'".', '.$newid_filter_hijo.', 0)"';
          }

          echo '<div class="form-group">';
          echo '<div class="col-md-12 col-sm-12 col-xs-12">';
          echo '<font color="white">';
          echo $row_div["etiqueta_pregunta"];
          echo '</font>';
          echo '<select class="form-control" id="filter_'.$id_filter.'" name="v_filter_'.$id_filter.'" '.$onchange.' style="font-size: 12px; padding: 2px">';
                echo '<option value="">Seleccione una opción</option>';

          // Esto verifica si el filtro anterior fue padre
          // Si fue padre los elementos del <Select> no se deben cargar ya que serán cargado por la función java del "onchange" del padre
          if ($row_div["filtro_hijo"] == 0){
            mysqli_query($enlace, "SET NAMES 'utf8'");

            // Verifica los datos registrados en la tabla de resultados para que filtre sólo los que fueron usados
              $query_in = "SELECT `".$row_div["cod_pregunta"]."` AS cod_pregunta FROM ".$nom_tabla." WHERE cod_anho = '".$filtro_anho."' AND cod_mes = ".$filtro_mes." ".$filtros." AND LENGTH(`".$row_div["cod_pregunta"]."`) > 0 GROUP BY `".$row_div["cod_pregunta"]."`";

              if ($res_in = mysqli_query($enlace, $query_in)) {
                  if (mysqli_num_rows($res_in) > 0) {
                    while($row_in = mysqli_fetch_assoc($res_in)) {
                      $_in .= "'".str_replace(' ', '', $row_in["cod_pregunta"])."', ";  
                    }

                    $_in = substr($_in, 0, -2);
                  }
                }

            // Listas de alternativas
              $query = "SELECT valor_filtro, etiqueta_filtro FROM tb_config_FiltrosEtiquetas WHERE cod_filtro = '".$row_div["id"]."' AND valor_filtro IN (".$_in.") ORDER BY etiqueta_filtro";

              if ($res_item = mysqli_query($enlace, $query)) {
                if (mysqli_num_rows($res_item) > 0) {
                  $i = 1;

                  while($row_lista = mysqli_fetch_assoc($res_item)) {
                    $value1 = "REPLACE(".$row_div["cod_pregunta"].",SPACE(1),'')='".$row_lista["valor_filtro"]."'";
                    $value2 = "'".$row_lista["valor_filtro"]."'";
                    $value3 = $row_div["where_pregunta_hijo"]; // Si es padre, se utilizará para cargar el filtro hijo

                    $value = $value1."|".$value2."|".$value3;

                    // Si es la primera vez para el cuestionario de Operaciones: Debe mostrar siempre el primer registro como "por defecto"
                      $selected = '';

                      if($_GET["mes"] == 'null' && $row_div["etiqueta_pregunta"] == 'Tipo de Cuestionario' && $i == 1){
                        $selected = 'selected = "true"';
                      }

                    echo '<option '.$selected.' value="'.$value.'">'.$row_lista["etiqueta_filtro"].'</option>';

                    $i = $i + 1;
                  }
                }
                mysqli_free_result($res_item);
              }
          }

          echo '</select>';
          echo '</div>';
          echo '</div>';
        }
      }
      mysqli_free_result($res_div);
    }

?>
