/**************************************************************
Calendario con efemérides y eventos. Script por Tunait! (21/4/2007)
Script de libre uso con la condición de que permanezcan intactas estas líneas, osea, los créditos.
Distribución no autorizada en sitios de script sin previa autorización
Ver condiciones de uso en http://javascript.tunait.com/
tunait@yahoo.com 


Calendario modificado por Daniel Garcia Mesonero para la UPM
****************************************************************/
/*No tocar nada de aquí. La configuración en el archivo calendarioefemerides_config.js */
/*Calendario modificado y ampliado por Daniel Garcia servicios informaticos UPM */

/**************************************************************
Noticias:

Usamos FechaIni y FechaFin para sacar el contenido
Si FechaIni!=FechaFin, esta consultando un MES
Si FechaIni=FechaFin, esta consultando un DIA
En la XSL si FechaIni!=FechaFin, msg "Mes X + AÑO Z";
En la XSL si FechaIni=FechaFin, msg "Mes X + Dia Y+ AÑO Z";


Resumen:

Usamos FechaHoy para las querys

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


function addEvent(obj, evType, fn){
  /* adds an eventListener for browsers which support it
     Written by Scott Andrew: nice one, Scott */
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}



var hoy2 = new Date();

var hoy2 = new Date(hoy2.getFullYear(), hoy2.getMonth(),hoy2.getDate(), 00, 00, 00); 


var FechaHoy = hoy2.getTime();		
var hoy = new Date()
var mes = hoy.getMonth()


var NFDia= hoy.getDate();
NFDia = NFDia < 10 ? '0' + NFDia : NFDia.toString();		


var post_mes = "mes";
var post_fecha = "fecha";
var post_anio = "anio";
var anio;
var FI ="FechaIni";
var FF ="FechaFin";
var FH ="FechaHoy";
var fechasalto = "1196463600000" // 1 Diciembre 2007
var ok =false;
var fecha;
var query = window.location.search.substring(1);

var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
	  
    var pair = vars[i].split("=");    
	
	 if (pair[0] == FI) {	 
	   FIPasada =  pair[1];
	   NF = new Date(parseInt(pair[1]));	  
	   hoy=NF;
	   NFMes = NF.getMonth();
       NFDia= NF.getDate()
	  // NFDia = NFDia < 10 ? '0' + NFDia : NFDia.toString();		
	 
	   NFAnio= NF.getFullYear();
       mes = NFMes;
       anio = NFAnio;	  
	   fecha = NFAnio.toString() + formatoDiaMes(NFMes + 1) + NFDia;
	   
       ok = true;	   
	}
     if (pair[0] == FH) {
		 
	     NFDia2 = new Date(parseInt(pair[1]));
		 NFDia= NFDia2.getDate();
		// NFDia = NFDia < 10 ? '0' + NFDia : NFDia.toString();	
		


	}
  } 


var dia = 1;
/*
var diasSemana = new Array ('L','M','Mi','J','V','S','D');
var meses = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
*/

var diasSemana ;
var meses;



var months = new Array('31','28','31','30','31','30','31','31','30','31','30','31');
/*
var tunIex=navigator.appName=="Microsoft Internet Explorer"?true:false;
if(tunIex && navigator.userAgent.indexOf('Opera')>=0){tunIex = false}
tunOp = navigator.userAgent.indexOf('Opera')>=0 ? true: false;
var tunSel = false */
var gHoy = 0;
var anCelda, alCelda, carga =false;

/* Multilenguaje
 * */




function start(strMeses , strDiasSemana ){  
	
	 diasSemana= strDiasSemana.split(",");
	 meses= strMeses.split(",");

	
     if (ok)
     {	
	   tunCalendario();
	   establecerFecha();	   
	   escribeFecha(anio.toString() + formatoDiaMes(mes + 1) + NFDia); 
	   enlaceListarMes()
     }
	 else {	
	 
	   anio = hoy.getFullYear()
       tunCalendario();
	   establecerFecha()
		 
     }   
}

