var listControls=new Array();

function ListControl_draw(element) {
	var html='<table border="0" id="listTable'+this.id+'" cellpadding="0" cellspacing="0">';
	html   +='<tr><td><img src="'+this.imagesFolder+'list_r1_c1.gif"/></td><td><img src="'+this.imagesFolder+'list_r1_c2.gif" width="'+this.globalWidth+'" height="'+this.borderHeight+'"/></td><td><img src="'+this.imagesFolder+'list_r1_c3.gif"/></td></tr>';
	html   +='<tr><td><img src="'+this.imagesFolder+'list_r2_c1.gif" width="'+this.borderWidth+'" height="'+this.height+'"/></td><td><div id="listDiv'+this.id+'" style="width:'+this.globalWidth+'px;height:'+this.height+'px;overflow-y:scroll;background-color:'+this.defaultBackgroundColor+'"></div></td><td><img src="'+this.imagesFolder+'list_r2_c3.gif" width="'+this.borderWidth+'" height="'+this.height+'"/></td></tr>';
	html   +='<tr><td><img src="'+this.imagesFolder+'list_r3_c1.gif"/></td><td><img src="'+this.imagesFolder+'list_r3_c2.gif" width="'+this.globalWidth+'" height="'+this.borderHeight+'"/></td><td><img src="'+this.imagesFolder+'list_r3_c3.gif"/></td></tr>';
	html   +='</table>';
	
	element.innerHTML=html;
	var listHtml='<table width="'+this.width+'" cellpadding="0" cellspacing="0">';
	for(var description in this.comboList) {
		var item=this.comboList[description];
		//ondblclick='ondblclick="'+this.onDblClick+'(\''+this.comboList[description]+'\')"';
		
		if(description==this.description)
			listHtml+='<tr><td id="listVoice'+this.id+description+'" style="cursor:hand;color:'+this.selectedColor+';background-color:'+this.selectedBackgroundColor+'" width="'+this.width+'">'+description+'</td></tr>';
		else
			listHtml+='<tr><td id="listVoice'+this.id+description+'" style="cursor:hand;color:'+this.defaultColor+';background-color:'+this.defaultBackgroundColor+'" width="'+this.width+'">'+description+'</td></tr>';
	}
	listHtml+='</table>';
	document.getElementById('listDiv'+this.id).innerHTML=listHtml;
	
	this.container=element;
	for(var description in this.comboList) {
		var voice=document.getElementById('listVoice'+this.id+description);
		voice.combo=this;
		if(this.onDblClick)
			voice.ondblclick=new Function(this.onDblClick+'(\''+description+'\')');
		else
			voice.onclick=new Function('this.combo.setVoice(\''+description+'\')');
		
	}
	
}

function ListControl_setVoice(description) {
	this.description=description;
	this.value=this.comboList[description];
	if(this.container) {
		this.container.value=this.value;
		this.draw(this.container);
	}
	
}

function ListControl_addItem(description,item) {
	this.comboList[description]=item;
	if(this.empty) {
		this.empty=false;
		
	}
}

function ListControl_getValue(description) {
	return this.comboList[description];
	
}


function ListControl_clear() {
	this.close();
	this.comboList=new Array();
	this.empty=true;
}

function ListControl(id) {
	this.id=id;
	this.height=100;
	this.borderWidth=3;
	this.borderHeight=3;
	this.width=100;
	this.globalWidth=150;
	this.imagesFolder='immagini/';
	this.spacerImage='immagini/spacer.gif';
	listControls[id]=this;
	this.comboList=new Array();
	this.container=null;
	this.empty=true;
	this.value=null;
	this.description=null;
	this.onDblClick=null;
	this.defaultColor='black';
	this.defaultBackgroundColor='white';
	this.selectedColor='white';
	this.selectedBackgroundColor='black';
}

ListControl.prototype.draw=ListControl_draw;
ListControl.prototype.clear=ListControl_clear;
ListControl.prototype.addItem=ListControl_addItem;
ListControl.prototype.setVoice=ListControl_setVoice;
ListControl.prototype.getValue=ListControl_getValue;

