/*--
      Modulo: "FuncionesDesempIndEval.js" Funciones para el modulo de Desempeño Individual de los sistemas educativos(EVALUADOR)
      Dia de Comienzo: 1 - julio - 2008
      Dias de trabajo: 1,2,4,7,8 - julio - 2008
                       11,19 - Septiembre - 2008
                       12 - diciembre - 2008

--*/

var PantallaActivaEval = -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
-------------------------------------
   NOTA:  Se declaran mas variables "panelExam" porque el numero de preguntas es variables, por lo que,
          varia tambien las columnas de la tabla ( panelExam0 y panelExam1 son columnas fijas )*/

        var panelEval0;   var panelExam0;   var panelExam7;    var panelNivel0;
        var panelEval1;   var panelExam1;   var panelExam8;    var panelNivel1;
        var panelEval2;   var panelExam2;   var panelExam9;    var panelNivel2;
        var panelEval3;   var panelExam3;   var panelExam10;   var panelNivel3;
        var panelEval4;   var panelExam4;                      var panelNivel4;
        var panelEval5;   var panelExam5;
        var panelEval6;   var panelExam6;

        var panelesEval_act_g1  = 0; /*  =0 Paneles del grupo 1 NO activos  =1 Paneles del grupo 1 activos  [ Reporte de Evaluacion  ] */
        var panelesExam_act_g1  = 0; /*  =0 Paneles del grupo 1 NO activos  =1 Paneles del grupo 1 activos  [ Reporte de Examenes    ] */
        var panelesNivel_act_g1 = 0; /*  =0 Paneles del grupo 1 NO activos  =1 Paneles del grupo 1 activos  [ Niveles de Complejidad ] */

        var cantPreguntas;           /*  Cantidad de Preguntas de los Examenes usada para crear los comentarios de las columnas
                                         valores 0: no existen datos a representar
                                                >0: Cantidad de preguntas  */
//-----------------------------------------------------------------------------------------------------------------------------------------
 function desempEvaluador(parametros){
 /* Muestra, la primera vez, la pantalla donde se definen los reportes del Ejercitador */

     if ( PantallaActivaEval == -1 ){
         if ( parametros == "" )
            parametros = "&sistema=" + $F("idsistema") + "&escuela=" + $F("idescuela") + "&desempInd=1" + "&nombrebd=" + $F("nombrebd");
         Llena_Target("actions/pantallaEvaluador.php", parametros, "mod_evaluador"   );

         // ejecuta_modulo('actions/pantallaEjercicios.php', parametros, definicionReportEj );

         PantallaActivaEval = 0;
         $("mod_evaluador").style.display           = "block";
         $("mod_evaluador_DesempInd").style.display = "none";
                                 }

                           }

//-----------------------------------------------------------------------------------------------------------------------------------------
function evaluadorReportes ( opcion )
{
/* Construir todos los reportes del EVALUADOR, 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 ( PantallaActivaEval == 0 ) /*  Si es la pantalla donde se Defininen los Reportes entonces vuelve a calcular los datos ) */
 {
  PantallaActivaEval = -1;  // No vuelve a entrar mientras se generan los datos

  tema = obtenmarcaradio("temasEval");
  parametros = "&accion=desempenoInd&idAlumno=" + $F("idAlumno") + "&nombresist=" + $F("nombresist") +
               "&nombrebdSchool=" + $F("nombrebdSchool") + "&reporteSobre=evaluador" +
               "&idTema=" + tema + "&nivel=" + obtenmarcaradio("nivelEval")  + "&nombrebd=" + $F("nombrebd");


  //--- Cargando Reportes ....................................
  $("mod_evaluador").style.display           = "none";
  $("mod_evaluador_DesempInd").style.display = "block";
  $("mod_evaluador_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>";
 /*
  dato[0] = Código que se  inyecta en el div 'mod_evaluador_DesempInd' y forma el reporte del Evaluador
  dato[1] = Cantidad de Preguntas de los Examenes
 */

  new Ajax.Request("actions/desempenoIndEval.php", {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                datos1 = req.responseText;
                                                dato   = datos1.split("*/*");
                                                $("mod_evaluador_DesempInd").innerHTML     = dato[0];
                                                $("regresarContenidoEval").style.display   = "block";
                                                $("ImprimirBtnEval").style.display         = "block";
                                                $("hlpEvaluador").style.display            = "block";
                                                cantPreguntas                              = parseInt(dato[1]);
                                                mostrarEsconderRepEvaluador( opcion );
                                                PantallaActivaEval = 1;
                                                        }
                                                });

 }
 else  if ( PantallaActivaEval != -1 ){          // Sino solo esconder y mostrar las pantallas de reportes.
          mostrarEsconderRepEvaluador( opcion );
          PantallaActivaEval = 1;
                                      }

}
//-----------------------------------------------------------------------------------------------------------------------------------------

