var JSDC_DAO_SELECT_EXISTS = true;

// selectoptions() - Settingsobject for data_aware_object
function selectoptions()
{

}

function select_refresh(dest) // TODO: Start using local selection
{
	if (dest.dataview.selection.length > 0) 
	{
		// To speed up performance, make optionsdata in memory, then switch it for the current.
		// Create fragment container
		var docFragment = document.createDocumentFragment();  
		var row_idx, new_row, col_idx, new_cell, src_row_idx;
		var sel_length = dest.dataview.selection.length;
		for (row_idx = 0;row_idx < sel_length ;row_idx++) 
		{
		
			new_row = document.createElement("option");
			src_row_idx = dest.dataview.selection[row_idx];
			var new_value = dest.dataview.datatable.columns[dest.valuecol_idx].data[src_row_idx];
			new_row.id  = dest.daobj.name + new_value;
			
			new_row.value = new_value;
			new_row.innerHTML = new_value;
	    	docFragment.appendChild(new_row);
		}
  
		dest.daobj.options.length = 0;
		dest.daobj.appendChild(docFragment);
		dest.daobj.parentNode.width = 100; 
	}
	else
	{
	  
	  dest.daobj.options.length = 0;

	}
}


function select_change(dest, action, row_idx, col_idx)
{

  if (dest.daobj)
  {
		switch (action)
		{
		  case "refresh":
		  	select_refresh(dest);  
		  break;
		  case "remove":
		  	dest.daobj.deleteRow(dest.dataview.curr_row);
		  break;
		  case "insert":
		  	var col_idx, new_row, new_cell;
		  	new_row = dest.daobj.insertRow(dest.dataview.curr_row);
		  	for (col_idx in dest.columns) 
		  	{
		  		new_cell = document.createElement("td");
		  		new_cell.innerHTML = dest.dataview.columns[col_idx].data[dest.dataview.curr_row];
		  		new_row.appendChild(new_cell); 
		  	}
		  break;
		  case "update": // not functional.Move? Change?
		  	var col_idx, new_row, new_cell;
		  	for (col_idx in dest.columns) 
		  	{
		  		new_cell = document.createElement("td"); 
		  		new_cell.innerHTML = dest.dataview.columns[col_idx].data[dest.dataview.curr_row];
		  		new_row.appendChild(new_cell); 
		  	}
		  break;
		}
  }
  else
  { 
    alert("daobj not assigned"); 
  }
   
}