document.observe('dom:loaded', function(e) {
  $('survey').observe('submit', function(e) {
    $$('.error').invoke('removeClassName', 'error');
    var radioSets = [];
    var unanswered = [];
    ['q1', 'q2', 'q3', 'q4', 'q5', 'q6', 'q7', 'q8', 'q9', 'q10', 'q11', 'q12', 'q13'].each(function(n) {
      radioSets.push($A(document.getElementsByName(n)));
    });
    radioSets.each(function(rs) {
      if (!rs.any(function(el) {return $F(el);})) {unanswered.push(rs);};
    });
    if (!$F($('leader'))) {unanswered.push([$('leader')]);};
    if ($F($('strength')).blank()) {unanswered.push([$('strength')]);};
    if ($F($('weakness')).blank()) {unanswered.push([$('weakness')]);};
    if (unanswered.length) {
      e.stop();
      $('error').update('<p>Oops! You left some required questions blank. Please scroll down and answer the questions highlighted in red.</p>').scrollTo();
      unanswered.each(function(u) {
        u[0].up('dd').previous('dt').addClassName('error');
      });
    };
  });
});
