// Funciones en JavaScript creadas por Andrés Santiago Martín.

//  Estas funciones se usan para validar la sintaxis de los formularios del archivo "inicio.php".

//******************************************************************************************************************
// Función "leer_Ancho".- Obtiene el ancho de la pantalla en la resolución del navegador en el equipo del usuario.

function leer_Ancho () {
	
	return screen.width;
		
} // Fin de la función "leer_Ancho".

//******************************************************************************************************************
// Función "leer_Alto".- Obtiene el alto de la pantalla en la resolución del navegador en el equipo del usuario.

function leer_Alto () {
	
	return screen.height;
		
} // Fin de la función "leer_Alto".";

//******************************************************************************************************************
// Función "leer_Anchoreal".- Obtiene el ancho real disponible en pantalla del navegador en el equipo del usuario.

function leer_Anchoreal () {
	
	return screen.availWidth;
		
} // Fin de la función "leer_Anchoreal".

//******************************************************************************************************************
// Función "leer_Altoreal".- Obtiene el alto real disponible en pantalla del navegador en el equipo del usuario.

function leer_Altoreal () {
	
	return screen.availHeight;
		
} // Fin de la función "leer_Altoreal".

//******************************************************************************************************************
// Función "abrirVentana_Clave".- Abre la ventana donde se gestiona el cambio de la clave de un usuario.

//		"formu".- Contiene el formulario a enviar.

//		"perfil".- Perfil del usuario que desea cambiar la clave.

function abrirVentana_Clave (formu, perfil) {
	
	var ancho = 350;
	var alto = ((perfil == "Administrador") ||(perfil == "Root")) ? 230 : 275;
	
	var altoPant = leer_Alto ();
	var anchoPant = leer_Ancho ();

	var arriba = (altoPant - alto - ((altoPant-alto)%2))/2;
	var izqda = (anchoPant - ancho - ((anchoPant-ancho)%2))/2;	
	
	var direccionURL = "cambiarClave.php";
																		
	var apertura = "toolbar=no, location=no, resizable=no, scrollbars=no, status=no, directories=no, "+
				  "menubar=no, titlebar=yes, statusbar=no, width=350, height="+alto+", top="+arriba+", left="+izqda;
				
	ventanaClave = window.open (direccionURL, "ventanaClave", apertura);
	formu.submit ();
		
} // Fin de la función "abrirVentana_Clave".


//******************************************************************************************************************
// Función "editar_Pregunta".- Abre la ventana donde se gestiona la lectura de una pregunta de un examen.
		
function editar_Pregunta (formu) {

	direccion = "leerPregunta.php?opcion=nueva_preg&origen=inicio";	
																		
	var apertura = "toolbar=no, location=no, resizable=no, scrollbars=no, status=yes, directories=no, "
				   +"menubar=no, titlebar=yes, width=1024, height=500, top=0, left=0";
		
	ventanaPreguntas = window.open (direccion, "ventanaPreg", apertura);
	formu.submit ();
			
} // Fin de la función "editar_Pregunta".

//******************************************************************************************************************
// Función "abrirVentana_Preguntas".- Abre la ventana donde se gestiona laedición de las preguntas de un examen.

//		"formu".- Contiene el formulario a enviar.
		
function abrirVentana_Preguntas (formu) {
	
	var ancho = leer_Anchoreal ();
	var alto = leer_Altoreal () -6;

	direccionURL = "editarPreguntas.php";
	
	apertura = "toolbar=no, location=no, resizable=no, scrollbars=no, status=yes, directories=no, " + 
			    "menubar=no, titlebar=yes, toolbar=no, width="+ancho+", height="+alto+", top=0, left=0";

	formu.convocatoria.value = document.modifica_ex.convocatoria.value;
	
	ventanaPreguntas = window.open (direccionURL, "ventanaEdit", apertura);
	formu.submit ();
		
} // Fin de la función "abrirVentana_Preguntas".

//******************************************************************************************************************
// Función "validar_Examen".- Se utiliza para validar la lectura de un examen.

//		"formu".- Contiene el formulario a validar.
	 		
