How many layers should a neural network have?
One very good resource is the Neural Network FAQ. The question depends a lot on your problem. If the problem is linear in nature, there is no reason to have any hidden layers. If the problem is non-linear, often a single hidden layer with around 10 hidden neurons will do the trick.

There is a very similar question (with a very similar answer) at CrossValidated: How to choose the number of hidden layers and nodes in a feedforward neural network?)