Brad Bowman
Mega Patron

Whenever using setMandatory in a client script, you must make the field or variable not mandatory before attempting to hide it.  Also make sure you do not have any other Catalog Client Scripts or Catalog UI Policies that could be affecting these variables.  As a preference, you may want to use setDisplay in place of setVisible as when hiding variables, the empty space will be consumed by visible variables when using setDisplay.