function checkform(frm)
{
    var fields = frm["requiredfields"].value.split(",");
    var captions = frm["requiredfields_captions"].value.split(",");
    var field,obj;
    var msg, checked=true;
    msg = '';
    for(x=0;x<fields.length;x++) {
        field = fields[x];
        obj = frm[field];
        if(!obj) { alert('There is an error in the form.\n\n  Field: ' + field + ' can not be found.'); return false; }
        if(obj.type=='text') {
            if(obj.value.length==0) {
                msg+=captions[x] + ' is required\n';
            }
        }
        else if(obj.tagName.toLowerCase()=='select') {
        	if(obj.selectedIndex==0) {
        	msg+=captions[x] + ' is required\n';
        	}
        }
        else if(obj.length>0) {
            checked = false;
            for(y=0; y<obj.length; y++) {
               if(obj[y].checked==true) { checked = true; }
            }
            if(!checked) {
                msg+=captions[x]+ ' is required\n';
            }
        }

    }
    if(msg.length>0) {
        alert('The following errors occurred:\n\n' + msg);
        return false;
    }
    return true;
}
