Cut the Knot
Cut the Knot!: Pythagoras' Theorem
This site explains the Pythagorean theorem, giving a proof from Euclid, and gives a great interactive visual aid with a good explanation with it.
University of British Columbia
University of British Columbia: Proof of the Pythagorean Theorem
A geometric model that proves the Pythagorean Theorem in a step-by-step diagram that students can advance at their own pace. Requires Java.