Help with Indy HTTP component/Demo and some mods to idHTTP.pas

I'm trying to use the demo to do a post to a URL that isn't working.
Here's the form data (minus some stuff that isn't relevant to the

<form action=""
URL: <input maxlength=520 name="url2add" size=60 value="http://">
E-Mail: <input maxlength=120 name="uemail" size=25 value="">
<input type=checkbox name="dc" value=1> deep crawl
<input type="Image" name="submit"
<input type=hidden name=region value="">
<input type=hidden name=page value=submit>

So, on the demo I am setting:
  Method: Post
  Post Information:

Then hitting "Go". The page that is returned is the same page that
would be returned if you had just done a "Get" on the same URL.

Also, I made a quick little addition to idHTTP.pas that just encodes
the characters that normally can't be passed as parameters to a get or
post. I'm sure it can be cleaned up and made more efficient but this
was just a quick fix:

function PostEncode(const src: String): String;
 i: integer;
 s: string;
 c: string;

  s := '';
  c :=

  for i := 1 to length(src) do
    if src[i] = ' ' then s := s + '+'
      if pos(src[i], c) = 0 then s := s + '%' + inttohex(ord(src[i]),
      else s := s + src[i];

  result := s;

Then in the two "Post" procedures, after the StringReplace, I call:

  S := StringReplace(ASource.Text, EOL, '&', [rfReplaceall]);
  s := PostEncode(s);