function  mostrarEsconderRepEvaluador( opcion )
/** Muestra y Esconde los Reportes segun la variable opcion
            opcion : "evaluacion"     - Reporte de Evaluacion
                     "examenes"       - Reporte de Examenes
                     "calificaciones" - Gráfico de Desempeño ( Evaluacion de Calificacionces )
                     "tiempo"         - Gráfico Evolucion de Tiempo
                     "niveles"        - Niveles de Complejidad   **/
{
  switch( opcion ) {
    case "evaluacion":
                  $("reporteEvaluacion").style.display = "block";
                  $("reporteExamenes").style.display   = "none";
                  $("GrafDesempCalif").style.display   = "none";
                  $("GrafDesempTime").style.display    = "none";
                  $("nivelComp").style.display         = "none";
                  ActivarPopUpEval( opcion  );
      break;
     case "examenes":
                  $("reporteExamenes").style.display   = "block";
                  $("reporteEvaluacion").style.display = "none";
                  $("GrafDesempCalif").style.display   = "none";
                  $("GrafDesempTime").style.display    = "none";
                  $("nivelComp").style.display         = "none";
                  if ( cantPreguntas != 0 )  ActivarPopUpEval( opcion  );
      break;
    case "calificaciones":
                  $("GrafDesempCalif").style.display   = "block";
                  $("GrafDesempTime").style.display    = "none";
                  $("reporteExamenes").style.display   = "none";
                  $("reporteEvaluacion").style.display = "none";
                  $("nivelComp").style.display         = "none";

      break;
     case "tiempo":
                  $("GrafDesempTime").style.display    = "block";
                  $("GrafDesempCalif").style.display   = "none";
                  $("reporteExamenes").style.display   = "none";
                  $("reporteEvaluacion").style.display = "none";
                  $("nivelComp").style.display         = "none";

      break;
    case "niveles":
                  $("nivelComp").style.display         = "block";
                  $("GrafDesempTime").style.display    = "none";
                  $("GrafDesempCalif").style.display   = "none";
                  $("reporteExamenes").style.display   = "none";
                  $("reporteEvaluacion").style.display = "none";
                  ActivarPopUpEval( opcion  );
      break;
                   }

}
//-----------------------------------------------------------------------------------------------------------------------------------------
function habilitarReport(  ){
         $("examenesBtnEval").style.display    = "block";
         $("grafTimeBtnEval").style.display    = "block";
                               }
function deshabilitarReport(  ){
         $("examenesBtnEval").style.display    = "none";
         $("grafTimeBtnEval").style.display    = "none";
                               }
//-----------------------------------------------------------------------------------------------------------------------------------------

function  regresarEvaluador(  )
/* Regresa a la definicion de Reportes para el Evaluador */
{
 $("mod_evaluador").style.display           = "block";
 $("mod_evaluador_DesempInd").style.display = "none";
 $("regresarContenidoEval").style.display   = "none";
 $("ImprimirBtnEval").style.display         = "none";
 $("hlpEvaluador").style.display            = "none";

 PantallaActivaEval  = 0;
 panelesEval_act_g1  = 0;
 panelesExam_act_g1  = 0;
 panelesNivel_act_g1 = 0;

 id_BtnSeleccTMP = id_BtnSeleccEval ;
 id_BtnSeleccEval = 0;
 reporteEval_afuera(  id_BtnSeleccTMP ); // Desmarca el boton
}

//-----------------------------------------------------------------------------------------------------------------------------------------
function imprimeDespIndEval() {
/* Funcion para imprimir cualquier pantalla de desempeño individual en el EVALUADOR
   Devuelve el nombre del div que se desea imprimir   */
   if ( $("reporteEvaluacion").style.display  == "block" ){
                                                            pantalla =  "reporteEvaluacion";
                                                            for ( i = 0; i < 7 ; i++ )
                                                                $('outer_panelEval' + i).style.display = 'none';
                                                          }
      else if( $("reporteExamenes").style.display  == "block" ){
                                                            pantalla =  "reporteExamenes";
                                                            for ( i = 0; i <  ( cantPreguntas+3 ) ; i++ )
                                                                $('outer_panelExam' + i).style.display = 'none';
                                                               }
           else if( $("GrafDesempCalif").style.display  == "block" )     pantalla =  "GrafDesempCalif";
                else if( $("GrafDesempTime").style.display  == "block" ) pantalla =  "GrafDesempTime";
                     else if( $("nivelComp").style.display  == "block" ){
                                                            pantalla =  "nivelComp";
                                                            for ( i = 0; i <  5 ; i++ )
                                                                $('outer_panelNivel' + i).style.display = 'none';
                                                                        }

   return pantalla;
                          }


