I suggest that the script should not exit when the timezone is not valid. I would loop it using while.
It would be even better if one could select the options from a dialogue (e.g. using zenity). All in all, this could be used for all other questions too.