Well you should have a high-carb breakfast (plenty of prtein too, preferably), then eat often throughout the day. If you want to gain muscle/weight you need to eat LOTS, particularly protein. Then you should have something to eat about 1hr before training, you need carbs then for energy. Then have something high-protein post-gym (you'll need to replenish carbs sensibly too).
As for supplements, a decent protein powder should be fine. Anything from myprotein.com is good quality and reasonably priced, whichever fits your bill. Just remember not to rely too heavily on supplements. Yes, by all means use them, but they are there to supplement your diet, not replace a good diet. Have a shake post-workout and possibly with your pre-workout meal too, and with your breakfast and possibly lunch too.
Also, instead of a protein supplement, you could just go for raw eggs. Blend, say, 4 eggs with a pint of milk.