﻿function MuestraEjemplar(IdElemento,url,parametro,destino)
{    
    var R = new NewHttpReq();
    var E=document.getElementById("zona");
    var M=document.getElementById("menu");
    var bPanel=false;
    if (destino!=null)
        document.getElementById(destino).innerHTML='<img src="images/cargando.gif" border="0" /> Cargando..';	
    else
	    E.innerHTML='<img src="images/cargando.gif" border="0" /> Cargando..';	
    if (IdElemento=="panel")
    {   bPanel=true;
        str="";}
    else
    {	if (IdElemento!="13")
	        str="P="+parametro;
	    else
	        str="F="+parametro;	}
	        
	R.open("POST",url, true);       
    R.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//necesario para el metodo POST
    R.setRequestHeader("Charset", "utf-8");
    R.send(str); //Para el metodo POST
    //delete(R);

    R.onreadystatechange = function() {
        // Si R esta completado
        if (R.readyState != 4) return; // Si hay algún error
        // Si es "OK"
        //if (R.status == 200)
        //{
        // ...Procesando, pintamos en el div...
        var div;
        div = R.responseXML.xml;
        if (div == null || div == "")
            div = R.responseText;
        if (destino != null)
            document.getElementById(destino).innerHTML = div;
        else
            E.innerHTML = div;

        if (bPanel) {
            var oInput = document.getElementsByTagName("input")
            for (var i = 0; i < oInput.length; i++) {
                if (oInput[i].type == "hidden" && oInput[i].id.substring(0, 9) == "accionPEX") {
                    var sDato = oInput[i].value;
                    var oDato = sDato.substring(0, sDato.indexOf("t"));
                    var oTipo = sDato.substring(sDato.indexOf("t") + 1, sDato.length);
                    var oDiv = document.getElementById("panelPEX" + oDato);

                    oDiv.innerHTML = '<img src="images/cargando.gif" border="0" /> Cargando..';
                    sDato = "D=" + sDato;

                    var oHttp = new NewHttpReq();
                    oHttp.open("POST", "panel.asp", false);
                    oHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    oHttp.setRequestHeader("Charset", "utf-8");
                    oHttp.send(sDato);  //EDU => He tenido que subirlo para que funcione el while

                    /*oHttp.onreadystatechange =  function()
                    {                  
                    //alert("Aquí no entra firefox "); //EDU
                    ProcesoPanel(oHttp,oDiv,oTipo);
                    }*/
                    var recibiendoDatos = true;
                    while (recibiendoDatos) {
                        recibiendoDatos = ProcesoPanel(oHttp, oDiv, oTipo);
                    }
                }
            }
        }

        var nodo = document.getElementById("nodoMenuId"); //nodoMenuId es el id del la etiqueta <ul> de la lista
        var log = document.getElementById("ClaAJAXFormulario"); // id del cuadro de log
        //M.style.height=E.offsetHeight + 'px'; //Primero le digo que la capa menú tenga el miso alto que la capa del cuerpo - Parece que no es necesario
        nuevoalto = nodo.offsetHeight;
        if (log != null)
            nuevoalto += log.offsetHeight;
        var altoAsumible = 0;
        if (nuevoalto  > E.offsetHeight) { //Si el nodo (tamaño real de la lista menú, que puede ser distinta a la capa menu) es más grande que el cuerpo
            altoAsumible = nuevoalto // nodo.offsetHeight; // + 15; //Es necesario sumar 15 pues estamso comprarando un alto con un offset sin el padre y en ocasiones falta un trocito
            E.style.height = nuevoalto + 'px'; //El alto del cuerpo será el alto de la lista
        }
        else {
            altoAsumible = E.offsetHeight;
        }

        M.style.height = altoAsumible + 'px';  //El alto de la capa menú le asigno el alto del nodo más 15 para desbordamientos.

        //document.getElementById("cuerpo").style.height=(altoAsumible + 20) + 'px';

        E.style.height = 100 + '%'; //Es necesario por si el cuerpo aumenta dinámicamente sin pasar por este javasript

    }
}


