/*--
      Modulo: "FuncionesDesempIndEjer.js" Funciones para el modulo de Desempeño Individual de los sistemas educativos(EJERCITADOR)
      Dia de Comienzo: 27 - junio - 2008
      Dias de trabajo: 27,30 - junio - 2008
                       1,3 - julio -  2008
                         5 - agosto - 2008
                         5,9,11,19 - septiembre - 2008
                         26 - noviembre - 2010
--*/

var PantallaActivaEj = -1;  /*  Variable Global que identifica la Pantalla Activa
                                 valores -1: Nunca ha entrado
                                          0: Pantalla donde se Defininen los Reportes
                                          1: Pantallas de Reporte                     */

 /* Variables para manipular el PouUp */
        var panelEj0;
        var panelEj1;
        var panelEj2;
        var panelEj3;
        var panelEj4;
        var panelEj5;
        var panelEj6;
        var panel_BarraEjProp;
        var panelesEj_act_g1 = 0; /*  =0 Paneles del grupo 1 NO activos  =1 Paneles del grupo 1 activos  [ TABLA RESUMEN     ] */
        var panelesEj_act_g2 = 0; /*  =0 Paneles del grupo 1 NO activos  =1 Paneles del grupo 1 activos  [ GRAFICO DE AVANCE ] */

//-----------------------------------------------------------------------------------------------------------------------------------------

 function desempEjercicio(parametros){
 /* Muestra, la primera vez, la pantalla donde se definen los reportes del Ejercitador */

    if ( PantallaActivaEj == -1 ){
         if ( parametros == "" )
            parametros = "&sistema=" + $F("idsistema") + "&escuela=" + $F("idescuela") + "&desempInd=1" + "&nombrebd=" + $F("nombrebd");
         Llena_Target("actions/pantallaEjercicios.php", parametros, "mod_ejercicios"   );

         // ejecuta_modulo('actions/pantallaEjercicios.php', parametros, definicionReportEj );

         PantallaActivaEj = 0;


         $("mod_ejercicios").style.display           = "block";
         $("mod_ejercicios_DesempInd").style.display = "none";
                                 }

                           }

//-----------------------------------------------------------------------------------------------------------------------------------------
function definicionReportEj ( req ) {

         dataEj  = req.responseText;
         $("mod_ejercicios").innerHTML = dataEj;

          PantallaActivaEj = 0;
         $("mod_ejercicios").style.display           = "block";
         $("mod_ejercicios_DesempInd").style.display = "none";

                                    }

