function gE (id)
{
	return document.getElementById(id);
}

function trim (cadena)
{
	var popo = cadena;
	for(i=0;i<cadena.length;  i++)
	{
		if(cadena.charAt(i)==" "){ popo=cadena.substring(i+1, cadena.length);}
		else {break;}
	}
	cadena = popo;
	for(i=cadena.length-1; i>0; i--)
	{
		if(cadena.charAt(i)==" ") {cadena=cadena.substring(0,i);}
		else {break;}
	}
	return cadena;
}

function readCookie(name)
{
	//debug_script('readCookie');
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	
	for(var i=0;i < ca.length; i++) 
	{
		var c = ca[i];
		while (c.charAt(0)==' ') {c = c.substring(1, c.length);}
		if (c.indexOf(nameEQ) == 0) 
		{
			return c.substring(nameEQ.length, c.length);
		}
	}
	return null;
}

function eraseCookie(name) 
{
	createCookie(name,"",-1);
}

function createCookie(name,value,days) 
{
	if (days) 
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}


function URLEncode( text)
{
	// 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 = text;
	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) 
				{
					alert( "Unicode Character '" 
								+ ch 
								+ "' cannot be encoded using standard URL encoding.\n" +
								"(URL encoding only supports 8-bit characters.)\n" +
								"A space (+) will be substituted." );
					encoded += "+";
				}
				else
				{
					encoded += "%";
					encoded += HEX.charAt((charCode >> 4) & 0xF);
					encoded += HEX.charAt(charCode & 0xF);
				}
			}
		}
	} // for
	return encoded;

};

function URLDecode( text)
{
	// Replace + with ' '
	// Replace %xx with equivalent character
	// Put [ERROR] in output if %xx is invalid.
	var HEXCHARS = "0123456789ABCDEFabcdef"; 
	var encoded = text;
	var plaintext = "";
	var i = 0;
	while (i < encoded.length)
	{
		var ch = encoded.charAt(i);
		if (ch == "+")
		{
			plaintext += " ";
			i++;
		}
		else
		{
			if (ch == "%")
			{
				if (i < (encoded.length-2) && HEXCHARS.indexOf(encoded.charAt(i+1)) != -1  && HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 )
				{
					plaintext += unescape( encoded.substr(i,3) );
					i += 3;
				}
				else
				{
					alert( 'Bad escape combination near ...' + encoded.substr(i) );
					plaintext += "%[ERROR]";
					i++;
				}
			}
			else
			{
				plaintext += ch;
				i++;
			}
		}
	} // while
	return plaintext;
};
