This guy seems to pretty much have covered all the bases on this one; but I would just like to add something that I was unaware of until recently. Another legendary member around here explained to me that the size(Bytes) of your transaction is not dependent on the amount of bitcoin; the size of the transaction is determined by the amount of inputs the transaction you're attempting to send has.
Inputs are determined by how many transactions you received to accumulate the amount you are trying to send. For example, if you are trying to send .01 and you received ten transactions of .001 to acquire this sum you will have ten inputs for this transaction; In contrast if you are trying to send that same .01, but received it in 1-transaction as opposed to 10, the transaction fee will be 10-times less. Each input generally adds about 180-bytes onto the transaction size (I think?)
As the guy above said, transaction size is what determines the fee, you can do so on the sites they provided; I sent a transaction the other night with a fee of 111.5 Satoshi per Byte, and a transaction with a fee of 175 Satoshi per Byte simultaneously and one took 3-days while the other took 3-minutes.