//-----------------------------------------------------------------------------------------------------------------------------------------
function ejercicioReportes ( opcion, btnMarcado )
{
/* Construir todos los reportes de los EJERCICIOS, una vez hecho el reporte no se calculan nuevamente los datos sino que se
   Esconden y muestran los DIVs necesarios ( Todos los botones llaman a la misma funcion )  */

 if ( PantallaActivaEj == 0 ) /*  Si es la pantalla donde se Defininen los Reportes entonces vuelve a calcular los datos ) */
 {
  //-- Verificar los intervalos de fecha
  fecha_reporte = ""; fecha_desde = ""; fecha_hasta = "";
  if ( obtenmarcaradio("fechaEj") == 1 ){
     fecha_reporte = verificaFechaEj();
     if ( fecha_reporte == "" )
        return;

     fecha_desde  = $F("anno_desde_ej") + "-" + $F("mes_desde_ej") + "-" + $F("dia_desde_ej");
     fecha_hasta  = $F("anno_hasta_ej") + "-" + $F("mes_hasta_ej") + "-" + $F("dia_hasta_ej");
  }

  PantallaActivaEj = -1;  // No vuelve a entrar mientrtas se generan los datos

  mantenerEj_marcadoBtn(btnMarcado);

  tema = obtenmarcaradio("temasEj");
  parametros = "&accion=desempenoInd&idAlumno=" + $F("idAlumno") + "&nombresist=" + $F("nombresist") +
                "&nombrebdSchool=" + $F("nombrebdSchool") +  "&idTema=" + tema +   "&nombrebd=" + $F("nombrebd") +
                "&reporteSobre="   + obtenmarcaradio("reportesEj") + "&nivel=" + obtenmarcaradio("nivel");

  //-- Datos de las Fechas
  parametros += "&fecha_reporte=" + fecha_reporte + "&fecha_desde=" + fecha_desde + "&fecha_hasta=" + fecha_hasta;

  //--- Cargando Reportes ....................................
  $("mod_ejercicios").style.display           = "none";
  $("mod_ejercicios_DesempInd").style.display = "block";
  $("mod_ejercicios_DesempInd").innerHTML = "<div style='text-align:center;padding-top:170px'><img src='images/loading.gif' /></div>"+
                                              "<div style='text-align:center;padding-top:10px;line-height:20px;color:#98130c;font-size:15px;height:332px;'>"+
                                              "<b>Generando Reporte<br />Este proceso puede tardar varios segundos</b>";

  new Ajax.Request("actions/desempenoIndEj.php", {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                datos1 = req.responseText;
                                                $("mod_ejercicios_DesempInd").innerHTML     = datos1;
                                                $("regresarContenidoEj").style.display      = "block";
                                                $("ImprimirBtnEj").style.display            = "block";
                                                $("hlpEjercitador").style.display           = "block";
                                                mostrarEsconderRepEjercitador( opcion );
                                                PantallaActivaEj = 1;
                                                        }
                                                });
 }
 else if ( PantallaActivaEj != -1 ){
         mostrarEsconderRepEjercitador( opcion );  // Sino solo esconder y mostrar las pantallas de reportes.
         PantallaActivaEj = 1;
         mantenerEj_marcadoBtn(btnMarcado);
                                     }

}
//-----------------------------------------------------------------------------------------------------------------------------------------
function verificaFechaEj()
/* Verifica el rango de fechas que se toma
*/
{
   fecha_reporte = "";
   fecha        = new Date();
   fecha_actual = new Date(fecha.getFullYear(),fecha.getMonth(),fecha.getDate());
   fecha_desde  = new Date($F("anno_desde_ej"),($F("mes_desde_ej")-1),$F("dia_desde_ej"));
   fecha_hasta  = new Date($F("anno_hasta_ej"),($F("mes_hasta_ej")-1),$F("dia_hasta_ej"));

   //-- 1.- fecha_hasta: no debe ser mayor que la fecha actual
   if (fecha_hasta > fecha_actual){
      alert("Fecha Final del Reporte Mayor que la Fecha Actual. Rectifique!!!");
      return fecha_reporte;
   }
   //-- 2.- fecha_hasta >= fecha_desde
   if (fecha_desde > fecha_hasta){
      alert("Fecha de Inicio del Reporte Mayor que Fecha Final. Rectifique!!!");
      return fecha_reporte;
   }
   //-- 3.- Devolver el intervalo de Fechas del Reporte
   // var diaArray = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
   // var mesArray = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
   var diaArray = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
   var mesArray = new Array("ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC");

   fecha_reporte  =  "<font style='color:rgb(70, 70, 70)'>Desde el </font><b>" + diaArray[fecha_desde.getDay()] + ", " + fecha_desde.getDate() + "-" + mesArray[fecha_desde.getMonth()] + "-" + fecha_desde.getFullYear();
   fecha_reporte += " <font style='color:rgb(70, 70, 70)'></b>hasta el</font> <b>" + diaArray[fecha_hasta.getDay()] + ", " + fecha_hasta.getDate() + "-" + mesArray[fecha_hasta.getMonth()] + "-" + fecha_hasta.getFullYear()+"</b>";

   return fecha_reporte;
}
//-----------------------------------------------------------------------------------------------------------------------------------------

function  mostrarEsconderRepEjercitador( opcion )
/** Muestra y Esconde los Reportes segun la variable opcion
            opcion : "tabla"         - Tabla Resumen
                     "grafico"       - Gráfico de Avance
                     "recomendacion" - Recomendaciones              **/
{
  switch( opcion ) {
    case "tabla":
                  $("TablaResumenEj").style.display  = "block";
                  $("GrafAvance").style.display      = "none";
                  $("Recomendaciones").style.display = "none";
                  ActivarPopUpEj( opcion );
      break;
    case "grafico":
                  $("GrafAvance").style.display      = "block";
                  $("TablaResumenEj").style.display  = "none";
                  $("Recomendaciones").style.display = "none";
                  ActivarPopUpEj( opcion );

      break;
    case "recomendacion":
                  $("Recomendaciones").style.display = "block";
                  $("GrafAvance").style.display      = "none";
                  $("TablaResumenEj").style.display  = "none";

      break;
                   }

}