function validar_Examen (formu) {

	var titulo = formu.titulo.value;
			
	if (titulo == "") {
		alert ('Campo "Título" en blanco o sin rellenar.');
		formu.titulo.focus ();
	} else {
		if (formu.materia.value == "00") {
			alert ('No hay ninguna "Materia" seleccionada.');
			formu.materia.focus ();
		} else {
			if (formu.tema.value == "00") {
				alert ('No hay ningun "Tema" seleccionado.');
				formu.tema.focus ();
			} else {
				formu.submit ();
			} // Fin del else.
		} // Fin del else.
	} // Fin del else.

} // Fin de la función "validar_Examen".

//******************************************************************************************************************
// Función "comprobar_Perfil".- Se utiliza para comprobar la validez el perfil del usuario.

//		"formu".- Contiene el formulario a validar.

function comprobar_Perfil (formu) {
		
	var login = formu.loginbis.value;
	var clave = formu.claveUno.value;
	var clave1 = formu.claveDos.value;
	
	var tama = clave1.length;
	if (tama < 6) {
		alert ('La longitud de la "Contraseña" es menor que lo permitido.'+
				'\nSu longitud debe estar entre 6 y 12 carácteres.');
		formu.claveUno.value = "";
		formu.claveDos.value = "";
		formu.claveUno.focus ();
		return false;
	} // Fin del if.
	
	if (clave != clave1) {
		alert ("Las contraseñas no coinciden.");
		formu.claveUno.value = "";
		formu.claveDos.value = "";
		formu.claveUno.focus ();
		return false;
	} // Fin del if.

	var tama = login.length;
	if (tama < 6) {
		alert ('La longitud del "Login" es menor que lo permitido.'+
				'\nSu longitud debe estar entre 6 y 12 carácteres.');
		formu.loginbis.focus ();
		return false;
	} // Fin del if.		

	return true;

} // Fin de la función "comprobar_Perfil".

//******************************************************************************************************************
// Función "validar_Perfil".- Envia el formulario de lectura de un perfil, si éste es correcto.

//		"formu".- Contiene el formulario a enviar.
	 		
function validar_Perfil (formu) {

	if (comprobar_Perfil (formu) == true) {
		formu.submit();
	} // Fin del if.

} // Fin de la función "validar_Perfil".

//******************************************************************************************************************
// Función "validar_correo".- Valida el correo electrónico.

//		"cadena".- Contiene el valor de correo electrónico a validar.
	 		
function validar_correo (cadena) {

	if (cadena.length == 0)
		return true;

	var expresion = /^[a-z](\w)+(\.[a-z](\w)+)*@(([a-z]|[0-9])(\w)+\.)+[a-z]{2,4}$/;

	return expresion.test (cadena);

} // Fin de la función "validar_correo".

//******************************************************************************************************************
// Función "validar_NIF".- Valida un NIF.

//		"cadena".- Contiene el valor de NIF a validar.
	 		
function validar_NIF (cadena) {

	if (cadena.length == 0)
		return true;
		
	var expresion = /^[0-9]{8}[A-Z]$/;
		
	return expresion.test (cadena);	
				
} // Fin de la función "validar_NIF".

//******************************************************************************************************************
// Función "validar_NIF_CIF".- Valida un NIF o un CIF.

//		"cadena".- Contiene el valor de NIF o CIF a validar.
	 		
function validar_NIF_CIF (cadena) {

	if (cadena.length == 0)
		return true;
		
	var expresion = /(^[0-9]{8}[A-Z]$)|(^[A-S]{1}[0-9]{7}[A-Z|0-9]{1}$)/;
		
	return expresion.test (cadena);	
				
} // Fin de la función "validar_NIF_CIF".

//******************************************************************************************************************
// Función "validar_expresion".- Valida un texto conforme a una expresión.

//		"cadena".- Contiene el valor de texto a validar.

//		"expresion".- Contiene la expresion regular de validación.
	 		
function validar_expresion (cadena, expresion) {

	if (cadena.length == 0)
		return true;		
		
	return expresion.test (cadena);	
				
} // Fin de la función "validar_expresion".

//******************************************************************************************************************
// Función "validar_soloLetras".- Valida una cadena de texto que sólo puede contener letras.

//		"cadena".- Contiene el valor de texto a validar.
	 		
