a somewhat simpler solution, similar to something proposed earlier in this thread:
encode the current deck as an alphanumeric string (e.g. 3:42.5:46.4:33.... and so on, so you have 3 instances of card#42, 5 instances of card#46, etc - any encoding scheme will work)
allow the player to save this (pop up a textbox with the value in it on demand)
allow the player to load it (pop up an empty textbox where the player can paste this value)
* for loading, do pre-validation to ensure all characters are valid and all cards still exist - if something is missing, either do a best-effort load (i.e. if you need 5 otys but only have 3, load the 3 and keep going) or abort the load completely with an appropriate error message ("missing 2 otys")
(idea stol borrowed from some game on kongregate)