function AddCheckboxEvents() {
	var f = document.forms[0].getElementsByTagName('input');
	for (var i = 0; i < f.length; i++) {
		if (f[i].type == 'checkbox' && f[i].id == '') {
			f[i].onclick = function() {
				CheckboxEvent(this);
			}
		}
	}
}

function CheckboxEvent(chk) {
	var parentID = FindParentDiv(chk);
	if (parentID != null) {
		var i = parentID.lastIndexOf('_');
		parentID = parentID.substring(0, i);
		CheckAll(parentID, chk.checked);
	}
}

function CheckAll(baseID, value) {
	var f = document.forms[0].getElementsByTagName('input');
	for (var i = 0; i < f.length; i++) {
		if (f[i].type == 'checkbox' && f[i].id.indexOf(baseID) == 0) {
			f[i].checked = value;
		}
	}	
}

function FindParentDiv(ref) {
	for (var i = 0; i < 1000; i++) {
		ref = ref.parentNode;
		if (ref.nodeType == 1) {
			if (String(ref.nodeName) == 'DIV') {
				return ref.id;
			}
			else if (String(ref.nodeName) == 'BODY') {
				return null;
			}
		}
	}
	return null;
}

window.onload = AddCheckboxEvents;
