//******************************************************************************************
//Function:	SoloBlancos
//Objetivo:	Devuelve true si la hilera que le pasan por parámetro
//			solamente está compuesta de espacios en blanco.
//******************************************************************************************
function SoloBlancos(str)
{
	var nCuantos = str.length;
	if(nCuantos == 0)
		return true;
	var blancos = /^[\s]+$/;
	return blancos.test(str);
}
	

//*****************************************************************************************
//Function:	Trim
//Objetivo:	Trunca los espacios en blanco a la izquierda y a la 
//			derecha de la hilera que se le pasa por parámetro.
//			Devuelve la hilera modificada, por lo cual cuando se
//			invoca esta función se debe asignar a la variable con
//			que se quiere trabajar.
//****************************************************************************************
function Trim(str)
{
	var n = str.length;
	if(n == 0) 
		return "";
	if(SoloBlancos(str))
		return "";
	
	while (str.substr(0,1) == " ")
	{
		str = str.substr(1);
	}
	n = str.length;
	
	while (str.substr(n -1,1) == " ") 
	{
		str = str.substr(0,n-1);
		n = str.length;
	}
	return str;
}

// Modificación por Manuel Vargas. 4/Mayo/2004. Listado de modificaciones: 3
var fraDocG;
var bdG;
var itemG;
var modoG;
var targetG;
var homePageG;
var sHrefPaginaRegresarG;
var sCarpetaDocsG;
var homePageBDG;
var target2G;
// Fin de modificación por Manuel Vargas. 4/Mayo/2004. Listado de modificaciones: 3

function RepararHrefSCOM(sHref, sCarpetaDocs, homePage, homePageBD, sHrefPaginaRegresar, objLink, target)
{
	try {
		var m_lPos;
		var m_sCarpetaIMG = "/img/";
		var m_sIndiceAsp = "/indice.asp"
	
		bAplicarTarget = false;
		sCarpetaDocs = sCarpetaDocs.replace('\\', '/');
		sCarpetaDocs = sCarpetaDocs.toLowerCase();
		homePage = homePage.toLowerCase();

		var m_sHrefLC = sHref.toLowerCase();

		if (m_sHrefLC.indexOf(homePage) >= 0 || m_sHrefLC.indexOf("file:") == 0)
		{	
			m_lPos = m_sHrefLC.indexOf(sCarpetaDocs);
									
			if (m_lPos >= 0)
				m_sHrefLC = homePage + '/' + m_sHrefLC.substring(m_lPos);				
	
			m_lPos = m_sHrefLC.indexOf(m_sCarpetaIMG);

			if (m_lPos >= 0)
				m_sHrefLC = homePageBD + m_sHrefLC.substring(m_lPos);
				
			m_lPos = m_sHrefLC.indexOf(m_sIndiceAsp);

			if (m_lPos >= 0)
			{
				m_lPos = m_sHrefLC.indexOf(homePage + m_sIndiceAsp);
				
				if (m_lPos != 0)
				{
					m_lPos = m_sHrefLC.indexOf(m_sIndiceAsp);
					
					if (target == "fraOculto")
						m_sHrefLC = "about:blank";
						
					else
						m_sHrefLC = homePage + m_sHrefLC.substring(m_lPos) +'&sHrefPaginaRegresar='+sHrefPaginaRegresar + '&SincronizarArbol=S';
						
					try {objLink.target = target}
					catch(e) {}
				} // if (m_lPos != 0)				
			} // if (m_lPos >= 0)
				
			m_sHrefLC = m_sHrefLC.replace('"', '');
		} // if (m_sHrefLC.indexOf(homePage) >= 0 || m_sHrefLC.indexOf("file:") == 0)

		if (sHref.toLowerCase() == m_sHrefLC)
			return sHref;
		else
			return m_sHrefLC;
	} // try
	catch(e) { 
		alert('RepararHrefSCOM. ' + e.description);
		return sHref;
	} // catch(e)
} // function RepararHrefSCOM(sHref, sCarpetaDocs, homePage, homePageBD, sHrefPaginaRegresar, objLink, target)

