For basic neural networks (i.e. if you just need to build and train one), I think basic calculus is sufficient, maybe things like gradient descent and more advanced optimization algorithms. For more advanced topics in NNs (convergence analysis, links between NNs and SVMs, etc.), somewhat more advanced calculus may be needed.
For machine learning, mostly you need to know probability/statistics, things like Bayes theorem, etc.
The book by Duda/Hart/Stork has several appendices which describe the basic math needed to understand the rest of the book.