/*
    Modulo: opciones_controlEsc.js
            Implementa las opciones relacionadas con el módulo de control escolar
      Dia de Comienzo: 24 - septiembre - 2008
      Dias de trabajo: 24 - septiembre - 2008
      			1,2,7,8,14,16,17,20,24,27,28,31 - octubre    - 2008
      			4,6,7,10,11,12,20 - noviembre - 2008
                        1,2,3 - diciembre - 2008
                        30 - marzo - 2009
                        3,7  - abril - 2009
                        16,17 - septiembre - 2009
*/

//-----------------------------------------------------------------------------------------------------------------------------------------

function obtenmarcaradio(name){
    /*
        Funcion obtenmarcaradio
        Parametros name = Nombre del objeto
        Uso : Obtiene la marca de un radio
        NOTA : EL ID DE CADA OBJETO DEBE DE TENER DOS PARTES SEPARADAS POR UNA COMA, LA SEGUNDA PARTES ES LA QUE SE OBTENDRA
        Ejemplo:

            <input type="radio" name="radio" id="NOMBRE,VALOR">

    */
    n = "";
    x = document.getElementsByName(name).length;    //Obtiene la cantidad de objetos que existen con el nombre proporcionado

    /*Checa cada elemento y comprueba si el ID fue marcado*/
    for(  i=0 ; i < x ; i++  )
        $(document.getElementsByName(name).item(i).id).checked==true?(n=document.getElementsByName(name).item(i).id):"";
    if(n!="")
        {
            c=n.split(",");
            n =c[1];
        }
     return n;
}

//-----------------------------------------------------------------------------------------------------------------------------------------

function obtenmarcarcheck(name){
    /*
        Funcion obtenmarcarcheck
        Parametros name = Nombre del objeto
        Uso : Obtiene las marcas de un check
        NOTA : EL ID DE CADA OBJETO DEBE DE CONTENER UN ELEMENTO QUE NOS SERVIRA PARA SEPARARLOS
        Ejemplo:
           <input type="checkbox" name="checkbox" id="NOMBRE,">
        Siendo " , " el elemento que nos servira para separar la cadena en PHP

    */
    n = "";
    x = document.getElementsByName(name).length;
    for(  i = 0 ; i < x ; i++  )
        $(document.getElementsByName(name).item(i).id).checked==true?(n+=document.getElementsByName(name).item(i).id):"";
     return n;
}


//-------------------------------------------------------------------------------------------------------------------------------
function abrir_Doc( direcc )
/**
   Vinculo a una direccion Recibe: direccion para direccionar
**/
{
  window.location.href = direcc;
}

