Research, Research, Research. This is the best thing to do. Go on the internet; read books, trust me, you are not the first one to have a problem dog! If you need that much help get a trainer in to help you. Some Advice:
1) Don't let him go inside! If he is giving signs that he needs to go, take him outside and don't go back in until he has done his business, even if you have to wait a while.
2) Find his weakness. Whether it is yummy treats, meatballs or just a toy use it to your advantage to get him to focus.
3) Don't worry, lots of dogs will not heel. As I said before use something that will help to train him stay by your side. Also, if he starts to pull just stop. Don't keep walking and encouraging him that it's a good idea.
4) Enforce some rules. Don't get angry if he jumps up to sniff something. How does he know what is right or wrong if he has never been told. Find out a way to punish him. It may be talking in a deep voice but never hit your dog.
Hope I helped!