As for "when is my beer done fermenting?", the only SURE way to know within a minimum amount of time is to use a hydrometer reading, as some have stated here. If one is going to continue brewing, having a hydrometer is a must. Here's what I do:
Let beer ferment a minimum of 10 days --- regardless of what IS or IS NOT happening in the airlock --- and remove a sample of the beer for a hydrometer reading. I do this by pushing a 12" length of rigid 1/4" plastic tube onto the end of a plastic 100ml syringe so it's tight, then sanitize it. Remove the airlock, spray a little sanitizer around the grommet and insert the tube through the grommet hole and draw off an 80-90ml sample. Sometimes I will put a very thin film of liquid soap on the gasket in the syringe to help it move smoothly since nothing from the syringe is going back into the fermenter; you could use veg. oil if you prefer. Prior to this, I've already placed the hydrometer in its clear plastic storage tube into a slightly larger graduated cylinder, just to hold everything upright. With the 80-90ml of beer in the syringe plus that in the 12" tube, it is enough to fill my hydrometer tube to slightly overflowing; the graduated cylinder will catch any overflow. You want your hydrometer free-floating --- i.e., not touching the bottom and/or sides of the tube --- or you can get a false reading. Don't ask how I know this. If there is a little foam obscuring the reading marks, take the corner of a paper towel and soak it up. Slightly tilting the tube so as to center the shaft of the hydrometer in the beer will insure the truest reading.
Write the number down. A few days later, repeat process. If those 2 consecutive readings are the same (which is often the case for the average ale), the beer is done fermenting and you can package. If they are not, let it sit a couple more days and repeat process until you get 2 consecutive readings that are the same. Seems like a lot of samples, but they do not go to waste --- I consume them to test the progress/taste of the beer.