<!--
//Codigos Script
	//Inserto variables globales
		var objDesplegado;
		var miRespuesta;
	//CODIGOS PARA EL ADDONLOAD
		function ols(){}function addOnLoad(newFunction){var j=0;while(eval('ols.f'+j)){j++;}eval('ols.f'+j+'=' + newFunction);}
		function eOls(){var j = 0;while(eval('ols.f'+j))	{eval('ols.f'+j+'()');j++;}}
		Event.observe(window, 'load', eOls, false); 
		
	//CODIGOS PARA CORREGIR EL ONKEYPRESS
		function corregirOnkeypress(){if(document.getElementsByTagName){	var aes = document.getElementsByTagName("a");	for (var i = 0; i < aes.length; i++)		{
		if(aes[i].onkeypress){eval('var tmpOnkeypress' + i + ' =aes[i].onkeypress;');eval('aes['+i+'].onkeypress = function(evt){if (esTabulador(evt)) return true;return tmpOnkeypress'+i+'(); }');}}}}
		function esTabulador(evt){var keyCode = evt ? evt.keyCode : event.keyCode;	return (keyCode == 9);}
	
	//CODIGO PARA CARGAR DISTINTOS EVENTOS DE LA APLICACION
		function lanzarEventos() {
			new AsignarComportamientos();
		}
		var AsignarComportamientos = Class.create();
		AsignarComportamientos.prototype  = {
			initialize: function(){
				this.tagNuevaVentana();
				//Inserto el link del mapa de situacion en el HTML en el lugar de la imagen de mapa
				if ($('capaMapaSituacion'))
					this.mapaSituacion();	
				//Inserto la funcionalidad de la apertura de nuevas ventanas de las fichas del organo asesor.
				if (document.getElementsByClassName("ventanaFicha"))
					this.ventanasFichas(document.getElementsByClassName("ventanaFicha"))
				if ($("infoLegal"))
					this.ventanasFichas($("infoLegal"))
				if ($("tratamientoDatos"))
					this.ventanasFichas($("tratamientoDatos"))
				if ($("infoLegal2"))
					this.ventanasFichas($("infoLegal2"))
				//Inserto la funcionalidad de desplegar contenidos
				if ($('enlacesDesplegables'))
					this.desplegarContenidos();	
				if ($('capaMedico'))
					$('capaMedico').style.display = "none";
					
				this.finalizar()
			},
			mapaSituacion: function(){
				if ($('capaMapaSituacion')) {
					$('capaMapaSituacion').innerHTML = '<a href="#" onclick="abreplan();return false" onkeypress="abreplan();return false" class="mapa">Ver mapa de situaci&oacute;n<span class="indentado">. Abre ventana modal con mapa de situaci&oacute;n</span></a>'
				}
			},
			tagNuevaVentana: function () {
				var arrAHREF = $A(document.getElementsByTagName("A"));
	
				//Creo la clase en la que asignare el manejador del evento
				arrAHREF.each( function(Listas){
						if (Listas.rel == "blank" || Listas.rel == "pdf" || Listas.rel == "word" ||  Listas.rel == "email" || Listas.rel == "modal"){
							//Llamo a cada uno con su manejador de eventos
							new ManejadorEventosVentanaNueva(Listas);
						}
					});
			},
			ventanasFichas: function(paramClase){
				if (paramClase) {
					if (paramClase.length){
					var arrAHREF = paramClase;
					arrAHREF.each( function(Listas){
							//Llamo a cada uno con su manejador de eventos
							
							new ManejadorEventosVentanasFichas(Listas);	
					});
					}
					else{
						new ManejadorEventosVentanasFichas(paramClase);
					}

				}
			},
			desplegarContenidos: function () {

				var contador = 0;
				var arrEnlaces = $A($('enlacesDesplegables').getElementsByTagName('a'));
				var arrRespuestas = document.getElementsByClassName("desplegable","contenidoDesplegable");
				//Creo la clase en la que asignare el manejador del evento
				arrEnlaces.each( function(Listas){
					
							//Llamo a cada uno con su manejador de eventos
							Listas.id = "a"+contador;
							for (i = 0; i < arrRespuestas.length;i++){
								if (i == contador){
									arrRespuestas[i].id = "respuestaa"+contador;
									arrRespuestas[i].style.display = "none";
								}
							}
							new ManejadorEventosDesplegables(Listas);
							contador = contador + 1;
					});
			},
			finalizar: function(){
				addOnLoad("corregirOnkeypress")
			}
		}
		
		//CLASE PARA CARGAR ENLACES HREF EN VENTANAS NUEVAS
		var ManejadorEventosVentanaNueva = Class.create();
		ManejadorEventosVentanaNueva.prototype  = {
			initialize: function(paramObj){
				if (paramObj.rel == "pdf"){
					paramObj.innerHTML = paramObj.innerHTML + "<span class='indentado'>. Abre archivo PDF en ventana nueva</span>";
					paramObj.title =  "Abre archivo PDF en ventana nueva";
				}
				else if (paramObj.rel == "word"){
					paramObj.innerHTML = paramObj.innerHTML + "<span class='indentado'>. Abre archivo WORD en ventana nueva</span>";
					paramObj.title =  "Abre archivo WORD en ventana nueva";
				}
				else if (paramObj.rel == "blank") {
					paramObj.innerHTML = paramObj.innerHTML + "<span class='indentado'>. Abre en ventana nueva</span>";
					paramObj.title =  "Abre en ventana nueva";
	
				}
				else if (paramObj.rel == "modal") {
					paramObj.innerHTML = paramObj.innerHTML + "<span class='indentado'>. Abre en ventana modal</span>";
					paramObj.title =  "Abre en ventana nueva modal";
				}
				else {
					paramObj.innerHTML = "<span class='indentado'>Enviar correo electrónico a </span>" +paramObj.innerHTML;
					paramObj.title =  "Enviar correo electrónico";
				}
				//Cargo observador del evento del objeto
				if (paramObj.rel != "modal") Event.observe(paramObj, 'click', this.asignarMetodo, false); 
			},
			asignarMetodo: function (paramObj) {
				if(Event.element(paramObj).tagName != "A")
					var miObj= Event.element(paramObj).parentNode;
				else 
					var miObj= Event.element(paramObj);
				
				this.href = miObj.href
				window.open(this.href);
				Event.stop(paramObj); 
				return false;
			}
		}
		
		
		
		
		//CLASE PARA CARGAR LA APERTURA DE NUEVAS VENTANAS MODALES DE LAS FICHAS DEL ORGANO ASESOR
		var ManejadorEventosVentanasFichas = Class.create();
		ManejadorEventosVentanasFichas.prototype  = {
			initialize: function(paramObj){
				paramObj.innerHTML = paramObj.innerHTML + "<span class='indentado'>. Abre ventana modal</span>"
				Event.observe(paramObj, 'click', this.asignarMetodo, false); 
				
			},
			asignarMetodo: function (paramObj) {
				new abrirVentana(paramObj);
			}
		}
		
		
		//CLASE QUE ABRE VENTANAS MODALES DE FICHAS DE ORGANO ASESOR.
		var abrirVentana = Class.create();
		abrirVentana.prototype  = {
			miObj: null,
			initialize: function(paramObj){
				
				this.miObj= Event.element(paramObj)
				this.abreVentana();
				//Detengo el comportamiento y hago un return false para que no se ejecute el HREF.
				this.finalizaMetodo(paramObj);
			},
			abreVentana: function() {	
				
				if (this.miObj.href.indexOf("info_legal.js") != -1){
					var win = new Window(Application.getNewId(), {className: "dialog",   width:460, height:410, zIndex: 1, resizable: false, minimizable: false, maximizable: false, title: "", showEffect:Effect.BlindDown, hideEffect: Effect.SlideUp, draggable:true})
					win.getContent().innerHTML='<iframe  FRAMEBORDER=0 src="'+this.miObj.href+'" scrolling="no" width="460" FRAMEBORDER=0 height="400"></iframe>'
				}else{
					if (this.miObj.href.indexOf("tratamiento_datos_personales.js") != -1){
						var win = new Window(Application.getNewId(), {className: "dialog", top:500, width:445, height:280, zIndex: 1, resizable: false, minimizable: false, maximizable: false, title: "", showEffect:Effect.BlindDown, hideEffect: Effect.SlideUp, draggable:true})
						win.getContent().innerHTML='<iframe  FRAMEBORDER=0 src="'+this.miObj.href+'" scrolling="no" width="445" height="250"></iframe>'
					
					}
					else {
					
						var win = new Window(Application.getNewId(), {className: "dialog", top:500, width:445, height:370, zIndex: 1, resizable: false, minimizable: false, maximizable: false, title: "", showEffect:Effect.BlindDown, hideEffect: Effect.SlideUp, draggable:true})
						win.getContent().innerHTML='<iframe  FRAMEBORDER=0 src="'+this.miObj.href+'" scrolling="no" width="445" height="340"></iframe>'
					
					}
				}
					
				win.showCenter(false, 130, null);
			},
			finalizaMetodo: function(paramObj) {
				Event.stop(paramObj); 
				return false;
			}
			
		}
		
		
		//Clase que plega o desplega las respuetas de las faqs
		var ManejadorEventosDesplegables = Class.create();
		ManejadorEventosDesplegables.prototype  = {
			initialize: function(paramObj){
				//Cargo observador del evento del objeto
				Event.observe(paramObj, 'click', this.asignarMetodo, false); 

			},
			asignarMetodo: function(paramObj){
				
				var miEnlace = Event.element(paramObj)
				
				//En el caso de desahabilitar la hoaj de estilos el elmento clicado es un span oculto, 
				//y en ese caso hay que referirnos al parent que lo contiene que es el enlace
				if (miEnlace.tagName == "SPAN")
					miEnlace = miEnlace.parentNode;
					
				//Ya tenemos el enlace para actuar con el
				var inicio = miEnlace.href.indexOf("#a");
				var fin = miEnlace.href.length;
				var identificador = miEnlace.href.substring(inicio+2,fin);
				var miRespuestaId = $("respuestaa"+identificador);	
				//Llamo a la clase que se encargara de cambiarme el estado de la capa respuesta en cuestion
				new CambioEstadoRespuesta(miEnlace,miRespuestaId,paramObj);
				
			}
		}
		
		//Clase que plega o desplega las respuetas de las faqs
		var CambioEstadoRespuesta = Class.create();
		CambioEstadoRespuesta.prototype  = {
			miRespuesta: null,
			miEnlace:null,
			initialize: function(enlace,respuesta,paramObj){
				//El argumento enlace solo se envia cuando quien llama a este metodo es un enlace y no un boton de desplegar
				this.miRespuesta = respuesta;
				this.miEnlace = enlace;
				if (objDesplegado != null)
					this.resetearContenidos();
				else	
					objDesplegado = this.miRespuesta;
				if (Element.hasClassName(this.miRespuesta, 'oculto') || Element.hasClassName(this.miRespuesta, 'plegado')){				
					this.mostrarRespuesta();
					miRespuesta = this.miRespuesta;
					setTimeout(this.enviarFoco,500);
				}
				else{
					if(!paramObj){
						this.ocultarRespuesta();
					}
				}
				this.finalizaMetodo(paramObj);
			},
			resetearContenidos: function () {
				Effect.BlindUp(objDesplegado);
				Element.removeClassName(objDesplegado, 'visible')
				Element.addClassName(objDesplegado, 'plegado')
				objDesplegado = this.miRespuesta;
			},
			mostrarRespuesta: function () {
				Element.removeClassName(this.miRespuesta, 'oculto')
				Element.removeClassName(this.miRespuesta, 'plegado')
				Element.addClassName(this.miRespuesta, 'visible')
				Effect.BlindDown(this.miRespuesta);
			},
			ocultarRespuesta: function () {
				Effect.BlindUp(this.miRespuesta);
				Element.removeClassName(this.miRespuesta, 'visible')
				Element.addClassName(this.miRespuesta, 'plegado')
			},
			enviarFoco: function () {
				miRespuesta.getElementsByTagName("a")[0].focus();
			},
			finalizaMetodo: function(paramObj) {
				Event.stop(paramObj); 
				return false;
			}
		}
		
		
		
		
		
