ah man!! dosent sound good! sorry to say but dogs usualy recover from illnesses realy quickly unless it is serious, your vet should be able to tell you exactly why it is lasting so long, if it isnt a old dog then it should be fine, hope it pulls through