function tunCalendario(){ 

	if(!carga) escribeControles();
	dia2 = dia	
	tab = document.createElement('table')
	tab.id = 'calendario_oculto'

	
	document.getElementById(idContenedor).appendChild(tab)


	tcabeza = document.createElement('thead')
	tab.appendChild(tcabeza)
	fCalendario = document.createElement('div')
	fCalendario.style.position= 'relative';
	fCalendario.className = "cuadroTexto"
	fCalendario.id = 'tunCuadroTexto_oculto'
	document.getElementById(idContenedor).appendChild(fCalendario)
	fi2 = document.createElement('tr')
	fi2b = document.createElement('th')
	fi2b.colSpan = 7
	fi2.id = 'mesCalendario'
	fi2b.id = 'mes_actual';
	fi2b.appendChild(document.createTextNode(meses[mes] + "  -  " + anio))
	fi2.appendChild(fi2b)
	tcabeza.appendChild(fi2)
	fi = document.createElement('tr')
	tcabeza.appendChild(fi)
	for(m=0;m<7;m++){
		ce = document.createElement('th')
		ce.appendChild(document.createTextNode(diasSemana[m]))
		fi.appendChild(ce)
		}
		var escribe = false
		var escribe2 = true
	fecha = new Date(anio,mes,dia);	
	
	var d = fecha.getDay()-1 
	if(d<0){d = 6}
	tcuerpo = document.createElement('tbody')
	tab.appendChild(tcuerpo)
	while(escribe2){

	fi = document.createElement('tr')
	co = 0
		for(t=0;t<7;t++){
			ce = document.createElement('td')
			if(escribe && escribe2){
				fecha2 = new Date(anio,mes,dia)			   
				/*****EVENTOS****/
				var _anio = fecha2.getFullYear().toString()
				var _mes = fecha2.getMonth() + 1
				_mes = _mes < 10 ? '0' + _mes : _mes.toString()
				var _dia = fecha2.getDate()
				_dia = _dia < 10 ? '0' + _dia : _dia.toString()
				buscaEv = buscaEvento(_anio + _mes + _dia, _mes + _dia)
				if(buscaEv){
					_titl = '';
					for( var x in buscaEv){
						_titl += buscaEv[x].titulo
						_titl += x < (buscaEv.length - 1) ? '; ' : '';
					}
				}
				ce.title = buscaEv ? _titl : formatoFecha(_anio + _mes + _dia)
				ce.className = buscaEv ? 'hayEvento' : ''
				/****FIN EVENTOS****/
			
				if(fecha2.getMonth() != mes){escribe2 = false;}
				else{
					ce.appendChild(document.createTextNode(dia));
					dia++;
					co++;
					ce.style.cursor = calendarioCursor
					ce.onclick = marcaCalendario
				}
			}
			if(d == t && !escribe){
				
				ce.appendChild(document.createTextNode(dia))
				/*****EVENTOS****/
				var _anio = anio
				var _mes = mes + 1
				_mes = _mes < 10 ? '0' + _mes : _mes.toString()
				var _dia = dia
				_dia = _dia < 10 ? '0' + _dia : _dia.toString()
				buscaEv = buscaEvento(_anio + _mes + _dia, _mes + _dia)
				if(buscaEv){
					_titl = '';
					for( var x in buscaEv){
						_titl += buscaEv[x].titulo
						_titl += x < (buscaEv.length - 1) ? '; ' : '';
					}
				}
				ce.title = buscaEv ? _titl :  formatoFecha(_anio + _mes + _dia)
				ce.className = buscaEv ? 'hayEvento' : ''
				/****FIN EVENTOS****/
				dia++;co++
				escribe = true
				ce.style.cursor = calendarioCursor
				ce.onclick = marcaCalendario
			}
			else{
				ce.appendChild(document.createTextNode(" "))
			}
			fi.appendChild(ce)	
			
		
		 
			if(parseInt(hoy2.getDate())+1 == dia && mes == hoy2.getMonth() && anio == hoy2.getFullYear() && !gHoy){
			   

				ce.id = "Hoy" /*clase para hoy */
				gHoy = 1;
				if(buscaEv){ escribeEvento(buscaEv)}
				else{ escribeFecha(_anio + _mes + _dia); enlaceListarMes()}

			}

			 
		    else 
		    {
           
			   
			  if (parseInt(NFDia)+1==dia) 
				  { 
				 
			      ce.id = "DiaSelected"
				  }
			  /*gHoy = 1;*/
			 
		    }
		}
			
		if(co>0){tcuerpo.appendChild(fi)}
		
		}
	dia = dia2;

	

}



