//Función que comprueba que al solicitar borrar una subcategoría no posea apartados, ni enlaces
function borrar(registros) {
	if (registros!=0){
		alert("No se puede realizar la acción de borrado.\n Existe información dependiente de lo que está intentando borrar.");
	}else{
		if (window.confirm('¿ Seguro que desea borrar el registro ?')) {
			return true;
		}else{	
			return false;
		}
	}

}//FIN function borrar_categoria()

//Funcion que sirve para mostrar la ventana con el contenido de los atributos dinamicos
function mostrar_atributo(id_1,id_2){
	window.open('./atributos.php?atri_id='+id_1+'&tit_id='+id_2,'Atributos','scrollbars=yes,width=450, height=375, left=0, top=0');
}
function mostrar_atributos_tit(tit_id){
	window.open('./atributos_tit.php?tit_id='+tit_id,'Atributos','scrollbars=yes,width=450, height=375, left=0, top=0');
}
function mostrar_atributos_asig(asig_id){
	window.open('./atributos_asig.php?asig_id='+asig_id,'Atributos','scrollbars=yes,width=450, height=375, left=0, top=0');
}

function cambiar_clave(dni){
	window.open('./cambiar_clave.php?dni='+dni,'Cambiar_clave','scrollbars=no,width=380, height=196, left=0, top=0');
}

// Esta funcion no va de momento.
function ValidaSelect(select){
	var objSelect = document.alumno.lista_alumnos;
	alert("");
	var objOption = objSelect.options[0];
	alert(objOption.options.length);
	alert(objOption.options.text);
	alert(objOption.options.length);
	alert("otro");
	return true;
}

function comprueba_usuario(form){
	var texto, fecha, fecha_i, fecha_f;
	texto="";
	if(form.usu_dni.value==""){
		texto+="- Debe rellenar el campo DNI.\n";
	}
	if(form.usu_dni.value.length>9){
		texto+="- El campo DNI debe de ser inferior a 9 caracteres.\n";
	}
	if(form.usu_nombre.value==""){
		texto+="- Debe rellenar el campo NOMBRE.\n";
	}
	if(form.usu_apellido1.value==""){
		texto+="- Debe rellenar el campo APELLIDO 1º.\n";
	}
	if(form.usu_nacimiento.value==""){
		texto+="- Debe rellenar el campo FECHA NACIMIENTO.\n";
	}

	if(form.usu_nacimiento.value!=""){
		if(validar(form.usu_nacimiento)==false){
			texto+="- La fecha de NACIMIENTO introducida no es correcta.\n";
		}
	}

	/*//Comprueba que la fecha de inicio sea menor que la fecha de fin

	a=form.usu_alta.value;
	dia=a.split("/")[0];
	mes=a.split("/")[1];
	anyo=a.split("/")[2];

	fecha_a=anyo+mes+dia;

	a=form.usu_baja.value;
	dia=a.split("/")[0];
	mes=a.split("/")[1];
	anyo=a.split("/")[2];

	fecha_b=anyo+mes+dia;

	if(fecha_b<fecha_a){
		texto+="La fecha de BAJA debe ser mayor que la fecha de ALTA.\n";
	}*/
	
	if(form.usu_alta.value!=""){
		if(validar(form.usu_alta)==false){
			texto+="- La fecha de ALTA introducida no es correcta.\n";
		}
	}

	if(form.usu_baja.value!=""){
		if(validar(form.usu_baja)==false){
			texto+="- La fecha de BAJA introducida no es correcta.\n";
		}
	}

	if(texto==""){
		return true;
	}else{
		alert(texto);
		return false;
	}
}

