On top of what everyone else has suggested, neutering (if he isn't already) will help get rid of the hormonal aspect of his moodyness.