function SustituirConLinks(fraDoc, bd, item, modo, target, homePage, sHrefPaginaRegresar, sCarpetaDocs, homePageBD, target2)
{
	try {
		var i;
		var m_sHref;
		var m_sNumLink;
		var m_lPos;
		var m_sTextoSustituir = "mlxhyperlink_";
		var m_sTextoLink;

		for (i=0; i < fraDoc.document.links.length; i++)
   		{
			m_sHref = fraDoc.document.links[i].href;
			
			m_sTextoLink = fraDoc.document.links[i].innerHTML;
			
			m_sHref = RepararHrefSCOM(m_sHref, sCarpetaDocs, homePage, homePageBD, sHrefPaginaRegresar, fraDoc.document.links[i], target2);
						
			m_lPos = m_sHref.indexOf(m_sTextoSustituir);

			if (m_lPos >= 0)
			{
				m_sNumLink = m_sHref.substring(m_lPos + m_sTextoSustituir.length, m_sHref.length-1);
				m_sHref = homePage + '/irALink.asp?bd='+bd+'&item='+item+'&numLink='+m_sNumLink+'&modo='+modo+'&sHrefPaginaRegresar='+sHrefPaginaRegresar;
				fraDoc.document.links[i].target = target;
				fraDoc.document.links[i].href = m_sHref;
			} // if (m_lPos >= 0)
			
			fraDoc.document.links[i].href = m_sHref;
			
			try {
				fraDoc.document.links[i].innerHTML = m_sTextoLink;
			} // try
			catch(e) {}
	   	} // for (i=0; i < fraDoc.document.links.length; i++)

		for (i=0; i < fraDoc.document.images.length; i++)
		{
			m_sHref = fraDoc.document.images[i].src;
			fraDoc.document.images[i].src = RepararHrefSCOM(m_sHref, sCarpetaDocs, homePage, homePageBD, sHrefPaginaRegresar, fraDoc.document.images[i], target2);
		} // for (i=0; i < fraDoc.document.images.length; i++)

		for(i = 1; i <= fraDoc.frames.length; i++)
		{
			SustituirConLinks(fraDoc.frames(i-1), bd, item, modo, target, homePage, sHrefPaginaRegresar, sCarpetaDocs, homePageBD, target2);
		} // for(i = 1; i <= fraDoc.frames.length; i++)
	} // try

	catch(e) { 
		if (e.number == -2146827685)
		{
			fraDocG = fraDoc;
			bdG = bd;
			itemG = item;
			modoG = modo;
			targetG = target;
			homePageG = homePage;
			sHrefPaginaRegresarG = sHrefPaginaRegresar;
			sCarpetaDocsG = sCarpetaDocs;
			homePageBDG = homePageBD;
			target2G = target2;
			window.setTimeout("ReSustituirConLinks()", 1);
			return;
		} // if (e.number == -2146827685)
		
		if(e.number == -2147024891)
		{
			return; // acceso denegado
		} // if(e.number == -2147024891)
				
		alert('SustituirConLinks. ' + e.description);
	} // catch(e)
} // function SustituirConLinks(fraDoc, bd, item, modo, target, homePage, sHrefPaginaRegresar, sCarpetaDocs, homePageBD, target2)

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function SustituirConLinks3(fraDoc, bd, item, usuario, hreffm, hrefdm, hrefmlx, backpage)
{
		var i;
		var m_lPos;
		var m_sTextoLink;
		var m_sHref;
		var arreglo;

		for (i=0; i < fraDoc.document.links.length; i++)
   		{
			m_sHref = fraDoc.document.links[i].href;

			var arreglo = m_sHref.split("_");

			m_lPos = m_sHref.indexOf("hyperlinkfm");
			if (m_lPos >= 0)
			{
				fraDoc.document.links[i].target = "_blank";
				fraDoc.document.links[i].href = hreffm + "masterlex.aspx?coleccion=" + arreglo[1] + "&expediente=" + Left(arreglo[2],arreglo[2].length  - 1) + "&usuario=" + usuario;
			}

			m_lPos = m_sHref.indexOf("hyperlinkmlx");
			if (m_lPos >= 0)
			{
				fraDoc.document.links[i].target = "fraEscritorio";
				//alert(URLEncode("indice.asp?nBD=" + bd + "&nItem=" + item + "&nModo=2"));
				fraDoc.document.links[i].href = hrefmlx + "indice.asp?nbd=" + arreglo[1] + "&nItem=" + Left(arreglo[2],arreglo[2].length  - 1) + "&nModo=2&sHrefPaginaRegresar=" + URLEncode("indice.asp?nBD=" + bd + "&nItem=" + item + "&nModo=2");
			}
			
			m_lPos = m_sHref.indexOf("hyperlinkvot");
			if (m_lPos >= 0)
			{
				fraDoc.document.links[i].target = "_blank";
				//alert(URLEncode("indice.asp?nBD=" + bd + "&nItem=" + item + "&nModo=2"));
				fraDoc.document.links[i].href = hrefdm + "/votacion.aspx?votacion=" + arreglo[1];
			}
			
			m_lPos = m_sHref.indexOf("hyperlinkauditoria");
			if (m_lPos >= 0)
			{
				fraDoc.document.links[i].target = "_blank";
				//alert(URLEncode("indice.asp?nBD=" + bd + "&nItem=" + item + "&nModo=2"));
				fraDoc.document.links[i].href = hrefdm + "/auditoria.aspx?agenda=" + Left(arreglo[1],arreglo[1].length - 1) + "&usuario=" + usuario;
			}
			
			m_lPos = m_sHref.indexOf("hyperlinkgraficos");
			if (m_lPos >= 0)
			{
				fraDoc.document.links[i].target = "_blank";
				//alert(URLEncode("indice.asp?nBD=" + bd + "&nItem=" + item + "&nModo=2"));
				fraDoc.document.links[i].href = hrefdm + "/graficos.aspx?agenda=" + Left(arreglo[1],arreglo[1].length - 1) + "&usuario=" + usuario;
			}
			
	   	} 
		
} // function SustituirConLinks3(fraDoc, bd, item, modo, target, homePage, sHrefPaginaRegresar, sCarpetaDocs, homePageBD, target2)


