var hexchars = "0123456789ABCDEF";
var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
var ascii = "?";

var encodeURIComponent = function (s)
{
  var enc = new Array();  
  for(i = 0; i < s.length; i++)
   enc[i] = (okURIchars.indexOf(s.charAt(i)) == -1) ? "%" + toHex((n = s.charCodeAt(i)) < 0x80 ? n : 0x80 + ascii.indexOf(s.charAt(i)) ) : s.charAt(i);
  return enc.join("");
}

function toHex(n)
{
  return hexchars.charAt(n>>4) + hexchars.charAt(n & 0xF);
}
