/**
 * Finds out if at least one option in a group is checked.
 *
 * @param	group		The checkbox group (e.g. document.myForm.myCheckBoxGroup).
 * @return	boolean
 */
function isChecked(group) {
	var checked = false;

	if(group.length > 0) {
		//loop over the array
		for (i = 0; i < group.length; i++) {
			if (group[i].checked) {
				checked = true;
			}
		}
	} else {
		//not an array; single element
		if (group.checked) {
			checked = true;
		}
	}
	return checked;	
}

/**
 * Checks all checkboxes in a form checkbox group.
 *
 * @param	group		The checkbox group (e.g. document.myForm.myCheckBoxGroup).
 * @return	void
 */
function checkAll(group) {
	if(group.length > 0) {
		// Loop over the array.
		for (i = 0; i < group.length; i++) {
			group[i].checked = "checked";
		}
	} else {
		// Single checkbox element (so not an array).
		group.checked = "checked";
	}
}

/**
 * Clears all checkboxes in a form checkbox group.
 *
 * @param	group		The checkbox group (e.g. document.myForm.myCheckBoxGroup).
 * @return	void
 */
function uncheckAll(group) {
	if(group.length > 0) {
		// Loop over the array.
		for (i = 0; i < group.length; i++) {
			group[i].checked = "";
		}
	} else {
		// Single checkbox element (so not an array).
		group.checked = "";
	}
}

/**
 * Gets the values of checked checkboxes in a group.
 *
 * @param	group		The checkbox group (e.g. document.myForm.myCheckBoxGroup).
 * @return	array		The values of the checked checkboxes.
 */
function getCheckedValues(group) {
	var values = new Array();

	if (group.length) {
		// More than one checkbox in the group.
		for (i=0; i<group.length; i++) {
			if (group[i].checked) {
				values.push(group[i].value);
			}
		}
	} else {
		// Only one checkbox in the group (so not an array).
		if (group.checked) {
			values.push(group.value);
		}
	}
	
	return values;
}

/**
 * Gets the IDs of checked checkboxes in a group.
 *
 * @param	group		The checkbox group (e.g. document.myForm.myCheckBoxGroup).
 * @return	array		The IDs of the checked checkboxes.
 */
function getCheckedIDs(group) {
	var ids = new Array();

	if (group.length) {
		// More than one checkbox in the group.
		for (i=0; i<group.length; i++) {
			if (group[i].checked) {
				ids.push(group[i].id);
			}
		}
	} else {
		// Only one checkbox in the group (so not an array).
		if (group.checked) {
			ids.push(group.id);
		}
	}

	return ids;
}
