﻿// Archivo JScript

// ------------------------------------------------------------------------------------------------
// ------------------------------------- inicio Comunes -------------------------------------------
// ------------------------------------------------------------------------------------------------

function toogleSubmenu(id) {
    var curState = $(id).style.display;
    $(id).style.display = (curState == 'none' ? 'block' : 'none');
}

function getPage(){
    var tempurl1 = document.location.href;
	while (tempurl1.indexOf("/")>=0){
	    tempurl1 = tempurl1.substring(tempurl1.indexOf("/")+1);
	}
	tempurl1 = tempurl1.substring(0,tempurl1.indexOf("."));
	return tempurl1;
}
    
function default_callback(res) {
    if(checkAjaxError(res.error)) {
        return;
    }	

    if (res.context != null) {
        res.context.innerHTML = res.value;
              
        // agregado solo para el despliegue de lapiz cuando exista un link
        if ($('hdLink') != null && $('aLapiz') != null ) {
            $('aLapiz').href = $('hdLink').value;
            $('aLapiz').style.display = 'block';
        }
    }
}
          
function fnRecursosVer(opcion){
          
    if ($('recursos_col') != null) {
        if (opcion == 1){
            $('recursos_col').style.display = 'none';
            $('recursos_col').style.width = '0';
        }else{
            $('recursos_col').style.width = "280px";
            $('recursos_col').style.display = "block";
        }
              
        if ($('contenidos') != null) { $('contenidos').style.width = '100%'; }
        if ($('comentarios') != null) { $('comentarios').style.width = '100%'; }
    }
}
          
// ------------------------------------------------------------------------------------------------
// ---------------------------------------- fin Comunes -------------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------- Inicio Contenido de Presentacion -------------------------------
// ------------------------------------------------------------------------------------------------

/* se ha duplicado la función, ya que, el template de servicios comtempla un div en el lado
   derecho, en donde se debe desplegar la información asociada, adicionalmente, es posible
   que deba manejarse el despliegue de los servicios debido a que existe otro div en la parte
   izquierda del template definido. */
function getContenidoPresentacion(capa)  {
    if($(capa) != null) {
        AJAXPro.PortalWeb.Frontal.getContenidoPresentacion(idPortal, idMenu, idRama, idPaginaHome, 
                                                           idServicio, tipoPagina, 
                                                           getContenidoPresentacionCapa_callback, 
                                                           $(capa));
    }
}

function getContenidoPresentacionCapa_callback(res){
    res.context.innerHTML=res.value;
						
    if ($("logadoContPrese") != null)   {    
	    if ($("logadoContPrese").innerHTML == "YES") {
		    ejecutarQueryURL('recursosMasValoradosLibro', 'libro_recursos_valorados');
			var paginacp =document.location.href;
			if (paginacp.indexOf(sContenido + "/")>=0){
			    paginacp = sContenido + "/" + getPage(); 
			}else{
			    paginacp = getPage();
			}
			
			getRecursosMasGuardado(paginacp, 'documentos', 'libro', 
                                   $("restriccion_1169499954").value, '0', 
                                   'libro_recursos_guardados');
		}else {
            if ($('recursos_col') != null || $('divtemp') != null){
                getDestacadosURL(sNoticia, 1);                    
            }
        }
    }else{
	    $("principal").innerHTML = res.value;
	}
}         

// ------------------------------------------------------------------------------------------------
// --------------------------------- fin Contenido de Presentacion --------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ---------------------------- inicio Contenido de Presentacion servicio -------------------------
// ------------------------------------------------------------------------------------------------

function getContenidoPresentacionServicio() {
    if($("recursos_col") != null) {
        fnRecursosVer(2);
        AJAXPro.PortalWeb.Frontal.getContenidoPresentacion(idPortal, idMenu, idRama, idPaginaHome, 
                                                           idServicio, tipoPagina, 
                                                           getContenidoPresentacion_callback, 
                                                           $("recursos_col"));
    }
}

function getContenidoPresentacion_callback(res) {
    if (res.value==null && res.value==''){
        return;
    }
            
    if (tipoPagina == 1){
        $("divtemp2").innerHTML=res.value;
        $("homefoto").style.visibility="visible"; 
        $("homefoto").src= $("urlDisplayImg").innerHTML;
    }else{
        res.context.innerHTML = res.value;
    }
}

// obitene desde un idcmscontenido donde esta como contenido de presentacion
function getURLContenidoPresentacion(idcmscontenido, capa){
    AJAXPro.PortalWeb.Frontal.getURLContenidoPresentacion(idcmscontenido, 
                                                          UrlContPresen_callback, 
                                                          $(capa));
}

function UrlContPresen_callback(res){
    $("URLContPres").innerHTML = "<a href=" + res.value + ">>></a>";
	$("AURLContPres").href = res.value;
    fnRecursosVer(2);
 	$("recursos_col").innerHTML=$("libroRecursosRed").innerHTML;
}

// ------------------------------------------------------------------------------------------------
// ----------------------------- fin Contenido de Presentacion servicio ---------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// --------------------------------------- inicio Destacados --------------------------------------
// ------------------------------------------------------------------------------------------------

function getDestacados()  {
    if($("actualidad") != null) {
        AJAXPro.PortalWeb.Frontal.getDestacados(idPortal, idMenu, idRama, idPaginaHome, 
                                                tipoPagina, urlback, destacados_callback, 
                                                $("actualidad"));
    }
}

