var cadenaBlock = 'block';
var cadenaInline = 'inline';
var cadenaNone = 'none';
if (navigator.userAgent.indexOf('Opera') != -1) {
    cadenaBlock = 'block !important';
    cadenaInline = 'inline !important';
    cadenaNone = 'none !important';
}
var cadenaVisible = 'visible';
var cadenaHidden = 'hidden';
if (navigator.userAgent.indexOf('Opera') != -1) {
    cadenaVisible = 'visible !important';
    cadenaHidden = 'hidden !important';
} 


            /* animacion del cursor en procesos de Ajax */

            /* -----------------------------------------*/

            var divName = 'divWaitAjax';  // div that is to follow the mouse
                                          // (must be position:absolute)
            var offX = 15;                // X offset from mouse position
            var offY = 15;                // Y offset from mouse position

            attachEventLoadToAjax();
           
            function attachEventLoadToAjax(){
                try {
                    AjaxPro.onLoading = fnAjaxLoader;
                } 
                catch(err) {
                    setTimeout(attachEventLoadToAjax, 300);
                }
            }             

            function fnAjaxLoader(b) {
                if(b) {
                    document.onmousemove = follow;
                } else {
                    document.onmousemove = null;
                    if ( $('divWaitAjax') != null){
                          $('divWaitAjax').style.top = "-200px";
                      }
                }
            }

            function mouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
            function mouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}
            function follow(evt) {addDivWait();if (document.getElementById) {var obj = document.getElementById(divName).style; obj.visibility = 'visible'; obj.left = (parseInt(mouseX(evt))+offX) + 'px'; obj.top = (parseInt(mouseY(evt))+offY) + 'px';}}

            function addDivWait(){
                if ($(divName) == null){
                    var divProgress = document.createElement("DIV");
                    divProgress.id = divName;
                    divProgress.style.position = "absolute";
                    divProgress.style.width = "31px";
                    divProgress.style.height = "31px";
                    divProgress.style.visibility = "hidden";
                    //divProgress.style.background = "#FFF";
                    divProgress.innerHTML = "<img src='/plantillas/profesnetrecursosenred/img/ajaxloader.gif'>";
                    document.getElementsByTagName("body")[0].appendChild(divProgress);
                }
            }

            /* fin animacion del cursor en procesos de Ajax */



// scripts realizados a partir del código de Sergi Meseguer - www.zigotica.com

 
//***********************************************************************//
//								EXPANDIR BUSQUEDA AVANZADA
//***********************************************************************//

//function abrirAvanzada(){
//	if ($("busq_avanzada_home")!=null)
//	{
//		if ($("busq_avanzada_home").style.display=='' || $("busq_avanzada_home").style.display=='none'){
//			/*$("busq_sencilla_home").style.display='none';*/
//			$("busq_avanzada_home").style.display='block';	
//		}else{
//			$("busq_avanzada_home").style.display='none';	
//			$("busq_sencilla_home").style.display='block';	
//		}
//	}
//	if ($("busq_avanzada")!=null)	
//	{
//		if ($("busq_avanzada").style.display=='' || $("busq_avanzada").style.display=='none'){
//			$("busq_sencilla").style.display='none';	
//			$("busq_avanzada").style.display='block';	
//		}else{
//			$("busq_avanzada").style.display='none';	
//			$("busq_sencilla").style.display='block';	
//		}
//	}
//}

//function abrirAvanzadaNormal(){
//	if ($("busq_avanzada").style.display=='' || $("busq_avanzada").style.display=='none'){
//		$("busq_sencilla").style.display='none';
//		$("busq_avanzada").style.display='block';	
//	}else{
//		$("busq_avanzada").style.display='none';	
//		$("busq_sencilla").style.display='block';	
//	}
//}

/*var ABRIRAVANZADA = {
    
    init : function() {
       var enlace = document.getElementById('avanzada');

			 
          enlace.onclick = function() {
                ABRIRAVANZADA.expandir('avanzado'); return false;
          }			  
			
       
    },

   expandir: function(nombreclase)  {
		//EXPANDIR BUSQUEDA
			document.getElementById('principal').className = nombreclase;
		}
		
	}*/
	
	
//***********************************************************************//
//								RETRAER BUSQUEDA AVANZADA
//***********************************************************************//

/*var RETRAERAVANZADA = {
    
    init : function() {
       var enlace = document.getElementById('enlacesencilla');

			 
          enlace.onclick = function() {
                RETRAERAVANZADA.retraer(); return false;
          }			  
			
       
    },

   retraer: function(nombreclase)  {
		//EXPANDIR BUSQUEDA
			document.getElementById('principal').className = cadenaNone;
		}
		
	}*/

//***********************************************************************//
//								EXPANDIR AVISO LEGAL
//***********************************************************************//

