/*
 * Returns true if no non-empty fields with an
 * assigned regular expression contain values that
 * do not match the regular expression; else false.
 *
 * Example:
 *   <form action="winnow-questions.do" method="post"
 *         onsubmit="this.sequenceNumber.regExp = '[0-9]+/[0-9]{{4}}';
 *                   this.sequenceNumber.errorMsg = 'Invalid question number';
 *                   return verify(this);">
 */
function verify(form) {

    for (var i = 0;i < form.length; i++) {
        var elem = form.elements[i];
        if (elem.regExp) {
            if (elem.value) {
                var pattern = new RegExp(elem.regExp);
                if (!pattern.test(elem.value)) {
                    alert(elem.errorMsg);
                    elem.focus();
                    return false;
                }
            }
        }
    }
    return true;
}