function destacados_callback(res) {
    if (res.value==null && res.value==''){
        alert("error");
        return;
    }

    if (res.context != null) {
        // modificado por mario roa (cambio de orden de if else)
        if (tipoPagina!=4){
            res.context.innerHTML = res.value;
        }else{
            $("divtemp3").innerHTML=res.value;

            if (pasadaAjax==0){
                //para las noticias destacado home
                idMenu=3;
                tipoPagina=1;
                idRama=$("destHome").innerHTML;
                pasadaAjax=1;
                getDestacados();
            }
        }
    }
}

function getDestacadosCapa(capa)  {
    if($(capa) != null) {
        AJAXPro.PortalWeb.Frontal.getDestacados(idPortal, idMenu, idRama, idPaginaHome, 
                                                tipoPagina, urlback, default_callback, 
                                                $(capa));
    }
}

/* se debe realizar una función de despliegue para destacados url de servicios, 
   ya que esta debe considerar las opciones que se pueden presentar si no existe
   contenidos de presentación asociados */
function getDestacadosURL(idURL, idTipoPagina)  {
    AJAXPro.PortalWeb.Frontal.getDestacadosURL(idPortal, idURL, idTipoPagina, urlback, 
                                               destacadosUrl_callback, $("recursos"));
}

function getDestacadosURLServicio(idURL, idTipoPagina)  {
    fnRecursosVer(2);
    AJAXPro.PortalWeb.Frontal.getDestacadosURL(idPortal, idURL, idTipoPagina, 
                                               urlback, destacadosUrl_callback, $("recursos_col"));
}

function destacadosUrl_callback(res) {
    if (res.value==null && res.value==''){
        alert("error");
        return;
    }
	
	// MR - tipoPagina == 3 para atender las opciones que se llaman desde servicios
    if(tipoPagina == 2 || tipoPagina == 3){
        if ($("recursos_col") != null) {  
            fnRecursosVer(2);
            $("recursos_col").innerHTML = res.value;
        }else {
            fnRecursosVer(2);
            $("recursos").innerHTML = res.value;
        }
    }else{
        if ($("divtemp") != null) {
		    $("divtemp").innerHTML = res.value;
             
            if ($("idRamaHome")== null ) {
                if ($("libro_recursos_guardados") != null) {
                    $("libro_recursos_guardados").innerHTML = res.value;
                    $("libro_recursos_guardados").className = "actualidad_barra_lateral";
                    $("tdIzquierdo").className = "";
                }
            }else{
	            idRama=$("idRamaHome").innerHTML;
	            idContenido=$("preHome").innerHTML;
	            AJAXPro.PortalWeb.Frontal.getContenido(idPortal, idMenu, 
                                                       idRama, idContenido, urlback,
                                                       default_callback, $("recursos"));
            }
        }
    }
}

// ------------------------------------------------------------------------------------------------
// ---------------------------------------- fin Destacados ----------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ---------------------------------- inicio Actualidad Educativa ---------------------------------
// ------------------------------------------------------------------------------------------------

function getActualidadEducativa(capa)  {
    AJAXPro.PortalWeb.Frontal.getDestacados(idPortal, idMenu, idRama, idPaginaHome, 
                                            tipoPagina, urlback, getActualidadEducativa_callback, 
                                            $(capa));
}

function getActualidadEducativa_callback(res){
    if(checkAjaxError(res.error)) {
        return;
    }	

	if (res.context != null) {
        res.context.innerHTML = res.value;				                    
	                    
        $('tdIzquierdo').style.display = "none";
		$('divDestacados').style.display = "none";
		$('divActualidad').style.display = "block";		
							
		capaDesplegar('result_carpeta_p' + npagina, 'boton_' + npagina, '');
		
    }
}

// ------------------------------------------------------------------------------------------------
// ------------------------------------ fin Actualidad Educativa ----------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ---------------------------------------- inicio contenido --------------------------------------
// ------------------------------------------------------------------------------------------------

function getContenido()  {
    if (opcContenido){
	    AJAXPro.PortalWeb.Frontal.getContenido(idPortal, idMenu, idRama, idContenido, urlback,
	                      					   contenido_callback, $("item"));
	}else{
	    AJAXPro.PortalWeb.Frontal.getContenidoNoPublico(idPortal, idContenido, idRama, urlback, 
		 								                getContenido_callback, $("contenidos"));

		AJAXPro.PortalWeb.Frontal.getContenido(idPortal, idMenu, idRama, idContenido, urlback,
	                     					   contenido_callback, $("galeria"));
		getComentarios();
	}
}

function getContenido_callback(res){
    if (res.error==null){ res.context.innerHTML = res.value; }
    else{
	    alert(res.error.Message);
		return false;
	}
}

