var reqmsg1 = "You have not totally filled the required data. (";
var reqmsg2 = ")";

/* field_names as array of required field names */
function checker(form_obj, field_names, blank_case) {

    if (typeof blank_case == "undefined") {
        blank_case = "";
    }

    for (var i in field_names) {
        var element = form_obj.elements[field_names[i]];
        if (typeof element == "undefined") {
            continue;
        }

        if (element.type == "select-one" || element.type == "select-multiple") {
            var s_index = element.selectedIndex;
            var value = element.options[s_index].value;
            if (s_index == -1 || value == blank_case) {
                alert(reqmsg1 + field_names[i] + reqmsg2);
                element.focus();
                return false;
            }
        }

        if (element.length > 0) { /* multiple item */
            if (element[0].type == "radio" || element[0].type == "checkbox") {
                var value = getCheckedValue(element); /* get_set_radio.js */
                if (value == blank_case) {
                    alert(reqmsg1 + field_names[i] + reqmsg2);
                    element[0].focus();
                    return false;
                }
            }
        } else { /* single item */
            if (element.type == "radio" || element.type == "checkbox") {
                var value = getCheckedValue(element); /* get_set_radio.js */
                if (value == blank_case) {
                    alert(reqmsg1 + field_names[i] + reqmsg2);
                    element.focus();
                    return false;
                }
            } else {
                var value = element.value;
                if (value == blank_case) {
                    alert(reqmsg1 + field_names[i] + reqmsg2);
                    element.focus();
                    return false;
                }
            }
        }
    }
    return true;

}