//-------------------------------------------------------------------------------------------------------------------------------
function datosEscuela( actualiza_mod )
/**
    Según la escuela seleccionada (Portada de Admin de Intelsoft) inyecta los datos
    actualiza_mod : Inidica si se actualizan los módulos o no ( 0:NO se actualiza ; 1:SI actualizar -1:Peticion desde escuelas)
**/
{

    if (( $('escuelasCont').style.display == "block" )&&( actualiza_mod != -1 )){
       idFila_Esc = $F("escuelas");
       listaEscuelas(idFila_Esc);
                                                                                }
    if ( actualiza_mod == -1  )  actualiza_mod = 1;

    if (( $('portada').style.display == "none" ) && ( $F("escuelas") == 1 )){
       alert( "Seleccione una escuela " );
       $("escuelas").value = parseInt($F('cveesc'));
                                                                            }
    else{
    var parametros = "cveesc=" +  $F("escuelas") + "&id_user=" +  $F("id_user");

    new Ajax.Request("actions/adm_datosEsc.php", {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                datosEsc = req.responseText;
                                                datoEsc  = datosEsc.split("|");
                                                /*
                                                    datoEsc[0] --> Datos generales de las escuelas ó Resumen de todas las escuelas
                                                    datoEsc[1] --> Nombre de la BD de la escuela
                                                */

                                                $('datos_esc').innerHTML = datoEsc[0];

                                                //-- Si no es el resumen de todas las escuelas:
                                                if (( $F("escuelas") != 1 ) && ( actualiza_mod == 1 )) {
                                                   //-- Datos de la escuela ( input TYPE=HIDDEN  en "actions/adm_encab_controlEsc.php" )
                                                   $('nombrebd').value = datoEsc[1];
                                                   $('cveesc').value   = $F("escuelas");

                                                   ordenNomb   = 0 ;  //-- Inicializando el Orden de la lista (Por Nombre)
                                                   orden       = 0 ;  //-- Orden de la lista (Ascendente)
                                                   campo       = "";  //-- Campo por el que se ordena la lista
                                                   idFila_Prof = 0;
                                                   ordenarProfesores( "nombre" );   //-- Actualizar la lista de PROFESORES
                                                   //listaProfesores(  "" , "" , 0  );

                                                   //listaGrupos( 0 );
                                                   ordenGrup   = 2 ;
                                                   idFila_Grup = 0;
                                                   ordenarGrupos();            //-- Actualizar la lista de GRUPOS


                                                   if (  $('clases').style.display  == "block" )
                                                      actualizar_Clases();     //-- Actualizar pantalla de CLASES
                                                   //-- Reiniciar Variables de CLASES
                                                   filaPar_Class = 0;  //-- Fila seleccionada
                                                   idFila_Class  = 0;  //-- ID de la Fila seleccionada
                                                   ordenMat      = 1;  //-- Inicializando el Orden de la lista (Por Materias)
                                                   ordenClass    = 0;  //-- Orden de la lista (Ascendente)
                                                   campoClass    = ""; //-- Campo por el que se ordena la lista

                                                   if ( $('alumnos').style.display  == "block" )
                                                      actualizar_Alumnos();    //-- Actualizar pantalla de ALUMNOS
                                                   //-- Reiniciar Variables de ALUMNOS
                                                   filaPar_Alumn = 0;  //-- Fila seleccionada
                                                   idFila_Alumn  = 0;  //-- ID de la Fila seleccionada
                                                   paramBusq     = ""; //-- Parametros de la Busqueda
                                                   ordenAlumn    = 1 ; //-- Inicializando el Orden de la lista (Por ALUMNOS)
                                                   orden_Alum    = 0 ; //-- Orden de la lista (Ascendente)
                                                   campo_Alum    = ""; //-- Campo por el que se ordena la lista

                                                   if (  $('materias').style.display  == "block" )
                                                      actualizar_Materias();    //-- Actualizar pantalla de MATERIAS
                                                   filaPar_Mat = 0;
                                                   idFila_Mat  = 0;
                                                   ordenMateria = 1;

                                                   if (  $('contratos').style.display  == "block" )
                                                      actualizar_Contratos();   //-- Actualizar pantalla de CONTRATOS
                                                   filaPar_Cont  = 0;
                                                   idFila_Cont   = 0;
                                                   ordenContrato = 1;

                                                   if (  $('tareas').style.display  == "block" )
                                                      actualizar_Tareas();      //-- Actualizar pantalla de TAREAS
                                                      list_contratos  = "";
                                                      list_profesores = "";


                                                   if ( $('consultas').style.display  == "block" )
                                                      actualiza_Consultas();    //-- Actualizar pantalla de CONSULTAS

                                                   if ( $('bitacoraCont').style.display  == "block" )
                                                      actualiza_BitacoraCont(); //-- Actualizar la Bitácora de Contratos

                                                   if ( $('bitacoraEsc').style.display  == "block" )
                                                      actualiza_BitacoraEsc();  //-- Actualizar la Bitácora de Escuelas
                                                                                                       }
                                                        }
                                                });
        }
}