function validar_soloLetras (cadena) {

	if (cadena.length == 0)
		return true;
		
	var expresion = /^([A-Z]|[ÁÉÍÓÚÜÑ])([a-z]|[áéíóúüñ])+(\s([A-Z]|[a-z]|[ÁÉÍÓÚÜÑ])([a-z]|[áéíóúüñ])+)*$/;		 
		
	return expresion.test (cadena);	
		
} // Fin de la función "validar_soloLetras".

//******************************************************************************************************************
// Función "comprobar_soloLetras".- Comprueba que un texto contiene sólo letras. Si no se cumple, muestra un mensaje 
//								    de error y deja el foco en el objeto.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_soloLetras (objeto) {
	
	var texto = "Formato de '"+ objeto.name + "' incorrecto.\n";
	texto += "Sólo se admiten letras.";
	
	if (! validar_soloLetras (objeto.value)) { 
		objeto.value = '';
		alert (texto);
		objeto.focus ();
	} // Fin del if.
		
} // Fin de la función "comprobar_soloLetras".

//******************************************************************************************************************
// Función "comprobar_Telefono".- Valida el contenido de un objeto que representa a un teléfono.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_Telefono (objeto) {
	
	var texto = "Formato de 'Teléfono' incorrecto.\n";
	texto += "Sólo se admiten números y una longitud de 9.";

	var expresion = /^\d\d{7}\d$/;
	
	if (! validar_expresion (objeto.value, expresion))	{ 	
		objeto.value = '';
		alert (texto);
		objeto.focus ();
	} // Fin del if.
		
} // Fin de la función "comprobar_Telefono".

//******************************************************************************************************************
// Función "comprobar_Correo".- Valida el contenido de un objeto que representa a un correo electrónico.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_Correo (objeto) {
	
	var texto = "Formato de 'Correo Electrónico' incorrecto.\n";
	texto += "Sólo se admiten números.";
	
	if (! validar_correo (objeto.value)) { 
		objeto.value = '';	
		alert (texto);
		objeto.focus ();
	} // Fin del if.
		
} // Fin de la función "comprobar_Correo".

//******************************************************************************************************************
// Función "comprobar_CPostal".-  Valida el contenido de un objeto que representa a un código postal.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_CPostal (formu, objeto) {
	
	var texto = "Formato de 'Código Postal' incorrecto.\n";
	texto += "Sólo se admiten números y una longitud de 5.";
	
	var expresion = /^\d\d{3}\d$/;
	
	if (! validar_expresion (objeto.value, expresion)) {
		objeto.value = '';
		alert (texto);
		objeto.focus ();								
	} else { 
		asignar_Provincia (formu); 
	}// Fin del else.
		
} // Fin de la función "comprobar_CPostal".

//******************************************************************************************************************
// Función "comprobar_Clave".-  Valida el contenido de un objeto que representa a una contraseña.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_Clave (objeto) {
	
	var texto = "Formato de 'Contraseña' incorrecto.\n";
	texto += "Se admiten letras, números y los símbolos \".:-_,;\"\n";
	texto += "y una longitud entre 6 y 15 carácteres.";
	
	var expresion = /^([a-z]|[A-Z])(\S){5,14}$/;
	
	if (! validar_expresion (objeto.value, expresion)) {
		objeto.value = '';
		alert (texto);
		objeto.focus ();								
	}// Fin del else.
		
} // Fin de la función "comprobar_Clave"

//******************************************************************************************************************
// Función "comprobar_Titulo".- Valida el contenido de un objeto que representa a un título.

//		"valor".- Contiene el valor del objeto.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_Titulo (objeto) {
	
	var texto = "Formato de 'Título' incorrecto.\n";
	texto += "Sólo se admiten letras y los \n símbolos .- correctamente colocados";
	
	var expresion = /^([A-Z]|[ÁÉÍÓÚÜÑ])([a-z]|[áéíóúüñ])+([[\.]|[\.][\-]]{0,1}\s([A-Z]|[a-z]|[ÁÉÍÓÚÜÑ])([a-z]|[áéíóúüñ])+)*[\.]$/;		 
	
	if (! validar_expresion (objeto.value, expresion)) {
		objeto.value = '';
		alert (texto);
		objeto.focus ();								
	}// Fin del else.
		
} // Fin de la función "comprobar_Titulo".

//******************************************************************************************************************
// Función "comprobar_Valor".- Valida el contenido de un objeto que representa a un  valor de una respuesta.