function SustituirConLinks2(fraDoc, bd, item, modo, target, homePage)
{
	// Modificación por Manuel Vargas. 1/Abril/2004. Listado de modificaciones: 2

	try {
		var TRange1=fraDoc.document.body.createTextRange();
		var TRange2=null;
		var m_sSeparador = "##";
		var m_sSeparadorNum = "_";
		var m_sTexto = "";
		var m_sNumLink = "";
		var m_sHref = '';
		var m_bEncontro = true;
		
		while(m_bEncontro)
		{
			m_bEncontro = TRange1.findText(m_sSeparador);

			if(m_bEncontro)
			{
				TRange2 = TRange1.duplicate();
				TRange2.moveStart("character", 1);
				m_bEncontro = TRange2.findText(m_sSeparador);

				if(m_bEncontro)
				{
					TRange1.setEndPoint("EndToEnd", TRange2);
					m_sTexto = TRange1.text;
					m_sTexto = m_sTexto.substring(m_sSeparador.length, m_sTexto.length);
					m_sTexto = m_sTexto.substring(0, m_sTexto.length-m_sSeparador.length);

					m_sNumLink = "";
					while (m_sTexto.substring(0,1) != m_sSeparadorNum && m_sTexto.length > 0)
					{
						m_sNumLink = m_sNumLink + m_sTexto.substring(0,1);
						m_sTexto = m_sTexto.substring(1,m_sTexto.length);
					} // while (m_sTexto.substring(0,1) != m_sSeparadorNum && m_sTexto.length > 0)

					m_sNumLink = Trim(m_sNumLink);

					if (m_sTexto.substring(0,1) == m_sSeparadorNum)
						m_sTexto = m_sTexto.substring(1,m_sTexto.length);

					m_sHref = homePage + '/irALink.asp?bd='+bd+'&item='+item+'&numLink='+m_sNumLink+'&modo='+modo;
					TRange1.pasteHTML('<a href=' + m_sHref + " target='" + target + "'>" + m_sTexto + '</a>');
					TRange1.collapse(0);
				} // if(m_bEncontro)
			} // if(m_bEncontro)
		} // while(m_bEncontro)

		var i;

		for(i=1; i <= fraDoc.frames.length; i++)
		{
			SustituirConLinks(fraDoc.frames(i-1), bd, item, modo);
		} // for(i=1; i <= fraDoc.frames.length; i++)
	} // try
	catch(e) { 
		// Modificación por Manuel Vargas. 4/Mayo/2004. Listado de modificaciones: 3
		if (e.number == -2146827685)
		{
			fraDocG = fraDoc;
			bdG = bd;
			itemG = item;
			modoG = modo;
			targetG = target;
			homePageG = homePage;
			window.setTimeout("ReSustituirConLinks()", 1);
		} // if (e.number == -2146827685)
		else
			alert('SustituirConLinks. ' + e.description); 
		// Fin de modificación por Manuel Vargas. 4/Mayo/2004. Listado de modificaciones: 3
	} // catch(e)

	// Fin de modificación por Manuel Vargas
} // function SustituirConLinks(fraDoc, bd, item, modo, target, homePage)