function contenido_callback(res) {
    if (res.value==null && res.value==''){
        return;
    }

	if (!opcContenido){
	    res.context.innerHTML = res.value;
	}else{	
        if (pasadaAjax==1){
		    $("recursos").innerHTML=res.value;
		}else{
		    $("divtemp3").innerHTML=res.value;
                
            if ($("tipoContenido") == null ){
                $("contenidos").innerHTML = res.value;
                if ($("comentario") != null){ getComentarios(); }                      
            }else{
                if ($("tipoContenido").innerHTML != '7'){
		            $("contenidos").innerHTML=res.value;
		            if ($("tipoContenido").innerHTML == '16'){
			            getURLContenidoPresentacion(idContenido, "divtemp3");
		            }  
	                if ($("comentario") != null){ getComentarios(); }
                }else{
                      
		            /*Pantalla de query publicadas, Tenemos que simular la arquitectura de pantalla de ramas*/
                    var tempQP = "<table>" + 
                                 "  <tr>" + 
                                 "      <td valign='top' width='570px;'>" +
                                 "          <div id='libro_detalle'>" + 
                                 "              <img src='" + dirBase + "img/spinner.gif'  />" + 
                                 "          </div>" +
		                         "      </td>" + 
		                         "      <td rowspan='2' valign='top' class='bordeBarraDerecha'>" +
		                         "          <div id='libro_recursos_valorados'>" + 
		                         "              <img src='" + dirBase + "img/spinner.gif'  />" + 
		                         "          </div>" +
		                         "          <div id='libro_recursos_guardados'></div>"+ 
		                         "      </td>" + 
		                         "  </tr>" + 
		                         "  <tr>" + 
		                         "      <td>" + 
		                         "          <div id='libro_carpetas'>" +
		                         "          </div>" + 		
		                         "          <a name=anclaTTComentarios/><div id=libro_comentarios></div>" +
		                         "      </td>" + 
		                         "  </tr>" + 
		                         "</table>";
                      
		            $("principal").innerHTML = tempQP;
		            var urltemp1 = document.location.href;
		            $('libro_detalle').innerHTML=res.value;
		            /*ahora llamamos a la query de busqueda ...*/
		            getFichaLibroCapa('FichaLibroAmpliadaReplace', $("metadato74").innerHTML, dirBase + 'ContenidoLibroFichaCompleta.xslt');
		            /*Sacamos la pagina donde estamos*/
		            var tempurl1 = getPage();
		            /*fin de extraccion de pagina*/
		            getEjecutarQueryURL(tempurl1, 'libro_carpetas', 1);
		            ejecutarQueryURL('recursosMasValoradosCarpetas','libro_recursos_valorados');
                    /*Fin de querys publicadas*/
		            var paginacp =document.location.href;
					            
                    if (paginacp.indexOf("contenido/")>=0){
			            paginacp = sContenido + "/" + getPage(); 
		            }else{
			            paginacp = getPage();
		            }
                      
                    getRecursosMasGuardado(paginacp, 'documentos', 'query', 
                                             $("metadato74").innerHTML, $("metadato65").innerHTML, 
                                             'libro_recursos_guardados');
                }
                 
                getValoraciones(99, idContenido, 'itemValorar');

            }
        }
    }
}

function getContenidoURL(idURL, capa, idTipoPagina)  {
    AJAXPro.PortalWeb.Frontal.getContenidoURL(idPortal, idURL, idTipoPagina, 
                                              urlback, contenidoURL_callback, $(capa));
}

// para pintar contenidos
function contenidoURL_callback(res) {
    if (res.value==null && res.value==''){ return; }
	
    if (tipoPagina!=4){
        res.context.innerHTML=res.value;
    }else{
        fnRecursosVer(2);
        $("recursos_col").innerHTML = res.value;
        getValoraciones(99, idContenido, 'itemValorar');
    }
           
    if ($("divurlswf") != null){
	    getFlash(409, 221);
	}
}

function getContenidoDestacado()  {
    if($("item")) {
        AJAXPro.PortalWeb.Frontal.getContenidoDestacado(idPortal, idMenu, idRama, idPaginaHome, 
                                                        tipoPagina, default_callback, $("item"));
    }
}

function getContenidoCapa(capa)  {
    AJAXPro.PortalWeb.Frontal.getContenido(idPortal, idMenu, idRama, idContenido, urlback,
                                           default_callback, $(capa));
}
          
// ------------------------------------------------------------------------------------------------
// ------------------------------------------ fin contenido ---------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ---------------------------------------- inicio Comentarios ------------------------------------
// ------------------------------------------------------------------------------------------------

function getComentarios()  {
    AJAXPro.PortalWeb.Frontal.getComentarios(idRama, idPortal, idContenido, 
                                             comentarios_callback, $("detalleItem"));
}

function comentarios_callback(res) {
    if(checkAjaxError(res.error)) { return; }
            
    $("comentario").innerHTML= $("comentario").innerHTML + res.value;
}

function getComentariosCapa(capa)  {
    AJAXPro.PortalWeb.Frontal.getComentarios(idRama, idPortal, idContenido, 
                                             default_callback, $(capa));
}

function insertComentariosIdRespuesta(idP){
    idPadreMensaje=idP;
}

function insertComentarios()  {
    var control=0;
    var msg="";

    if ($("comentarioNombre").value==""){
        control=1;
        alert(msgComentarioNombre );
        return false;
    }else{
        if (chequeoNombre($("comentarioNombre").value)){
            control=1;
            alert(msgComentarioNombreValidar );
        }
    }

    if ($("comentarioEmail").value==""){
        control=1;
        alert(msgComentarioEmail );
    }else{
        if (!valEmail($("comentarioEmail"))){ return false; }
    }

    if ($("comentarioComentario").value==""){
        control=1;
        alert(msgComentario );
        return false;
    }else{
        if (!valTexto($("comentarioComentario"))){
            control=1;
            alert(msgComentarioValidar );
        }
    }

    if (control==0){
	    AJAXPro.PortalWeb.Frontal.insertComentarios(idRama, idPortal, idMenu, idContenido, 
		                                            $("comentarioNombre").value, $("comentarioEmail").value, 
							                        $("comentarioComentario").value, idPadreMensaje, comentario_callback, 
									                $("detalleItem"));
    }
}

function comentario_callback(res) {
    if (checkAjaxError(res.error)) { return; }
    else{ $("comentario").innerHTML= res.value; }
}

