function initFieldGroups() {
	// get all the fieldsets in document
	var fieldsets = document.body.getElementsByTagName('fieldset');
	
	// go through fieldsets and initialise
	for(var i = 0; i < fieldsets.length; i++) {
		if(fieldsets[i].className == 'fieldGroup') {
			var checkbox = fieldsets[i].getElementsByTagName('input')[0];
			if(checkbox != null) syncClassName(fieldsets[i], checkbox);
		}
	}
}

function fieldGroup_onCheckClick(checkbox) {
	var fieldset = checkbox.parentNode.parentNode;
	syncClassName(fieldset, checkbox);
}

function syncClassName(fieldset, checkbox) {	
	var className = fieldset.className;
	if(!checkbox.checked) {
		className = className.replace('visible', '');
	} else {
		className = className + ' visible';
	}
	fieldset.className = className;
}