var EXPANDIRAVISOLEGAL = {
    
    init : function() {
       var enlace = document.getElementById('pie').getElementsByTagName('a')[0];

			 
          enlace.onclick = function() {
                EXPANDIRAVISOLEGAL.expandiraviso(); return false;
          }			  
			
       
    },

   expandiraviso: function(nombreclase)  {
		//EXPANDIR AVISO LEGAL
			document.getElementById('velo').style.display = cadenaBlock;
			document.getElementById('aviso-legal').style.display = cadenaBlock;
			document.getElementById('velo').style.width = document.documentElement.scrollWidth + 'px';
			document.getElementById('velo').style.height = document.documentElement.scrollHeight + 'px';
			RETRAERAVANZADA.retraer(); return false;
		}
		
	}
	
//***********************************************************************//
//								RETRAER AVISO LEGAL
//***********************************************************************//

var RETRAERAVISOLEGAL = {
    
    init : function() {
       var enlace = document.getElementById('aviso-legal').getElementsByTagName('a')[0];

			 
          enlace.onclick = function() {
                RETRAERAVISOLEGAL.retraeraviso(); return false;
          }			  
			
       
    },

   retraeraviso: function(nombreclase)  {
		//EXPANDIR AVISO LEGAL
			document.getElementById('velo').style.display = cadenaNone;
			document.getElementById('aviso-legal').style.display = cadenaNone;
		}
		
	}
	
	
	
//*****************************************************************************************//
// 			añadido de eventos realizado como en http://simon.incutio.com/archive/2004/05/26/addLoadEvent
//*****************************************************************************************//

function addLoadEvent(fn) {
    var old = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = fn;
    } else {
        window.onload = function() {
            old();
            fn();
        }
    }
}

addLoadEvent(function() {
    ABRIRAVANZADA.init();
});

addLoadEvent(function() {
    RETRAERAVANZADA.init();
});

addLoadEvent(function() {
    EXPANDIRAVISOLEGAL.init();
});

addLoadEvent(function() {
    RETRAERAVISOLEGAL.init();
});



function abrircomentario(objeto) {
	limpiarcomentarios();
	var eldd = objeto.parentNode;
	var noticias = objeto.parentNode.getElementsByTagName('div')[0];
	noticias.style.display= cadenaBlock ;
	eldd.style.zIndex=50000;
}

function cerrarcomentario(objeto) {
	var noticias = objeto.parentNode.parentNode.parentNode.getElementsByTagName('div')[0];
	noticias.style.display= cadenaNone ;
}


function limpiarcomentarios() {
	var noticias = document.getElementById('contenidos');
	var columna = document.getElementById('recursos_col');
	var divs= document.getElementById('ampliadocoment');
	
	var final = getElementsByClass('ampliadocoment');
		for (x=0; x<final.length ; x++) {
			limpiar = final[x];
			limpiar.style.display= cadenaNone ;
			limpiar.style.zIndex=1;
			final[x].style.zIndex=1;
		}
	
	
	
	var final3 = getElementsByClass('coment',noticias);
		for (x=0; x<final3.length ; x++) {
			limpiar = final3[x].getElementsByTagName('div')[0];
			limpiar.style.display= cadenaNone ;
			limpiar.style.zIndex=1;
			final3[x].style.zIndex=1;
		}
	
		var final2 = getElementsByClass('coment',columna);
		for (y=0; y<final2.length ; y++) {
			limpiar2 = final2[y].getElementsByTagName('div')[0];
			limpiar2.style.display= cadenaNone ;
			limpiar2.style.zIndex=1;
			final2[y].style.zIndex=1;
		}
}



function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