// Modificación por Manuel Vargas. 4/Mayo/2004. Listado de modificaciones: 3

function ReSustituirConLinks()
{
	try {
		SustituirConLinks(fraDocG, bdG, itemG, modoG, targetG, homePageG, sHrefPaginaRegresarG, sCarpetaDocsG, homePageBDG, target2G);
	} // try
	catch(e) {
		window.setTimeout("ReSustituirConLinks()", 1);
	} // catch(e)
} // function ReSustituirConLinks()

// Fin de modificación por Manuel Vargas. 4/Mayo/2004. Listado de modificaciones: 3

var m_lBD;
var m_strHTML_Detalle;
var m_strTextoExpandido;
var m_strCierreVisible;
var m_bCargarContenido;
var m_sVista;

function CargarHijosVisiblesNodoV2(lBD, strHTMLDetalle, strTextoExpandido, strCierreVisible, bCargarContenido, sVista)
{
	m_lBD = lBD;
	m_strHTML_Detalle = strHTMLDetalle;
	m_strTextoExpandido = strTextoExpandido;
	m_strCierreVisible = strCierreVisible;
	m_bCargarContenido = bCargarContenido;
	m_sVista = sVista;
	CargarHijosVisiblesNodoV2_2();
} // function CargarHijosVisiblesNodoV2()

function EliminarParametro(sHref, sParamElim)
{
	var m_sHref = sHref.toLowerCase();
	m_sParamElim = sParamElim.toLowerCase();
	
	var m_lPosIni = m_sHref.indexOf("?" + m_sParamElim);
	
	if (m_lPosIni < 0)
		m_lPosIni = m_sHref.indexOf("&" + m_sParamElim);
	
	if (m_lPosIni >= 0)
	{
		var m_lPosFin = m_sHref.indexOf("&", m_lPosIni+1);
		
		if (m_lPosFin >= 0)
			sHref = sHref.substring(0, m_lPosIni) + sHref.substring(m_lPosFin);
		else
			sHref = sHref.substring(0, m_lPosIni);
	} // if (m_lPosIni >= 0)
	
	return sHref;
} // function EliminarParametro(sHref, sParametro)

function ObtenerElementoHtml(objPadre,strTagName,strTipo)
{
	var i = 0;
	var objResultado = null;
	var objHijos = null;
	//Si el padre no es nulo se obtiene los hijos del mismo
	if( null != objPadre )
		objHijos = objPadre.children;
	//Se recorren los hijos
	for (i = 0; objHijos != null && i < objHijos.length; i++)
	{
		//Se compara cada hijo para determinar si tiene el mismo tagName
		//Además se compara el type del control HTML

		if (objHijos[i].tagName.toUpperCase() == strTagName.toUpperCase() && ( strTipo == null || objHijos[i].type == strTipo) )
		{
			//En caso que en objeto padre tenga dos o más elementos con el mismo tagName y tipo, se devuelve solo el primero	
			objResultado = objHijos[i];
			break;
	    }
	}
	return objResultado;
}