//		"valor".- Contiene el valor del objeto.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_Valor (valor, objeto) {

	var texto = "Formato de 'Valor' incorrecto.\n";
	texto +=  "Formato correcto (-1/d o 0).";
	
	var expresion = /^0$|^-[1-9][\/][1-9]$/;
	
	if (! validar_expresion (objeto.value, expresion)) {
		objeto.value = '';
		alert (texto);
		objeto.focus ();								
	}// Fin del else.
				
} // Fin de la función "comprobar_Valor".

//******************************************************************************************************************
// Función "validar_Tipousuario".- Valida el contenido de un objeto que representa un tipo de usuario.

//		"formu".- Contiene el formulario donde está del objeto.
	 		
function validar_Tipousuario (formu) {

	error1 = 'Un usuario tipo "técnico" sólo puede tener perfil de "administrador".';
	error2 = 'Un usuario tipo "profesor" no puede tener perfil de "alumno".';
	error3 = 'Un usuario tipo "alumnno" sólo puede tener perfil de "alumno".';

	if (formu.tipoUsuario[0].checked && (formu.superfil[1].checked || formu.superfil[2].checked )) {
		alert (error1);
		if (formu.superfil[1].checked) {
			formu.superfil[1].checked = false;
		} else {
			formu.superfil[2].checked = false;
		} // Fin del else.
	} // Fin del if.

	if (formu.tipoUsuario[1].checked && formu.superfil[2].checked) {
		alert (error2);
		formu.superfil[2].checked = false;
	} // Fin del if.

	if (formu.tipoUsuario[2].checked && (formu.superfil[0].checked || formu.superfil[1].checked )) {
		alert (error3);
		if (formu.superfil[1].checked) {
			formu.superfil[1].checked = false;
		} else {
			formu.superfil[0].checked = false;
		} // Fin del else.
	} // Fin del if.

} // Fin de la función "validar_Tipousuario".

//******************************************************************************************************************
// Función "asignar_Provincia".- Asigna el valor la provincia dado el código postal.

//		"formu".- Contiene el formulario donde están ambos objetos.
	 		
function asignar_Provincia (formu) {
		
	formu.provincia.value = formu.cpostal.value.substr (0,2);				

} // Fin de la función "asignar_Provincia".

//******************************************************************************************************************
// Función "validar_CodigoPostal".- Comprueba que el valor del código postal concuerda con el valor de la provincia.
//									Si no concuerda, cambia su valor y muestra un mensaje de error.

//		"formu".- Contiene el formulario donde están ambos objetos.
	 		
function validar_CodigoPostal (formu) {

	error = 'El "Código Postal" no se corresponde con la "Provincia".';
	if ((formu.cpostal.value == "") || (formu.cpostal.value.substr (0,2) != formu.provincia.value)) {
		if (formu.provincia.value != "00") {
			if (formu.cpostal.value != "") {
				alert (error);
			} // Fin del if.		
			formu.cpostal.value = formu.provincia.value;
		} // Fin del if.
	} // Fin del if.

} // Fin de la función "validar_CodigoPostal".

//******************************************************************************************************************
// Función "validar_nuevoUsuario".- Valida la entrada de datos de un nuevo usuario.

//		"formu".- Contiene el formulario donde se leen los datos del usuario.
	 		
function validar_nuevoUsuario (formu) {

	var error = false;

	if (formu.Nombre.value == "") {
		error = true;
		formu.Nombre.focus ();
		alert ('Campo "Nombre" en blanco o sin rellenar.');
	} // Fin del if.
	if (! error && (formu.Apellidos.value == "")) {
		error = true;
		alert ('Campo "Apellidos" en blanco o sin rellenar.');
		formu.Apellidos.focus ();
	} // Fin del if.
	if (! error && (formu.nif.value == "")) {
		error = true;
		alert ('Campo "NIF" en blanco o sin rellenar.');
		formu.nif.focus ();
	} // Fin del if.
	if (! error && (formu.telefono.value == "")) {
		error = true;
		alert ('Campo "Teléfono" en blanco o sin rellenar.');
		formu.telefono.focus ();
	} // Fin del if.
	if (! error && (formu.e_mail.value == "")) {
		error = true;
		alert ('Campo "Correo Electrónico" en blanco o sin rellenar.');
		formu.e_mail.focus ();
	} // Fin del if.
	if (! error && (formu.provincia.value == "00")) {
		error = true;
		alert ('No hay ninguna "Provincia" seleccionada.');
		formu.provincia.focus ();
	} // Fin del if.
	if (! error && (formu.domicilio.value == "")) {
		error = true;
		alert ('Campo "Domicilio" en blanco o sin rellenar.');
		formu.domicilio.focus ();
	} // Fin del if.
	if (! error && (formu.Localidad.value == "")) {
		error = true;
		alert ('Campo "Localidad" en blanco o sin rellenar.');
		formu.Localidad.focus ();
	} // Fin del if.
	if (! error && (formu.cpostal.value == "")) {
		error = true;
		alert ('Campo "Código Postal" en blanco o sin rellenar.');
		formu.cpostal.focus ();
	} // Fin del if.

	if (! error && (comprobar_Perfil (formu))) {
		formu.submit();		
	} // Fin del if.

} // Fin de la función "validar_nuevoUsuario".

