Having $12 stuck unconfirmed is a lesson learned. But having $500 stuck forever?
It won't be stuck forever.
Firstly, the problem appears to be that the transaction had a parent transaction that had not yet confirmed. And that parent too had a parent transaction that had not yet confirmed. Those just confirmed a short while ago (about an hour ago). So now your transaction is not dependent on any other transactions getting confirmed.
So the problem was you sent a payment before the funds for that payment had confirmed. Bitcoin-Qt/bitcoind and many other clients don't let you shoot yourself like that. Blockchain.info's wallet doesn't care ... if you want to create a transaction that won't confirm right away, it will let you. That's a feature experienced users want, but a problem for those like yourself who weren't aware of the underlying issue.
Anyway, there's not much you can do .. it will confirm when it confirmed, generally within a few hours or up to a day from here.
You can see the prior transaction using Blockchain.info by going into the Advanced mode (click the link at the bottom of their page), and then click on the (spent) or (unspent) for each address in the INPUT.