// Clase que modela un item genérico clave - valor
function Item(clave, valor)
{
	this.clave = clave;
	this.valor = valor;
}

function encode(cadena)
{
    cadena = escape(cadena)
       .replace(/\+/g, '%2B')
          .replace(/\"/g,'%22')
             .replace(/\'/g, '%27')
				.replace(/\&+/g, '%38');
	return cadena;

 }

function normaliza(cadena)
{
    cadena = cadena
       .replace(/\+/g, '')
          .replace(/\"/g,'')
             .replace(/\'/g, '')
				.replace(/\&+/g, '')
					.replace(/\s+|\s+$/g, ' ');
	return trim(cadena);
 }

function trim(cadena)
{
	for(i=0; i<cadena.length; )
	{
		if (cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	
	return(cadena);
}

function esNumero(cadena)
{
	var v1, v2;

	for (i = 0; i < cadena.length; i++)
	{
		v1 = cadena.substr(i, 1);
		v2 = parseInt(v1);

		if (isNaN(v2))
			return false;
	}
	
	return true;
}
