JavaScript 4 lines
==========================

    function shuffle() {
      while(deck[0]!=0)swap(deck[0],rand(1,51))
      while(deck[0]++!=104)swap(deck[0]%51+1,rand(1,51))
      deck[0]=0
      swap(0,rand(0,51))
    }

Original answer that wasn't random enough.  The swap wasn't guaranteed to touch each item in the deck.

    // shuffle without locals
    function shuffle() {
      deck.map(function(){swap(deck[rand(0,51)],deck[rand(0,51)])});
    }