/**
 * @author jchernandez
 */


    //### Función que renombra los tags llamando a la función f_modificaTAGS
    function f_RenombraTags(poDIV, psNombreADD, poDestino){
        if(poDestino==null||poDestino=='undefined'){
            var voDIV = poDIV;
            f_modificaTAGS('SPAN', voDIV, psNombreADD);
            f_modificaTAGS('DIV', voDIV, psNombreADD);
            f_modificaTAGS('A', voDIV, psNombreADD);
            f_modificaTAGS('IMG', voDIV, psNombreADD);
        }
        return true;
    }

    // ## función que renombra los TAGS y les agrega un sufijo
    function f_modificaTAGS(psTAG, voDIV, psNombreADD){
        var voTAG = voDIV.getElementsByTagName(psTAG);
        for(i=0;i<voTAG.length;i++){
            vsTmp = "" + voTAG[i].id;
            if(vsTmp.length>0){
                var voObjeto = document.getElementById(vsTmp.toString());
                voObjeto.id = vsTmp.toString() + psNombreADD;
            }
        }
    }

	function procesaXML(psArchivo, pfFuncionEncadenada, psParametros, psObjeto, poDestino) {
		//*** Definimos una variable para procesar el contenido del xml una ves que responda
		var voRespuestaXML;
		//*** Buscamos el objeto que nos especifico el programador de la capa superior
		var voObjeto = f_CreaObjetoHTML(psObjeto, 'DIV', poDestino);

		//*** Definimos el objeto de conexion XML
		if(window.XMLHttpRequest) {
			//*** Para Firefox, Safari, etc.
			voRespuestaXML = new XMLHttpRequest();
		} else if(window.ActiveXObject) {
			//*** Para IExplorer
			voRespuestaXML = new ActiveXObject("Microsoft.XMLHTTP");
		}

		//*** Si podemos crear el objeto XMLGet entonces procedemos, de lo contrario informamos al usuario
		if(voRespuestaXML) {
			//*** comunicacion asincrona
			voRespuestaXML.onreadystatechange = function() {CapturaEventoXML(pfFuncionEncadenada, voRespuestaXML, voObjeto, poDestino)};
			//alert(psArchivo + "?" + psParametros);
			voRespuestaXML.open("GET", psArchivo + "?" + psParametros, true);
			voRespuestaXML.send(null);
		} else {
			voObjeto.innerHTML = "<center><b>Lo sentimos, este navegador no soporta aplicaciones html enriquecidas</b></center>"
		}
		
	}
	
	function CapturaEventoXML(pfFuncionEncadenada, poRespuestaXML, poObjeto, poDestino) {
		switch(poRespuestaXML.readyState) {
			case 0:
				poObjeto.innerHTML = "<center><b>Inicializando</b></center>";
			    break;
			case 1:
				poObjeto.innerHTML = "<center><b>Abriendo Comunicación</b></center>";
			    break;
			case 2:
				poObjeto.innerHTML = "<center><b>Solicitando Información</b></center>";
			    break;
			case 3:
				poObjeto.innerHTML = "<center><b>Recibiendo respuesta del servidor</b></center>";
			    break;
			case 4:
				switch(poRespuestaXML.status) {
					//*** Si todo sale bien entonces debemos procesar
					case 200:
						//*** Destruimos el display
						//### Valida si hay objeto fijo o flotante LFRIAS
						if(poDestino==null||poDestino=='undefined'){ 
						    document.body.removeChild(poObjeto);
						}else{
						    var objTMP = document.getElementById(poDestino);
						    objTMP.removeChild(poObjeto);
						}
						pfFuncionEncadenada(poRespuestaXML, poObjeto, poDestino);
						break;
					//*** Si todo sale bien entonces debemos procesar
					case 401:
						poObjeto.innerHTML = "<center><b>Sin autorización para consultar los datos</b></center>" + poRespuestaXML.responseText;
						break;
					case 404:
						poObjeto.innerHTML = "<center><b>La información no esta disponible</b></center>" + poRespuestaXML.responseText;
						break;
					case 500:
						poObjeto.innerHTML = "<center><b>Error interno del servidor</b></center>" + poRespuestaXML.responseText;
						break;
				}
		}
	}


	function f_BorraObjetoHTML(psObjeto, poDestino, poOscurecer) {
		var voObjeto = document.getElementById(psObjeto);
		if (voObjeto != null) {
		    if (vnExisteOverlay > 0) {
		        vnExisteOverlay -= 1;
		    }
		    //### Valida si hay objeto fijo o flotante LFRIAS
		    if(poDestino==null||poDestino=='undefined'){
		        document.body.removeChild(voObjeto);
		        try {
		            if (poOscurecer == 1) {
		                if (vnExisteOverlay == 0) {
		                    $("#TB_overlay").remove();
		                }
		            }
		        } catch (e) {
		        }
		    } else {
                try {
		            var voDivTmp = document.getElementById(poDestino);
		            voDivTmp.removeChild(voObjeto);
                } catch(err) {
                }
            }			    
		}
	}

	function f_CreaObjetoHTML(psNombre, psNombreEtiqueta, poDestino) {
		var voObjeto = document.getElementById(psNombre);

		if(document.getElementById(psNombre)) {
			f_BorraObjetoHTML(psNombre, poDestino);
		}
		//*** Si el objeto no existe entonces nosotros lo creamos (solo es para desplegar estatus)
		voObjeto = document.createElement(psNombreEtiqueta);
		voObjeto.id = psNombre;
		//### Valida si hay objeto fijo o flotante LFRIAS
		if(poDestino==null||poDestino=='undefined'){ 
		    voObjeto.style.position = "absolute";
		    document.body.appendChild(voObjeto);
		}else{
		    var voDivTmp = document.getElementById(poDestino);
		    voDivTmp.appendChild(voObjeto);
		}
		
		return voObjeto;
		
	}

	function f_CreaTablaDesdeXML(poDocumentoXML) {
		//*** Definimos el div que esta especificando el XML
		var vaNodosDiv = poDocumentoXML.responseXML.getElementsByTagName('OBJETO');
		var vsObjeto = vaNodosDiv[0].getAttribute("ID");
		
		var voObjeto = f_CreaObjetoHTML(vsObjeto, 'DIV', poDestino);
		
		voObjeto.style.position = "absolute";

		xEnableDrag(voObjeto);
		
		f_AtributoXML2EstiloCSS(vaNodosDiv[0], "Y", vsObjeto);
		f_AtributoXML2EstiloCSS(vaNodosDiv[0], "X", vsObjeto);
		f_AtributoXML2EstiloCSS(vaNodosDiv[0], "W", vsObjeto);
		f_AtributoXML2EstiloCSS(vaNodosDiv[0], "H", vsObjeto);

		f_XML2TablaInteligente(poDocumentoXML, voObjeto);
	}


    //###################### LFRIAS
	function f_CreaDIVDesdeXML(poDocumentoXML, o, poDestino) {
		//### Definimos el div que esta especificando el XML
	    
		var vaNodosDiv = poDocumentoXML.responseXML.getElementsByTagName('Elementos');
		var vsObjeto = vaNodosDiv[0].getAttribute("ID");

		var voObjeto = f_CreaObjetoHTML(vsObjeto, 'DIV', poDestino);		

        //### Se activa drag para el DIV      
        //### Valida si hay objeto fijo o flotante LFRIAS  
        if(poDestino==null||poDestino=='undefined'){            
            voObjeto.style.position = "absolute";
		    xResizeTo(voObjeto, 980, 'auto');
		    xMoveTo(voObjeto, (xClientWidth() - xWidth(voObjeto)) / 2, xScrollTop() + 30);
    
		    f_AtributoXML2EstiloCSS(vaNodosDiv[0], "Y", vsObjeto);
		    f_AtributoXML2EstiloCSS(vaNodosDiv[0], "X", vsObjeto);
		    xWidth(voObjeto, 980);
		    //f_AtributoXML2EstiloCSS(vaNodosDiv[0], "W", vsObjeto);
		    f_AtributoXML2EstiloCSS(vaNodosDiv[0], "H", vsObjeto);
        }else{
            voObjeto.style.position = "relative";
		    //xResizeTo(voObjeto, 700, 'auto');        
        }
		f_XML2DIV(poDocumentoXML, voObjeto, poDestino);
	}

    //### Se obtiene el HTML desde un archivo de texto, para dibujar el contenido del DIV
	function f_XML2DIV(poRespuestaXML, psObjetoDestino, poDestino) {
		if(poRespuestaXML.readyState == 4) {
			if(poRespuestaXML.status == 200) {
				var vaoElementos = poRespuestaXML.responseXML.getElementsByTagName('Elemento');
				for(var vnTmp=0; vnTmp<vaoElementos.length; vnTmp++) {
					if(vaoElementos[vnTmp].hasChildNodes()) {
						var vaoValores = vaoElementos[0].childNodes;
						for(var vnTmpVlr=0; vnTmpVlr<vaoValores.length; vnTmpVlr++) {
							if(document.getElementById(vaoValores[vnTmpVlr].nodeName)) {
                                var vsHTML = "";
                                var vsHTML2 = "";
                                
                                //xHide(psObjetoDestino);
                                
							    vsHTML = '<table cellpadding="0" cellspacing="0">';
                                vsHTML += '<tr>';
                                vsHTML += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_top_left.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_border.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_top_right.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML += '</tr>';
                                vsHTML += '<tr>';
                                vsHTML += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_border.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML += '<td id="tdX" bgcolor="#FFFFFF" width="100%" valign="top">';
							    vsHTML2 = '</td>';
                                vsHTML2 += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_border.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML2 += '</tr>';
                                vsHTML2 += '<tr>';
                                vsHTML2 += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_bottom_left.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML2 += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_border.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML2 += '<td style="opacity:0.4;filter:alpha(opacity=40);" background="http://www.femexfut.org.mx/portalv2/img/frames/popup1/pop_dialog_bottom_right.png"><img src="/img/spacer.gif" width="10" height="10" /></td>';
                                vsHTML2 += '</tr>';
                                vsHTML2 += '</table>';
                                //### Valida si hay objeto fijo o flotante LFRIAS
                                var vsCntnHTML = DatoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName);
                                if(poDestino==null||poDestino=='undefined'){
                                    vsHTML += vsCntnHTML + vsHTML2;
                                }else{                                    
                                    vsHTML = vsCntnHTML;
                                }
                                //### Función para importar el JS
                                //### En caso de que exista archivo JS para este DIV, se incrustará en TXT/Gadgets/js
                                var vsVrfcJS = DatoXML(vaoElementos.item(vnTmp), "___divCONTENIDOAJAXGAMAJS");
                                if(vsVrfcJS.length>0){                                    
                                    importar('script','type,src','text/javascript,/TXT/Gadgets/js/' + vsVrfcJS);  
                                }
								psObjetoDestino.innerHTML = vsHTML;
							}
						}
					}
				}
			}
		}
	}
	
	//### LFRIAS, Marzo de 2008
    //funcion para importar archivos JS y CSS
    function importar(elemento,p,v) {    
        //## Creamos el tipo de documento   
        var Elem = document.createElement(elemento);    
        //## Separamos los valores y los param en array   
        var param = p.split(",");   
        var value = v.split(",");      
        //## Agregamos los parametros con valores al objeto creado   
        for (i=0;i<param.length;i++){
            Elem.setAttribute(param[i],value[i]);
        }   
        //## Agregamos el objeto al tag head.   
        document.getElementsByTagName('head')[0].appendChild(Elem);   
        //## verificamos como es el estado del archivo   
        Elem.onreadystatechange = function (){        
            if (Elem.readyState == 'complete') {            
                //alert('Archivo onreadystatechange fallo');        
            }    
        }    
    } 
    
    
    //## Actualización 16 de Abril de 2008
    function f_RemoveObject(psNmbrObjt){
        try{
            document.body.removeChild(document.getElementById(psNmbrObjt));
        }catch(err){
        }
    }
    //## Función para Generar DIVS Flotantes, LFRIAS, Marzo de 2008
    //## Actualización 16 de Abril de 2008
    var vnExisteOverlay = 0;
    function f_GeneraDIVS(psWebSrvc, psNmbrDIV, psTXT, pnAnchoDIV, pfFuncionEncadenada, psParametros, pnID, pnYa, poDestino, pbOscurecer) {
        var vsNmbrDIV = psNmbrDIV + pnID;
        //## Cuadro para indicar que el DIV se está cargando, LFRIAS, Octubre 2009
        if (document.getElementById('CargandoDiv')) {
            xGetElementById("CargandoDiv").style.display = "block";    
        }
        if(pnYa==0){                
            f_RemoveObject(vsNmbrDIV);
            procesaXML(psWebSrvc, f_CreaDIVDesdeXML, 'X=300&Y=300&W=' + pnAnchoDIV + '&H=auto&_Query=' + psTXT + '&_Objeto=' + vsNmbrDIV, 'Display_Cnt' + pnID, poDestino);
        }  
        if (document.getElementById(vsNmbrDIV)){
            var voObjeto = document.getElementById(vsNmbrDIV);            
            if (f_RenombraTags(voObjeto, pnID, poDestino)){
                //### La función que se ejecutará después de crear el DIV
                var f_TMPFuncion  = function(){
                    pfFuncionEncadenada(psParametros, pnID);
                }
                
                // ## Verificar que el nombre del DIV traiga la palabra DRAG para activarlo
                var vsDrag = vsNmbrDIV.substring(3,7);
                if(vsDrag=='DRAG'){
                    xEnableDrag(voObjeto);
                }
                var vbOscurecer;

                if (pbOscurecer == null || pbOscurecer == 'undefined') {
                    vbOscurecer = 0;
                } else {
                    //### Ejecutar aquí el código para Oscurecer el contenido detrás de la ventana flotante
                    vbOscurecer = 1;
                    // ### Pantalla obscura con JQuery, generar función para este segmento de código
                    if (document.getElementById("TB_overlay") === null) {
                        $("body").append("<div id='TB_overlay'></div>");
                        $("#TB_overlay").click(tb_remove);
                        document.getElementById('TB_overlay').style.zIndex = xDepth - 1;
                    }

                    if (tb_detectMacXFF()) {
                        $("#TB_overlay").addClass("TB_overlayMacFFBGHack"); //use png overlay so hide flash
                    } else {
                        $("#TB_overlay").addClass("TB_overlayBG"); //use background and opacity
                    }
                    // ### Pantalla obscura con JQuery
                }

		         f_TMPFuncion();
		        //xShow(voObjeto);
		        
               
                
                //### Valida si hay objeto fijo o flotante LFRIAS
		         if (poDestino == null || poDestino == 'undefined') {
		             xDepth++;
		             var _vnIndex = 0;
		             if (document.getElementById("divTraerAlFrente")) {
		                 _vnIndex = document.getElementById("divTraerAlFrente").innerHTML;
		                 try {
		                     if (_vnIndex.length > 0) {
		                         if (parseInt(_vnIndex) > xDepth) {
		                             xDepth = parseInt(_vnIndex) + 1;
		                             document.getElementById("divTraerAlFrente").innerHTML = xDepth + 1;
		                         }
		                     }
		                 } catch (e) {
		                 }
		             }
		            xZIndex(voObjeto, xDepth);
		            vnExisteOverlay += 1;
	                xMoveTo(voObjeto, (xClientWidth() - xWidth(voObjeto))/2, xScrollTop() + 50);
	                var lnkClose = document.getElementById('lnkClseDcmn' + pnID);
	                //lnkClose.href = "javascript: f_BorraObjetoHTML('" + vsNmbrDIV + "')";
	                lnkClose.href = "javascript: f_BorraObjetoHTML('" + vsNmbrDIV + "','undefined'," + vbOscurecer + ");";
	                //## Esconder el Cuadro para indicar que el DIV se está cargando, LFRIAS, Octubre 2009

	            }
	            if (document.getElementById('CargandoDiv')) {
	                xGetElementById("CargandoDiv").style.display = "none";
	            }
                //### Drag                
                //if(pnNoDrag==1){
                //    xDisableDrag(voObjeto);
                //}
            }
        }else{
            //## Si no se creó aún el objeto, se repite la función.
        setTimeout("f_GeneraDIVS('" + psWebSrvc + "', '" + psNmbrDIV + "', '" + psTXT + "', " + pnAnchoDIV + ", " + pfFuncionEncadenada + ", '" + psParametros + "', '" + pnID + "', 1, '" + poDestino + "', " + pbOscurecer + ")", 1000);
        }
        //return true;
    }
    
    
    // Función que separa los parámetros de una cadena (aún sin terminar)
    function f_Parametros(psParametros){    
        var vaParametros = psParametros.split(",");
        var vsAux = "";
        //### Verifica el Tipo de Parámetro que está recibiendo (caracter o númerico)
        for (i=0;i<vaParametros.length;i++){
            var vnAux = 0;
            try{
                vnAux = parseInt(vaParametros[i]); 
            }catch(err){
                vnAux = vaParametros[i]; 
            }
            if (xNum(vnAux)){
                vsAux += vaParametros[i] + ", ";
            }else{
                vsAux += "'" + vaParametros[i] + "', ";
            }
        }
        vsAux = vsAux.substring(0,(vsAux.length-2));    
    }
    
    //###################### /LFRIAS	


	function f_AtributoXML2EstiloCSS(poNodo, psAtributo, poPropiedad) {
		var voObjeto = document.getElementById(poPropiedad);
		var psTmp = poNodo.getAttribute(psAtributo);
		if(psTmp!=null) {
			switch(psAtributo) {
				case "Y":
					xTop(voObjeto, parseInt(psTmp));
				break;
				case "X":
					xLeft(voObjeto, parseInt(psTmp));
				break;
				case "W":
					xWidth(voObjeto, parseInt(psTmp));
				break;
				case "H":
					xHeight(voObjeto, parseInt(psTmp));
				break;
			}
		}
	}
	
	function f_CrearComboDesdeXML(poDocmuentoXML) {
	}
	
	function f_XML2TablaInteligente(poRespuestaXML, poObjetoDestino, psColor, psFormato, psFormatoTitulo) {
		var voLista = poObjetoDestino;
		var vsEncabezado = '';
		var vsResultado = '';
		var vsFormatoEnvian = psFormato;
		var vsFormatoTituloEnvian = psFormatoTitulo;
		var vbGenerarEncabezado =   true;
		var vsColorColumna = '';
		var vsFormatoEncabezado = 'color: #FFFFFF; background-color: #A8CB62; text-align: center;font-size: 8pt;';
		var vsFormatoTitulo = 'width: 100%;color: white; background-color: #A8CB62; filter:progid:DXImageTransform.Microsoft.Gradient(endColorstr=\'#ff005500\', startColorstr=\'#ffA8CB62\', gradientType=\'0\'); font-weight: bold; Border: Solid 1px #005500';
		var psObjetoDestino = poObjetoDestino.id
		//var vsFormatoTitulo = 'color: #FFFFFF; background-color: #689834; text-align: center;font-size: 10pt;';

        if(vsFormatoEnvian!=''){
            //alert("Vacío");
        }

		//*** Para que funcione esto debemos incluir validate.js
		var objvalidacion = new Validate();

        var vaSumatoria = [];
        var vnNumeroColumnasTabla = 0;
        
        //### Parche para colorear los renglones: lfrias
        var auxCtColor = 0;
        vsColorColumna = '#FFFFFF'

		if(poRespuestaXML.readyState == 4) {
			if(poRespuestaXML.status == 200) {
				var vaoElementos = poRespuestaXML.responseXML.getElementsByTagName('ELEMENTO');
				for(var vnTmp=0; vnTmp<vaoElementos.length; vnTmp++) {
					if(vaoElementos[vnTmp].hasChildNodes()) {
						var vaoValores = vaoElementos[0].childNodes;
						vnNumeroColumnasTabla = 0;
						for(var vnTmpVlr=0; vnTmpVlr<vaoValores.length; vnTmpVlr++) {
						    //*** Quitar valores vacios
							if(vaoValores[vnTmpVlr].nodeName != '#text') {
							    //*** Determinamos alineacion del texto
								vsTextAlign =  "left";
								if(objvalidacion.isNum(ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName))) {
								    vsTextAlign = "center";
								    //*** Si quieren sumar, entonces agregarlo a una variable
								    if(vaoValores[vnTmpVlr].nodeName.substring(vaoValores[vnTmpVlr].nodeName.length - 4) == '_SUM') {
								        //*** Si quieren sumar pero no inicializamos la variable, entonces igualarla a cero
								        if(vaSumatoria[vnNumeroColumnasTabla] == null) {
								            vaSumatoria[vnNumeroColumnasTabla] = 0;
								        }
								        //*** Acumulamos la suma
								        vaSumatoria[vnNumeroColumnasTabla] = parseInt(parseInt(vaSumatoria[vnNumeroColumnasTabla]) + parseInt(ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName)));
								    }
								}

                                //*** Incrementamos vnNumeroColumnasTabla para saber al final cuantas son, pero solo contamos las que se despliegan, descartamos vinculos y descripción de imagenes
								if(vaoValores[vnTmpVlr].nodeName.search('LNK_') != 0 && vaoValores[vnTmpVlr].nodeName.search('DSCIMG_') != 0 && vaoValores[vnTmpVlr].nodeName.search('LNA_') != 0) {
							        vnNumeroColumnasTabla++;
                                }								


                                    
								if(vbGenerarEncabezado == true) {
									//*** Aqui generamos el encabezado de la tabla
									//alert(vaoValores[vnTmpVlr].nodeName.search('LNK_'));
									if(vaoValores[vnTmpVlr].nodeName.search('LNK_') != 0 && vaoValores[vnTmpVlr].nodeName.search('DSCIMG_') != 0 && vaoValores[vnTmpVlr].nodeName.search('LNA_') != 0 && vaoValores[vnTmpVlr].nodeName.search('DSCIMC_') != 0) {
										if(vaoValores[vnTmpVlr].nodeName.search('DSC_') != 0 && vaoValores[vnTmpVlr].nodeName.search('IMG_') != 0 && vaoValores[vnTmpVlr].nodeName.search('IMA_') != 0 && vaoValores[vnTmpVlr].nodeName.search('DSA_') != 0 && vaoValores[vnTmpVlr].nodeName.search('IMC_') != 0) {
											//vsEncabezado += '<td bgcolor="' + vsColorColumna + '" Class="EncabezadoCaja">' + vaoValores[vnTmpVlr].nodeName + '</td>';
								            if(vaoValores[vnTmpVlr].nodeName.substring(vaoValores[vnTmpVlr].nodeName.length - 4) == '_SUM') {
											    vsEncabezado += '<td style="' + vsFormatoEncabezado + '">' + vaoValores[vnTmpVlr].nodeName.substring(0, vaoValores[vnTmpVlr].nodeName.length - 4) + '</td>';
                                            } else {
											    vsEncabezado += '<td style="' + vsFormatoEncabezado + '">' + vaoValores[vnTmpVlr].nodeName + '</td>';
                                            }
										} else {
											//vsEncabezado += '<td bgcolor="' + vsColorColumna + '" Class="EncabezadoCaja">' + vaoValores[vnTmpVlr].nodeName.substr(4) + '</td>';
								            if(vaoValores[vnTmpVlr].nodeName.substring(vaoValores[vnTmpVlr].nodeName.length - 4) == '_SUM') {
											    vsEncabezado += '<td style="' + vsFormatoEncabezado + '">' + vaoValores[vnTmpVlr].nodeName.substr(4).substring(0, vaoValores[vnTmpVlr].nodeName.substr(4).length - 4) + '</td>';
                                            } else {
											    vsEncabezado += '<td style="' + vsFormatoEncabezado + '">' + vaoValores[vnTmpVlr].nodeName.substr(4) + '</td>';
                                            }
										}								        
									}
								}
								
								//*** Incorporar funcionalidad de vinculos
								if(vaoValores[vnTmpVlr].nodeName.substr(0, 4) != 'LNK_' && vaoValores[vnTmpVlr].nodeName.substr(0, 4) != 'DSC_' && vaoValores[vnTmpVlr].nodeName.substr(0, 4) != 'IMG_' && vaoValores[vnTmpVlr].nodeName.substr(0, 7) != 'DSCIMG_' && vaoValores[vnTmpVlr].nodeName.substr(0, 4) != 'DSA_' && vaoValores[vnTmpVlr].nodeName.substr(0, 4) != 'LNA_' && vaoValores[vnTmpVlr].nodeName.substr(0, 4) != 'IMA_' && vaoValores[vnTmpVlr].nodeName.substr(0, 4) != 'IMC_' && vaoValores[vnTmpVlr].nodeName.substr(0, 7) != 'DSCIMC_') {
									//*** Desplegar contenido por default
									vsResultado += '<td bgcolor="' + vsColorColumna + '" Align="' + vsTextAlign + '"><font style="Color:' + psColor + ';">' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '</font></td>';
								} else {
									if(vaoValores[vnTmpVlr].nodeName.substr(0, 4) == 'DSC_') {
										//*** Desplegar dato con liga
										//*** Si el dato es una sumatoria entoces restarle la cadena '_SUM'
                                        if(vaoValores[vnTmpVlr].nodeName.substring(vaoValores[vnTmpVlr].nodeName.length - 4) == '_SUM') {
										    vsResultado += '<td bgcolor="' + vsColorColumna + '" Align="' + vsTextAlign + '"><a href="javascript: on_select_' + psObjetoDestino + '(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNK_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '\', \'' + vaoValores[vnTmpVlr].nodeName.substr(4).substring(0, vaoValores[vnTmpVlr].nodeName.substr(4).length - 4) + '\', \'' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '\');">' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '</a></td>';
                                        } else {
										    vsResultado += '<td bgcolor="' + vsColorColumna + '" Align="' + vsTextAlign + '"><a href="javascript: on_select_' + psObjetoDestino + '(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNK_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '\', \'' + vaoValores[vnTmpVlr].nodeName.substr(4) + '\', \'' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '\');">' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '</a></td>';
                                        }
									}
									
									if(vaoValores[vnTmpVlr].nodeName.substr(0, 4) == 'IMG_'){
									    //*** Desplegar imagen con liga
										vsResultado += '<td bgcolor="' + vsColorColumna + '" style="Color:' + psColor + ';" align="center"><a href="javascript: on_select_' + psObjetoDestino + '(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNK_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '\', \'' + vaoValores[vnTmpVlr].nodeName.substr(4) + '\');"><img src="aspx/SIID_ImagenLogo.aspx?ID=' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'IMG_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '" border=0></a><br>' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'DSCIMG_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '</td>';
									}


                                    // Imagen de club específicamente (LFV 9 de Enero de 2007)
									if(vaoValores[vnTmpVlr].nodeName.substr(0, 4) == 'IMC_'){
									    //*** Desplegar imagen con liga
                                        vsResultado += '<td bgcolor="' + vsColorColumna + '" style="Color:' + psColor + ';" align="center"><a href="javascript:  f_InfoAfld(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNK_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '\', \'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'DSCIMC_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '\');"><img src="aspx/SIID_ImagenLogo.aspx?ID=' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'IMC_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '" border=0></a><br>' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'DSCIMC_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '</td>';
									}

									if(vaoValores[vnTmpVlr].nodeName.substr(0, 4) == 'IMA_'){
									    //*** Desplegar imagen con liga
										vsResultado += '<td align=' + vsTextAlign + ' bgcolor="' + vsColorColumna + '" style=" Color:' + psColor + ';" align="center"><a href="javascript: on_select_' + psObjetoDestino + '(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNA_') + '\', \'' + vaoValores[vnTmpVlr].nodeName.substr(4) + '\');"><img src="aspx/SIID_ImagenLogo.aspx?ID=' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'IMA_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '" border=0>&nbsp;&nbsp;' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'DSCIMG_' + vaoValores[vnTmpVlr].nodeName.substr(4)) + '</a></td>';
									}

									if(vaoValores[vnTmpVlr].nodeName.substr(0, 4) == 'DSA_') {
										//*** Desplegar dato con liga
                                        if(vaoValores[vnTmpVlr].nodeName.substring(vaoValores[vnTmpVlr].nodeName.length - 4) == '_SUM') {
										    vsResultado += '<td bgcolor="' + vsColorColumna + '" Align="' + vsTextAlign + '"><a href="javascript: on_select_' + psObjetoDestino + '(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNA_') + '\', \'' + vaoValores[vnTmpVlr].nodeName.substr(4).substring(0, vaoValores[vnTmpVlr].nodeName.substr(4).length - 4) + '\', \'' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '\');">' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '</a></td>';
                                        } else {
										    vsResultado += '<td bgcolor="' + vsColorColumna + '" Align="' + vsTextAlign + '"><a href="javascript: on_select_' + psObjetoDestino + '(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNA_') + '\', \'' + vaoValores[vnTmpVlr].nodeName.substr(4) + '\', \'' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '\');">' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '</a></td>';
                                        }
										//vsResultado += '<td bgcolor="' + vsColorColumna + '" Align="' + vsTextAlign + '"><a href="javascript: on_select_' + psObjetoDestino + '(\'' + ProcesarNodoXML(vaoElementos.item(vnTmp), 'LNA_') + '\', \'' + vaoValores[vnTmpVlr].nodeName.substr(4) + '\', \'' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '\');">' + ProcesarNodoXML(vaoElementos.item(vnTmp), vaoValores[vnTmpVlr].nodeName) + '</a></td>';
									}
								}
							}
						}
						vsResultado += '</tr><tr>';
						
						//### Modificación para colorear los renglones: lfrias
						if(auxCtColor==0) {
							vsColorColumna = '#F1F1F1';
							auxCtColor = 1;
						} else {
							vsColorColumna = '#FFFFFF';
							auxCtColor = 0;
						}
						//*** Apagamos la generación de encabezados en la tabla
						vbGenerarEncabezado = false;
					}
				}

				//*** Ponemos totales
				if(vaSumatoria.length != 0) {
				    vaSumatoria[0] = 'Total';
				    for(vnTmpTotales=0; vnTmpTotales<vnNumeroColumnasTabla; vnTmpTotales++) {
				        //*** Si especificaron sumar esa columna entonces ponerla
                        if(vaSumatoria[vnTmpTotales] != null) {
				            vsResultado += '<td style="' + vsFormatoEncabezado + '">' + vaSumatoria[vnTmpTotales] + '</td>';
                        } else {
				            vsResultado += '<td style="' + vsFormatoEncabezado + '"></td>';
                        }
				    }
				    vsResultado += '</tr><tr>';
                }
                
				var vsObjetoDestino = psObjetoDestino.replace(/_/g, '&nbsp;');
				if(vaoElementos.length>0) {
				    voLista.innerHTML = '<center style="' + vsFormatoTitulo + '">- ' + vsObjetoDestino + ' -</center><table width="100%" Class="numerosajax"><tr>' + vsEncabezado + '</tr><tr>' + vsResultado + '<tr></table>';
                } else {
                    voLista.innerHTML = '<center style="' + vsFormatoTitulo + '">- ' + vsObjetoDestino + ' -</center><br><br><center>Sin informaci&oacute;n</center>'
                }
			}
		}
	}
	
	function ProcesarNodoXML(poElemento, psNombreCampo) {
		var voRespuesta = "";
		try {
			if(poElemento.getElementsByTagName(psNombreCampo)[0].firstChild) {
				voRespuesta = poElemento.getElementsByTagName(psNombreCampo)[0].firstChild.data;
			}
		} catch(err) {
		}
		return(voRespuesta);
	}
	