function comprueba_alumno(form){
	var texto, fecha, fecha_i, fecha_f;
	texto="";
	if(form.alum_dni.value==""){
		texto+="- Debe rellenar el campo DNI.\n";
	}
	if(form.alum_dni.value.length>9){
		texto+="- El campo DNI debe de ser inferior a 9 caracteres.\n";
	}
	if(form.alum_nombre.value==""){
		texto+="- Debe rellenar el campo NOMBRE.\n";
	}
	if(form.alum_apellido1.value==""){
		texto+="- Debe rellenar el campo APELLIDO 1º.\n";
	}
	if(form.alum_nacimiento.value==""){
		texto+="- Debe rellenar el campo FECHA NACIMIENTO.\n";
	}

	if(form.alum_nacimiento.value!=""){
		if(validar(form.alum_nacimiento)==false){
			texto+="- La fecha de NACIMIENTO introducida no es correcta.\n";
		}
	}

	/*//Comprueba que la fecha de inicio sea menor que la fecha de fin

	a=form.alum_alta.value;
	dia=a.split("/")[0];
	mes=a.split("/")[1];
	anyo=a.split("/")[2];

	fecha_a=anyo+mes+dia;

	a=form.alum_baja.value;
	dia=a.split("/")[0];
	mes=a.split("/")[1];
	anyo=a.split("/")[2];

	fecha_b=anyo+mes+dia;

	if(fecha_b<fecha_a){
		texto+="La fecha de BAJA debe ser mayor que la fecha de ALTA.\n";
	}*/
	
	if(form.alum_alta.value!=""){
		if(validar(form.alum_alta)==false){
			texto+="- La fecha de ALTA introducida no es correcta.\n";
		}
	}

	if(form.alum_baja.value!=""){
		if(validar(form.alum_baja)==false){
			texto+="- La fecha de BAJA introducida no es correcta.\n";
		}
	}

	if(texto==""){
		return true;
	}else{
		alert(texto);
		return false;
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	/****************************************** FUNCIONES DE VALIDACIÓN DE FECHA ******************************************/
	/****************************************** FUNCIONES DE VALIDACIÓN DE FECHA ******************************************/
	/****************************************** FUNCIONES DE VALIDACIÓN DE FECHA ******************************************/
	
	/*definimos las variables globales que van a contener la fecha completa, cada una de sus partes y los dias correspondientes al mes de febrero segun sea el año bisiesto o no*/
    var a, mes, dia, anyo, febrero;
    
    /*funcion para comprobar si una año es bisiesto argumento anyo > año extraido de la fecha introducida por el usuario*/
    function anyoBisiesto(anyo){
        //si el año introducido es de dos cifras lo pasamos al periodo de 1900. Ejemplo: 25 > 1925
        if (anyo < 100)
            var fin = anyo + 1900;
        else
            var fin = anyo ;

        //primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto
        //es decir, obtenemos año modulo 4, teniendo que cumplirse anyo mod(4)=0 para bisiesto
        if (fin % 4 != 0)
            return false;
        else{
            if (fin % 100 == 0){
                //si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
                if (fin % 400 == 0){
                    return true;
                }
                //si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
                else{
                    return false;
                }
            }
            //si es divisible por 4 y no es divisible por 100 > el año es bisiesto
            else{
                return true;
            }
        }
    }
    
    /*funcion principal de validacion de la fecha argumento fecha > cadena de texto de la fecha introducida por el usuario*/
    function validar(fecha)
    {
       /*obtenemos la fecha introducida y la separamos en dia, mes y año*/
       a=fecha.value;
       dia=a.split("/")[0];
       mes=a.split("/")[1];
       anyo=a.split("/")[2];
       
       if(anyoBisiesto(anyo))
           febrero=29;
       else
           febrero=28;
       /*si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion*/
       if ((isNaN(mes)) ||(mes<1) || (mes>12) || (isNaN(mes)) || (mes.length<2))
       {
           //alert("El mes introducido no es valido. Por favor, introduzca un mes correcto.\nEjemplo de fecha válida: 02/02/2002");
           fecha.focus();
           fecha.select();
           return false;
       }
       /*si el mes introducido es febrero y el dia es mayor que el correspondiente al año introducido > alertamos y detenemos ejecucion*/
       if ((mes==2) && ((dia<1) || (dia>febrero)) || (isNaN(dia)) || (dia.length<2))
       {
           //alert("El dia introducido no es valido. Por favor, introduzca un dia correcto.\nEjemplo de fecha válida: 02/02/2002");
           fecha.focus();
           fecha.select();
           return false;
       }
       /*si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion*/
       if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31)) || (isNaN(dia)))
       {
           //alert("El dia introducido no es valido. Por favor, introduzca un dia correcto.\nEjemplo de fecha válida: 02/02/2002");
           fecha.focus();
           fecha.select();
           return false;
       }
       /*si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion*/
       if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)) || (isNaN(dia)))
       {
           //alert("El dia introducido no es valido. Por favor, introduzca un dia correcto.\nEjemplo de fecha válida: 02/02/2002");
           fecha.focus();
           fecha.select();
           return false;
       }
       /*si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
       * NOTA: estos valores son a eleccion vuestra, y no constituyen por si solos fecha erronea*/
       if ((anyo<1900) || (anyo>3000) || (isNaN(anyo)))
       {
           //alert("El año introducido no es valido. Por favor, introduzca un año válido.\nEjemplo de fecha válida: 02/02/2002");
           fecha.focus();
           fecha.select();
		   return false;
       } 
       /*en caso de que todo sea correcto > enviamos los datos del formulario
       * para ello debeis descomentar la ultima sentencia*/
       else
          return true;
          //document.forms[0].submit();    
    }  

	/****************************************** FIN FUNCIONES DE VALIDACIÓN DE FECHA ******************************************/
	/****************************************** FIN FUNCIONES DE VALIDACIÓN DE FECHA ******************************************/
	/****************************************** FIN FUNCIONES DE VALIDACIÓN DE FECHA ******************************************/

