Late to the discussion here (understatement).
There is a fantastic book called 'the dog whisperer' tells you how to train your dog with minimal effort and why you do the things to change their habits. Basically you have to adopt the pack mentality and teach your dog that your head of the pack and the dog is not high in the hierarchy of the pack.
It's very good and worked a treat on our old dogs that we used to have. They were impeccably behaved animals. It's also brilliantly interesting as to how a dogs mind works!