Thanks for the reassuring replies everyone. I have been using bitcoins for a year now and have got 1 confirmation anywhere from 5 minutes up to 1.5 hours, I did not realize it could take up to 24 hours to confirm. There is a confirmation warning stating "this transaction has a none standard input" on block chain and when I googled that phrase all I saw were indications of double spending.
It can even take a lot longer than 24 hours... Usually, the miners will add the transactions with the highest amount of satoshi's per byte. So, if you're unlucky, the majority of the other transactions waiting in the mempool have a higher fee, so you'll just have to wait untill those ones are added to blocks.
There is no way of predicting when your tx will be added, it might even be forgotten after a couple of day(s), in which case a new transaction can be generated using the same inputs.
In case you're the receiver, you can ask (for example) Shorena to rebroadcast the tx untill it confirms. You can also rebroadcast it yourself, but Shorena is usually friendly and writes a script that rebroadcasts the tx, so you don't have to keep rebroadcasting manually. You'll just have to ask him/her nicely