//COMPRUEBA QUE LA SUMA DE LOS PESOS SEA 100.
function mostrar_asignatura(asig_id, zona){
	if((asig_id==0) && (zona=="organizativos")){
		window.location.href="listado_asignaturas_organizativo.php";
	}
	if((asig_id!=0) && (zona=="organizativos")){
		window.location.href="organizativo.php?include=asig_ins_edit&asig_id="+asig_id;
	}
	if((asig_id==0) && (zona=="lectivo")){
		window.location.href="listado_asignaturas_lectivo.php";
	}
	if((asig_id!=0) && (zona=="lectivo")){
		window.location.href="lectivo.php?include=campus&asig_id="+asig_id;
	}
	if((asig_id==0) && (zona=="evaluacion")){
		window.location.href="listado_asignaturas_evaluacion.php";
	}
	if((asig_id!=0) && (zona=="evaluacion")){
		window.location.href="evaluacion.php?include=campus&asig_id="+asig_id;
	}

}
function validar_peso(){
	var peso_total;
	var peso_total_a

	//Valuamos los pesos individuales
	if (document.cri_eval.cri_peso1.value=="")
	{
		document.cri_eval.cri_peso1.value=0;
	} 
	
	if (document.cri_eval.cri_peso2.value=="")
	{
		document.cri_eval.cri_peso2.value=0;
	} 
	
	if (document.cri_eval.cri_peso3.value=="")
	{
		document.cri_eval.cri_peso3.value=0;
	} 
	
	if (document.cri_eval.cri_peso4.value=="")
	{
		document.cri_eval.cri_peso4.value=0;
	} 
	
	if (document.cri_eval.cri_peso5.value=="")
	{
		document.cri_eval.cri_peso5.value=0;
	}
	if (document.cri_eval.act_peso_equipo.value=="")
	{
		document.cri_eval.act_peso_equipo.value=0;
	} 
	if (document.cri_eval.act_peso_individual.value=="")
	{
		document.cri_eval.act_peso_individual.value=0;
	}

	//Valuamos los pesos individuales
	if (document.cri_eval.cri_a_peso1.value=="")
	{
		document.cri_eval.cri_a_peso1.value=0;
	} 
	
	if (document.cri_eval.cri_a_peso2.value=="")
	{
		document.cri_eval.cri_a_peso2.value=0;
	} 
	
	if (document.cri_eval.cri_a_peso3.value=="")
	{
		document.cri_eval.cri_a_peso3.value=0;
	} 
	
	if (document.cri_eval.cri_a_peso4.value=="")
	{
		document.cri_eval.cri_a_peso4.value=0;
	} 
	
	if (document.cri_eval.cri_a_peso5.value=="")
	{
		document.cri_eval.cri_a_peso5.value=0;
	}
	
	peso_total1=eval(document.cri_eval.cri_peso1.value) + eval(document.cri_eval.cri_peso2.value) + eval(document.cri_eval.cri_peso3.value) + eval(document.cri_eval.cri_peso4.value) + eval(document.cri_eval.cri_peso5.value);
	peso_total2=eval(document.cri_eval.act_peso_equipo.value) + eval(document.cri_eval.act_peso_individual.value);

	peso_total_a=eval(document.cri_eval.cri_a_peso1.value) + eval(document.cri_eval.cri_a_peso2.value) + eval(document.cri_eval.cri_a_peso3.value) + eval(document.cri_eval.cri_a_peso4.value) + eval(document.cri_eval.cri_a_peso5.value);
	

	if(peso_total1 !=100){
		alert('ATENCION!, Los pesos de equipo tienen que sumar 100');
		return 0;
	}if(peso_total2 !=100){
		alert('ATENCION!, Los pesos de evaluación tienen que sumar 100')
		return 0;
	}if(peso_total_a !=100){
		alert('ATENCION!, Los pesos individuales tienen que sumar 100')
		return 0;
	}else{
		return 1;
	}
}