//******************************************************************************************************************
// Función "validar_Usuario".- Valida la modificación de datos de un usuario.

//		"formu".- Contiene el formulario donde se leen los datos del usuario.	 		
	 		
function validar_Usuario (formu) {

	var error = false;

	if (formu.Nombre.value == "") {
		error = true;
		alert ('Campo "Nombre" en blanco o sin rellenar.');
		formu.Nombre.focus ();
	} // Fin del if.
	if (! error && (formu.Apellidos.value == "")) {
		error = true;
		alert ('Campo "Apellidos" en blanco o sin rellenar.');
		formu.Apellidos.focus ();
	} // Fin del if.
	if (! error && (formu.nif.value == "")) {
		error = true;
		alert ('Campo "NIF" en blanco o sin rellenar.');
		formu.nif.focus ();
	} // Fin del if.
	if (! error && (formu.telefono.value == "")) {
		error = true;
		alert ('Campo "Teléfono" en blanco o sin rellenar.');
		formu.telefono.focus ();
	} // Fin del if.
	if (! error && (formu.e_mail.value == "")) {
		error = true;
		alert ('Campo "Correo Electrónico" en blanco o sin rellenar.');
		formu.e_mail.focus ();
	} // Fin del if.
	if (! error && (formu.provincia.value == "00")) {
		error = true;
		alert ('No hay ninguna "Provincia" seleccionada.');
		formu.provincia.focus ();
	} // Fin del if.
	if (! error && (formu.domicilio.value == "")) {
		error = true;
		alert ('Campo "Domicilio" en blanco o sin rellenar.');
		formu.domicilio.focus ();
	} // Fin del if.
	if (! error && (formu.Localidad.value == "")) {
		error = true;
		alert ('Campo "Localidad" en blanco o sin rellenar.');
		formu.Localidad.focus ();
	} // Fin del if.
	if (! error && (formu.cpostal.value == "")) {
		error = true;
		alert ('Campo "Código Postal" en blanco o sin rellenar.');
		formu.cpostal.focus ();
	} // Fin del if.
	
	if (! error) {
		formu.submit();		
	} // Fin del if.

} // Fin de la función "validar_Usuario".

//******************************************************************************************************************
// Función "comprobar_NIF".- Valida el contenido de un objeto que representa a un NIF.

//		"objeto".- Contiene el objeto que se está validando.
	 		
function comprobar_NIF (objeto) {

	if (! validar_NIF (objeto.value)) {
		alert ('Formato de NIF incorrecto.');
		objeto.value = "";
		objeto.focus ();
	}// Fin del if.
			
} // Fin de la función "comprobar_NIF"

//******************************************************************************************************************
// Función "comprobar_login".-  Valida el contenido de un objeto que representa a un login.

//		"objeto".- Contiene el objeto que se está validando..
	 		
function comprobar_login (objeto) {

	if (! validar_expresion	(objeto.value, /^([a-z]|[A-Z])(\w){5,14}$/)) {
		alert ('Formato de "Login" incorrecto.');
		objeto.value = "";
		objeto.focus (); 
	} // Fin del if.
			
} // Fin de la función "comprobar_login"

//******************************************************************************************************************
// Función "comprobar_MateriaA".- Valida la asociación a un usuario de una nueva materia.

//		"formu".- Contiene el formulario donde están los objetos.
	 		
