/*--
      Modulo: "FuncionesDesempColectEval.js" Funciones para el modulo de Desempeño Colectivo de los sistemas educativos(EVALUADOR)
      Dia de Comienzo: 21 - agosto - 2008
      Dias de trabajo: 21,22,25,27 - agosto - 2008
                       1,8,9,11,19 - septiembre - 2008
                       15 - 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 panelNivel5;
        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 Evaluador */

     if ( PantallaActivaEval == -1 ){ //alert("Entro");
        if ( parametros == "" )
            parametros = "&sistema=" + $F("idsistema") + "&escuela=" + $F("idescuela") + "&desempInd=1" + "&nombrebd=" + $F("nombrebd");

       //-- Inyectando la pantalla de Definicion de Reportes para el Evaluador ( evalDto[0]: Pantalla; evalDto[1]: nombre de la BD)
         new Ajax.Request("actions/pantallaEvaluadorColect.php", {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                evalDtos = req.responseText;
                                                evalDto  = evalDtos.split("*/*");
                                                $("mod_evaluador").innerHTML = evalDto[0];
                                                buscaProtExam( 1 , 0 , evalDto[1] );      // Buscar Examenes para el 1er Tema
                                                        }
                                                                 });

         // Llena_Target("actions/pantallaEvaluadorColect.php", parametros, "mod_evaluador"   );

         PantallaActivaEval = 0;
         $("mod_evaluador").style.display           = "block";
         $("mod_evaluador_DesempInd").style.display = "none";

                                 }

                           }


//-----------------------------------------------------------------------------------------------------------------------------------------
function buscaProtExam( idtema , cantTemas , nombrebd ) {
/* Funcion encargada de inyectar los prototipo de examnens para el tema seleccionado
           Parámetros .: idtema    : identificador del tema seleccionado
                      .: cantTemas : cantidad de temas
                      .: nombrebd  : nombre de la bd donde están los prototipos */

     for ( i=0 ; i<cantTemas ; i++ )
     {
       $("protExam" + (i+1)).style.display = "none"  ;   // Escondiendo los div no seleccionados
       $("filaTemasEval" + (i+1)).style.color  = "#949494" ;
     }
     $("filaTemasEval100").style.color         = "#949494" ;
     $("filaTemasEval" + idtema).style.color   = "#c8280d" ;

     if ( idtema != 100 ){   // Todos los Temas
        $("protExam" + idtema).style.display  = "block" ;   // Mostrando el div seleccionado

        parametros = "&accion=buscaProtExam&idtema=" + idtema + "&nombrebd=" + nombrebd ;
        //alert("parametros :"+parametros);
        new Ajax.Request("actions/DC_funcionesBusquedaBD.php", {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                datos1 = req.responseText;
                                                $("protExam" + idtema).innerHTML = datos1;}});
        //Llena_Target("actions/DC_funcionesBusquedaBD.php", parametros, "protExam" + idtema);
                         }
                                  }