function validar_peso_total_alumno(){
	var peso_total;
	if (document.cri_eval_alum.cri_a_peso1.value=="")
	{
		document.cri_eval_alum.cri_a_peso1.value=0;
	} 
	
	if (document.cri_eval_alum.cri_a_peso2.value=="")
	{
		document.cri_eval_alum.cri_a_peso2.value=0;
	} 
	
	if (document.cri_eval_alum.cri_a_peso3.value=="")
	{
		document.cri_eval_alum.cri_a_peso3.value=0;
	} 
	
	if (document.cri_eval_alum.cri_a_peso4.value=="")
	{
		document.cri_eval_alum.cri_a_peso4.value=0;
	} 
	
	if (document.cri_eval_alum.cri_a_peso5.value=="")
	{
		document.cri_eval_alum.cri_a_peso5.value=0;
	}
	
	
	peso_total_a=eval(document.cri_eval_alum.cri_a_peso1.value) + eval(document.cri_eval_alum.cri_a_peso2.value) + eval(document.cri_eval_alum.cri_a_peso3.value) + eval(document.cri_eval_alum.cri_a_peso4.value) + eval(document.cri_eval_alum.cri_a_peso5.value);
	

	if(peso_total1 !=100){
		return 0;
	}else{
		return 1;
	}
}

function validar_nota(nota){
	if(nota.value<0 || nota.value>10) {return 0;}
	else {return 1;}
}

//Función para clasificar las series y lineas
function mostrar_actividad(asig_id,act_id){
	window.location.href='./alumno.php?include=detalle_actividad&asig_id='+asig_id+'&act_id='+act_id+''; 
}

// Completa el peso individual con lo que le queda para llegar a 100 al peso del equipo
function completar_peso_individual(){
	if (document.cri_eval.act_peso_equipo.value=="")
	{
		document.cri_eval.act_peso_equipo.value=0;
	} 
	if (eval(document.cri_eval.act_peso_equipo.value) > 100)
	{
		alert('El peso del equipo debe estar entre 0 y 100');
	} 
	

	document.cri_eval.act_peso_individual.value=eval(100 - eval(document.cri_eval.act_peso_equipo.value));	
}

// Completa el peso del equipo con lo que le queda para llegar a 100 al peso individual
function completar_peso_equipo(){
	if (document.cri_eval.act_peso_individual.value=="")
	{
		document.cri_eval.act_peso_individual.value=0;
	} 
	if (eval(document.cri_eval.act_peso_individual.value) > 100)
	{
		alert('El peso individual debe estar entre 0 y 100');
	} 
	

	document.cri_eval.act_peso_equipo.value=eval(100 - eval(document.cri_eval.act_peso_individual.value));	
}

// Comprueba que el peso que se le asigna a una actividad no sobrepase el 100% junto con el resto de pesos anteriores
function comprobar_peso_actividad(suma_pesos_actuales){
	if (document.cri_eval.act_peso_asignatura.value=="")
	{
		document.cri_eval.act_peso_asignatura.value=0;
		return 1;
	}
	else if ((eval(document.cri_eval.act_peso_asignatura.value) < 0) || ((eval(document.cri_eval.act_peso_asignatura.value) > 100)))
	{
		alert('El peso de la actividad en la asignatura debe estar entre 0 y 100');
		document.cri_eval.act_peso_asignatura.value=0; 
		return 0;		
	}
	else if ((eval(document.cri_eval.act_peso_asignatura.value) + suma_pesos_actuales) > 100)
	{
		alert('No se puede asignar ese peso de la actividad en la asignatura.\r\r Ya hemos sumado un '+suma_pesos_actuales+'% en el resto de asignaturas y si lo asignamos superamos el 100%.');
		return 0;				
	}

	document.cri_eval.act_peso_asignatura.value=eval(document.cri_eval.act_peso_asignatura.value);	
	return 1;
 	
}

