rem: this.onchange = params.onchange; 
context: function Combo(params) {	params = params || {};	params.bgcolor = params.bgcolor || 'white';	params.border = params.border || 1;	params.overflow = 'hidden';	params.height = params.height || 22;	this.base = Widget;	this.base(params);	this.div.className = 'combo';			this.name = params.name;	this.editable = (params.editable=='true' || params.editable==true)?true:false;	this.readonly = (params.readonly=='true' || params.readonly==true)?true:false;	this.menuHeight = parseInt(params.menuheight) || 100;	this.div.className = 'field';	this.selection = null;	this.isExpanded = false;	this.attachEvent('onmousedown', QuiX.stopPropag);	this.onchange = params.onchange;	var e = ce('INPUT');	e.style.borderWidth = '1px';	e.style.position = 'absolute';	this.div.appendChild(e);	e.onselectstart = QuiX.stopPropag;		var oCombo = this;	this.dropdown = new Widget({		border : 1,		onclick : function(evt, w) {			w.close();		},		onmousedown : QuiX.stopPropag	});	this.dropdown.combo = this;	this.dropdown.minw = 60;	this.dropdown.minh = 50;	this.dropdown.div.className = 'combodropdown';	this.dropdown.close = function() {		document.desktop.overlays.removeItem(this);		oCombo.isExpanded = false;		this.detach();	};	var cont = new Widget({		width : '100%',		height: '100%',		overflow: 'auto',		onmousedown : QuiX.cancelDefault	});	this.dropdown.appendChild(cont);	this.options = cont.widgets;	var resizer = new Widget({		left : 'this.parent.getWidth()-16',		top : 'this.parent.getHeight()-16',		width : 16,		height : 16,		border : 0,		overflow : 'hidden'	});	this.dropdown.appendChild(resizer);	resizer.div.className = 'resize';	resizer.attachEvent('onmousedown', function(evt){		oCombo.dropdown._startResize(evt);	});	this.button = new XButton({		left : 'this.parent.getWidth()-20',		height : '100%', width : 20,		img : params.img || 'images/desc8.gif'	});	this.appendChild(this.button);	if (!this.readonly)		this.button.attachEvent('onclick', ComboBtn__onclick);		if (this.editable) {		e.value = (params.value)?params.value:'';		if (!this.readonly) {			e.onchange = function() {				if (oCombo.onchange)					getEventListener(oCombo.onchange)(oCombo);			}		}		else			e.readonly = true	}	else {		e.readOnly = true;		e.style.cursor = 'default';		if (!this.readonly) e.onclick = ComboBtn__onclick;	}}
meta: 10647	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10647/b003327ced800030cdfab15cab4524d54991905c/formfields2.js/clean/porcupine/branches/ievlev/pubdir/__xul/formfields2.js