I am looking some code for a customization of a specific contribution page on CiviCRM 4.4 system. An extension is implemented that runs hook_buildForm() which operates on the form based on the ID. The overall layout has several templates customized to the contribution id. The problem I am seeing is that if there are validation errors on the page, the form redirects to /civicrm/contribute/transact with no ID in the query string. In this templates don't get rendered, though hook_buildForm() does receive the ID correctly and run it's customization. I am new this platform and not informed on the request handling and routing. I would like to know if there is something easy to change that would cause the ID to be sent with the query string when there are validation errors or otherwise cause custom templates to be run.