The category drop is straight programming; just have each "main" category append a variable to the url back to itself. In the code, check for the category variable and either print the subs or not.
Getting the page to show up in the main frame is straight forward as well. In your main page that specified the frame setup, you gave a name to each frame. In the url's of your menu, just use TARGET="framename" in the <A> tag:
============================
<?php
// menu.php
print "<A HREF='$PHP_SELF?cat=parts'>Parts</A>\n";
if ($cat='parts') {
print "<A HREF='bodyparts.php' TARGET='mainframe'>Body Parts</A>\n";
print "<A HREF='engineparts.php' TARGET='mainframe'>Engine Parts</A>\n";
print "<A HREF='replaceparts.php' TARGET='mainframe'>Replacement Parts</A>\n";
}
?>
HTH
-- Rich Rijnders
-- Irvine, CA US