Get a product called Ozium. Its in a metal can and its a aerosol spray. I doesn't just mask the smell it gets rid of it. It is like a biological agent that breaks down the smoke. Its like $6 a bottle and the only place i have been able to find it is a K-mart. Walmart doesn't carry it.
I swear by this stuff. I could hotbox my car for a night, get home and spray the Ozium( only a little bit), and the next morning it wouldn't smell like anything. U cant spray it and be in the same room so when your leaving or something is when you spray it. But if you need to get rid of a smell fast then you can be in there with it if you have to.
Heres a look to check it out for yourself -
Ozium - Air Sanitizer, Air purifier and Air deodorizer