function CargarHijosVisiblesNodoV2_2()
{
try{
	var m_frameArbol = top.fraIzquierdo.fraArbol;
	var i;
	var m_nuevo_div;
	var m_sHref;
	var m_sHTML;
	var n = m_frameArbol.m_TituloRutaItemActual.length;

	top.fraIzquierdo.fraArbol.objUltimoResultBusqInd = null;
	
	if (top.fraIzquierdo.fraArbol.m_bEscritorioRefrescado != true)
		alert(lanzarError);
		
	m_nuevo_div = m_frameArbol.divRaiz;
	m_nuevo_div.innerHTML = "";
	
	if (m_frameArbol.m_TipoRutaItemActual[n-1] == "P")
		n = n - 1;

	for(i = 1; i <= n; i++)
	{
		if ((m_sVista == 'N') || (m_sVista == 'R'))
		{
			m_sHref = "indice.asp?nBD=" + m_lBD + "&nItem=" + m_frameArbol.m_RutaItemActual[i-1] + "&nModo=" + 2;
			
			if ((m_sVista == 'R') && (Trim(m_frameArbol.m_HrefRutaItemActual[i-1]) != ''))
				m_sHref = m_frameArbol.m_HrefRutaItemActual[i-1];
				
		} // if ((m_sVista == 'N') || (m_sVista == 'R'))
		
		if (m_sVista == 'T')
		{
			m_sHref = "FichaTesauro.asp?";
			m_sHref = m_sHref + "BD=" + m_lBD;
			m_sHref = m_sHref + "&Termino=" + m_frameArbol.m_RutaItemActual[i-1];
			m_sHref = m_sHref + "&Titulo=" + m_frameArbol.m_TituloRutaItemActual[i-1];
			m_sHref = m_sHref + "&NivelArbol=" + i;
		} // if (m_sVista == 'T')
		
		if (m_sVista == 'P')
		{
			m_sHref = "FichaPropiedadValor.asp?BD=" + m_lBD;
			m_sHref = m_sHref + "&Propiedad=" + m_frameArbol.m_PropiedadRutaItemActual[i-1];
			m_sHref = m_sHref + "&Alcance=" + m_frameArbol.m_AlcanceRutaItemActual[i-1];
			m_sHref = m_sHref + "&Valor=" + m_frameArbol.m_ValorRutaItemActual[i-1];
			m_sHref = m_sHref + "&Titulo=" + m_frameArbol.m_TituloRutaItemActual[i-1];
			m_sHref = m_sHref + "&Item=" + m_frameArbol.m_RutaItemActual[i-1];
		} // if (m_sVista == 'P')

		m_sHref = EliminarParametro(m_sHref, "SincronizarArbol");
				
		m_sHTML = m_strTextoExpandido + "title='" ;
		m_sHTML =  m_sHTML + m_frameArbol.m_TituloRutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' BD='";
		m_sHTML =  m_sHTML + m_lBD;
		m_sHTML =  m_sHTML + "' Item='";
		m_sHTML =  m_sHTML + m_frameArbol.m_RutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' codigo='";
		m_sHTML =  m_sHTML + "bd_" + m_lBD + "_" + m_frameArbol.m_RutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' CodigoItem='";
		m_sHTML =  m_sHTML + m_frameArbol.m_RutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' TipoItem='";
		m_sHTML =  m_sHTML + m_frameArbol.m_TipoRutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' propiedad='";
		m_sHTML =  m_sHTML + m_frameArbol.m_PropiedadRutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' valor='";
		m_sHTML =  m_sHTML + m_frameArbol.m_ValorRutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' alcance='";
		m_sHTML =  m_sHTML + m_frameArbol.m_AlcanceRutaItemActual[i-1];
		m_sHTML =  m_sHTML + "' nivelArbol='";
		m_sHTML =  m_sHTML + i;
		m_sHTML =  m_sHTML + "' Href='";
		m_sHTML =  m_sHTML + m_sHref;
		m_sHTML =  m_sHTML + "' title='";
		m_sHTML =  m_sHTML + m_frameArbol.m_TituloRutaItemActual[i-1];
		m_sHTML =  m_sHTML + "'>" + m_frameArbol.m_TituloRutaItemActual[i-1];
		m_sHTML =  m_sHTML + "</SPAN><SPAN class='clsSpace' type='enlace' Href='" + m_sHref + "'>";
		m_sHTML =  m_sHTML + m_strCierreVisible;

		m_nuevo_div.innerHTML = m_sHTML;
		var objContenedor = ObtenerElementoHtml(m_nuevo_div.children[0], "DIV", "container");
		//m_nuevo_div = m_nuevo_div.children[0].children[5];
		m_nuevo_div = objContenedor;
	} // for(i = 1; i <= n; i++)

	VerBotonSubir1NivelArbol(true);
	m_nuevo_div.innerHTML = m_strHTML_Detalle;
	m_frameArbol.m_bReiniciarVarsRuta = false;
	m_frameArbol.m_bSincronizando = true;
	m_frameArbol.SincronizarTemp(m_bCargarContenido);
	m_frameArbol.m_bReiniciarVarsRuta = true;
	m_frameArbol.m_bSincronizando = false;
}
catch(e)
{
	m_frameArbol.m_bReiniciarVarsRuta = true;
	m_frameArbol.m_bSincronizando = false;
	window.setTimeout("CargarHijosVisiblesNodoV2_2()", 1);
}
} // function CargarHijosVisiblesNodoV2()

