I agree with some
of the above posts. Horses are largely prey animals with strong herd instincts. The idea of a relationship with a horse is to present yourself as a leader to that horse. If that horse doesn't percieve you to be their leader, or they perceive you to be a threat to them, they will respond with either fight or flight, depending on their nature. In this case your horse has chosen fight.
There are two possibilities in this case:
1. Your horse could be seeing you as not being confident enough to be a leader and is challenging your authority, or...
2. Your horse percieves you to be a threat to their leadership, and is treating you like it would another stallion.
In each case, your first bet would be to get a test to ensure your horse is not a rig. If the person who sold him to you hasn't been honest about other things, then there is a good chance he hasn't mentioned this.
Second, when you work with your horse next and he charges you, stand your ground. It can be sh*t scary, but it's extremely unlikely that your horse will run you over. This is one display of dominance that is the easiest and most effective. It proves to your horse that you won't back down and that his tantrums don't scare you.
If you really feel out of your depth, then you can bring in a trainer, but you need to work with the trainer, not dump him on the doorstep. You can pay the best trainer all the money, but once the horse realises that you're not the trainer chances re he'll just revert to his old ways. However, if you work with the trainer, they'll give you an idea of the horse's personality and ways to deal with whatever he decides to come up with.
Sometimes none of this works out, and I know from experience. I had a horse very similar, but he used to throw riders at every opportunity. In the end, I had to sell him to a cattleman who was better equipped to handle him. It broke my heart, but it was better for him and for me. I moved on to a horse who was absolutely wonderful, and I know he's better off chasing cows :)