Best way to anonymize bitcoin transactions? https://en.bitcoin.it/wiki/Mixing_service

How do sites like this work? "Mixing services". I know it can be broken and traced back with coinsuduko but how exactly does it wash your coins. I doubt they just wait for somebody else to send in enough funds to reimburse with new coins, how would they go about doing it? Do they send the 1 BTC or whatever amount through 50 or so different wallets in different amounts on a bitcoind and then return the 1 BTC to your set wallet? I've heard of coinjoin, how does it work?

If I was going to send 1 bitcoin from one wallet to another from my website but have the bitcoins "washed" what would I need to do to keep the transactions hidden or at least "Mixed" so it would be harder for the bitcoin receiver to figure out what address exactly sent the coins.

Here is another example of open source coin washing blockchain.info uses:
https://github.com/blockchain/Sharedcoin is all this javascript on user side really necessary (speaking from using their setup sharedcoin.com, not reading over the source which is also javascript.)

Thanks.
The idea behind Coinjoin or Sharedcoin is that funds can be pooled and mixed with several other Bitcoin users to fund new transactions that can't be easily traced back to you.

Here is a trivial example: imagine 3 users, that want the funds from 3 addresses the each control A (0.5 BTC), B (0.5 BTC) and C (1 BTC) to be sent to addresses X, Y and Z respectively. Instead of transferring the funds directly a service could do the following, assuming intermediary addresses:

A(0.5) --&gt; L(0.5) --\
B(0.5) --&gt; M(0.5) -- +
C(1)   --&gt; N(1) --\   \-- Z(1)
                   \
                    \--- X(0.5)
                     \--- Y(0.5)


So the money originally from C gets split and sent to X and Y while the money from A and B gets added and sent to Z. Mixing services do the equivalent but across much more transactions.