	
	// --- ic_multiple_class ---
	
	function ic_multiple(base) {
	
		this.inheritFrom = shadow_block_class;
		this.inheritFrom();
	
		this.reg_ident = null;
		this.base = base;
		this.change_event = null;
		this.inputs = new Array();
		
		this.construct();
	}
	
	ic_multiple.prototype.construct = function() {
		var self = this;
		this.reg_ident = context.ic_collector.register(this);
		
		var f, current, stack = new Array();
		stack[0] = this.base;
		
		while (stack.length > 0) {
			current = stack.pop();
			
			if (current.tagName.toUpperCase() == "INPUT") {
				if (current.type == "radio" || current.type == "checkbox") {
					current.onclick = function() { self.evt_change(this); }
				} else {
					current.onchange = function() { self.evt_change(this); }
				}
				this.inputs[this.inputs.length] = current;
			}
			
			for (f = 0; f < current.childNodes.length; f++)
				if (current.childNodes[f].nodeType == 1) stack[stack.length] = current.childNodes[f];
		}
	}
	
	ic_multiple.prototype.enable = function(flag) {
		var f;
		for (f = 0; f < this.inputs.length; f++)
			this.inputs[f].disabled = !flag;
	}
	
	ic_multiple.prototype.evt_change = function(ref) {
		if (this.change_event != null)
			this.change_event(this, ref);
	}
	
	ic_multiple.prototype.get_checked = function() {
		var f, res = new Array();
		
		for (f = 0; f < this.inputs.length; f++) {
			if (this.inputs[f].checked) res[res.length] = this.inputs[f].value;
		}
			
		return res;
	}
	