function comprobar_MateriaA (formu) {

	if (formu.nueva_materia.value == "00") {
		alert ('No se seleccionó ninguna materia para añadir.');
		formu.nueva_materia.focus (); 
	} else {
		formu.submit (); 
	} // Fin del else.
			
} // Fin de la función "comprobar_MateriaA"


//******************************************************************************************************************
// Función "comprobar_MateriaB".- Valida quitar la asociación a un usuario de una materia.

//		"formu".- Contiene el formulario donde están los objetos.
	 		
function comprobar_MateriaB (formu) {

	if (formu.borra_materia.value == "00") {
		alert ('No se seleccionó ninguna materia para borrar.');
		formu.borra_materia.focus (); 
	} else { 
		formu.opcion.value = "elimina_materia";
		formu.submit ();
	} // Fin del else.
			
} // Fin de la función "comprobar_MateriaB"

//******************************************************************************************************************
// Función "comprobar_materia".-  Valida la corrección de una nueva materia.

//		"formu".- Contiene el formulario donde están los objetos.
	 		
function comprobar_materia (formu, objeto) {

	if (formu.nombre.value == "") {
		alert ('"Nombre de la materia" en blanco o sin rellenar.');
		objeto.focus ();			
	} // Fin del if.
	
 	formu.submit ();							
			
} // Fin de la función "comprobar_materia".

//******************************************************************************************************************
// Función "activa_Botones". Activa o desactiva botones, según haya un examen elegido o no.

//		"formu".- Contiene el formulario donde están los objetos.

//		"valor".- Contiene el valor de la selección.
	 		
function activa_Botones (formu, valor) {
	
	var i;

	for (i=0; i < valor; i++) { 
       if (formu.queIndice [i].checked) 
          break; 
    } // Fin del for.

	if (i >= valor) {
		document.formuB.borra.disabled = true;
		document.formuE.edita.disabled = true;	
	} else {
		document.formuB.borra.disabled = false;
		document.formuE.edita.disabled = false;		
	} // Fin del else.
			
} // Fin de la función "activa_Botones".

//******************************************************************************************************************
// Función "activa_Botones". Activa o desactiva botones, según haya un examen elegido o no.
	 		
function activa_BotonesBis (formu, valor) {
	
	var i;

	for (i=0; i < valor; i++) { 
       if (formu.queIndice [i].checked) 
          break; 
    } // Fin del for.

	if (i >= valor) {
		document.formuP.examen.disabled = true;
	} else {
		document.formuP.examen.disabled = false;
	} // Fin del else.
			
} // Fin de la función "activa_Botones".

//******************************************************************************************************************
// Función "Hacer_examen".- Abre la ventana donde se gestiona la realización de un examen.	

//		"formu".- Contiene el formulario a enviar.
		
function Hacer_examen (formu) {

	direccionURL = "examen.php";
																		
	apertura = "toolbar=no, location=no, resizable=no, scrollbars=no, status=yes, directories=no, " + 
			    "menubar=no, titlebar=yes, toolbar=no, width=1024, height=768, top=0, left=0";
		
	ventanaPreguntas = window.open (direccionURL, "ventanaExam", apertura);
	
	formu.submit ();
		
} // Fin de la función "Hacer_examen".

//******************************************************************************************************************
// Función "ver_examen".- Abre la ventana donde se gestiona ver una prueba de examen.

//		"formu".- Contiene el formulario a enviar.
		
function ver_examen (formu) {

	direccionURL = "ver_examen.php";
																		
	apertura = "toolbar=no, location=no, resizable=no, scrollbars=no, status=yes, directories=no, " + 
			    "menubar=no, titlebar=yes, toolbar=no, width=1024, height=768, top=0, left=0";
		
	ventanaPreguntas = window.open (direccionURL, "ventanaExam", apertura);
	
	formu.submit ();
		
} // Fin de la función "ver_examen".

//******************************************************************************************************************
// Función "Enviar_datos". Se utiliza para editar las preguntas de un examen.

//		"formu".- Contiene el formulario a enviar.
	 		