function marcaCalendario(){
	/*eventos*/
	var _anio = anio.toString();
	var _mes = mes + 1
	_mes = _mes < 10 ? '0' + _mes  : _mes.toString()
	var _dia = this.firstChild.nodeType == 1 ? this.firstChild.nextSibling.nodeValue : this.firstChild.nodeValue;
	_dia = _dia < 10 ? '0' + _dia  : _dia.toString()
	/* hayEvento = buscaEvento(_anio + _mes + _dia, _mes + _dia)*/
	/*fin eventos */
	
	FechaFin = new Date(_anio,_mes-1,_dia);
    FechaFin = FechaFin.getTime();
    FechaIni = FechaFin;
    var cadena = window.location;
	var cad = cadena.toString();
	var FechaIni1 = cad.indexOf('&FechaIni');
	var FechaIni2 = cad.indexOf('?FechaIni');
    if (FechaIni1 > -1) {
           var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
        if (posFechIni > posFechFin) {
           URL = cadena.toString().split("&FechaFin"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaIni; 
	     }
	     else {
	       URL = cadena.toString().split("&FechaIni"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaIni; 
	     }   
    }
     if (FechaIni2 > -1) {
        var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
         if (posFechIni > posFechFin) {           
           URL = cadena.toString().split("?FechaFin"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaIni; 
	     }
	     else {	       
	       URL = cadena.toString().split("?FechaIni"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaIni; 
	     }  
    }	
    
    if ( (FechaIni2== -1) && (FechaIni1== -1)) {
       var URLAmigable = cad.indexOf('?');   
        if (URLAmigable > -1) {
         var URL = new Array(); 
         URL = cadena.toString().split("&"); 	
	     window.location=cad+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaIni;      
        }	        
        else {
          var URL = new Array(); 
         URL = cadena.toString().split("?"); 	
	     window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaIni;        
        }        
    }
    
    /*
	if(hayEvento){ escribeEvento(hayEvento)}
	else {escribeFecha(_anio + _mes + _dia); enlaceListarMes()}
	ceSe = document.createElement('div')
	ceSe.id = "tunSeleccionado"
	with(ceSe.style){
		borderWidth = "1px"
		borderStyle = "solid"
		borderColor = "#ff0000"
		width = this.scrollWidth  + "px"
		height = this.scrollHeight + "px"
		position = "absolute"
		zIndex = "1000"
		}
	if(tunSel){
		tunSel.removeChild(tunSel.firstChild)
	}
	tunSel = this
	this.insertBefore(ceSe,this.firstChild)
	with(ceSe.style){
		width = this.scrollWidth  + "px"
		marginLeft = "-" + (calendarioPaddingCelda + 1) + "px"
		marginTop = "-" + (calendarioPaddingCelda + 1) + "px"
	}*/
}

function borra(){
	document.getElementById(idContenedor).removeChild(document.getElementById('calendario_oculto'))
	document.getElementById(idContenedor).removeChild(document.getElementById('tunCuadroTexto_oculto'))
}
function establecerFecha(){
    
	  if (ok) {	
      document.getElementById('tunMes').options[mes].selected = true;	
	
	 document.getElementById(anio).selected=true
   }
   else {
	tunFe = new Date()	
	
	document.getElementById('tunMes').options[mes].selected = true;	
    document.getElementById(tunFe.getFullYear()).selected=true
 }






}

function buscaEvento(f, fc){
	try{
		eval(meses[mes].toLowerCase())
	}
	catch(error){
		return false
	}
	var _array = eval(meses[mes].toLowerCase())
	var _eventos = new Array()
	for(var m in _array){
		if(_array[m].fecha == f || _array[m].fecha == fc){
			_eventos.push(_array[m])
		}
	}
	return _eventos.length > 0 ? _eventos : false;
}

function escribeEvento(obj){
	
	escribeFecha(obj[0].fecha) 
	escribeEvento2(obj, false)
}
function escribeEvento2(obj, fec){
	for(var w in obj){
		var ti = document.createElement(tagTitulos)
		if(fec){
			_fec = formatoFecha(obj[w].fecha)
			_d = _fec.substr(0,2)
			ti.appendChild(document.createTextNode(_d + " - "))
		}
		var o = ti
		if(obj[w].enlace){
			var en = document.createElement('a')
			en.href =obj[w].enlace
			o.appendChild(en)
			o = en
		}

		o.appendChild(document.createTextNode(obj[w].titulo))
		document.getElementById('tunCuadroTexto_oculto').appendChild(ti)
		var te = document.createElement('p')
		te.appendChild(document.createTextNode(obj[w].texto))
		document.getElementById('tunCuadroTexto_oculto').appendChild(te)
	}
	enlaceListarMes()
}
function enlaceListarMes(){
	try{
		eval(meses[mes].toLowerCase())
	}
	catch(error){
		return false
	}
	var verTodos = document.createElement('strong')
	verTodos.style.cursor = 'pointer'
	verTodos.style.display = 'block'
	verTodos.appendChild(document.createTextNode(textoVerTodos))
	verTodos.onclick = escribirEventosMes
	document.getElementById('tunCuadroTexto_oculto').appendChild(verTodos)
	
}
function escribeFecha(fecha){	   
	lNodos = document.getElementById('tunCuadroTexto_oculto').childNodes.length
	if(lNodos){
		for(var m = 0; m < lNodos; m++){
			document.getElementById('tunCuadroTexto_oculto').removeChild(document.getElementById('tunCuadroTexto_oculto').childNodes[0])
		}
	}
	var fe = document.createElement('strong')
	
	fe.appendChild(document.createTextNode(formatoFecha(fecha)))
   
	document.getElementById('tunCuadroTexto_oculto').appendChild(fe)
}
function formatoDiaMes(v){
	v = v < 10 ? '0' + v : v ;
	return v
}
function formatoFecha(fecha){ 
	if(fecha.toString().length == 8){
		var an = fecha.toString().substring(0,4)
		var me = fecha.toString().substring(4,6)
		var di = fecha.toString().substring(6,8)
	}
	else{
		if(fecha.toString().length == 6){
			var an = fecha.toString().substring(0,4)
			var me = fecha.toString().substring(4,6)
			var di = ''
		}
		else{
			var an = ''
			var me = fecha.toString().substring(0,2)
			var di = fecha.toString().substring(2,4)
		}
	}
	me = eval(me)
	me = meses[me-1]

	return di + " " + me + " " + an
	
}

function cambiarMes(val){	
	
	var _anio = document.getElementById('tunAnio').options[document.getElementById('tunAnio').selectedIndex].value
	var _mes = document.getElementById('tunMes').options[document.getElementById('tunMes').selectedIndex].value

   
	var _dia = 1;
	
	 eval('_mes' + val + val)
	_mes = _mes < 0 && val == '-' ? 11 : _mes
	_mes = _mes > 11 && val == '+' ? 0 : _mes
	if(eval(_mes) == 0 && val == '+') _anio++
	if(eval(_mes) == 11 && val == '-') _anio--	
	mes = _mes +1;
	anio = _anio	
	//borra();
	gHoy = 0;	
	FechaIni = new Date(anio,mes-1,1);
	FechaIni = FechaIni.getTime();
	
	//comprobamos si es la fecha de la que no debe pasar
	if (FechaIni == fechasalto) {	   
	    //location.href="http://www.upm.es/canalUPM/notasprensa/historico_indice.html";
		location.href=""
	     return true 
	}
	//si no salta al 1 Diciembre de 2007 seguimos	
	else {	
	document.getElementById('tunMes').options[_mes].selected = true
		document.getElementById('tunAnio').options[_anio].selected = true

	
	if ((mes==2) && ( (anio % 4) == 0) ) {	   
	   FechaFin = new Date(anio,mes-1,29);	
	}
	if ((mes==2) && ( (anio % 4) != 0) ) {	  
	   FechaFin = new Date(anio,mes-1,28);	
	}
	if (mes!=2) {FechaFin = new Date(anio,mes-1,months[mes-1]);}
		
	FechaFin = FechaFin.getTime();	
	var cadena = window.location;
	var cad = cadena.toString();
	
	
	
	var FechaIni1 = cad.indexOf('&FechaIni');
	var FechaIni2 = cad.indexOf('?FechaIni');
    if (FechaIni1 > -1) {
        var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
        if (posFechIni > posFechFin) {
           URL = cadena.toString().split("&FechaFin"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;
	     }
	     else {
	       URL = cadena.toString().split("&FechaIni"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy; 
	     }  
    }
     if (FechaIni2 > -1) {
        var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
         if (posFechIni > posFechFin) {           
           URL = cadena.toString().split("?FechaFin"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;   
	     }
	     else {	       
	       URL = cadena.toString().split("?FechaIni"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;   
	     }      
    }	
    
    if ( (FechaIni2== -1) && (FechaIni1== -1)) {
       var URLAmigable = cad.indexOf('?');   
        if (URLAmigable > -1) {
         var URL = new Array(); 
         URL = cadena.toString().split("&"); 	
	     window.location=cad+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;      
        }	
        
        else {
          var URL = new Array(); 
         URL = cadena.toString().split("?"); 	
	     window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;          
        }        
    }	
   }
	  	
}
function escribirEventosMes(){
	escribeFecha(anio.toString() + formatoDiaMes((mes + 1).toString()))
	escribeEvento2(eval(meses[mes].toLowerCase()), true)
}

function escribeControles(){	
	var obj = document.getElementById(idContenedor)
	/* var sp = document.createElement('span')
	sp.className = "cambiaMes" 
	sp.onclick = function() {cambiarMes('-')}
	sp.appendChild(document.createTextNode('<<'))
	obj.appendChild(sp) */
	var sel = document.createElement('select')
	
	sel.className = 'selectores'
	sel.id = 'tunMes'	
	sel.onchange = function(){
	mes = this.selectedIndex +1; 
	FechaIni = new Date(anio,mes-1,1);
	FechaIni = FechaIni.getTime();		
	FechaHoy = new Date(anio,mes-1,NFDia,00,00);
	FechaHoy = FechaHoy.getTime();
	//comprobamos si es la fecha de la que no debe pasar
	if (FechaIni == fechasalto) {	   
		//location.href="http://www.upm.es/canalUPM/notasprensa/historico_indice.html";
		location.href="";
	     return true 
	}
	//si no salta al 1 Diciembre de 2007 seguimos	
	else {
	if ((mes==2) && ( (anio % 4) == 0) ) {	   
	   FechaFin = new Date(anio,mes-1,29);	
	}
	if ((mes==2) && ( (anio % 4) != 0) ) {	  
	   FechaFin = new Date(anio,mes-1,28);	
	}
	if (mes!=2) {FechaFin = new Date(anio,mes-1,months[mes-1]);}		
	FechaFin = FechaFin.getTime();			
	var cadena = window.location;
	var cad = cadena.toString();
	var FechaIni1 = cad.indexOf('&FechaIni');
	var FechaIni2 = cad.indexOf('?FechaIni');
    if (FechaIni1 > -1) {
           var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
        if (posFechIni > posFechFin) {
           URL = cadena.toString().split("&FechaFin"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;  
	     }
	     else {
	       URL = cadena.toString().split("&FechaIni"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;  
	     }   
    }
     if (FechaIni2 > -1) {
        var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
         if (posFechIni > posFechFin) {           
           URL = cadena.toString().split("?FechaFin"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;  
	     }
	     else {	       
	       URL = cadena.toString().split("?FechaIni"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;  
	     }  
    }	
    
    if ( (FechaIni2== -1) && (FechaIni1== -1)) {
       var URLAmigable = cad.indexOf('?');   
        if (URLAmigable > -1) {
         var URL = new Array(); 
         URL = cadena.toString().split("&"); 	
	     window.location=cad+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;       
        }	        
        else {
          var URL = new Array(); 
         URL = cadena.toString().split("?"); 	
	     window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;        
        }        
    }
    
    }//else comprobacion fecha 1 dic 2008    	
    }	
	
	/*
	for(var p in meses){
		opt = document.createElement('option')
		opt.value = p
		
		opt.appendChild(document.createTextNode(meses[p]))
		sel.appendChild(opt)		
	}    
	*/
	for (i=0;i<12;i++){ 
		opt = document.createElement('option')
		opt.value = i		
		opt.appendChild(document.createTextNode(meses[i]))
		sel.appendChild(opt)	
	}
	obj.appendChild(sel)
    

  /*
	var campo = document.createElement('input')


	campo.type = 'text'
	campo.id = 'tunAnio'

	campo.className = "selectores"
	campo.maxlength = "4" 
	campo.size = 4
    
	campo.onblur = function(){
		if(!isNaN(this.value)){anio=this.value;borra();tunCalendario()}
	}
	
	obj.appendChild(campo)*/

  //inicio pruebaaa

     
    var campo = document.createElement('select')	
	campo.id = 'tunAnio'
	campo.className = "selectores"	
    
	campo.onchange = function(){		
    
    
    
	anio = this.options[this.selectedIndex].text; 	
	FechaIni = new Date(anio,mes,1);
	FechaIni = FechaIni.getTime();	
	FechaHoy = new Date(anio,mes,NFDia,00,00);
	FechaHoy = FechaHoy.getTime();
	//comprobamos si es la fecha de la que no debe pasar
	if (FechaIni == fechasalto) {	   
	    location.href="http://www.upm.es/canalUPM/notasprensa/historico_indice.html";
	     return true 
	}
	//si no salta al 1 Diciembre de 2007 seguimos	
	else {
	if ((mes==2) && ( (anio % 4) == 0) ) {	   
	   FechaFin = new Date(anio,mes,29);	
	}
	if ((mes==2) && ( (anio % 4) != 0) ) {	  
	   FechaFin = new Date(anio,mes,28);	
	}
		
	if (mes!=2) {
	  if (mes==0) FechaFin = new Date(anio,mes,months[mes]);
	  else FechaFin = new Date(anio,mes,months[mes]);
	
	}	
		
	FechaFin = FechaFin.getTime();			
	var cadena = window.location;
	var cad = cadena.toString();
	var FechaIni1 = cad.indexOf('&FechaIni');
	var FechaIni2 = cad.indexOf('?FechaIni');
    if (FechaIni1 > -1) {
         var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
        if (posFechIni > posFechFin) {
           URL = cadena.toString().split("&FechaFin"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;  
	     }
	     else {
	       URL = cadena.toString().split("&FechaIni"); 	
	       window.location=URL[0]+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;  
	     }   
    }
     if (FechaIni2 > -1) {
        var URL = new Array(); 
         posFechIni = cad.indexOf('FechaIni');
         posFechFin = cad.indexOf('FechaFin');        
         if (posFechIni > posFechFin) {           
           URL = cadena.toString().split("?FechaFin"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;
	     }
	     else {	       
	       URL = cadena.toString().split("?FechaIni"); 	
	       window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy; 
	     }  
    }	
    
    if ( (FechaIni2== -1) && (FechaIni1== -1)) {
       var URLAmigable = cad.indexOf('?');   
        if (URLAmigable > -1) {
         var URL = new Array(); 
         URL = cadena.toString().split("&"); 	
	     window.location=cad+"&FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;       
        }	        
        else {
          var URL = new Array(); 
         URL = cadena.toString().split("?"); 	
	     window.location=URL[0]+"?FechaIni="+FechaIni+"&FechaFin="+FechaFin+"&FechaHoy="+FechaHoy;        
        }        
    }
    
    }//else comprobacion fecha 1 dic 2008
	}
	

	AnioTope = new Date();
	 
    AnioTope= AnioTope.getFullYear();
	  
	 
	for (var i=2007;i<=AnioTope+1;i++) {

		opt = document.createElement('option')
		
		opt.value = i
		opt.id = i
		opt.appendChild(document.createTextNode(i))
		campo.appendChild(opt)		
	
	}

	obj.appendChild(campo)

  //fin pruebaaaa
	
		/*
	var sp = document.createElement('img')

		sp.setAttribute("src","http://www2.upm.es/estaticos/imagenes/comunes/buscador_rapido_enviar.gif"); 
	
	sp.className = "cambiaMes2" 
	sp.onclick = function() {
    alert(document.getElementById("calendario_oculto").style.display);
	if ((document.getElementById("calendario_oculto").style.display!= 'table') && (document.getElementById("calendario_oculto").style.display!= 'none'))
	{	 
	
	 document.getElementById("calendario_oculto").style.display = 'table';	
	
	}

	else  {
     
	 if (document.getElementById("calendario_oculto").style.display== 'table')  document.getElementById("calendario_oculto").style.display = 'none';	
	 else  document.getElementById("calendario_oculto").style.display = 'table';	
	     }
    }
	
	obj.appendChild(sp) */
	carga = true
		 
}


CALENDAR = {
	
	addEvent : function ( obj, type, fn, useCapture ) {
	  if ( obj.attachEvent ) {
		
	    obj['e'+type+fn] = fn;
	  
	    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
	   
	    obj.attachEvent( 'on'+type, obj[type+fn] );
	  } else obj.addEventListener( type, fn, useCapture );
	  
	}, 

	setUP : function (setUP) {
	  
     
	  var strMeses;

      var strDiasSemana;
    
	  if (setUP=="internacional")
		  
	  {
		
		 strMeses= "January,February,March,April,May,June,July,August,September,October,November,December";		 

		 strDiasSemana ="M,Tu,W,Th,F,Sa,Su";
	  }

	  else {
		 
		 strMeses= "Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre";

		 strDiasSemana ="L,M,Mi,J,V,S,D";
	  }
	  
     //comprobamos si existe el contendor miCalendario para que no de error el script
        vol=document.getElementById("miCalendario");	
       
        if (vol != null) {
           start(strMeses,strDiasSemana)
        }
  
        
	}
}
