When you're at the point where you look at the project and see a mess, it's best to distance yourself from it and work on a new design. You'll be able to design it better given the experience you've had so far. There will be the temptation to keep building on top of the mess in the interest in time, but unless you absolutely cannot afford to spend the extra time it's often wiser to rebuild. In a lot of cases, you'll find that it won't take as much time to rewrite as you thought.
If it's really the mess you say, you'll find that the cost of maintenance escalates. It'll be harder to find bugs, and that won't make you or your client happy. And 6 months later, when you client asks for some additions, it could be a headache wading through that mess again--especially since it's not fresh on your mind anymore. I've had this experience before, and it's not fun at all.