clean up as much of the crap and gunk to begin with through your normal cleaning process, making sure not to brown it out if its a cotton based pillow top.
Start with your deoderizer of choice, enzyme, or oxidizer or quat alot or whatever you believe in, spray the mattress heavy back and front and put into one of those plastic matress bags from uhaul. Seal the end with tape except the very bottom or top. Leave just enough of an opening to put a vac hose from your TM in. This will remove the air from the mattress and allow the deoderizer to be forced into the entire mattress material. (video if you can, its quite fun to watch a 12 inch plus mattress reduced down to 4 or 5 inches.) Leave the hose on for about 10-15 minutes if you can. Then release the vacuum and extract the surface again with an acid rinse product. The mattress should spring back when the air is allowed back in. Then get some fans on it for drying. treat and spots/stains and send it on its merry way. I'd charge 200 for a complete deoderization, and would not guarentee the stain removal.
This procedure works wickedly well for upholstery cushions as well.