It may be a bit late to get an answer for this. Probably you might be having an answer with you.

So here's my take on this problem. when you use solidity version ^0.4.0 and try to send value to the contract, 0.01 Ether in your case, you must use the default function provided in the solidity and use payable keyword as well.

This issue is most commonly being faced for those, who try to pull off similar stuff. Try doing that once.

Hope the observation helps.

Thanks.