//Funcion para mostrar las orlas
//Alejandro Brines Gimeno 18/7/03
function mostrar_orla(url){
	window.open(url,'Orla','scrollbars=yes,width=790,height=510,left ='+((window.screen.width-790)/2)+',top = '+((window.screen.height-510)/2));
}

function abrir_perfil_usuario(usu_id){
	window.open('../comun/mi_perfil_usuario.php?formulario=personales&usu_id='+usu_id,'Usuario','scrollbars=no,width=500,height=445,left ='+((window.screen.width-520)/2)+',top = '+((window.screen.height-445)/2));
}

function abrir_perfil_alumno(alum_id){
	window.open('../comun/mi_perfil_alumno.php?alum_id='+alum_id,'Alumno','scrollbars=no,width=500,height=430,left ='+((window.screen.width-500)/2)+',top = '+((window.screen.height-430)/2));
}

function abrir_asignatura(asig_id){
	window.open('../alumno/asignatura.php?asig_id='+asig_id,'Alumno','scrollbars=no,width=520,height=350,left ='+((window.screen.width-520)/2)+',top = '+((window.screen.height-350)/2));
}

function abrir_titulacion(tit_id){
	window.open('../alumno/titulacion.php?tit_id='+tit_id,'Alumno','scrollbars=no,width=520,height=350,left ='+((window.screen.width-520)/2)+',top = '+((window.screen.height-350)/2));
}


function abrir_ficha_usuario(usu_id){
	window.open('../comun/ficha_usuario.php?formulario=personales&usu_id='+usu_id,'Usuario','scrollbars=no,width=500,height=445,left = '+((window.screen.width-500)/2)+',top = '+((window.screen.height-445)/2));
}

//muestra la fecha actual con formato hh:mm | dd mes aaaa

function fecha_actual(){

var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var hora=mydate.getHours()
var minuto=mydate.getMinutes()
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10){
daym="0"+daym;
}
if (minuto<10){
	minuto="0"+minuto;
}
var montharray=new Array("Ene.","Feb.","Mar.","Abr.","May.","Jun.","Jul.","Ago.","Sep.","Oct.","Nov.","Dic.")
document.write( hora+":"+minuto+" | "+daym+" "+montharray[month]+" "+year)

}

// Sirve para distinguir, dentro del mismo formlario, si va a anyadir o quitar 
// alumnos (grupos, equipos genericos, equipos, departamentos...)
function anyadir(form) {
	form.derecha.value='> >';
	form.submit();
}
function quitar(form) {
	form.izquierda.value='< <';
    form.submit();
}

function borrar_equipo(form) {
	form.borrar.value='borrar';
	form.submit();
}


/* 
*   Función: comprueba_email (str)
*   +---------------------------------------------------------------------------------------------------------+
*    Propósito:          Comprueba si una cadena tiene formato de email correcto ( por ej: no hay 2 arrobas )
*    Argumentos:         str 
*    Devuelve:   		 true ( es una dirección de email valida )  o false ( no es una dirección de email valida )
*   +---------------------------------------------------------------------------------------------------------+
*/     

function comprueba_email (str) 
{
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(str);
}
  
  

 /* 
*   Funciones: isInteger , stripCharsInBag , daysInFebruary , DaysArray , isDate
*   +---------------------------------------------------------------------------------------------------------+
*    Propósito:         Comprobar si una fecha es válida ( en el formato dd/mm/yyyy )
*    Argumentos:        fecha
*    Devuelve:   		 true ( es una fecha valida )  o false ( no es una fecha valida )
*   +---------------------------------------------------------------------------------------------------------+
*/     


var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s)
{
	var i;
    for (i = 0; i < s.length; i++)
	{   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) 
{
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr)
{
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1)
	{
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		return false
	}
return true
}  