//-------------------------------------------------------------------------------------------------------------------------------
function mostrar_Modulo( moduloMostrar  )
/**
   Muestra el modulo que se le pase por parámetros y esconde los demás
**/
{
   //-- Se esconden todos los modulos
   $('portada').style.display       = "none";
   $('profesores').style.display    = "none";
   $('grupos').style.display        = "none";
   $('clases').style.display        = "none";
   $('alumnos').style.display       = "none";
   $('consultas').style.display     = "none";


   $("td_portada").style.backgroundImage      = 'url(images/blank.png)';
   $("td_profesores").style.backgroundImage   = 'url(images/blank.png)';
   $("td_grupos").style.backgroundImage       = 'url(images/blank.png)';
   $("td_clases").style.backgroundImage       = 'url(images/blank.png)';
   $("td_alumnos").style.backgroundImage      = 'url(images/blank.png)';
   $("td_consultas").style.backgroundImage    = 'url(images/blank.png)';


   //-- Opciones de ADMIN de INTELSOFT
   if ( $F("tipoUser") == 1 ){
      $('escuelasCont').style.display  = "none";
      $('materias').style.display      = "none";
      $('contratos').style.display     = "none";
      $('tareas').style.display        = "none";
      $('bitacoraCont').style.display  = "none";
      $('bitacoraEsc').style.display   = "none";
      $('cat_series').style.display    = "none";
      $('cat_clasif').style.display    = "none";

      $("td_escuelasCont").style.backgroundImage = 'url(images/blank.png)';
      $("td_materias").style.backgroundImage     = 'url(images/blank.png)';
      $("td_contratos").style.backgroundImage    = 'url(images/blank.png)';
      $("td_tareas").style.backgroundImage       = 'url(images/blank.png)';
      $("td_bitacoraCont").style.backgroundImage = 'url(images/blank.png)';
      $("td_bitacoraEsc").style.backgroundImage  = 'url(images/blank.png)';
      $("td_cat_series").style.backgroundImage   = 'url(images/blank.png)';
      $("td_cat_clasif").style.backgroundImage   = 'url(images/blank.png)';

      /*
      //-- Si es la pantalla de escuelas se deshabilita la lista de escuelas
      if (  moduloMostrar == "escuelasCont"  ) { $("school_list").style.display = 'none'  ; $("school_list_TMP").style.display  = 'block'; }
      else                                     { $("school_list").style.display  = 'block'; $("school_list_TMP").style.display = 'none';   } */

      if (( $('escuelasCont').style.display == "none" )&&( moduloMostrar == "escuelasCont" )){
        idFila_Esc = $F("escuelas");
        listaEscuelas( idFila_Esc );
                                                                                             }

     //-- Si se queda sin escuelas registradas actualizar lista de profesores y grupos
     if (( $("escuelas").options.length == 1 )&&((moduloMostrar == "profesores")||(moduloMostrar == "grupos"))){
      listaProfesores(  "" , "" , 0  );  //-- Actualizar la lista de PROFESORES
      ordenNomb  = 1 ;  //-- Inicializando el Orden de la lista (Por Nombre)
      orden      = 0 ;  //-- Orden de la lista (Ascendente)
      campo      = "";  //-- Campo por el que se ordena la lista

      listaGrupos( 0 );           //-- Actualizar la lista de GRUPOS
      ordenGrup = 1 ;
                                                                                                               }
                             }

   //-- Se muestra el modulo seleccionado
   $( moduloMostrar ).style.display = "block";
   $( "td_" + moduloMostrar ).style.backgroundImage    = 'url(images/td_on.jpg)';
   $( "td_" + moduloMostrar ).style.backgroundPosition = '0% 50%';


   //-- Si no es el modulo de resumen y estaba seleccionada la opcion del select "Resumen de todas las escuelas",
   //-- entonces queda seleccionada la primera escuela de la lista
   if (( $F("tipoUser") == 1 ) && ( moduloMostrar != "portada" ) && ( $F("escuelas") == 1 ))
      $("escuelas").value = parseInt($F('cveesc'));


}

