[Raises hand] I am one hell of a coder. lol
Well not really. Don't do javascript. But CSS and HTML, I'm all over them like diaper rash. hehe.
Here's what you do. You make big black blocks on their own separate layers over the areas where text is going to be. Then you use layer masking or opacity to make them transparent. That will make text on top of the background easier to read.
You could also use the "adjust" commands to lower the saturation, raise the contrast, etc., but I like the layer block tactic better cause it allows you more flexibility.
If all else fails, you could always just mask out the background of where the main text body is going to be, too, and just leave it as a menu background.
Of course, you realize, with a background like that, when someone scrolls up, the **** is gonna repeat and look retarded, assuming they ever even bother to post something there that is long enough to require scrolling.
You could use slice and make it frames, that would work well. Or you could use CSS, or an iframe...possibilities, man. hehe.