I've just found another funny example to illustrate the difference between "для" and "за":
Imagine the situation. I know, you are short of money, since you have been borrowed money from me constantly. One day, I see you holding a $100 bill. I ask in surprise: "Что это?" And you reply to me: "This is money for John". How would you say it in Russian?
1. Possibly, it is money you are going to pay to John for something. You did not pay him yet, but you have already reserved some money for this purpose. You say:
Это деньги для Джона.
This money is intended for John. He will benefit it. This money will not be yours any longer after you give it to John.
2. Это деньги за Джона.
Now, it means the following: in order to solve your money problem, you sold your friend John to slavery for $100, "деньги за Джона" is "money in exchange of John".