// ------------------------------------------------------------------------------------------------
// ----------------------------------------- fin Comentarios --------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// --------------------------------------- inicio Valoraciones ------------------------------------
// ------------------------------------------------------------------------------------------------

function getValoraciones(valor, idCMSCont, capa, valOpcion)  {
    if (valOpcion==null){
	    // mantiene el despliegue que se administraba para cruilla en cuando 
	    // a valoración y despliegue en la misma sección de valoracion
		AJAXPro.PortalWeb.Frontal.getValoraciones(idMenu, idRama, idCMSCont, valor, idRangoValoracion, 
		                                          idPaginaHome, tipoPagina, default_callback, $(capa));
	}else{
	    // realiza un nuevo despliegue para valoración y resultado al lado
		AJAXPro.PortalWeb.Frontal.getValoracionDespliegue(idMenu, idRama, idCMSCont, valor, idRangoValoracion, 
		                                                  idPaginaHome, tipoPagina, valOpcion, default_callback, $(capa));
	}
}          

// ------------------------------------------------------------------------------------------------
// ----------------------------------------- fin Valoraciones -------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// --------------------------------------- inicio Cambio Idioma -----------------------------------
// ------------------------------------------------------------------------------------------------

function cambioIdioma(idIdioma) {
    AJAXPro.PortalWeb.Frontal.setIdioma(idIdioma, idPortal, cambioIdioma_callback, $("idiomas"));
}

function cambioIdioma_callback(res){
    document.location.replace(urlIdioma);
}

// ------------------------------------------------------------------------------------------------
// ----------------------------------------- fin Cambio Idioma ------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ----------------------------------------- inicio Servicio  -------------------------------------
// ------------------------------------------------------------------------------------------------

function getServicio(opcion)  {
    if (opcion==null){
	    AJAXPro.PortalWeb.Frontal.getServicio(idPortal, idServicio, default_callback, $("contenidos"));
    }else{
	    AJAXPro.PortalWeb.Frontal.getFavoritosContenidos(idPortal, opcion, 
	                                                     getFavoritosContenido_callback, $("contenidos"));
	}
}

// ------------------------------------------------------------------------------------------------
// ----------------------------------------- fin Servicio  ----------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------------------ inicio login ----------------------------------------
// ------------------------------------------------------------------------------------------------

/* función de inicio de session de usuario que puede operar en la interfaz */
function login(txtUser, txtPwd) {

    if(txtUser == null || txtPwd == null || 
        txtUser.value.length == 0 || txtPwd.value.length == 0) {
        alert(msgUsuarioValidar);
        return;
    }

    AJAXPro.PortalWeb.Frontal.conectarUsuario(txtUser.value, txtPwd.value, idPortal, login_callback);
}

// modificado para verificar si es primera vez que un usuario se logea
// o si debe actualizar la información antes de ingresar, sino, no entra
function login_callback(res) {
    if(res.error != null) {
        alert(res.error.Message);
        return;
    }
            
    if(!res.value.existe) {
        // cambio de orden por operacion de validacion
        // por pirmera vez para registrar usuario
        alert(msgUsuarioNoValido);
    } else { 
        if (!res.value.primerIngreso){
		    // url definida como variable en la cabecera del script
			if (!acceso){
			    window.location.href = urlRaiz + "/" + htmlFavorito;
            }else{
			    document.location.reload();
            }
        }else {
		                        
		    /* 
			    si está definida la opción de administración de registro 
			    se podrá realizar el despliegue del administrador del mismo
			*/

			if (ActivacionRegistro && !res.value.noValidado){
			    registroDesplegar(res, 1);
			}else{
			    if (ActivacionRegistro && res.value.noValidado){
				    alert(msgRegistroAcceso);
				}
			}
        }
    }
}

function loginURL(txtUser, txtPwd) {
    if(txtUser == null || txtPwd == null || 
        txtUser.value.length == 0 || txtPwd.value.length == 0) {
        alert(msgUsuarioValidar);
        return;
    }

    AJAXPro.PortalWeb.Frontal.conectarUsuario(txtUser.value, txtPwd.value,idPortal, loginURL_callback);
}

function loginURL_callback(res) {
    if(res.error != null) {
        alert(res.error.Message);
        return;
    }
            
    if(!res.value.existe) {
        // cambio de orden por operacion de validacion
        // por pirmera vez para registrar usuario
        alert(msgUsuarioNoValido);
    } else { 
        if (!res.value.primerIngreso){
		    // url definida como variable en la cabecera del script
			if (!acceso){ location.reload(true); }
            else{ document.location.reload(); }
        }else {
            registroDesplegar(res, 1);
        }
    }
}

// ------------------------------------------------------------------------------------------------
// ------------------------------------------- fin login ------------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ----------------------------------------- inicio loginOut -------------------------------------
// ------------------------------------------------------------------------------------------------

function loginOut() {
    AJAXPro.PortalWeb.Frontal.desconectarUsuario(loginOut_callback);
}

function loginOut_callback(res) {
    if(res.error != null) {
        alert(res.error.message);
        return;
    }
            
    if(res) { window.location.href = urlRaiz; }
    else{ alert("error"); }
}

function loginOutMonitor(){
    AJAXPro.PortalWeb.Frontal.desconectarUsuario(loginOutMonitor_callback);
}

function loginOutMonitor_callback(){
    uCnx = false;
}

// ------------------------------------------------------------------------------------------------
// ------------------------------------------- fin loginOut ---------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------------ inicio Politica de Privacidad -----------------------------
// ------------------------------------------------------------------------------------------------

