I don't remember correctly all the JavaScript syntax you will need. But you'll want to do this with client side JavaScript.
Check out http://www.irt.org (if they're still around) and hit up their JavaScript FAQ then do Forms (I think).
Basically, you'd want to do something like this:
on list box 1 change, update list box 2 (use a function)
function for list box 2 update:
get selected value of list box 1
clear list box 2
use array associated with the value of list box 1
parse array and rebuild list box 2
This is based on the idea you have PHP build a JavaScript array of all the possible list box values and text. Then you have client side JavaScript parse this array (which is now a JavaScript array) and rebuild list box 2. Make sense?