function EnviarDetalle(idNot,TIPO)
{
	if (TIPO="CATEGORIAS"){
			document.location=document.location.href + "&laUrl=" + escape(idNot);
		}
		else{

		}
}





/*****************************************************************
//
//		Funciones comunes
//
*****************************************************************/	


   function es_mail(mail){
		if (mail.indexOf('@')==-1){
			return false;
		}
		else{
			mail_tmp=mail.substring(mail.indexOf('@'),mail.length);
			if (mail_tmp.indexOf('.')==-1){
				return false;
			}
			else{
				return true;
			}
		}
	}
	
	
	function es_numerico(texto){
			caracteres_validos="1234567890";
			for (k=0;k<texto.length;k++){
				tmp=texto.substr(k,1);
				if (caracteres_validos.search(tmp)=="-1"){
					return false;
				}
			}
			return true;
		}
		
		
		

  var DiasEnElMes = CrearTablaVacia(12);
  DiasEnElMes[1] = 31; DiasEnElMes[2] = 29; DiasEnElMes[3] = 31; DiasEnElMes[4] = 30;
  DiasEnElMes[5] = 31; DiasEnElMes[6] = 30; DiasEnElMes[7] = 31; DiasEnElMes[8] = 31;
  DiasEnElMes[9] = 30; DiasEnElMes[10] = 31; DiasEnElMes[11] = 30; DiasEnElMes[12] = 31;
 
  var Df=''; 
  var Hf='';
  var wDF='';
  var wHF='';
 
  function CrearTablaVacia(n) 
   {  for(var i=1; i<=n; i++) { this[i]=0; }  return this;  }
 
  function DiasEnFebrero(ElAno) 
   {  return (ElAno % 4==0 && (!(ElAno % 100==0) || (ElAno % 400==0)) ? 29 : 28); }
 
  function ComprobarFecha(laFecha, obligatoria) 
   {
    var Merr='';
    if (laFecha=='' && obligatoria==false) { return true; }
    if (laFecha=='' && obligatoria==true) { Merr='es obligatioria.'; return false; }
    
    t=laFecha.split('/');
    
    if (t.length!=3)        { Merr='no tiene el formato adecuado.'; return false; }
    if (t[0]=='' || t[1]=='' || t[2]=='')   { Merr='no tiene valores adecuados.'; return false; }
    if (isNaN(t[0]) || isNaN(t[1]) || isNaN(t[2])) { Merr='no posee valores numericos.'; return false; }
 
    if (t[0].length==1) { t[0]='0'+t[0];  }
    if (t[1].length==1) { t[1]='0'+t[1];  }
    if (t[2].length==1) { t[2]='200'+t[2]; }
    if (t[2].length==2) { t[2]='20'+t[2];  }
    wDF=t[0]+'/'+t[1]+'/'+t[2];
 
    var xd=parseInt(t[0],10);
    var xm=parseInt(t[1],10);
    var xa=parseInt(t[2],10);
 
    if (xm<01 || xm>12)     { Merr='el mes es erroneo.';    return false; }
    if (xd>DiasEnElMes[xm])    { Merr='el dia/mes es erroneo.';   return false; }
    if (xm==2 && xd>DiasEnFebrero(xa)) { Merr='el dia de Febrero es erroneo.';  return false; }
    
    return true;
   }
 
  function ComprobarRangoFecha(laFechaIni, laFechaFin)
   {
    if (laFechaIni=='' && laFechaFin=='') { return true; }
    if (laFechaIni=='' && laFechaFin!='') { return false; }
    if (laFechaIni!='' && laFechaFin=='') { return false; }
 
    if (ComprobarFecha(laFechaIni, true)==true && ComprobarFecha(laFechaFin, true)==true)
      {
        t1=laFechaIni.split('/');
		if (t1[0].length==1) { t1[0]='0'+t1[0];  }
		if (t1[1].length==1) { t1[1]='0'+t1[1];  }
		if (t1[2].length==1) { t1[2]='200'+t1[2]; }
		if (t1[2].length==2) { t1[2]='20'+t1[2];  }
		
		var zD=t1[2]+'/'+t1[1]+'/'+t1[0];
       
       t2=laFechaFin.split('/');
       	if (t2[0].length==1) { t2[0]='0'+t2[0];  }
		if (t2[1].length==1) { t2[1]='0'+t2[1];  }
		if (t2[2].length==1) { t2[2]='200'+t2[2]; }
		if (t2[2].length==2) { t2[2]='20'+t2[2];  }
		
       var zH=t2[2]+'/'+t2[1]+'/'+t2[0];
       if (zD>zH) 
         { return false; }
       else { return true; }
      }
    else { return false; } 
   }
	
	
	
	
