function URLencode(plaintext)
{
   var Allowed = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";
	var Hexadecimals = "0123456789ABCDEF";
	var encoded = "";
	
	for (var i = 0; i < plaintext.length; i++ )
	{
	   var ch = plaintext.charAt(i);
	   if (ch == " ")
	   {
	      encoded += "+";
	   }
	   else if (Allowed.indexOf(ch) != -1)
	   {
	      encoded += ch;
	   }
	   else
	   {
	      var charCode = ch.charCodeAt(0);
	      if (charCode > 255)
	      {
	         encoded += "+";
	      }
	      else
	      {
				encoded += "%";
				encoded += Hexadecimals.charAt((charCode >> 4) & 0xF);
				encoded += Hexadecimals.charAt(charCode & 0xF);
			}
		}
	}
	return encoded;
}