nmdgf.widgets.CheckboxDisplayToggler = {
	
	triggerClass : 'cb-display-toggler',
		
	initialize : function() {
		var togglers = nmdgf.query('.'+this.triggerClass);
		nmdgf.addListener(togglers, 'click', function(e) {
			var el = nmdgf.byEvent(e);
			nmdgf.widgets.CheckboxDisplayToggler.toggle(el);
		});
		
		for(var idx in togglers) {
			this.toggle(togglers[idx]);
		}
	},
	
	toggle : function(el) {
		var toggleEl = nmdgf.byId(el.getAttribute('toggle'));
		var invert = el.getAttribute('invert') === 'true';
		var checked = this.getCheckedValue(el);
		
		if( checked !== invert ) {
			toggleEl.style.display = 'block';
		}else {
			toggleEl.style.display = 'none';
		}
	},
	
	getCheckedValue : function(el) {
		var checked = el.checked;
		if(el.type === 'radio') {
			if(checked === true && el.value == false) {
				checked = false;
			}else if(checked === false && el.value == false) {
				checked = true;
			}
			
		}
		return checked;
	}

};
nmdgf.registerWidget(nmdgf.widgets.CheckboxDisplayToggler);
