Hi serakfalcon, couple of points,
Would it make the code clearer to use <fieldset> tags in the form rather than lots of <div> tags?
Secondly it would be nice to have the ability to choose what fields to show based on a stored template by user or implementation? For instance in East Africa the concept of an "address" doesn't really exist, mostly businesses are described by a PO box and a town. All those address fields just serve to confuse users, but I don't want to have to keep changing the code. There are many other such fields that mostly (but not always) should be hidden. Also would be nice to change whether a field is mandatory or not based on this template, but I may be going too far there.
Tim