//-----------------------------------------------------------------------------------------------------------------------------------------
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");        //-- Id_Tema a Reportar
  idExam = obtenmarcaradio("id_exam"+tema);   //-- Id_Examen a Reportar ( Posicion que ocupa dentro del Tema )
  parametros = "&accion=desempenoInd&idclase=" + $F("idclase") + "&nombresist=" + $F("nombresist") +
               "&nombrebdSchool=" + $F("nombrebdSchool") + "&reporteSobre=evaluador" +  "&nombrebd=" + $F("nombrebd") +
               "&idTema=" + tema + "&nivel=" + obtenmarcaradio("nivelEval")+ "&idExam=" + idExam;


 //--- 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/desempenoColectEval.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 ){
       mostrarEsconderRepEvaluador( opcion );  // Sino solo esconder y mostrar las pantallas de reportes.
       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 )
                     "valoracion"     - Valoracion General de cada variante
                     "niveles"        - Niveles de Complejidad   **/
{
  switch( opcion ) {
    case "evaluacion":
                  $("reporteEvaluacion").style.display = "block";
                  $("reporteExamenes").style.display   = "none";
                  $("GrafDesempCalif").style.display   = "none";
                  $("ValoracionEval").style.display    = "none";
                  $("nivelComp").style.display         = "none";
                  ActivarPopUpEval( opcion  );
      break;
     case "examenes":
                  $("reporteExamenes").style.display   = "block";
                  $("reporteEvaluacion").style.display = "none";
                  $("GrafDesempCalif").style.display   = "none";
                  $("ValoracionEval").style.display    = "none";
                  $("nivelComp").style.display         = "none";
                  if ( cantPreguntas != 0 )  ActivarPopUpEval( opcion  );
      break;
    case "calificaciones":
                  $("GrafDesempCalif").style.display   = "block";
                  $("ValoracionEval").style.display    = "none";
                  $("reporteExamenes").style.display   = "none";
                  $("reporteEvaluacion").style.display = "none";
                  $("nivelComp").style.display         = "none";

      break;
    case "valoracion":
                  $("ValoracionEval").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";
                  $("ValoracionEval").style.display    = "none";
                  $("GrafDesempCalif").style.display   = "none";
                  $("reporteExamenes").style.display   = "none";
                  $("reporteEvaluacion").style.display = "none";
                  ActivarPopUpEval( opcion  );
      break;
                   }

}
//-----------------------------------------------------------------------------------------------------------------------------------------
function habilitarReport(  ){
         $("examenesBtnEval").style.display    = "block";
         //$("valoracionBtnEval").style.display  = "block";
                               }
function deshabilitarReport(  ){
         $("examenesBtnEval").style.display    = "none";
         //$("valoracionBtnEval").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";

 id_BtnSeleccTMP = id_BtnSeleccEval ;
 id_BtnSeleccEval = 0;
 reporteEval_afuera(  id_BtnSeleccTMP ); // Desmarca el boton

 PantallaActivaEval  = 0;
 panelesEval_act_g1  = 0;
 panelesExam_act_g1  = 0;
 panelesNivel_act_g1 = 0;
}

//-----------------------------------------------------------------------------------------------------------------------------------------
function imprimeDespColectEval() {
/* Funcion para imprimir cualquier pantalla de desempeño Colectivo en el EVALUADOR
   Devuelve el nombre del div que se desea imprimir   */
   if ( $("reporteEvaluacion").style.display  == "block" ){
                                                            pantalla =  "reporteEvaluacion";
                                                            for ( i = 0; i < 6 ; i++ )
                                                                $('outer_panelEval' + i).style.display = 'none';
                                                          }
      else if( $("reporteExamenes").style.display  == "block" ){
                                                            pantalla =  "reporteExamenes";
                                                            for ( i = 0; i <  ( cantPreguntas+2 ) ; i++ )
                                                                $('outer_panelExam' + i).style.display = 'none';
                                                               }
           else if( $("GrafDesempCalif").style.display  == "block" )     pantalla =  "GrafDesempCalif";
                else if( $("ValoracionEval").style.display  == "block" ) pantalla =  "ValoracionEval";
                     else if( $("nivelComp").style.display  == "block" ){
                                                            pantalla =  "nivelComp";
                                                            for ( i = 0; i <  6 ; 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 < 6 ; 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;
                }
                              }
 }

 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;
                  }
 }

//------------------------------------------------------------------------------
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 ( (1+i) == pan) continue;
       if ( eval( "panelExam" + (1+i) +".showing" ) )
          eval( "panelExam" + (1+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 ( (1+i) == pan ){
            eval( "panelExam" + (1+i)+".toggle()" ); return;
                            }
 }

//------------------------------------------------------------------------------
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;
       case 5: if (panelNivel5.showing) panelNivel5.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;
       case 5: panelNivel5.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') );
                                                  }
                                    );
                          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" + (1+i) +
                                          "= Rico.SlidingPanel.top( $('outer_panelExam'+(1+i)) , $('inner_panelExam'+(1+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') );
                                panelNivel5 = Rico.SlidingPanel.top( $('outer_panelNivel5') , $('inner_panelNivel5') );
                                                                              }
                                    );
                          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
                                  }
//-----------------------------------------------------------------------------------------------------------------------------------------