function ProcesoPanel(oHttp, oDiv, oTipo)
    {
        
        //-oHttp.send(ssDato);
        //-while (1)
        //-{
            if (oHttp.readyState == 4)                            
            {
                
                var div;            
                div=oHttp.responseXML.xml;
                
                if(div==null || div=="")
                   div=oHttp.responseText;
                switch (oTipo)
                {
                    case "1":
                    case "2":
                    case "4":
                        oDiv.innerHTML=div;
                        break;
                    case "3":
                        var xmlDoc=oHttp.responseXML;                
                        if (xmlDoc.getElementsByTagName("noticias")!=null)
                        {
                            var root = xmlDoc.getElementsByTagName("noticias").item(0);
                            if  (root!=null)
                            {   
                                
                                for (var iNode = 0; iNode < root.childNodes.length; iNode++)                
                                {                     
                                    var node = root.childNodes.item(iNode);                           
                                    //Article[i] = new Array (node.getElementsByTagName('titulo').item(0).text, node.getElementsByTagName('enlace').item(0).text, ""); //.item(0).text no funciona en FireFox
                                    Article[i] = new Array (node.getElementsByTagName('titulo').item(0).firstChild.nodeValue, node.getElementsByTagName('enlace').item(0).firstChild.nodeValue, "");
                                    i++;                                    
                                } 
                                oDiv.innerHTML='<div name="boundry" id="boundry" style="position:relative; width:100%;"></div>';
                                loadScroller(); //*************AQUI ESTÑA EL ERROR DE FIREFOX!!!!!!! del fichero scroll.js
                            }
                            else
                                oDiv.innerHTML='';
                         }
                         else
                            oDiv.innerHTML='';
                        break;
                    case "5":
                        oDiv.innerHTML=div;
                        break;
                    default:
                        oDiv.innerHTML=div;
                } 
                return false; //EDU         
            }
            //else {
            //    alert("Esperando datos");
            //}
        //-}                  
        
    }
function Ver(sEle)
	{		
		 window.open("VerEjemplar.asp?P="+sEle);
	}
function Paneles()
{
    var oInput=document.getElementsByTagName("input")            
    for (var i=0;i<oInput.length;i++)
    {
        if (oInput[i].type=="hidden" && oInput[i].id.substring(0,9)=="accionPEX")
        {
            var sDato=oInput[i].value;
            var oDato=sDato.substring(0,sDato.indexOf("t"));
            var oTipo=sDato.substring(sDato.indexOf("t")+1,sDato.length);
            var oDiv=document.getElementById("panelPEX"+oDato);
            
            oDiv.innerHTML='<img src="images/cargando.gif" border="0" /> Cargando..';
            sDato="D="+sDato;
            
            var oHttp = new NewHttpReq();
            oHttp.open("POST","panel.asp",false);       
            oHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            oHttp.setRequestHeader("Charset", "utf-8");
            oHttp.send(sDato);  //EDU => He tenido que subirlo para que funcione el while
                         
            /*oHttp.onreadystatechange =  function()
            {                  
                //alert("Aquí no entra firefox "); //EDU
                ProcesoPanel(oHttp,oDiv,oTipo);
            }*/
            var recibiendoDatos = true;
            while(recibiendoDatos) {
                recibiendoDatos = ProcesoPanel(oHttp,oDiv,oTipo);
            }                                  
        }
    }
}
function CargarCuerpo(nPanel)
{
    var R = new NewHttpReq();
    var E=document.getElementById("cuerpo");
    var str="";
    E.innerHTML='<img src="images/cargando.gif" border="0" /> Cargando..';	
    if (nPanel!=null)
        str="P="+nPanel;
	R.open("POST","CargarCuerpo.asp", true);       
    R.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//necesario para el metodo POST
    R.setRequestHeader("Charset", "utf-8");
    R.send(str); //Para el metodo POST
    
    R.onreadystatechange = function()
    {
        if (R.readyState != 4) return; // Si hay algún error
        var div;
        div=R.responseXML.xml;
        if(div==null || div=="")
            div=R.responseText;	
        
        E.innerHTML=div;
        Paneles();        
    }
}
function BuscarCuerpo()
{
    var R = new NewHttpReq();
    var E=document.getElementById("cuerpo");
    var T=document.getElementById("txtBus");
    var str="";
    E.innerHTML='<img src="images/cargando.gif" border="0" /> Cargando..';	
    if (T!=null)
        str="T="+T.value;
	R.open("POST","BuscarCuerpo.asp", true);       
    R.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//necesario para el metodo POST
    R.setRequestHeader("Charset", "utf-8");
    R.send(str); //Para el metodo POST
    
    R.onreadystatechange = function()
    {
        if (R.readyState != 4) return; // Si hay algún error
        var div;
        div=R.responseXML.xml;
        if(div==null || div=="")
            div=R.responseText;
        E.innerHTML=div;     
        buscarTexto(0,0);  
    }
}