//MR-----------------------------------------------------------------------------------------------------------------
//MR------------------------ Funciones asociadas a la operativa de registro Primer Inicio ---------------------------
			var sCurso = "sltCro";
            var sAsignatura = "sltAsg";

            function datoEnviar(opcion){
            
                if (datoEnviarValidar()){
                
                    // ---------------------- Inserción de datos -------------------------------
                    // cuando los datos están realmente validados se procede a 
                    // realizar la acción de inserción y actualización de datos
                    
                    // primero se generan archivos con formato xml para pasar los datos
                    var registro = funDatoRegistroCargar();
                    var asignatura = funDatoAsignaturaCargar();
                    var cargo = funDatoCargoObtener();
                    
                    if (asignatura == '1'){ 
					    alert(msgCursoAsignatura); 
                    }else if (asignatura == '2'){ 
						    alert(msgAsignaturaCurso); 
					      }else{ 
						    registroInsertar(registro, asignatura, cargo, opcion); 
					      }
                }
                // --------------------- Término de inserción -----------------------------
            }
            
            function datoEnviarValidar(){
            // --------------- seccion de validacion de datos -----------------
                if (!datoValidar($("txtUsuario").value, 1)) { 
                    $("txtUsuario").focus(); return false; 
                }
                if (!funDatoLargoValidar($("txtUsuario"), 5, 20, 1)) { 
                    $("txtUsuario").focus(); return false; 
                }
                if (!datoValidar($("txtClave").value, 2))  { 
                    $("txtClave").focus(); return false; 
                }
                if (!funDatoLargoValidar($("txtClave"), 5, 20, 2)) { 
                    $("txtClave").focus(); return false; 
                }
                if (!datoValidar($("txtClaveConfirmar").value, 8)){	
                    $("txtClaveConfirmar").focus(); return false; 
                }
                if (!funDatoLargoValidar($("txtClaveConfirmar"), 5, 20, 3)) { 
                    $("txtClaveConfirmar").focus(); return false; 
                }
                if($("txtClave").value != $("txtClaveConfirmar").value) { 
                    alert(msgClaveDiferente); $("txtClaveConfirmar").focus(); return false; 
                }
                if (!datoValidar($("txtNombre").value, 4)) { 
                    $("txtNombre").focus(); return false; 
                }
                if (!datoValidar($("txtApellido").value, 5)) { 
                    $("txtApellido").focus(); return false; 
                }               
                if (!datoValidar($("txtEmail").value, 6)) {	
                    $("txtEmail").focus(); return false; 
                }
                if (!datoValidar($("txtEmailConfirmar").value, 7)) { 
                    $("txtEmailConfirmar").focus(); return false; 
                }
               
                // validamos el formato del email ingresado
                if (!valEmail($("txtEmail"))) { return false; }
                if (!valEmail($("txtEmailConfirmar"))) { return false; }
                
                if ($("txtEmail").value != $("txtEmailConfirmar").value){ 
					alert(msgEmailNoIgual);
					$("txtEmailConfirmar").value = "";
					$("txtEmailConfirmar").focus();
					return false;
				}
				
				// si el usuario es prescriptor, verificamos que tenga ingresado una cantidad
				if ($('chkSi').checked)
				    if (!valNumero($('txtCuanto'))){ return false; }
				
				if (!datoValidar($("txtDNI").value, 13)){
				    $("txtDNI").focus(); return false;
				}
				
				if (!datoValidar($("txtFono").value, 14)){
				    $("txtFono").focus(); return false;
				}
				
				// validamos que exista un centro seleccionado
				if (!valCodigoPostal($('txtCP'))){ return false; }
				
				//if ($('sltCentro').selectedIndex == -1){
				if ($('sltCentro').options[$('sltCentro').selectedIndex].value == -1){
				    alert(msgCentro); return false;
				}else if (!$('txtCentro').disabled){
				    if (($("txtCentro").value.length == 0) || ($("txtCentro").value.length < 5)){
				        alert(msgCentroNombre);
				        $("txtCentro").focus(); return false; 
				    }
				    if (($("txtDireccion").value.length == 0) || ($("txtDireccion").value.length < 5)){
				        alert(msgCentroDireccion);
				        $("txtDireccion").focus(); return false; 
				    }
				    if (($("txtPoblacion").value.length == 0) || ($("txtPoblacion").value.length < 3)){
				        alert(msgCentroPoblacion);
				        $("txtPoblacion").focus(); return false; 
				    }
				    if (($("txtProvincia").value.length == 0) || ($("txtProvincia").value.length < 5)){
				        alert(msgCentroProvincia);
				        $("txtProvincia").focus(); return false; 
				    }
				    
                    /*
				    if (!funDatoLargoValidar($("txtCentro"), 5, 50, 9)) { 
                        $("txtCentro").focus(); return false; 
                    }
                    if (!funDatoLargoValidar($("txtDireccion"), 5, 50, 10)) { 
                        $("txtDireccion").focus(); return false; 
                    }
                    if (!funDatoLargoValidar($("txtPoblacion"), 3, 50, 11)) { 
                        $("txtPoblacion").focus(); return false; 
                    }
                    if (!funDatoLargoValidar($("txtProvincia"), 5, 50, 12)) { 
                        $("txtProvincia").focus(); return false; 
                    }
                    */
				}		
                
                // verifica que el usuario este de acuerdo con las políticas de privacidad
                if (!$("Politica").checked) {	alert(msgPolitica); return false; }
                
                // verificamos si existe seleccionada una opción de asignatura y curso principal
                var oAsignatura = $("sltAsignaturaPrincipal");
                var oCurso =  $("sltCursoPrincipal");
                    
                if (oAsignatura.selectedIndex == -1)
                { alert(msgAsignaturaPrincipal); return false; }
                else if (oAsignatura.options[oAsignatura.selectedIndex].text==msgElegirMateria)
                { alert(msgAsignaturaPrincipal); return false; }
                 
                if (oCurso.selectedIndex == -1)
                { alert(msgCursoPrincipal); return false; }
                else if (oCurso.options[oCurso.selectedIndex].text==msgElegirCurso)
                { alert(msgCursoPrincipal); return false; }
                    
                // -------------------- termino de validacion ------------------------------
            
                return true;
            }
            
            
            
            // carga en un array la información de registro para poder pasar la informacion 
            // encapsulada en el array a la rutina de ajax con la cual se trabajara
            function funDatoRegistroCargar(){
                var xmlRegistro = '<root>';
                xmlRegistro += '<usuario>' + $('txtUsuario').value + '</usuario>';
                xmlRegistro += '<clave>' + $('txtClave').value + '</clave>';
                xmlRegistro += '<nombre>' + $('txtNombre').value + '</nombre>';
                xmlRegistro += '<apellidos>' + $('txtApellido').value + '</apellidos>';
                xmlRegistro += '<email>' + $('txtEmail').value + '</email>';
                xmlRegistro += '<dni>' + $('txtDNI').value + '</dni>';
                xmlRegistro += '<fono>' + $('txtFono').value + '</fono>';

                if ($('chkNo').checked) { xmlRegistro += '<cantidad>0</cantidad>'; }
                else { xmlRegistro += '<cantidad>' + $('txtCuanto').value + '</cantidad>'; }
                
                xmlRegistro += '<codigo_postal>' + $('txtCP').value + '</codigo_postal>';
                xmlRegistro += '<centro>' + $('sltCentro').options[$('sltCentro').selectedIndex].value + '</centro>';
                
                var sCentro = (!$('txtCentro').disabled) ? $('txtCentro').value : '';
                var sDireccion = (!$('txtDireccion').disabled) ? $('txtDireccion').value : '';
                var sPoblacion = (!$('txtPoblacion').disabled) ? $('txtPoblacion').value : '';
                var sProvincia = (!$('txtProvincia').disabled) ? $('txtProvincia').value : '';

                xmlRegistro += '<centro_nombre>' + sCentro + '</centro_nombre>';
                xmlRegistro += '<centro_direccion>' + sDireccion + '</centro_direccion>';
                xmlRegistro += '<centro_poblacion>' + sPoblacion + '</centro_poblacion>';
                xmlRegistro += '<centro_provincia>' + sProvincia + '</centro_provincia>';
             
                xmlRegistro += '</root>';
                
                return xmlRegistro;
            }
            
            // cargamos la información de los cargos que el usuario ostenta
            function funDatoCargoObtener(){
				
				var obj = $("dvCargo");
                var lista = obj.getElementsByTagName('input');
                
                var xmlCargo = "<root>";
                
                for(i=0;i<lista.length;i++) {
					if (lista[i].type=='checkbox'){
						if (lista[i].checked) {
							xmlCargo += "<" + lista[i].value + " codigo='" + lista[i].id + "'>";
							xmlCargo += lista[i].value + "</" + lista[i].value + ">";
						}
                    }
                }
                
                xmlCargo +="</root>"
				return xmlCargo;
            }
            
            function funDatoAsignaturaCargar(){

                var obj = $("tblAsignatura");
                var lista = obj.getElementsByTagName('select');
                
                var xmlAsignatura = "<root>";
                
                var idAsignatura = $("sltAsignaturaPrincipal").selectedIndex;
                var idCurso = $("sltCursoPrincipal").selectedIndex;
                //seccion asignatura principal
				xmlAsignatura += "<" + $("sltAsignaturaPrincipal").options[idAsignatura].value;
				xmlAsignatura += " curso='" + $("sltCursoPrincipal").options[idCurso].id + "'";
				xmlAsignatura += " asignatura='" + $("sltAsignaturaPrincipal").options[idAsignatura].id + "'";
				xmlAsignatura += " principal='1'>" + $("sltAsignaturaPrincipal").options[idAsignatura].value;
				xmlAsignatura += "</" + $("sltAsignaturaPrincipal").options[idAsignatura].value + ">";
				
				// asignaturas opcionales definidas por curso
				var sId = "";
				var idAsignatura = "";
				var idCurso = "";
				for(i=0;i<lista.length;i++) {
				    if (lista[i].id!='sltAsignaturaPrincipal' && lista[i].id!='sltCursoPrincipal'){
					
						// verificamos que no exista una selección de 
						// asignatura sin registro o viseversa
						if (lista[i].id == sAsignatura || lista[i].id == sCurso ){
							var aTxt = $(sAsignatura).options[$(sAsignatura).selectedIndex].text;
							var cTxt = $(sCurso).options[$(sCurso).selectedIndex].text;
							
							if (aTxt == '' && cTxt != ''){
								xmlAsignatura = "1";
								break;
							}else if (aTxt != '' && cTxt == ''){
								xmlAsignatura = "2";
								break;
							}		
						}
						
						if (lista[i].id != sAsignatura && lista[i].id != sCurso){
							// rescatamos la información de registro
							if (lista[i].id.split('Asignatura-')[1]){
							    if (lista[i].value == ''){ 
						            xmlAsignatura = "1";
							        break;
					            }else if (lista[i].id != ''){
								
                                    idCurso = (lista[i].id.split('Asignatura-')[1]).split('-')[1];
									idAsignatura = (lista[i].id.split('Asignatura-')[1]).split('-')[2];
									
									xmlAsignatura += "<" + lista[i].value ;
									xmlAsignatura += " curso='" + idCurso + "'";
									xmlAsignatura += " asignatura='" + idAsignatura + "'";
									xmlAsignatura += " principal='0'>" + lista[i].value;
									xmlAsignatura += "</" + lista[i].value + ">";
									
									// definido para el control de asignatura y curso duplicados (solo se guarda una vez)
									for(j=i+1;j<lista.length;j++){
										if (lista[i].id.split('Asignatura-')[1] == lista[j].id.split('Asignatura-')[1]){
											lista[j].id = "";
										}
									}
								}
							}
						}
                    }
				}
				
				// creado para administrar los mensajes
				if (xmlAsignatura == '1')
					xmlAsignatura = '1'; 
				else if (xmlAsignatura == '2') 
					xmlAsignatura = '2'; 
				else
					xmlAsignatura += "</root>"; 
					
                return xmlAsignatura;
            }
            
            
             //permite validar los campos de texto
            function datoValidar(dato, opcion) {
                if (dato==''){
                    switch(opcion) {
					  case 1: alert(msgUsuario);
					          return false;
					  case 2: alert(msgClave);
					          return false;
					  case 3: alert(msgSexo);
					          return false;
					  case 4: alert(msgNombre);
					          return false;
					  case 5: alert(msgApellido);
					          return false;
					  case 6: alert(msgEmail);
					          return false;	
					  case 7: alert(msgEmailConfirma);
					          return false;	
					  case 8: alert(msgClaveConfirmar);
							  return false;	
					  case 9: alert(msgCentroNombre);
					          return false;
					  case 10: alert(msgCentroDireccion);
					           return false;
					  case 11: alert(msgCentroPoblacion);
					           return false;
					  case 12: alert(msgCentroProvincia);
					           return false;   
					  case 13: alert(msgDNI);
					           return false;  
					  case 14: alert(msgFono);
					           return false;        
					  default: break;
			        }
			    }
			    return true;
            }
            
            // permite validar el chekbox de sexo, masculino o femenino
            function datoSexoValidar(){
                if (!$("sMujer").checked && !$("sHombre").checked) {
                    alert(msgSexo);
                    return false;
                }
                return true;
            }
            
            // selecciona y deselecciona los chequec cuando se cambia de opcion
            function sexoChecked(opcion){
                switch(opcion) {
                    case 1: $("sMujer").checked = false;
                            $("sHombre").checked = true;
                            return false;
                            break;
                    case 2: $("sHombre").checked = false
                            $("sMujer").checked = true;
                            return false;
                            break;
                    default: break;
                }
            }
            
            function prescribeChecked(opcion){
                switch(opcion){
                    case 1: $('chkSi').checked = false;
                            $('chkNo').checked = true;
                            break;
                    case 2: $('chkNo').checked = false;
                            $('chkSi').checked = true;
                            break;
                    default: break;
                }
            }
            
            // validar si almenos uno de los checkbox de asignaturas 
            // impartidas se encuentra seleccionado
            function asignaturaValidar(){
                var contador = 0;
                var obj = $("cont_registro");
                var lista = obj.getElementsByTagName('input');
                
                for(i=0; i<lista.length; i++) {
					if (lista[i].type=='checkbox' && (lista[i].id!='Politica' &&
						lista[i].id!='sMujer' && lista[i].id!='sHombre')){
						if (lista[i].checked){ contador +=1; }
					}
                }
                
                if (contador==0) {
                    alert(msgAsignatura);
                    return false;
                }
                return true;
            }