//-----------------------------------------------------------------------------------------------------------------------------------------

function  regresarEjercicios(  )

{
 $("mod_ejercicios").style.display           = "block";
 $("mod_ejercicios_DesempInd").style.display = "none";
 $("regresarContenidoEj").style.display      = "none";
 $("ImprimirBtnEj").style.display            = "none";
 $("hlpEjercitador").style.display           = "none";

 PantallaActivaEj = 0;
 panelesEj_act_g1 = 0;
 panelesEj_act_g2 = 0;
// alert("regresarEjercicios");

 // Desmarcar  el último botón seleccionado
 id_BtnSeleccTMP = id_BtnSeleccEj ;
 id_BtnSeleccEj  = 0;
 reporteEj_afuera(  id_BtnSeleccTMP ); // Desmarca el boton

}

//-----------------------------------------------------------------------------------------------------------------------------------------
function imprimeDespIndEj() {
/* Funcion para imprimir cualquier pantalla de desempeño individual en el EJERCITADOR
   Devuelve el nombre del div que se desea imprimir   */
   if ( $("TablaResumenEj").style.display  == "block" ){
                                                       pantalla =  "TablaResumenEj";
                                                       for ( i = 0; i < 7 ; i++ )
                                                             $('outer_panelEj' + i).style.display = 'none';
                                                       }
      else if( $("GrafAvance").style.display  == "block" ){
                                                       pantalla =  "GrafAvance";
                                                       if ( document.getElementById('outer_panel_barraProp0') )
                                                          $('outer_panel_barraProp0').style.display = 'none';
                                                          }
           else if( $("Recomendaciones").style.display  == "block" ) pantalla =  "Recomendaciones";
   //alert("pantalla :"+pantalla);
   return pantalla;
                          }
//-----------------------------------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------- Funciones para la manipulacion de los Paneles ---------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------------
/******* GRUPO DE PANELES DE LA TABLA RESUMEN (CONTENIDO) *******/
 function cierra_panelesEj(pan)
 {
   for ( i = 0; i < 8 ; i++ ) { if (i == pan) continue;
     switch (i) {
       case 0: if (panelEj0.showing) panelEj0.close(); break;
       case 1: if (panelEj1.showing) panelEj1.close(); break;
       case 2: if (panelEj2.showing) panelEj2.close(); break;
       case 3: if (panelEj3.showing) panelEj3.close(); break;
       case 4: if (panelEj4.showing) panelEj4.close(); break;
       case 5: if (panelEj5.showing) panelEj5.close(); break;
       case 6: if (panelEj6.showing) panelEj6.close(); break;
                }
                              }
 }

 function abrir_panelEj_1(pan)
 //-- Abre o cierra el panelEj actual y cierra el que esta abierto si lo esta
 {
     cierra_panelesEj(pan);

     switch (pan) {
       case 0: panelEj0.toggle(); break;
       case 1: panelEj1.toggle(); break;
       case 2: panelEj2.toggle(); break;
       case 3: panelEj3.toggle(); break;
       case 4: panelEj4.toggle(); break;
       case 5: panelEj5.toggle(); break;
       case 6: panelEj6.toggle(); break;
                  }
 }
//-----------------------------------------------------------------------------------------------------------------------------------------

 function ActivarPopUpEj( opcion  )
 /* Manipula el PopUp */
 {
    switch ( opcion ) {
      case  "tabla":      // Activar grupo de paneles para la TABLA resumen
                          if (panelesEj_act_g1) return;
                          Rico.onLoad( function() {
                                panelEj0 = Rico.SlidingPanel.top( $('outer_panelEj0') , $('inner_panelEj0') );
                                panelEj1 = Rico.SlidingPanel.top( $('outer_panelEj1') , $('inner_panelEj1') );
                                panelEj2 = Rico.SlidingPanel.top( $('outer_panelEj2') , $('inner_panelEj2') );
                                panelEj3 = Rico.SlidingPanel.top( $('outer_panelEj3') , $('inner_panelEj3') );
                                panelEj4 = Rico.SlidingPanel.top( $('outer_panelEj4') , $('inner_panelEj4') );
                                panelEj5 = Rico.SlidingPanel.top( $('outer_panelEj5') , $('inner_panelEj5') );
                                panelEj6 = Rico.SlidingPanel.top( $('outer_panelEj6') , $('inner_panelEj6') );
                                                }
                                    );
                          panelesEj_act_g1 = 1;
      break;
      case  "grafico": // Activar grupo de paneles para las BARRAS
                          if (panelesEj_act_g2) return;
                          Rico.onLoad( function() {
                             if ( document.getElementById('outer_panel_barraProp0') ){
                                panel_BarraEjProp = Rico.SlidingPanel.bottom( $('outer_panel_barraProp0') );
                                $('outer_panel_barraProp0').style.display   = "none";
                                                                                 }
                                                  }
                                     );
                          panelesEj_act_g2 = 1;
      break;

                      }

 }

