There are a few circuit simulation packages out there – and most of them are rather expensive. A colleague at work recently gave me a link to this cool Java based simulator written by Paul Falstad:
(Obviously you will need the Java plugin to run it)
What really sets this one apart is that it visually models the electrical flow along the connecting wires – so it really makes it obvious how the circuit will behave.
If you are new to electronics this is an absolutely brilliant way to learn what transistors, diodes, gates and op-amps do.
Here’s another great prototyping product: