
function DynSelect(id, otable, fields){


		this.fields = fields;
		this.otable = otable;
		this.useClassNames = true;
		this.defaultSelected = ["Seleccionar","-1"];
		this.selectColumnText = "Seleccionar columna  "; //<%= msg.getMessage("SelectionColumn") %> ';
		
		this.select = document.createElement("SELECT");

		this.select.dyntable = otable;
		this.select.setAttribute("name", id);
		this.select.setAttribute("id", id);
		this.select.onchange = DynSelect.onChangeEvent;
		
		//update the selection list.
		this.buildSelectionList = function() {
			
			//borrar los options
			while(this.select.options.length>0)
				this.select.remove(0);
			
			this.select.options[0] = new Option(this.defaultSelected[0], this.defaultSelected[1]);
			
			for(fid = 0;fid < this.fields.length;fid++) 
			{
			
				if(inArray(this.otable.columnIds, this.fields[fid].id)==-1){
				
					var opt = new Option(this.fields[fid].name, this.fields[fid].id);
					opt.width = this.fields[fid].width;
				
					if(this.useClassNames)
					{
						if(this.fields[fid].style)
						{
							opt.className= this.fields[fid].style;
						}else {
							opt.className= "headerRow";
						}
					}
					this.select.options[this.select.options.length] = opt;
				}
			}
		
		}
		
		this.append = function(divContainer){
			var dynSelectContainer = document.getElementById(divContainer);
			if(dynSelectContainer.childNodes[0] != null){
				dynSelectContainer.replaceChild(this.select, dynSelectContainer.childNodes[1]);
			}else{
				dynSelectContainer.appendChild(document.createTextNode(this.selectColumnText));
				dynSelectContainer.appendChild(this.select);
			}
		}
		
}

DynSelect.onChangeEvent = function(element){
	var el, s;
	  if (!(element)) {
	    el = window.event.srcElement;
	  } else {
	    el = element.target;
	  }
	  addColumnToDynTable(el.dyntable,el);
}

function addColumnToDynTable(dyntable, select){
	var opt = select.options[select.selectedIndex];
	if(opt.value!="-1"){
		dyntable.addCol(opt.text,opt.value, opt.width, opt.className);	
		select.remove(select.selectedIndex);
	}
}

