
window.addEvent('domready', initSearchForm);

function initSearchForm() {
	initCheckboxTree();
	initCategoryTooltip();
}

function initCheckboxTree() {
	$$('.tx_icstriage_categorygroupSelectorBox').getElement('input').addEvent('click', function() {
		// Copy state to all corresponding category checkboxes
		this.getParent().getParent().getChildren().getElement('input').setProperty('checked', this.getProperty('checked'));
	});
	$$('.tx_icstriage_categorySelectorBox').getElement('input').addEvent('click', function() {
		var categoryGroupCheckbox = this.getParent().getParent().getFirst().getElement('input');
		// On uncheck, also uncheck the categorygroup checkbox
		if(this.getProperty('checked') == false) {
			categoryGroupCheckbox.setProperty('checked', false);
		}
		var uncheckedCategoryCount = 0;
		this.getParent().getParent().getElements('.tx_icstriage_categorySelectorBox').getElement('input').each(function(checkbox) {
			uncheckedCategoryCount += (!checkbox.getProperty('checked'));
		});
		// If all categories of a group are checked, also check the group checkbox
		if(uncheckedCategoryCount == 0) {
			categoryGroupCheckbox.setProperty('checked', true);
		}
	});
}

function initCategoryTooltip() {
	var Tips2 = new Tips($$('.tx_icstriage_glossaryIcon'), {
		className: 'tx_icstriage_tooltip',
		initialize:function(){
			this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 500, wait: false}).set(0);
		},
		onShow: function(toolTip) {
			this.fx.start(1);
		},
		onHide: function(toolTip) {
			this.fx.start(0);
		}
	});
}



