Some additional points to point out.
<label> tags have the magic ability to extend the clickability of the radio button to the entire label. Always use labels. It could also help a blind person use the site, as screen reader browsers can speak them aloud.
<fieldset> tags are a nice semantic way of grouping <input> tags. But they put a border on around them, which needs to be removed in the CSS.
<button> tags should do something when pressed. Don’t use buttons that don’t do something, as it may confuse users.
The code is written as unobtrusive JavaScript. Which means the page would work almost as well without JavaScript turned on. Good for older browsers, and silly people who disable JavaScript.
Hope this helps!
JΛ̊KE