window.onload = function()
{
    var fieldsets = document.getElementsByTagName("fieldset");
   
    for(var i=0; i < fieldsets.length; i++) {

        var legend = fieldsets[i].getElementsByTagName("legend")[0];
        var elements = fieldsets[i].getElementsByTagName("*");

        for (var j=0; j < elements.length; j++) {
            elements[j].className += " hidden";
        }

        legend.className = legend.className.replace('hidden','');

        legend.onclick = function() {
            var elements = this.parentNode.getElementsByTagName("*");
            for (var j=0; j < elements.length; j++) {
                if (/hidden/.test(elements[j].className))  {
                    elements[j].className = elements[j].className.replace('hidden','');
                } else if(elements[j].nodeName != "LEGEND") {
                    elements[j].className += ' hidden';
                }
            }            
        }
    
    }
}