function Enviar_datos (formu, ok) {
	
	var i;
	var valor = document.queExamen.queIndice.length;
    for (i=0; i < valor; i++) { 
       if (document.queExamen.queIndice [i].checked) 
          break; 
    } // Fin del for.
    
    valor = document.queExamen.queIndice [i].value;
    formu.id_examen.value = valor;
    
    if (ok == 1) {    	
    	formu.submit ();
    }  else {
    	abrirVentana_Preguntas (formu);
    } // Fin del else.

} // Fin de la función "actualiza_Examen".

//******************************************************************************************************************
// Función "valida_ValorXActivo". Se utiliza para comprobar que se seleccionó una materia.
	 		
function valida_ValorXActivo (formu) {
		
	formu.valor.value = (formu.activo.checked) ? "Sí" : "No";
	formu.submit ();
			
} // Fin de la función "valida_ValorXActivo".

//******************************************************************************************************************
// Función "actualiza_Activo". Se utiliza para comprobar que se seleccionó una materia.
	 		
function actualiza_Activo (formu) {
		
	var tituloActivo1 = "Muestra sólo los exámenes activos.";
	var tituloActivo2 = "Muestra sólo los exámenes no activos.";	
	
	formu.activ.title = (formu.activo.checked) ? tituloActivo1 : tituloActivo2;

} // Fin de la función "actualiza_Activo".			

//******************************************************************************************************************
// Función "valida_ValorXMateria". Se utiliza para comprobar que se seleccionó una materia.
	 		
function valida_ValorXMateria (formu) {

	if (formu.mate.value == "00") {
		alert ('No seleccionó ninguna materia.');
	} else {
	 	formu.submit ();
	} // Fin del else
			
} // Fin de la función "valida_ValorXMateria".

//******************************************************************************************************************
// Función "actualiza_Materia". Se utiliza para actualizar el valor de la materia seleccionada.
	 		
function actualiza_Materia (formu) {

	if (formu.mate.value == "00") {
		formu.bmateria.disabled = true;		
	} else {
	 	formu.bmateria.disabled = false;
	 	formu.valor.value = formu.mate.value;
	} // Fin del else.
	
} // Fin de la función "actualiza_Materia".

//******************************************************************************************************************
// Función "actualiza_Estado". Se utiliza para actualizar el estado seleccionado.
	 		
function actualiza_Estado (formu, valor) {
	
	formu.estado.value = valor;
	
} // Fin de la función "actualiza_Estado".

//******************************************************************************************************************
// Función "actualiza_Estado". Se utiliza para actualizar el estado seleccionado.
	 		
function actualiza_Tipo (formu, valor) {
	
	formu.campo.value = valor;
	
} // Fin de la función "actualiza_Estado".

//******************************************************************************************************************
// Función "mostrar_mensaje". Se utiliza para mostrar un mensaje de error.
	 		
function mostrar_mensaje () {
	
	alert ("No se permite asignar materias a un usuario 'técnico'.");
	
} // Fin de la función "mostrar_mensaje".


//******************************************************************************************************************
// Función "abrirVentana_CerrarSesion".- Abre la ventana principal, para cerrar la sesión del usuario.

function abrirVentana_CerrarSesion () {
	
	var ancho = leer_Anchoreal ();
	var alto = leer_Altoreal () -6;
	
	
	var direccionURL = "cerrar.php";
																		
	var apertura = "toolbar=no, location=no, resizable=no, scrollbars=no, status=no, directories=no, "+
				  "menubar=no, titlebar=yes, statusbar=no, width="+ancho+", height="+alto+", top=0, left=0";
				
	ventanaInic = window.open (direccionURL, "ventanaInicio", apertura);

} // Fin de la función "abrirVentana_Inicio".

//******************************************************************************************************************
// Función "mostraMensaje".- Se utiliza para mostrar un mensaje de texto.
	 		
function mostrarMensaje (cadena) {
	
	var frases = cadena.split ('@');	
	var tamagno = frases.length;
	var indice;
			
	cadena = frases [0];
	
	for (indice = 1; indice < tamagno; indice++) {
		cadena += "\n";
		cadena += frases [indice];
	}		
	
	alert (cadena);

} // Fin de la función "mostraMensaje".

//******************************************************************************************************************
// Función "cerrar_Ventana".- Se utiliza para cerrar la ventana de la página, una vez cerrada la sesión.
	 		
function cerrar_Ventana () {
		
	window.close ();

} // Fin de la función "cerrar_Ventana".

//******************************************************************************************************************
