function CheckListField(field, msg) {
	var isselected = false;
	for (i=0; i < field.length; i++) {
		if (field[i].selected ) {
			isselected = true;  // as long as any one is chosen this is true
		}
	}
	if (isselected == false) {
		field.className="error";
		errorMsgs += msg + "\n\r";
		return false;
	}
	field.className="";
	return true;
}

Version that checks for a specific value to be true:
(assumes only a single option text value)

function CheckListField(field, msg, chkvalue) {
	var isselected = false;
	for (i=0; i < field.length; i++) {
		if (field[i].selected ) {
			if (chkvalue=='') {
				isselected = true;  // as long as any one is chosen this is true
			} else {
				if (chkvalue== field[i].text) {
					isselected = true;		// only true if matches
					field.className="";
					return true;
				}
			}
		}
	}
	if (isselected == false) {
		field.className="error";
		errorMsgs += msg + "\n\r";
		return false;
	}
	field.className="";
	return true;
}

Version that checks for a specific value to be true:
(assumes your field options have both a text foreground and alias background value)

function CheckListField(field, msg, chkvalue) {
	var isselected = false;
	for (i=0; i < field.length; i++) {
		if (field[i].selected ) {
			if (chkvalue=='') {
				isselected = true;  // as long as any one is chosen this is true
			} else {
				if (chkvalue== field[i].selected.value) {
					isselected = true;		// only true if matches
					field.className="";
					return true;
				}
			}
		}
	}
	if (isselected == false) {
		field.className="error";
		errorMsgs += msg + "\n\r";
		return false;
	}
	field.className="";
	return true;
}