function getPrivacidad(url){
    AJAXPro.PortalWeb.Frontal.getContenidoURL(idPortal, url, 1, '', getPolitica_callback)
    document.location.href="#anclaSuperior";
}

function getPolitica_callback(res){
    if (res.error!=null){ alert(res.error.Message); }
    else { registroDesplegar(res, 2); }
}

// ------------------------------------------------------------------------------------------------
// -------------------------------------- fin Politica de Privacidad ------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------------------ inicio Registro -------------------------------------
// ------------------------------------------------------------------------------------------------

/* Rescata la información del registro de usuario que se encuentra 
   seleccionado para realizar la actualización de la información de datos */
function registroActualizar(){
    AJAXPro.PortalWeb.Frontal.registroModificar(idPortal, registroActualizar_callback);
	document.location.href="#anclaSuperior";
}

function registroActualizar_callback(res){
    if (res.error != null){ alert(res.error.Message); } 
    else{ 
        if (res.value.respuesta){
            registroDesplegar(res, 1);
        }
    }
}

var iContador = 0;

// permite realizar despliegues de interfaces que no se mostrarán en el 
// cuerpo de la página sino más bien se desplegarán en una página emergente 
function registroDesplegar(res, opcion){
    // Necesitamos ocultar los flash, luego los volvemos a 
    // dar visibilidad en la funcion cerrar registroCerrar	
							
	iContador += 1;
							
	flashHabilitarInhabilitar("FlashHome1","none");
	flashHabilitarInhabilitar("flashBanner","none");
	flashHabilitarInhabilitar("favFlash","none");
							
	selectHabilitarInhabilitar("busq_avanzada", "none");
	selectHabilitarInhabilitar("busq_avanzada_home_new", "none");
							
	noSelect('tblCuerpo');
							
	var w = document.getElementsByTagName("body")[0].offsetWidth;  
	var h = document.getElementsByTagName("body")[0].offsetHeight;
	var htbl = document.documentElement.clientHeight;
							
	var mybody = document.getElementsByTagName("body")[0];
    cont = document.createElement("DIV");
    cont.style.width = w;			cont.style.top = 0;
    cont.style.height = h;			cont.style.left = 0;
    cont.style.zIndex = "150000";
              
    var tblInicio = "<table width='100%' height='" + h + "' >" + 
					"   <tr>" + 
					"       <td align='center' valign='top' width='100%' height='100%'>" + 
					"           <table id='tblCuerpo' width='100%' height='" + htbl + "' >" + 
					"               <tr>" + 
					"                   <td align='center' valignt='middle'>";
					
    var tblFin =    "                   </td>" + 
                    "               </tr>" + 
                    "           </table>" + 
                    "       </td>" + 
                    "   </tr>" + 
                    "</table>";
										
	var boton =     "<tr>" + 
	                "   <td align='right'>" + 
	                "       <br/>" + 
	                "           <input type='button' class='btGris' " + 
	                "           onclick=javascript:registroCerrar('cont_politica'); value='cerrar' />" +
	                "       <br/>" + 
	                "       <br/>" + 
	                "   </td>" + 
	                "</tr>";
              
    switch(opcion) {
        case 1: cont.id = "cont_registro";
		        cont.className = "divPrincipal";
			    cont.innerHTML = tblInicio + res.value.swHtml + tblFin;
  		        break;
        case 2: cont.id = "cont_politica";
		        cont.className = "divPrincipal";
	            cont.innerHTML = tblInicio + 
				 				 "<table class='div'>" + 
				 				    boton + 
								 "  <tr>" + 
								 "      <td align='left' width='100%' style='padding-left: 30px; '>" + 
								            res.value + 
								 "      </td>" + 
								 "  </tr>" +
                                    boton + 
                                 "</table>" + 
                                 tblFin;
	            break;
        default: break;
    }
	                    
    mybody.appendChild(cont);
              
    // solo válido para registro
    if ($('hdCentro') != null){
        fnCentroCargar();
    }
}

function registroDespliegueInsertar(){
    AJAXPro.PortalWeb.Frontal.registroDespliegueInsertar(idPortal, registroDespliegueInsertar_callback);
	document.location.href="#anclaSuperior";
}

function registroDespliegueInsertar_callback(res){
    if (res.error != null){ alert(res.error.Message); }
    else{ registroDesplegar(res, 1); }
}

/* rescata la respuesta de acceso de usuarios primera vez true, de lo contrario false */
function loginRegistro_callback(res){
    if(res.error != null) {
        alert(res.error.message);
        return;
    }
            
    if (!res.value){
        alert("Conectado");
        document.location.reload();
    }else {
        // lógica de despliegue de registro de ingreso de datos
        document.location.reload();
    }
}

// ------------------------------------------------------------------------------------------------
// -------------------------------------------- fin Registro --------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------------------- inicio Contacto ------------------------------------
// ------------------------------------------------------------------------------------------------

function EnviarDatosContacto(Nombre, Apellido, Email, Asunto, Mensaje) {
    // se realiza la validación de datos
	var bOk = true;
            
	//if (!valTexto(Nombre)){ bOk = false; }
	//if (!valTexto(Apellido)) { bOk = false; }
	if (!valEmail(Email)) { bOk = false; }
	//if (!valTexto(Asunto)) { bOk = false; }
	//if (!valTexto(Mensaje)) { bOk = false; }
	
	if (Nombre.value == '') {   alert(msgTextoVacio + " " + Nombre.id);   bOk = false;   }
	if (Apellido.value == '') { alert(msgTextoVacio + " " + Apellido.id); bOk = false; }
    if (Asunto.value == '') {   alert(msgTextoVacio + " " + Asunto.id);   bOk = false;   }
    if (Mensaje.value == '') {  alert(msgTextoVacio + " " + Mensaje.id);  bOk = false;  }
						
    if (bOk){
	    var cuerpo = '<table>' + 
	                 '  <tr>' + 
	                 '      <td>Correo enviado por ' + Nombre.value + ' ' + Apellido + '</td>' + 
	                 '  </tr>' + 
	                 '  <tr>' + 
	                 '      <td>' + Mensaje.value + '</td>' + 
	                 '  </tr>' + 
	                 '</table>';
        AJAXPro.PortalWeb.Frontal.envioContacto(cuerpo.value, Email.value, Asunto.value, 
                                                idServicio, contacto_callback);
    }
}