/*****************************************************************
//
//		Funciones para los exámenes
//
*****************************************************************/	
/*	//FUNCION ANTERIOR	
	function enviarTutor(){
		if (!document.formExamen){
			alert("No se ha encontrado el formulario del examen");
			return ;
		}
		
		//Buscamos las preguntas que existen en la página
		for (k=0;k<document.formExamen.length;k++){
			if (document.formExamen[k].name.indexOf("PREG_")==0){
				//Sacamos el tipo de pregunta
				var tmp=document.formExamen[k].name.split("_");
				var tipo=tmp[2];
				var idPregunta=tmp[1];
				var validado;
				//Comprobamos para cada tipo de pregunta con una pregunta
				eval("validado=comprobarPregunta_Tipo" + tipo + "(" + idPregunta + ");");
				if (!validado){
					if (confirm("No ha contestado a todas las preguntas.\n¿Esta seguro de enviar el ejercicio?")){
						document.formExamen.submit();
						return;
					}
					else{
						return;
					}
				}
				else{
					document.formExamen.submit();
					return;
				}
			}
		}
	}
*/	
	
	//las declaro (se muestran al enviar un bloque de examen)
	errorMenor = "";
	errorGrave = "";
	
	function enviarTutor(){
	//las inicializo
	errorMenor = "";
	errorGrave = "";
		if (!document.formExamen){
			alert("No se ha encontrado el formulario del examen");
			return ;
		}
		var errores=0;
		//Buscamos las preguntas que existen en la página
		for (k=0;k<document.formExamen.length;k++){
		
			if (document.formExamen[k].name.indexOf("PREG_")==0){
				//Sacamos el tipo de pregunta
				var tmp=document.formExamen[k].name.split("_");
				var tipo=tmp[2];
				var idPregunta=tmp[1];
				var validado;
				//Comprobamos para cada tipo de pregunta con una pregunta
				eval("validado=comprobarPregunta_Tipo" + tipo + "(" + idPregunta + ");");
				if (!validado){
					errores=errores+1;
				}
			}
		}
		if(errores==0){
			document.formExamen.submit();
			return;
		}else{
			if (errorGrave!=""){
				alert("- Para enviar el examen debe corregir:\n" + errorGrave);
			}else{
				if (confirm("- Se ha detectado que:\n" + errorMenor + "\n\nDesea enviar el Examen de todos modos?")){
							document.formExamen.submit();
							return;
				}
			}
		}
	}


	function comprobarPregunta_Tipo1(idPregunta){
		//Pregunta tipo Opción múltiple
		//Buscamos sus respuestas, al menos una de ellas debe estar checkeada
		for (var k=0;k<document.formExamen.length;k++){
			if (document.formExamen[k].name.indexOf("RESP_" + idPregunta)==0){
				if (document.formExamen[k].checked){
					return true;
				}
			}
		}
		errorMenor = errorMenor + "\n- La pregunta de tipo multiple no se ha respondido.";
		return false;

	}
	
	function comprobarPregunta_Tipo2(idPregunta){

		//Pregunta tipo Verdadero o falso
		//Buscamos sus respuestas, al menos una de ellas debe estar checkeada
		for (var k=0;k<document.formExamen.length;k++){
			if (document.formExamen[k].name.indexOf("RESP_" + idPregunta)==0){
				if (document.formExamen[k].checked){
					return true;
				}
			}
		}
		errorMenor = errorMenor + "\r- La pregunta de tipo Verdadero o Falso no se ha respondido.";
		return false;
	}
	
	
	function comprobarPregunta_Tipo3(idPregunta){
		//Pregunta tipo Respuesta corta
		if (!document.formExamen["RESP_" + idPregunta]){
			return false;
		}
		if (document.formExamen["RESP_" + idPregunta].value.trim==""){
			return false;
		}
		return true;
		
	}
	
	function comprobarPregunta_Tipo4(idPregunta){
		//Pregunta tipo Numérica
		if (!document.formExamen["RESP_" + idPregunta]){
			errorMenor = errorMenor + "\n- La pregunta de tipo Numerica no se ha respondido.";
			return false;
		}
		if (document.formExamen["RESP_" + idPregunta].value.trim==""){
			errorMenor = errorMenor + "\n- La pregunta de tipo Numerica no se ha respondido.";
			return false;
		}
		return true;
		
	}
	
	function comprobarPregunta_Tipo5(idPregunta){
		//Pregunta tipo Emparejando
		//creo 2 arrays para cada una de las filas de respuestas
		var arrayUno= new Array();
		var arrayDos= new Array();
		//relleno los dos arrays con los valores de las respuestas
		for (var k=0;k<document.formExamen.length;k++){
			if (document.formExamen[k].name.indexOf("RESP_" + idPregunta)==0){
				if (document.formExamen[k].name.charAt(document.formExamen[k].name.length-1) ==1){
				arrayUno.push(document.formExamen[k].value);
				}else if (document.formExamen[k].name.charAt(document.formExamen[k].name.length-1) ==2){
				arrayDos.push(document.formExamen[k].value);
				}
			}
		}
		
		//los recorro buscando primero si son válidos
		for (var k=0;k<arrayUno.length;k++){
		//busco si hay valores de la primera columna están vacios
		if (arrayUno[k]==""){
			errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna primera no se ha rellenado.";
			return false;
		}
		//busco si hay valores de la primera columna son numéricos
		var caracteres_validos="1234567890";
		for (n=0;n<arrayUno[k].length;n++){
		
				tmp=arrayUno[k].substr(n,1);
				if (caracteres_validos.search(tmp)=="-1"){
					errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna primera no es numerico.";
					return false;
				}
		}

		//busco si hay valores repetidos el la primera columna
			var algunoIgualEnLaPrimera=0;
			for (var l=0;l<arrayUno.length;l++){
					if (arrayUno[k]==arrayUno[l]){
					algunoIgualEnLaPrimera=algunoIgualEnLaPrimera+1;
					}
			}
			if ( algunoIgualEnLaPrimera>1){
			errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna primera esta repetido varias veces en esa misma colunma.";
			return false;
			}
		//busco si hay valores DISTINTOS o repetidos en ambas columnas
			var algunoIgualEnAmbas=0;
			for (var m=0;m<arrayDos.length;m++){
					if (arrayUno[k]==arrayDos[m]){
					algunoIgualEnAmbas=algunoIgualEnAmbas+1;
					}
			}
			if (algunoIgualEnAmbas==0){
			errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna primera no coincide con ninguno de la segunda.";
			return false;
			}else if (algunoIgualEnAmbas>1){
			errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna primera esta repetido varias veces en la segunda colunma.";
			return false;
			}
		}

		for (var k=0;k<arrayDos.length;k++){
		//busco si hay valores de la segunda columna están vacios
		if (arrayDos[k]==""){
			errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna segunda no se ha rellenado.";
			return false;
		}
		//busco si hay valores de la segunda columna son numéricos
		var caracteres_validos="1234567890";
		for (n=0;n<arrayDos[k].length;n++){
		
				tmp=arrayDos[k].substr(n,1);
				if (caracteres_validos.search(tmp)=="-1"){
					errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna segunda no es numerico.";
					return false;
				}
		}		
		//busco si hay valores repetidos el la primera columna
			var algunoIgualEnLaSegunda=0;
			for (var l=0;l<arrayDos.length;l++){
					if (arrayDos[k]==arrayDos[l]){
					algunoIgualEnLaSegunda=algunoIgualEnLaSegunda+1;
					}
			}
			if ( algunoIgualEnLaSegunda>1){
			errorGrave = errorGrave + "\n- En la pregunta de tipo Emparejado uno de los valores de la columna segunda esta repetido varias veces en esa misma colunma.";
			return false;
			}
		}
		return true;
	}
	
	function comprobarPregunta_Tipo6(idPregunta){
		//Pregunta tipo Ordenaciones
		//Buscamos sus respuestas, al menos una de ellas debe estar checkeada
		for (var k=0;k<document.formExamen.length;k++){
			if (document.formExamen[k].name.indexOf("RESP_" + idPregunta)==0){
			
			//busco si hay valores de la columna son numéricos
				var caracteres_validos="1234567890";
				for (n=0;n<document.formExamen[k].value.length;n++){
						tmp=document.formExamen[k].value.substr(n,1);
						if (caracteres_validos.search(tmp)=="-1"){
							errorGrave = errorGrave + "\n- En la pregunta de tipo ordenaciones uno de los valores no es numerico.";
							return false;
						}
				}	
				if (document.formExamen[k].value.trim==""){
				errorMenor = errorMenor + "\n- La pregunta de tipo ordenaciones no se ha respondido.";
					return false;
				}
			}
		}
		return true;
	}
	
	function comprobarPregunta_Tipo7(idPregunta){
		//Pregunta tipo Preguntas abiertas
		if (!document.formExamen["RESP_" + idPregunta]){
			return false;
		}
		if (document.formExamen["RESP_" + idPregunta].value.trim==""){
			return false;
		}
		return true;
	}
	
	function comprobarPregunta_Tipo8(idPregunta){
		//Pregunta tipo Opción única
		//Buscamos sus respuestas, al menos una de ellas debe estar checkeada
		for (var k=0;k<document.formExamen.length;k++){
			if (document.formExamen[k].name.indexOf("RESP_" + idPregunta)==0){
				if (document.formExamen[k].checked){
					return true;
				}
			}
		}
		errorMenor = errorMenor + "\n- La pregunta de tipo opcion unica no se ha respondido.";
		return false;
	}
