I actually think it is pretty unlikely that you have a weight problem, unless you redefined your module to have a extremely low weight. Make sure you have JS optimization turned off, and then do a view source and make sure jQuery is the first script loaded (nearly always is).
My two guesses are
You have a JS error somewhere else, and this is a weird side effect.
You have a JS error in your catalog_menu.js (or another file) that is nuking the $ object by accident.
Also, you should you use JS module pattern for code, because Drupa 7 defaults jQuery no-conflict mode.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $init $.Drupal.attach: init jQuery