//-------------------------------------------------------------------------------------------------------------------------------
var Validator = {
	isEmail : function(s) {
		return this.test(s, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
	},

	isEmpty : function(s) {
		var nl, i;

		if (s.nodeName == 'SELECT' && s.selectedIndex < 1)
			return true;

		if (s.type == 'checkbox' && !s.checked)
			return true;

		if (s.type == 'radio') {
			for (i=0, nl = s.form.elements; i<nl.length; i++) {
				if (nl[i].type == "radio" && nl[i].name == s.name && nl[i].checked)
					return false;
			}

			return true;
		}

		return new RegExp('^\\s*$').test(s.nodeType == 1 ? s.value : s);
	},

	isNumber : function(s, d) {
		return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$'));
	},

	test : function(s, p) {
		s = s.nodeType == 1 ? s.value : s;

		return s == '' || new RegExp(p).test(s);
	}
                };

//-------------------------------------------------------------------------------------------------------------------------------
function Acentos( char )
/**
    Valida que no se inserten caracteres con tildes o ñ
**/
{

  var charCode //-- Codigo ascii del caracter tecleado

  charCode = char.keyCode;
  if (charCode >= 160 && charCode <= 255){
   alert("No est&aacute; permitido usar este caracter");
   return false;
                                         }

  return true

}

//-------------------------------------------------------------------------------------------------------------------------------
function actualizar_school_list( )
/**
   Actualiza la lista de escuelas presentada en la parte superior (Administrador de Intelsoft)
**/
{

    var parametros ="&accion=Act_school_list" + "&idEscSelecc=" + $F("escuelas");

    new Ajax.Request("actions/casos_escuela.php", {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                school_lists1 = req.responseText;
                                                school_list1  = school_lists1.split("|");
                                                /*
                                                   -- Respuesta de la Petición  ---------------------------
                                                   school_list1[0] = Lista actualizada de escuelas
                                                   school_list1[1] = 0: No se elimino la escuela que estaba seleccionada;
                                                                     >0: Se elimina la escuela y queda seleccionada la 1ra escuela de la lista
                                                   school_list1[1] = nombre de la bd de la escuela eseleccionada
                                                */
                                                actualiza = 0; //-- Actulaizar lista de profesores y grupos
                                                //-- Actualizar lista de profesores y grupos
                                                if ( $("escuelas").options.length == 1 )
                                                   actualiza = 1;


                                                $("school_list").innerHTML = school_list1[0] ;
                                                if ( school_list1[1] != 0 ){
                                                   $("cveesc").value   = school_list1[1];
                                                   $('nombrebd').value = school_list1[2];

                                                   if ( actualiza = 1 ){
                                                      listaProfesores(  "" , "" , 0  );  //-- Actualizar la lista de PROFESORES
                                                      ordenNomb  = 1 ;  //-- Inicializando el Orden de la lista (Por Nombre)
                                                      orden      = 0 ;  //-- Orden de la lista (Ascendente)
                                                      campo      = "";  //-- Campo por el que se ordena la lista

                                                      listaGrupos( 0 );                  //-- Actualizar la lista de GRUPOS
                                                      ordenGrup = 1 ;
                                                                       }
                                                                           }
                                                        }
                                            });

}

//-------------------------------------------------------------------------------------------------------------------------------
function limpia_check_Gral( name )
/**
   Limpia los checkbox con un nombre determinado
**/
{

  x = document.getElementsByName(name).length;
  for (  i = 0 ; i < x ; i++  )
      $(document.getElementsByName(name).item(i).id).checked = false;

}

//-------------------------------------------------------------------------------------------------------------------------------
function actualiza_Resumen( )
/**
   Actualiza la pantalla de Resumen para los Admin de Escuela y Profesores
**/
{
    if (  $F("tipoUser") == 1  ){
       if ( $("escuelas").options.length == 1 )
          $("escuelas").value = 1;

       datosEscuela( 0 );
                                }
    else
    {
         var parametros ="&id_user=" + $F("id_user") + "&nombrebd=" + $F("nombrebd");
         url = "";
         if ( $F("tipoUser") == 2 ) url = "actions/escAdm_portada_controlEsc.php";
         else                       url = "actions/prof_portada_controlEsc.php";

         new Ajax.Request( url , {
                               method: 'post',
                               parameters: parametros,
                               onComplete: function(req){
                                                    datos_portada = req.responseText;
                                                    dat_portada   = datos_portada.split("|");
                                                    $("portada").innerHTML = dat_portada[dat_portada.length-1];
                                                        }
                          });
    }
}

/**
//-------------------------------------------------------------------------------------------------------------------------------
function datos_Prof()

   Muestra el modulo de opciones para lo PROFESORES
/
{

   $('profesores').style.display    = "block";
   $('portada').style.display       = "none";

}

//-------------------------------------------------------------------------------------------------------------------------------
function datos_Res()
/**
   Muestra la pantalla RESUMEN
/
{

   $('profesores').style.display    = "none";
   $('portada').style.display       = "block";

}
   */

