ive read before that it can take up to a couple of months to clean out your body to the point of passing a drug test especially if you smoke every day for years.
it shouldnt take that long for an occasional smoker but there is no simple answer as it can vary.