function fold (o_fieldset, b_fold, b_slide) {
	if (b_slide === true && 'object' === typeof Helper && Helper.a_toggle.length > 0) return;
	
	if (b_fold == true) {
		o_fieldset.className = o_fieldset.className.replace(/\bunfold\b/g,'fold');
	}
	else if (b_fold == false) {
		o_fieldset.className = o_fieldset.className.replace(/\bfold\b/g,'unfold');
	}
	else {
		if (o_fieldset.className.search(/\bfold\b/) == -1) {
			return fold(o_fieldset, true, b_slide);
		}
		else {
			return fold(o_fieldset, false, b_slide);
		}
		return false;
	}
	
	if (b_slide !== true || 'object' !== typeof Helper) return;
	
	var a_slideDIV = o_fieldset.getElementsByTagName('div');
	var a_slide = [];
	for (var i = 0; i < a_slideDIV.length; i++) {
		if (a_slideDIV[i].className.search(/\bslidable\b/) > -1) {
			a_slide.push(a_slideDIV[i]);
		}
	}
	Helper.init(a_slide);
	Helper.toggle_view();
	
	return true;
}

function fold_all (b_fold, o_domRef) {
	var fields;
	if (o_domRef != null) {
		fields = o_domRef.getElementsByTagName('fieldset');
	}
	else {
		fields = document.getElementsByTagName('fieldset');
	}
	for (var i = 0; i < fields.length; i++) {
		fold(fields[i], b_fold);
	}
}

function enable_fold_panels () {
	var fields = document.getElementsByTagName('div');
	for (var i = 0; i < fields.length; i++) {
		if (fields[i].className && fields[i].className.search(/\bfold_all\b/) != -1) {
			fields[i].style.display = 'block';
		}
	}
}

