From what I've read and seen (the kids of a friend of mine are a good proof of this), the best way to teach a child two different languages without him/her mixing them up is to have each parent talk to him/her always in the same, distinct language.
This friend of mine is Spanish, but his mother is german. His wife is spanish as well, and they have been living for 3 years now in French Guiana.
So he talks to their children in german, she does in catalan (I won't go much into it, but it's a language spoken in northeast Spain, and some parts of southern France and a region of Italy), they speak with their friends in french and they learn english at school.
The elder son is now 10, and he is proficient in catalan, german, and french, and he's picking up english very fast.
Gloria and I plan to do the same when we have our own children, but we haven't decided yet which will be the second language we'll be teaching them, english or french.
The learning capabilities of a young mind are truly amazing.
Daniel, aka Cyrano