function showReq(atag){
	form_fieldset = document.getElementsByTagName('fieldset');
	for(ff=0;ff<form_fieldset.length; ff++){
		hide=0;
		form_elements = form_fieldset[ff].getElementsByTagName('tr');
		for (fe=0;fe<form_elements.length;fe++){
			if(form_elements[fe].className != "required"){
				changeReq(atag,form_elements[fe]);
				hide++;
			}
		}
		if(form_elements.length == hide) changeReq(null,form_fieldset[ff]);
		
	}
}

function changeReq(html,element){
	if(element.className.indexOf("hidden") >= 0){
		newclass = element.className.replace("hidden","");
		element.className = newclass;
		if(html) html.innerHTML = "Only show required fields";
	}else {
		element.className += " hidden";
		if(html) html.innerHTML = "Show all fields (required and optional)";
	}
}