try the mi mitsu suggestions:
http://www.howtodothings.com/home-and-garden/a4685-how-to-remove-cigarette-odor.html i used to detail corvettes after i painted them (simple restorations) back in the day when i was in college, and i can vouch for both the hydrogen peroxide and coffee grounds. had a lot of luck with the coffee. i don't drink it, but it makes a great smell killer - can be VERY effective on cigarette and cigar smoke (then i dump the grounds on my rose bushes - makes em happy). coffee also works on burnt wiring smells too, if you eliminate the source first. i had to clean out a 77 vette (in 1977) that a guy burned the dash out of installing an el cheapo k-mart stereo without using fuses. just about burnt that sucker up. it was only a few months old too. that's when i found out about the coffee trick from my older brother.
citrus cleaners were useful in de-pining my porsche 944 after i pulled the interior out - it had that east texas deep piney woods scent to it - but i used the peroxide for the expensive carpets (followed it with arm and hammer paste, then a regular commercial carpet foam), since i didn't want the brown to wash out. i just let it 'stew in the peroxide' out back for a few hours. i used a meguiar's leather cleaner on the leather seats, door panels and dash. the 944 still smells good 20 years later. pristine clean. i couldn't even use the big buck carpet mats i got for it (back when you could get the porsche crest on them) because every time you'd put your shoes down on the carpet, up came the piney woods. hint: while you have the carpets out, get rid of whatever underlayment is there, you'll never get the smell out of that, and then put in some nice, thick new undercarpet material to keep out heat, cold and noise. ;-)
jack b :-) in midland, tx usa