//-----------------------------------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------------------------------
function actualizatemasEjer ( nombrebd ) {
// Si se cambia de un modo de Reporte a otro (Resuelto<-->Propuesto) se actualizan los temas

     parametros = "&accion=buscatemasEjer" + "&nombrebd=" + nombrebd + "&tipoReporte=" + obtenmarcaradio("reportesEj") ;
     new Ajax.Request("actions/funcionesBusquedaBD.php", {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                datos1 = req.responseText;
                                                $("temasEjer").innerHTML = datos1;
                                                        }
                                                            });
                                  }

//------------------------------------------------------------------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------------------------------------------------------------

var id_BtnSeleccEj   = "";  // ID del boton seleccionado actualmente (Ejercitador)
var id_BtnAnterEj    = "";  // ID del Boton seleccionado anteriormente (Ejercitador)

function reporteEj_sobre( id_boton ){
// Funcion para cuando pasa el mouse por encima de los botones de reportes
//    id_boton : Identificador del Boton Seleccionado
      $(id_boton).style.background = '#234662';
      $(id_boton).style.color      = '#eeeeee';

                                  }

//-----------------------------------------------------------------------------------------------------------------------------------------
function reporteEj_afuera( id_boton ){
// Funcion para cuando pasa el mouse esta afuera de los botones de reportes
//    id_boton : Identificador del Boton Seleccionado

      if ( id_BtnSeleccEj != id_boton ) {
      $(id_boton).style.background = '#e2ebfa';
      $(id_boton).style.color      = '#234662';
                                      }
                                  }

//-----------------------------------------------------------------------------------------------------------------------------------------
function mantenerEj_marcadoBtn(id_boton ){
// Mantener marcado el boton seleccionado
//    id_boton : Identificador del Boton Seleccionado

      id_BtnAnterEj = id_BtnSeleccEj;
      id_BtnSeleccEj = id_boton;

      $(id_boton).style.background = '#234662';
      $(id_boton).style.color      = '#eeeeee';

      if ( id_BtnAnterEj != "" ) //No es la 1ra vez
         reporteEj_afuera(  id_BtnAnterEj );  // Desmarca el boton seleccionado anteriormente
                                  }
//-----------------------------------------------------------------------------------------------------------------------------------------
function activarFecha_Ej( intervalo ){
// Funcion para activar la selección de las fechas.
//    intervalo : 0 > Reporte Completo, 1 > Reporte parcial(por fechas)

      if ( intervalo == 1 ) {
         $("dia_desde_ej").disabled  = false;
         $("mes_desde_ej").disabled  = false;
         $("anno_desde_ej").disabled = false;
         $("dia_hasta_ej").disabled  = false;
         $("mes_hasta_ej").disabled  = false;
         $("anno_hasta_ej").disabled = false;
         return;
      }
      $("dia_desde_ej").disabled  = true;
      $("mes_desde_ej").disabled  = true;
      $("anno_desde_ej").disabled = true;
      $("dia_hasta_ej").disabled  = true;
      $("mes_hasta_ej").disabled  = true;
      $("anno_hasta_ej").disabled = true;
}
//-----------------------------------------------------------------------------------------------------------------------------------------
function habilita_fecha( tipo ){
// Funcion para activar la selección de las fechas(Ej.Resueltos no puede sacar reportes por fechas)
//    tipo : 0 > Ej.Resueltos, 1 > Ej.Propuestos

      if ( tipo == 0 ) {
         $("fechaEj,0").checked = true;
         $("fechaEj,1").disabled = true;
         activarFecha_Ej(0);
         return;
      }
      $("fechaEj,1").disabled = false;
}
//-----------------------------------------------------------------------------------------------------------------------------------------