function contacto_callback(res){
    if (res.value){
        alert(msgEmailEnviado );
        $('nombre').value = '';
        $('apellidos').value = '';
        $('email').value = '';
        $('asunto').value = '';
        $('mensaje').value = '';
    } else
        alert(msgEmailEnvioError);
}          

// ------------------------------------------------------------------------------------------------
// --------------------------------------------- fin Contacto -------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------------------- inicio Favoritos -----------------------------------
// ------------------------------------------------------------------------------------------------

/* se realiza la llamada a los servicios que rescatarán la información de 
   favoritos que se han asociado a un usuario que se encuentra operando */
function getFavoritos(){
    if($("contenidos") != null) {
	    AJAXPro.PortalWeb.Frontal.timeoutPeriod = 20000;
		AJAXPro.PortalWeb.Frontal.getFavoritos(idPortal, opcDocumento, getFavoritos_callback, $("contenidos"));
    }
}

/* despliega la información de los favoritos en la sección que se le indica */
function getFavoritos_callback(res){
    if (res.error == null){ res.context.innerHTML = res.value; }
    else {
	    alert(res.error.Message);
		window.location.href = urlRaiz;
    }
}

// función encargada de desplegar la información de datos de libros, carpetas y 
// documentos según el resultado de la información que se esta solicitando rescatar
function getFavoritosContenido(strUrl){
    /*	opcion: servirá para rescatar y definir el handler 
		que definirá la acción a seguir
		mis_favoritos/libros.html para libros
		mis_favoritos/carpetas.html para carpetas
		mis_favoritos/documentos.html para documentos
		otra url se define para otro tipo de acción que no sea servicio
	 */

	document.location.href = strUrl;
						
	/* al refrescar la función ini, en la opción de case 3 se realizará la carga de 
	   los datos que correspondan según su opción asociada 
	 */
}

// despliega el resultado de un contenido de favoritos sean 
// estos, libros, carpetas o documentos, indistintamente
function getFavoritosContenido_callback(res){
    if (res.error == null){ res.context.innerHTML = res.value; }
    else {
	    alert(res.error.Message);
		window.location.href = urlRaiz;
    }
}

// elimina un registro de favoritos
function getFavoritosEliminar(urlAmigable, url){
    if (urlAmigable == null){ alert(msgUrlAmigable ); }
	if (url==null){ alert(msgUrlDespliegue ); }
						
	AJAXPro.PortalWeb.Frontal.getFavoritosEliminar(urlAmigable, idPortal, url, getFavoritosEliminar_callback);
}	

// despliegua la información de resultado de la eliminación de los registros
function getFavoritosEliminar_callback(res){
    if (res.error!=null){ alert(res.error.Message); }
    getFavoritosContenido(res.value.swHtml);
}

// ------------------------------------------------------------------------------------------------
// -------------------------------------------- fin Favoritos -------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ----------------------------------------- inicio Ficha Libro -----------------------------------
// ------------------------------------------------------------------------------------------------

function getFichaLibroCapa(capa, idInterno, plantilla)  {
    AJAXPro.PortalWeb.Frontal.getFichaLibro(idInterno, plantilla , default_callback, $(capa));
}

// ------------------------------------------------------------------------------------------------
// ------------------------------------------ fin Ficha Libro -------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------------- inicio Recursos Guardados --------------------------------
// ------------------------------------------------------------------------------------------------

/* recupera los recursos mas guardados para esta funcion el id es 
   IDCMContenido cuando es query PERO cuando es libro es el idInterno. */
function getRecursosMasGuardado(url, TipoRecursoRequerido, TipoRecursoDondeEstoy, id, id2, capa) {
    AJAXPro.PortalWeb.Frontal.getRecursosMasGuardado(idPortal, id, id2, TipoRecursoRequerido, 
                                                     TipoRecursoDondeEstoy, url, default_callback, 
                                                     $(capa));
}                  

// ------------------------------------------------------------------------------------------------
// --------------------------------------- fin Recursos Guardados ---------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// -------------------------------------- inicio Recursos Lectura ---------------------------------
// ------------------------------------------------------------------------------------------------
 
function getRecursosLectura(url){
    AJAXPro.PortalWeb.Frontal.getRecursoLecturaObtener(url, getRecursosLectura_callback);
}

function getRecursosLecturaLibro(url){
    AJAXPro.PortalWeb.Frontal.getRecursoLecturaLibroObtener(url, getRecursosLectura_callback);
}

function getRecursosLectura_callback(res){
    if (res.error != null){
        alert(res.error.Message);
    }else{
        if ($('contenedor_home') != null)
            $('contenedor_home').innerHTML = res.value;
        else if ($('principal') != null)
            $('principal').innerHTML = res.value;
    }
}

