One other suggestion that I would make is to try to get the HTML somewhat compliant with the XHTML standards. The five main requirements for the loose or transitional xhtml are:
1. Proper nesting: Other than the one off-balance end font tag, you're already there.
2. End Tags required: I didn't find any violations along these lines.
3. Terminate Empty Elements: This is really the only thing you need to do to get the html to be well-formed XML. Right now, you're using some of the unbounded HTML tags. Just add a space with /> and you should be good to go. This applies to the following tags: <META /> <BR /> <IMG /> <HR /> <INPUT />. I see you already had the foresight to put the termination on a bunch of the input elements (exception is the SUBMIT buttons).
4. Quoted attributes: Ok there.
5. Case Sensitivity: You seem to be using lower case, so you should be ok there.
Anyhow, if you terminate the empty elements, you should be able to use some XML tools to validate the well-formedness of the generated html. Might save you some pain in the long run.