Hi,
I think you are having a generalization problem with your pup. They have learned that snow (and maybe carpets) not outside means "appropriate spot" to urinate/defaecate. All you need is a little time and patience to go back to basics.
Here's a good video
http://www.youtube.com/watch?v=QvPiFcG7ROI
Basic breakdown:
1. never let your dog out of your sight or leave them uncrated when you cannot watch them, even for a moment.
2. start taking them out at regular intervals - after sleep, meals and play
3. reward HEAVILY when the go in the right place
4. if/when you catch the dog peeing in the house do not punish them - this will not teach them peeing in the house is bad, it will teach them that going in front of you is dangerous (meaning they will work harder to hide it) - try to interrupt them with a clap or an "oops" and take them outside (gently) to finish (reward HEAVILY if they do).
5. Have them looked at by a vet to make sure there are no health reasons for this behavior.
Gradually your dog will associate eliminating outside with good things and that eliminating inside proves unrewarding.
Hope this helps