// ------------------------------------------------------------------------------------------------
// ---------------------------------------- fin Recursos Lectura ----------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// ------------------------------------------- inicio Flash ---------------------------------------
// ------------------------------------------------------------------------------------------------

function getFlash(wid, hei){
    var swf = $("divurlswf").innerHTML + "?cache="+(new Date().getTime()).toString();
    var alto ='';
    if (hei==""){
        alto = $("divaltoswf").innerHTML;
    }else{
        alto=hei;
    }
    var ancho ='';
    if (wid==""){
        ancho = $("divanchoswf").innerHTML;
    }else{
        ancho = wid;
    }
    var so = new SWFObject(swf, "Dictado", ancho, alto, "9", "#FFFFFF");
    so.addVariable("lang", "es-ES"); 
    so.addVariable("fontLib", "DefaultFontLib.swf"); 
    so.addVariable("wmode","Opaque");
    so.write("flashContent");
}

function getFlashURL(ancho, alto, url, capa){
    var swf = url + "?cache="+(new Date().getTime()).toString();
    var so = new SWFObject(swf, capa, ancho, alto, "9", "#FFFFFF");
    so.addVariable("lang", "es-ES"); 
    so.addVariable("fontLib", "DefaultFontLib.swf"); 
    so.addVariable("wmode","Opaque");
    so.write(capa);
}

function showFichaLibro(){
    $('flashBanner').style.display = 'none';
	$('FichaLibroAmpliada').style.display='block';
}

function hideFichaLibro(){
    $('flashBanner').style.display = 'block';
	$('FichaLibroAmpliada').style.display = 'none';
}

// ------------------------------------------------------------------------------------------------
// -------------------------------------------- fin Flash -----------------------------------------
// ------------------------------------------------------------------------------------------------



// ------------------------------------------------------------------------------------------------
// -------------------------------------- inicio imagen estrella ----------------------------------
// ------------------------------------------------------------------------------------------------

function refreshInValor(valor){
    var Gris = dirBase + 'img/generales/estrellaGris.jpg';
    var Rojo = dirBase + 'img/generales/estrellaRoja.jpg';
	
	switch(valor) {
	    case 1: $("v1").src=Rojo;
	            break;
	    case 2: $("v1").src=Rojo; $("v2").src=Rojo;
	            break;
	    case 3: $("v1").src=Rojo; $("v2").src=Rojo; 
                $("v3").src=Rojo;
	            break;
	    case 4: $("v1").src=Rojo; $("v2").src=Rojo;
		        $("v3").src=Rojo; $("v4").src=Rojo;
	            break;
	    case 5: $("v1").src=Rojo; $("v2").src=Rojo;
		        $("v3").src=Rojo; $("v4").src=Rojo;
		        $("v5").src=Rojo;
	            break;
	    default: break;
	}
}

function refreshOutValor(valor){
    var Gris = dirBase + 'img/generales/estrellaGris.jpg';
    var Rojo = dirBase + 'img/generales/estrellaRoja.jpg';
	
	switch(valor) {
        case 0: $("v1").src=Gris; $("v2").src=Gris;
                $("v3").src=Gris; $("v4").src=Gris;
		        $("v5").src=Gris;
                break;
        case 1: $("v1").src=Rojo; $("v2").src=Gris;
		        $("v3").src=Gris; $("v4").src=Gris;
		        $("v5").src=Gris;
                break;
        case 2: $("v1").src=Rojo; $("v2").src=Rojo;
		        $("v3").src=Gris; $("v4").src=Gris;
		        $("v5").src=Gris;
                break;
        case 3: $("v1").src=Rojo; $("v2").src=Rojo;
		        $("v3").src=Rojo; $("v4").src=Gris;
		        $("v5").src=Gris;
                break;
        case 4: $("v1").src=Rojo; $("v2").src=Rojo;
		        $("v3").src=Rojo; $("v4").src=Rojo;
		        $("v5").src=Gris;
                break;
        case 5: $("v1").src=Rojo; $("v2").src=Rojo;
		        $("v3").src=Rojo; $("v4").src=Rojo;
		        $("v5").src=Rojo;
                break;
        default: break;
    }    
}

// ------------------------------------------------------------------------------------------------
// --------------------------------------- fin imagen estrella ------------------------------------
// ------------------------------------------------------------------------------------------------



// ************************************************************************************************
// ------------------------------------------------------------------------------------------------
// -------------------------------------- inicio de Búsquedas -------------------------------------
// ------------------------------------------------------------------------------------------------

var iNumero = 5;

function fnArregloDatoCargar(arr, oObjeto){

    for (i=0; i < iNumero; i++)
        arr[i] = "";
          
    if (oObjeto.value.split('#')[1] == null) {
        arr[0] = oObjeto.value;
    } else {
        var max = oObjeto.value.split('#').length;
        for (i=0; i < max; i++)
            arr[i] = oObjeto.value.split('#')[i];
    }
}

function abrirBusquedaNoConectado() {

    var spinnerBuscador = '' + 
        '<br/>' + busqueda_espacio + busqueda_espacio + busqueda_espacio +
        '<img src="' + busqueda_plantilla + 'img/spinner.gif" />' +
        busqueda_espacio + busqueda_espacio +
        '<b>' + busqueda_buscando + '</b><br/><br/>';

    // busqueda de libros y carpetas cuando el usuario
    // esta desconectado de forma avanzada o guiada
         
    var arr = new Array(iNumero);
    var oAsignatura = $('select_Asignatura');
    fnArregloDatoCargar(arr, oAsignatura);
        
    $("principal").innerHTML = spinnerBuscador;

    $('restriccion_1954461994').value = (arr[0] != '') ? arr[0] : '';
    $('restriccion_1560635819').value = (arr[1] != '') ? arr[1] : '';
    $('restriccion_1870421215').value = (arr[2] != '') ? arr[2] : '';
    $('restriccion_1451888055').value = (arr[3] != '') ? arr[3] : '';
    $('restriccion_848150072').value = (arr[4] != '') ? arr[4] : '';

    $('agrupacion_1152216663').value = $('campoLibreC').value;

    ejecutarQueryURLv20('librosMestres', 'principal', '', 0, 0, 0);

    $('restriccion_1954461994').value = '';

}

