In a large glass bowl, combine all of the ingredients, except for the onion. Toss well and put the onion on top. Cover with plastic wrap and allow it to sit in the refrigerator for 1 1/2 hours, then stir to incorporate the onion. Let sit in the refrigerator for at least 1 more hour and up to 3 hours.
Cook's Note: During the marinating process the fish will change from translucent to white in color and be opaque. Try to avoid getting the lime membrane in the juice as it can be bitter.