/******************************************************************************************************/            
/************************************** añadido como parametro "objeto" incidencia 56351***************/ 
/******************************************************************************************************/
            function registroCerrar(objeto){
                iContador -= 1;
				
				if (!uCnx) { loginOutMonitor(); } 
				
				if (objeto.id == 'cont_registro'){
				    nCursoAsignatura = 0;
					$('nregistro').value = nInicio;
				}
				if (iContador==0){
				    flashHabilitarInhabilitar("FlashHome1", "block");
					flashHabilitarInhabilitar("flashBanner", "block");
					flashHabilitarInhabilitar("favFlash", "block");
					flashHabilitarInhabilitar("contenidos", "block");
    					
					selectHabilitarInhabilitar("busq_avanzada", "block");
					selectHabilitarInhabilitar("busq_avanzada_home_new", "block");
				}
    				
				noSelect('tblCuerpo');
    				
				var obj = document.getElementById(objeto);
                var objPadre = obj.parentNode;
                    
                // eliminamos el elemento de la interfaz
                objPadre.removeChild(obj);
            }
            
            function selectHabilitarInhabilitar(contenedor, opcion){
				if ($(contenedor)!=null){
					var obj = document.getElementById(contenedor);
					var lista = obj.getElementsByTagName('select');
	                
					for(i=0;i<lista.length;i++) {
						lista[i].style.display = opcion;
					}
                }
            }
            
            function flashHabilitarInhabilitar(flash, opcion){
				if ($(flash)!=null){
					$(flash).style.display = opcion;
				}
            }
            
            // realizamos la validación de centros con el id definido por el usuario
            function getCentroValidar(){
				
				if (!datoValidar(document.getElementById("txtCentro").value, 3)) { 
                    $("txtCentro").focus();
                }else {
					AJAXPro.PortalWeb.Frontal.getCentroValidar($("txtCentro").value, getCentroValidar_callback);
				}
            }
            
            function getCentroValidar_callback(res){
				if (res.error){
					alert(res.error.Message);
				}else{
					if (res.value.nombre=='' && res.value.direccion==''){
						alert(msgCentroError);
					}
					else{
						$("fNombre").innerHTML = res.value.nombre;
						$("fDireccion").innerHTML = res.value.direccion;
					}
				}
            }            
            
            // llamada a la función que se encuentra dentro del espacio de nombre 
            // declarado para trabajar con ajax en el servidor
            function registroInsertar(datoRegistro, datoAsignatura, datoCargo, opcion){
                //alert(opcion);
                if (opcion==1)
		            AJAXPro.PortalWeb.Frontal.datoRegistroInsertarModificar(datoRegistro, datoAsignatura, datoCargo, registro_callback);
		        else if (opcion==2)
		            AJAXPro.PortalWeb.Frontal.datoRegistroInsertarModificar(datoRegistro, datoAsignatura, datoCargo, regModificar_callback);
		        else if (opcion==3)
		            AJAXPro.PortalWeb.Frontal.datoRegistroInsertarIngreso(datoRegistro, datoAsignatura, datoCargo, regInsertar_callback);
		    }
		       
		    // función de retorno de información, segun la cual se hará una acción             
		    function registro_callback(res){
		        if (res.error){
		            alert(res.error.Message);
		        }
		        else {
					alert(msgRegistro);
    		        if (res.value){
    					// si esta definido el envío de correo, el usuario no entrará 
    					// automáticamente a la aplicación, ya que se le enviará un 
    					// correo de confirmación, con el cual podrá ingresar
    					if (ActivacionRegistroEmail){
    						// en el caso de que se encuentre habilitada la opción de envío de correo 
    						// electrónico, no se debe redireccionar a la página de mis favoritos, 
    						//registroCerrar('cont_registro');
    						window.location.reload(urlRaiz);
    					}
    					else{
    						// llamamos a la función de login para que se inicie la session de usuario
	    					login(document.getElementById("txtUsuario"), document.getElementById("txtClave"));
	    	            }
		            }  
		        }           
            }
            
            
            function regInsertar_callback(res){
                if (res.error!=null){
                    alert(msgError + ' \n\r' + res.error.Message);
                }else{
                    alert(msgRegistroInsertar);
                    if (res.value){
                        registroCerrar('cont_registro');
                    }
                }
            }
            
            function regModificar_callback(res){
		        if (res.error){
		            alert(msgError + ' \n\r' + res.error.Message);
		        }else {
    				alert(msgRegistroModificar);
    		        if (res.value){
    		            // llamamos a la función de login para que cierre la capa desplegada
	    	            registroCerrar('cont_registro');
		            }  
		        }           
            }            
            
            // llama a la función que permite realizar automáticamente el 
            // envio de correo con la claves y password correspondiente
            function claveObtener(oEmail, oEmail2){
				// validación del email ingresado
				if (oEmail.value=='') { alert(msgEmail); oEmail.focus(); }
				if (oEmail2.value=='') { alert(msgEmail); oEmail2.focus(); }
				else { 
					if (valEmail(oEmail)) { 
						if (oEmail.value!=oEmail2.value){
							alert(msgEmailNoIgual);
						}else{
							// llamada a la función de envío de usuario y clave
							AJAXPro.PortalWeb.Frontal.getRecuperarDatos(oEmail.value, idPortal, claveObtener_callBack);
						}
					}
				}
            }
            
            function claveObtener_callBack(res){
				if (res.error){
					alert (msgError + '\n\r' + res.error.Message);
				}else{
					if (res.value){
						alert(msgEmailConfEnvio);
						window.location.href = urlRaiz;
					}
					else{
						alert(msgEmailNoExiste);
					}
				}
            }
            
            // permite realizar el despliegue del template que se desea visualizar
            function capaDesplegar(tbody, boton, opcion){
				// obtenemos desde la tabla que despliega la información el numero de páginas
				
				
				var numPagina = document.getElementById("tabla_resultado").getAttribute("tbody_cantidad");
				
				// ocultamos todas las páginas existentes 
				for (i=1; i <= numPagina; i++){
					document.getElementById("result_carpeta_p" + i).style.display="none";
				}
				
				// desplegamos el objeto que se va a mostrar 
				document.getElementById(tbody).style.display="block";
				
				// cambiamos los colores de los botones para que el usuario sepa en donde se encuentra
				for (i=1; i<=numPagina; i++){
					document.getElementById("boton_" + i + "_1").className = "paginacionQuery";
					document.getElementById("boton_" + i + "_2").className = "paginacionQuery";
				}
				
				// se cambia el color del boton que despliega la información actual
				document.getElementById(boton + "_1").className="paginacionQuerySelected";
				document.getElementById(boton + "_2").className="paginacionQuerySelected";
				
				if (opcion==null)
					document.location.href = "#anclaDetalle";
				
			}	
			
            // ----------------------------- Validacion de Formato de Fecha -----------------------------------------
            function esDigito(sChr){
                var sCod = sChr.charCodeAt(0);
                return ((sCod > 47) && (sCod < 58));
            }
            
            function valSep(oTxt){
                var bOk = false;
                bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
                bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
                return bOk;
            }
            
            function finMes(oTxt){
                var nMes = parseInt(oTxt.value.substr(3, 2), 10);
                var nRes = 0;
                switch (nMes){
                    case 1: nRes = 31; break;
                    case 2: nRes = 29; break;
                    case 3: nRes = 31; break;
                    case 4: nRes = 30; break;
                    case 5: nRes = 31; break;
                    case 6: nRes = 30; break;
                    case 7: nRes = 31; break;
                    case 8: nRes = 31; break;
                    case 9: nRes = 30; break;
                    case 10: nRes = 31; break;
                    case 11: nRes = 30; break;
                    case 12: nRes = 31; break;
                }
                return nRes;
            }
            
            function valDia(oTxt){
                var bOk = false;
                var nDia = parseInt(oTxt.value.substr(0, 2), 10);
                bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
                return bOk;
            }
            
            function valMes(oTxt){
                var bOk = false;
                var nMes = parseInt(oTxt.value.substr(3, 2), 10);
                bOk = bOk || ((nMes >= 1) && (nMes <= 12));
                return bOk;
            }
            
            function valAno(oTxt){
                var bOk = true;
                var nAno = oTxt.value.substr(6);
                
                var fAnio = new Date();
                
                // valida año actual
                if (nAno >= fAnio.getFullYear()){
					bOk = false;
                }else {
					if (nAno < 1800){
						bOk = false;
					}else{	                
						//bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
						bOk = bOk && (nAno.length == 4);
						if (bOk){
							for (var i = 0; i < nAno.length; i++){
								bOk = bOk && esDigito(nAno.charAt(i));
							}
						}
					}
				}
                return bOk;
            }
            
            // función que se llama para validar fecha de nacimiento
            function valFecha(oTxt){
                var bOk = true;
                if (oTxt.value ==""){
					alert(msgFechaValidar);
                }else{
                    bOk = bOk && (valAno(oTxt));
                    bOk = bOk && (valMes(oTxt));
                    bOk = bOk && (valDia(oTxt));
                    bOk = bOk && (valSep(oTxt));
                    if (!bOk){
                        alert(msgFechaValidar);
                        //oTxt.value = "";
                        oTxt.focus();
                    }
                }
                return bOk;
            }
            
            function funDatoLargoValidar(oDato, iInicio, iFin, opcion){
                var txt = oDato.value;
				var validar = 0;
				var filter =/^\w+([-+.+1+2+3+4+5+6+7+8+9+0]\w+)*$/;
				
				// validamos que el largo se cumpla
				if (txt.length < iInicio || txt.length > iFin) { validar = 1; }
				
				// validamos que no existan caracteres no deseados
				if ( opcion > 3 ) { 
				    
				}
				
				if (!filter.test(txt)){	validar = 1; }

				// desplegamos el mensaje correspondiente al texto asociado
				if (validar==1){
					switch(opcion) {
					  case 1: alert(msgUsuario);
					          return false;
					  case 2: alert(msgClave);
					          return false;
					  case 3: alert(msgClaveConfirmar);
					          return false;
					  case 9: alert(msgCentroNombre);
					          return false;
					  case 10: alert(msgCentroDireccion);
					           return false;
					  case 11: alert(msgCentroPoblacion);
					           return false;
					  case 12: alert(msgCentroProvincia);
					           return false;
					  default: break;
			        }
				}
				return true;
            }
            
             // ------------------------------------- Validación de correo -------------------------------------------
            function valEmail(oEmail){
                var bOk = true;
                var s = oEmail.value;
                               
                // se define una expresion regular con la cual se evaluará el formato del email
                var filter=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
                
                // verificamos que el email cumpla con el formato requerido
                if (!filter.test(s)){ 
                    alert(msgEmailValidar);
                    oEmail.value="";
                    oEmail.focus();
                    bOk = false; 
                }
                
                return bOk;
            }
            
            // ------------------------------------- Validación de teléfono -------------------------------------------
            function valTelefono(oTelefono){
                var bOk = true;
                var s = oTelefono.value;
                
                // se define una expresion regular con la cual se evaluará el formato del teléfono
                var filter =/^\d{2}-\d{3}-\d{4}$/;
                
                // verificamos que el telefono cumpla con el formato requerido
                if (!filter.test(s)){
                    alert(msgTelefonoValidar);
                    oTelefono.focus();
                    bOk = false; 
                }
                return bOk;
            }
            
            
            // ------------------------------------- Validación de texto ---------------------------------------------
            function valTexto(oTexto){
				var bOk = true;
				/*var s = oTexto.value;
				
    			var filter =/^[\w+.+ +'+1+2+3+4+5+6+7+8+9+0+á+é+í+ó+ú+Á+É+Í+Ó+Ú+à+è+ì+ò+ù+À+È+Ì+Ò+Ù+ñ+Ñ+º+,+;+-+ä+ë+ï+ö+ü]$/;

				if (oTexto.value==''){
					alert(msgTextoVacio + oTexto.id);
					oTexto.focus();
					bOk = false;
				}else{
					if (!filter.test(s)){
						alert(msgTextoFallido + " " + oTexto.id);
						oTexto.focus();
						bOk = false;
					}	
				}	*/		
				return bOk;
            }
            
            // ------------------------------- Validacion de Codigo Postal Español -----------------------------------
            function valCodigoPostal(oCp){
                var bOk = true;
                var s = oCp.value;
                
                var filter =/^\d{5}$/;

                if (oCp.value == ''){
                    alert(msgCP);
                    oCp.focus();
                    bOk = false;
                }else{
                    if (!filter.test(s)){
                        alert(msgCP);
                        oCp.focus();  
                        bOk = false;                 
                    }                    
                }
                return bOk;
            }
            
            // ------------------------------------ Validación de números --------------------------------------------
            function valNumero(oNumero){
                var bOk = true;
                var s = oNumero.value;
                
                var filter =/^\d{1}$/;
                
                if (oNumero.value == ''){
                    alert(msgNumero);
                    oNumero.focus();
                    bOk = false;
                }else{
                    for (i=0; i<s.length; i++){
                        if (!filter.test(s.charAt(i))){
                            alert(msgNumero);
                            oNumero.focus();
                            bOk = false;
                            break;
                        }
                    }
                }
                return bOk;
            }   
            
            // descarga de archivos de documentos
            function funArchivoDescarga(sfile){
			
				var fDownload = document.getElementById("frmDescargas");
				var arcfile = document.getElementById("fileToDown");

                try{
				    arcfile.value = sfile;
				
				    fDownload.submit();			
				} catch (ex){}
			}
            
            // -------------------------------------------------------------------------------------------------------
            
            
            
    //MR-----------------------------------------------------------------------------------------------------------------

    function go(){
        location=temp.options[temp.selectedIndex].value
    }
            
    function anotarTipo(activo,cadena) {
	    var sep="";
	    if ($("restriccion_1943814621").value.length > 0)
		    sep=", ";
            		
	    if (activo){
		    $("restriccion_1943814621").value=$("restriccion_1943814621").value + sep + cadena;
	    }else{
		    $("restriccion_1943814621").value=$("restriccion_1943814621").value.replace(', ' + cadena,'');
		    $("restriccion_1943814621").value=$("restriccion_1943814621").value.replace(cadena+ ', ' ,'');
		    $("restriccion_1943814621").value=$("restriccion_1943814621").value.replace(cadena,'');
	    }
    }

	// -------------------------------------------------------------------------------------------------------------
	// -------------------------------------------------------------------------------------------------------------

	        var nbTooltips = 0;

	        function verTooltip(bt, ev){

		        if (ev == null) ev = window.event; // IE sucks!
        		
		        //alert (ev);

		        nbTooltips += 1;	
        		
		        var root = document.documentElement || document.body;
		        var x = ev.clientX;
		        var y = ev.clientY;
        		
		        alert (x + ", " + y)
        		
		        new Rico.Effect.Position('divToolTip', x, y, 1, 1, 
			        {complete:function(){
				        new Rico.Effect.FadeTo( 'divToolTip',.1,500,10,
				        {complete:function(){
					        $('divToolTip').style.display = "block";
					        $('divToolTip').innerHTML = bt.getAttribute("tooltip");
					        new Rico.Effect.FadeTo( 'divToolTip',.9,500,10);
					        setTimeout(clearTooltip, 5000);
					        }});
			        }});
	        }

	        function clearTooltip(){
		        if (nbTooltips != 1){
			        nbTooltips -= 1;
		        }else{
			        new Rico.Effect.FadeTo( 'divToolTip',.1,500,10,
				        {complete:function(){
					        $('divToolTip').style.display = "none";
				        }});
			        nbTooltips -= 1;
		        }
	        }

	        function findPosX(obj) {
	            var curleft = 0;
		        if (obj.offsetParent) {
		            while (obj.offsetParent) {
			            curleft += obj.offsetLeft
				        obj = obj.offsetParent;
			        }
		        }
		        else if (obj.x)
				        curleft += obj.x;
		        return curleft;
	        }
	        
	         function findPosY(obj) {
	            var curtop = 0;
		        if (obj.offsetParent) {
		            while (obj.offsetParent) {
			            curtop += obj.offsetTop
				        obj = obj.offsetParent;
			        }
		        }else if (obj.y)
				        curtop += obj.y;
	            return curtop;
	        }

	        function noSelect(zona){

		        var navegador = navigator.appName ;
		        var sNavegador = "Microsoft Internet Explorer";
        		
		        var ie60= navigator.appVersion.indexOf("MSIE 6.0", navigator.appVersion.length); 
        		
		        if (navegador == sNavegador && ie60 ==-1) {  

			        if ($(zona)!=null){
				        var selects = $(zona).getElementsByTagName("SELECT");
				        for (i=0; i < selects.length; i++){
					        if (selects[i].style.visibility == "hidden"){
						        selects[i].style.visibility = "visible"
					        }else{
						        selects[i].style.visibility = "hidden";
					        }
				        }
			        }
		        }
	        }
	        
	        var tiempo = 0;
            
           
           