function abrirBusquedaConectado() {
    // busqueda de libros y carpetas cuando el usuario
    // esta conectado de forma avanzada o guiada
    
    var estructura_BusquedaConectado = '' +
        '<table width="855px" valign="top">' +
        ' <tr>' + 
        '   <td valign="top" width="600px">' +
        '     <div id="Resultado_BusquedaLogado" valign="top">' +
        '       <img src="' + busqueda_plantilla + 'img/spinner.gif" />' +
        '     </div>' + 
        '   </td>' +
        '   <td rowspan="2" valign="top" class="bordeBarraDerecha">' +
        '     <div id="Biblioteca_Digital" style="display:none;"  valign="top">' + 
        '       <table valign="top">' +
        '         <tr>' + 
        '           <td>' +
        '             <img src="' + busqueda_plantilla + 'img/sm/libros-relleno.gif" /><br/><br/>' +
        '           </td>' + 
        '         </tr>' + 
        '       </table>' +
        '     </div>' +
        '     <div id="Ultimo_recursosComentados">' +
        '     </div>' + 
        '   </td>' + 
        ' </tr>' + 
        '</table>';

    if (!$('chkLibro').checked && !$('chkDocumentos').checked){
        alert(busqueda_mensaje);
        return false;
    }

    if ($("comentario")!=null) { $("comentario").innerHTML = ""; }

    /* bloque agregado para más de un criterio en una rama */
    var arr = new Array(iNumero);
    var oAsignatura = $('select_Asignatura');
    fnArregloDatoCargar(arr, oAsignatura);

    $("principal").innerHTML = estructura_BusquedaConectado;

    $('restriccion_610848554').value = (arr[0] != '') ? arr[0] : '';
    $('restriccion_12871366').value = (arr[1] != '') ? arr[1] : '';
    $('restriccion_524627779').value = (arr[2] != '') ? arr[2] : '';
    $('restriccion_1155896765').value = (arr[3] != '') ? arr[3] : '';
    $('restriccion_1119452810').value = (arr[4] != '') ? arr[4] : '';

    $('agrupacion_870215018').value = $('campoLibreC').value;

    ejecutarQueryURLv20('recursosSecundaria', 'Resultado_BusquedaLogado', '', 0, 0, 0);

}

function funInicializarControl(){
    // MR - Permite inicializar nuevamente el control de página cuando
    // MR - se realiza una nueva selección de búsqueda de datos

    $('numero_pagina').value = 1;
}

function fnValorUrlCliente(oObjeto){
    var sReturn = "";
            
    if (oObjeto != null){
        var sUrl = document.location.href;
        var sDato = sUrl.split('?')[1];
        var max = sDato.split('&').length;
                
        var arrUrl = new Array(max);
                
        if (sDato.split('&')[1] != null) {
            for (var j=0; j < max; j++)
                arrUrl[j] = sDato.split('&')[j];
                    
            for (var k=0; k < arrUrl.length; k++){
                if (arrUrl[k].split('=')[1] != null){
                    if (arrUrl[k].split('=')[0] == oObjeto){
                        sReturn = fnDecode(unescape(arrUrl[k].split('=')[1]));
                        break;
                    }
                }
            }
        }
    }
    return sReturn;
}

function fnDecode(txt){
            
    var string = "";
    var i = 0;
    var c = "";

    while ( i < txt.length ) {
        c = txt.charAt(i);

        if (c == '+') { string += ' '; }
        else { string += c; }
                  
        i++;
    }

    return string;
}

function actualizarBusqueda(oTexto, oEtapa, oCurso, oAsignatura, oPagina){
   /*
    en el caso de que se este buscando desde la primera hoja se debe desplegar el contenido 
	correspondiente a esta, en el caso contrario se debe desplegar el correspondiente a la 
	búsqueda que se administre en el control de no desplegado 
   */
        
    var itemEtapa = oEtapa.options.length;
    for (var x=0; x < itemEtapa; x++)
        if (oEtapa.options[x].value == fnValorUrlCliente('select_Etapa')){
            oEtapa.options[x].selected = true;    
            fnCursoCargar();
        }
          
    var itemCurso = oCurso.options.length;
	for (var x=0; x < itemCurso; x++)
        if (oCurso.options[x].value == fnValorUrlCliente('select_Curso')) {
            oCurso.options[x].selected = true;
            fnAsignaturaCargar();
        }

    var itemAsignatura = oAsignatura.options.length;
    for (var i=0; i < itemAsignatura; i++)
	    if (oAsignatura.options[i].value == fnValorUrlCliente('select_Asignatura'))
		    oAsignatura.options[i].selected = true;
					
	oTexto.value = fnValorUrlCliente('campoLibreC');
    oPagina.value = fnValorUrlCliente('numero_pagina');
					
}

// ------------------------------------------------------------------------------------------------
// ---------------------------------------- fin de Búsquedas --------------------------------------
// ------------------------------------------------------------------------------------------------
// ************************************************************************************************