Client GUI functionality update

Made buttons only enabled at the appropriate time, and disabled when not
needed.  Also added some minor error handling.