function CargarHijosVisiblesNodoV21(lBD, strHTMLDetalle, bCargarContenido, sFuncion, sItemSincronizar)
{
	var m_frameArbol = top.fraIzquierdo.fraArbol;
	var m_nuevo_div;
				
	m_nuevo_div = m_frameArbol.divRaiz;
	m_nuevo_div.innerHTML = "";
	
	top.fraIzquierdo.fraSubir1Nivel.location.href = "Subir1NivelArbol.asp?BD="+lBD;
	VerFrameSubir1Nivel(true);

	m_nuevo_div.innerHTML = strHTMLDetalle;
	
	if (sFuncion == "SincronizarArbol")
		m_frameArbol.SincronizarTemp2(lBD, sItemSincronizar, bCargarContenido);
} // function CargarHijosVisiblesNodoV2(lBD, strHTMLDetalle, bCargarContenido, sFuncion, sItemSincronizar)

function VerBotonSubir1NivelArbol(bVer)
{
	var m_sEstilo = "none";
	
	if (bVer)
		m_sEstilo = "block";
	
	top.fraIzquierdo.fraSubir1Nivel.document.all("MostrarBotonRegresar").style.display = m_sEstilo;
} // function VerBotonSubir1NivelArbol(bVer)

function AbrirCalendario(strURLServidor, sCampoFecha)
{
	var newWindow;
	var urlstring = strURLServidor + '/Calendario/Calendario.asp?sCampoFecha=' + sCampoFecha;
	var m_lHeight = 210;
	var m_lWidth = 280;
	var m_lTop = screen.height/2 - m_lHeight/2;
	var m_lLeft = screen.width/2 - m_lWidth/2;
	newWindow = window.open(urlstring,'','height='+m_lHeight+',width='+m_lWidth+',top='+m_lTop+',left='+m_lLeft+',toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no')
} // function AbrirCalendario(strURLServidor, sCampoFecha)

function PrepararFraseParametroURL(frase)
{
	while(frase.indexOf('%') >= 0)
		frase = frase.replace('%', '%25');
		
	while(frase.indexOf('&') >= 0)
		frase = frase.replace('&', '%26');
	return frase;
} // function PrepararFraseParametroURL(frase)

function URLEncode(cadena)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = cadena;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	cadena = encoded;
	return cadena;
};
