﻿
Event.observe(window, 'load', function() {
	//treeviewOpenAll( '' );
    $$('.treeview li').each( function( item ) {
        var list = item.getElementsByTagName('ul')[0];
        if ( list ) { list.style.display = 'none'; item.addClassName('closed');};
        Event.observe(item, 'mouseup', function( event ) {
            Event.stop(event);
            if ( list ) {
                if ( item.hasClassName('closed') ) {
                    list.show();
                    item.removeClassName('closed');
                    item.addClassName('opened');
                } else {
                    list.hide();
                    item.removeClassName('opened');
                    item.addClassName('closed');
                }
                
            }
        });
    });
  
    $$('.treeview input, .treeview label').each( function( input ) {
        Event.observe(input, 'mouseup', function(event) { Event.stop(event); });
    });

    $$('.treeview input').each( function( input ) {
        Event.observe(input, 'click', function(event) {
            input.checked ? treeviewSelectAll(input.parentNode) : treeviewUnselectAll(input.parentNode);
        });
    });
	
});

function treeviewOpenAll( refnode ) {
    $A(refnode.getElementsByTagName('li')).each( function( item ) {
        var list = item.getElementsByTagName('ul')[0];
        if ( list ) {
            if ( item.hasClassName('closed') ) {
                list.show();
                item.removeClassName('closed');
                item.addClassName('opened');
            }
        }
    });
    return false;
} // end of 'treeviewOpenAll()'

function treeviewCloseAll( refnode ) {
    $A(refnode.getElementsByTagName('li')).each( function( item ) {
        var list = item.getElementsByTagName('ul')[0];
        if ( list ) {
            if ( item.hasClassName('opened') ) {
                list.hide();
                item.removeClassName('opened');
                item.addClassName('closed');
            }
        }
    });
    return false;
} // end of 'treeviewCloseAll()'


function treeviewSelectAll( refnode ) {
    $A(refnode.getElementsByTagName('input')).each( function( input ) {
        if ( !input.checked ) input.click();
    });
    return false;
} // end of 'treeviewSelectAll()'

function treeviewUnselectAll( refnode ) {
    $A(refnode.getElementsByTagName('input')).each( function( input ) {
        if ( input.checked ) input.click();
    });
    return false;
} // end of 'treeviewSelectAll()'

function testinputchecked() {
	
	var count = 0;
	$$('input').each( function( input ) {
		if ( input.checked ) count++;
	});
	if ( count==0 ) sendinvalid()
	return false;
} // end of 'testinputchecked()'