//-----------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------- Funciones para la manipulacion de los Paneles ---------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------------
/******* GRUPO DE PANELES DE LA TABLA RESUMEN (CONTENIDO) *******/
 function cierra_panelesEval(pan)
 {
   for ( i = 0; i < 8 ; i++ ) { if (i == pan) continue;
     switch (i) {
       case 0: if (panelEval0.showing) panelEval0.close(); break;
       case 1: if (panelEval1.showing) panelEval1.close(); break;
       case 2: if (panelEval2.showing) panelEval2.close(); break;
       case 3: if (panelEval3.showing) panelEval3.close(); break;
       case 4: if (panelEval4.showing) panelEval4.close(); break;
       case 5: if (panelEval5.showing) panelEval5.close(); break;
       case 6: if (panelEval6.showing) panelEval6.close(); break;
                }
                              }
 }

 function abrir_panelEval_1(pan)
 //-- Abre o cierra el panelEval actual y cierra el que esta abierto si lo esta
 {
     cierra_panelesEval(pan);

     switch (pan) {
       case 0: panelEval0.toggle(); break;
       case 1: panelEval1.toggle(); break;
       case 2: panelEval2.toggle(); break;
       case 3: panelEval3.toggle(); break;
       case 4: panelEval4.toggle(); break;
       case 5: panelEval5.toggle(); break;
       case 6: panelEval6.toggle(); break;
                  }
 }

//------------------------------------------------------------------------------
function cierra_panelesExam(pan)
 {
   for ( i = 0; i < 2 ; i++ ) { if (i == pan) continue;
     switch (i) {
       case 0: if (panelExam0.showing) panelExam0.close(); break;
       case 1: if (panelExam1.showing) panelExam1.close(); break;
                }
                              }

   for ( i=0 ; i< ( cantPreguntas+1 ) ; i++ ){
       if ( (2+i) == pan) continue;
       if ( eval( "panelExam" + (2+i) +".showing" ) )
          eval( "panelExam" + (2+i) +".close()" );
                                         }
  /*
   if ( (2+i) == pan) return;
   if ( eval( "panelExam" + (2+i) +".showing" ) )
          eval( "panelExam" + (2+i) +".close()" );  */

 }

 function abrir_panelExam_1(pan)
 //-- Abre o cierra el panelExam actual y cierra el que esta abierto si lo esta
 {
     cierra_panelesExam(pan);

     switch (pan) {
       case 0: panelExam0.toggle(); break; return;
       case 1: panelExam1.toggle(); break; return;
                  }

     for ( i=0 ; i< (cantPreguntas+1) ; i++ )
         if ( (2+i) == pan ){
            eval( "panelExam" + (2+i)+".toggle()" ); return;
                            }
     /*
     if ( (2+i) == pan )
            eval( "panelExam" + (2+i)+".toggle()" ); */
 }

//------------------------------------------------------------------------------
function cierra_panelesNivel(pan)
 {
   for ( i = 0; i < 8 ; i++ ) { if (i == pan) continue;
     switch (i) {
       case 0: if (panelNivel0.showing) panelNivel0.close(); break;
       case 1: if (panelNivel1.showing) panelNivel1.close(); break;
       case 2: if (panelNivel2.showing) panelNivel2.close(); break;
       case 3: if (panelNivel3.showing) panelNivel3.close(); break;
       case 4: if (panelNivel4.showing) panelNivel4.close(); break;
                }
                              }
 }

 function abrir_panelNivel_1(pan)
 //-- Abre o cierra el panelNivel actual y cierra el que esta abierto si lo esta
 {
     cierra_panelesNivel(pan);

     switch (pan) {
       case 0: panelNivel0.toggle(); break;
       case 1: panelNivel1.toggle(); break;
       case 2: panelNivel2.toggle(); break;
       case 3: panelNivel3.toggle(); break;
       case 4: panelNivel4.toggle(); break;
                   }
 }