//LLamadas a funciones Script
	addOnLoad("lanzarEventos")
	
	
//Funcion para mostrar capa de esqueleto_cursos2.jsp
function mostrarCapa (parmaCapa) {
	Element.toggle($(parmaCapa));
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


<!--Funciones para mostrar el Div de errores de validación de campos-->

function mostrarPopup() 
{
	var title = "Errores en datos.";
	var clave = Application.getNewId();
	if (title.replace(" ","")== "") title = "&nbsp;"; // si el título llega vacío no se pinta bien la ventana
	var win = new Window(clave, {className: "dialog",  width:450, zIndex: 100, maximizable:false, title: title, showEffect:Effect.Appear, hideEffect: Effect.Fade, draggable:true});
	if (win.getContent()){
	win.setDestroyOnClose();
	win.getContent().innerHTML = getPopupErroresValidacionesHTML();
	win.showCenter();
	}
}

function getPopupErroresValidacionesHTML() 
{
	var res = '<div class="emergente"><div align="center"/>';                  		  
	res += 	'<table class="tablatit" width="95%">';
	res += 	'<tr class="tfondazul">';
	res += 	'	<td colspan="2">';
	res += 	'	<b>LISTADO DE ERRORES DE VALIDACIÓN DEL FORMULARIO</b>';
	res += 	'</td>';
	res += 	'</tr>';
 	res += 	'<tr class="tfondazul">';
  	res += 	'  <td><b>Campo</b></td>';
	res += 	'  <td><b>Descripci&oacute;n</b></td>';
  	res += 	'</tr>';
	
	res += 	'</table>';
	res += '</div></div>';
	
	return res;
}


	
//---------------------------------------------------------
// JAVASCRIPT PARA FUNCIONALIDAD INVESTIGADORES ASOCIADOS
//---------------------------------------------------------
		var listaInvestigadores = new Array();
		var contador = 0;
		
		function introducirInvestigador(form)
		{
			var investigador;
			var id;
			
			if(validarIntroducirInvestigador(form))
			{
				contador++;
				id = "N"+contador;
				
				form.selectInvestigadores.add(new Option(form.nombreInvesAsoc.value+" "+form.nifInvesAsoc.value, id, false, false));
				
				investigador = new Array(id, form.nombreInvesAsoc.value, form.apeInvesAsoc1.value, form.apeInvesAsoc2.value, form.nifInvesAsoc.value); //en caso de nuevo campo insertarlo aqui tambien
				addInvestigadorEnArray(investigador);
			}
		}
		
		function validarIntroducirInvestigador(formulario)
		{
			var correcto = true;
			
			//validar los campos obligatorios del miniformulario del investigador asociado
			if (formulario.nombreInvesAsoc.value == "")
			{
				alert("Debe introducir un nombre de investigador asociado válido.");
				correcto = false;
			}
			else if (formulario.apeInvesAsoc1.value == ""){
				alert("Debe introducir un apellido de investigador asociado válido.");
				correcto = false;
			}
			else if (formulario.apeInvesAsoc2.value == ""){
				alert("Debe introducir un apellido de investigador asociado válido.");
				correcto = false;
			}
			else if (formulario.nifInvesAsoc.value == ""){
				alert("Debe introducir un NIF de investigador asociado válido.");
				correcto = false;
			}
			
			return correcto;
		}
		
		function eliminarInvestigador(selectInvestigadores)
		{
			var sValue;
			var seleccionado;
			var id;
			var longitud;
			
			if(validarEliminarInvestigador(selectInvestigadores))
			{
				seleccionado = selectInvestigadores.selectedIndex;
				id = selectInvestigadores.options[seleccionado].value;
				longitud = selectInvestigadores.length;
				
				for (i = 0; i < longitud; i++)
    			{
    				if(selectInvestigadores.options[i] != null)
    				{
    					sValue = selectInvestigadores.options[i].value;
    					if(id == sValue)
						selectInvestigadores.remove(i);
					}
				}
				
				removeInvestigadorEnArray(id);
			}
		}
		
		function validarEliminarInvestigador(selectInvestigadores)
		{
			var correcto = true;
			
			if(selectInvestigadores.selectedIndex < 0)
			{
				alert("Seleccione antes una fila para eliminar.");
				correcto = false;
			}
			else if(selectInvestigadores.selectedIndex == 0)
			{
				alert("No se puede eliminar esta fila.");
				correcto = false;
			}
			
			return correcto;
		}
		
		function addInvestigadorEnArray(investigador)
		{
			var longitud = listaInvestigadores.length;
				
    		//añadimos el nuevo investigador introducido por el usuario
    		listaInvestigadores[longitud] = new Array(investigador[0], investigador[1], investigador[2],investigador[3], investigador[4]);
		}
		
		function removeInvestigadorEnArray(id)
		{
		    var sValue;
			var longitud    = listaInvestigadores.length;
			var listaInvAux = new Array();
    		
    		var j = 0;
    		for (i = 0; i < longitud; i++)
			{
				sValue = listaInvestigadores[i][0];
				
				if(id != sValue)
				{
					listaInvAux[j] = listaInvestigadores[i];
					j++;
				}
			}
    		listaInvestigadores = new Array();
    		listaInvestigadores = listaInvAux;
		}
		
		function actualizarInvestigadores(formulario)
		{
			var longitud = listaInvestigadores.length;
			var nombres = "";
			var apellidoinves1 = "";
			var apellidoinves2 = "";
			var nifs = "";
			 
			for (i = 0; i < longitud; i++)
    		{
    			nombres = nombres + listaInvestigadores[i][1] + "#";			
    			apellidoinves1 = apellidoinves1 + listaInvestigadores[i][2] + "#";	
    			apellidoinves2 = apellidoinves2 + listaInvestigadores[i][3] + "#";		
    			nifs = nifs + listaInvestigadores[i][4] + "#";			
    		}
    		
    		formulario.nombresIAsoc.value = nombres;
    		formulario.apellidosIAsoc1.value = apellidoinves1;
    		formulario.apellidosIAsoc2.value = apellidoinves2;
    		formulario.nifsIAsoc.value = nifs;
		}

//-->    


