You haven't changed anything to what The Dark said, it calls recursively. Why are you? What is supposed to happen to the insert? When is it supposed to swap the values or which value goes left and which goes right? Why are you checking to see if the nodes are NULL when they always are? Think about how it should go, work it out on paper if you have to. I'll try to work it out tomorrow, got to go to sleep now. Good luck!
EDIT: Maybe
this will help you understand.