//-----------------------------------------------------------------------------------------------------------------------------------------
 function ActivarPopUpEval( opcion  )
 /* Manipula el PopUp */
 {
    switch ( opcion ) {
      case  "evaluacion": // Activar grupo de paneles para el Reporte de Evaluacion
                          if (panelesEval_act_g1) return;
                          Rico.onLoad( function() {
                                panelEval0 = Rico.SlidingPanel.top( $('outer_panelEval0') , $('inner_panelEval0') );
                                panelEval1 = Rico.SlidingPanel.top( $('outer_panelEval1') , $('inner_panelEval1') );
                                panelEval2 = Rico.SlidingPanel.top( $('outer_panelEval2') , $('inner_panelEval2') );
                                panelEval3 = Rico.SlidingPanel.top( $('outer_panelEval3') , $('inner_panelEval3') );
                                panelEval4 = Rico.SlidingPanel.top( $('outer_panelEval4') , $('inner_panelEval4') );
                                panelEval5 = Rico.SlidingPanel.top( $('outer_panelEval5') , $('inner_panelEval5') );
                                panelEval6 = Rico.SlidingPanel.top( $('outer_panelEval6') , $('inner_panelEval6') );
                                                }
                                    );
                          panelesEval_act_g1 = 1;
      break;

      case  "examenes": // Activar grupo de paneles para el Reporte de Examenes
                          if (panelesExam_act_g1) return;
                          Rico.onLoad( function() {
                                /* panelExam0 y panelExam1 son columnas fijas ( 'Examen Sobre:' y 'Fecha' respectivamente )*/
                                panelExam0 = Rico.SlidingPanel.top( $('outer_panelExam0') , $('inner_panelExam0') );
                                panelExam1 = Rico.SlidingPanel.top( $('outer_panelExam1') , $('inner_panelExam1') );
                                for ( i=0 ; i< ( cantPreguntas + 1) ; i++ )
                                    eval( "panelExam" + (2+i) +
                                          "= Rico.SlidingPanel.top( $('outer_panelExam'+(2+i)) , $('inner_panelExam'+(2+i)) )"  );

                               // eval("panelExam" + (2+i) + "= Rico.SlidingPanel.top( $('outer_panelExam'+(2+i)) , $('inner_panelExam'+(2+i)) )");

                                                  }


                                    );
                          panelesExam_act_g1 = 1;
      break;

      case  "niveles": // Activar grupo de paneles para los Niveles de Complejidad
                          if (panelesNivel_act_g1) return;
                          Rico.onLoad( function() {
                                panelNivel0 = Rico.SlidingPanel.top( $('outer_panelNivel0') , $('inner_panelNivel0') );
                                panelNivel1 = Rico.SlidingPanel.top( $('outer_panelNivel1') , $('inner_panelNivel1') );
                                panelNivel2 = Rico.SlidingPanel.top( $('outer_panelNivel2') , $('inner_panelNivel2') );
                                panelNivel3 = Rico.SlidingPanel.top( $('outer_panelNivel3') , $('inner_panelNivel3') );
                                panelNivel4 = Rico.SlidingPanel.top( $('outer_panelNivel4') , $('inner_panelNivel4') );
                                                                              }
                                    );
                          panelesNivel_act_g1 = 1;
      break;
                      }

 }

//-----------------------------------------------------------------------------------------------------------------------------------------

var id_BtnSeleccEval = "";  // ID del boton seleccionado actualmente (Evaluador)
var id_BtnAnterEval  = "";  // ID del Boton seleccionado anteriormente (Evaluador)

function reporteEval_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 reporteEval_afuera( id_boton ){
// Funcion para cuando pasa el mouse esta afuera de los botones de reportes
//    id_boton : Identificador del Boton Seleccionado

      if ( id_BtnSeleccEval != id_boton ) {
      $(id_boton).style.background = '#e2ebfa';
      $(id_boton).style.color      = '#234662';
                                      }
                                  }

//-----------------------------------------------------------------------------------------------------------------------------------------
function mantenerEval_marcadoBtn(id_boton ){
// Mantener marcado el boton seleccionado
//    id_boton : Identificador del Boton Seleccionado

      id_BtnAnterEval  = id_BtnSeleccEval;
      id_BtnSeleccEval = id_boton;

      $(id_boton).style.background = '#234662';
      $(id_boton).style.color      = '#eeeeee';

      if ( id_BtnAnterEval != "" )               // No es la 1ra vez
         reporteEval_afuera(  id_BtnAnterEval );  // Desmarca el boton seleccionado anteriormente
                                  }
//-----------------------------------------------------------------------------------------------------------------------------------------

