// ui_table

//-----------------------------------------------------------------------
function ui_load_table(ui_id, doneFunc, parentElem)
	{
	PrepForLoad(ui_id);

	var str = "request=table_get_info^ui_id="+ui_id;
	var ajax = new AJAX("ui_ajax.php", str);
	ajax.ui_id = ui_id;
	ajax.parentElem = parentElem;
	ajax.doneFunc = doneFunc;
	ajax.onload = done_ui_load_table;
	ajax.get();
	}
 //---------------------------------------------------------
function done_ui_load_table(ajax, success)
	{
	if (success)
		{
		var rtn = ajax.GetRtnStr();	
		var data = rtn.split(",");
		var idx = 0;

		var top = data[idx];
		var left = data[++idx];
		var sort_col = data[++idx];
		var vis_rows = data[++idx];
		var total_cols = data[++idx];	
		var chk_box_col = data[++idx];		
		var table_elem_id = GetTableElemID(ajax.ui_id);
		var data_elem_id = GetTableDataElemID(ajax.ui_id);
		var tbl = new Table(table_elem_id);		// Create a new instance of a table (User Table)
		tbl.SetPosition(top, left);				// Position the table (top, left)
		tbl.SetCheckBoxCol(chk_box_col);
		tbl.SetTotalRowsPerPage(vis_rows);		// Set initial num of visible rows in table
		tbl.SetDfltSelectedHdg(sort_col);		// Set default hilited heading (last name)
		tbl.SetTotalCols(total_cols);			// Set total number of colums
		tbl.SetParentElem(ajax.parentElem);		// Set table parent element
		tbl.ui_id = ajax.ui_id;
		for (col = 0; col < total_cols; ++col)
			{
			tbl.SetHeadingName(col, data[++idx]);
			tbl.SetColWidth(col, data[++idx]);
			tbl.SetColAlignment(col, data[++idx]);
			}
		tbl.SetSelectRowFunc(UI_SelectRow);	
		tbl.SetSelectHdgFunc(UI_SelectHdg);
		tbl.SetDataStrID(data_elem_id);
		tbl.Show();	
		if (ajax.doneFunc) ajax.doneFunc(tbl);	 					
		}
	delete ajax;
	}

//------------------------------------------------------------------------
function UI_SelectRow(tblObj, row) 
	{
/*
		alert("tblObj="+tblObj+"   row="+row)

	if (rowNum > -1)
		{
		rowData = tblObj.GetRowData(row);
		elem_playerID.value = rowData [0];
		elem_firstname.value = rowData [1];
		elem_lastname.value = rowData [2];
		elem_district.value = rowData [3];
		elem_email.value = rowData [4];
		elem_curr_rating.value = rowData[5];
		mRating.SetDigitsValue(elem_curr_rating.value);	// copy ratings into rater area
		elem_num_raters.value = rowData[6];
		

		filename = elem_firstname.value+elem_lastname.value+".jpg";
		filename.replace(" ","");
		ProcessPhoto(filename);
	//	ShowPict(filename);
		SetPlayerTitle(elem_firstname.value+" "+elem_lastname.value);
		GetElemByID("id_comments_about").innerHTML = "Comments about "+
					elem_firstname.value+" "+elem_lastname.value+".";
		RefreshPlayerBlog();
*/
	}
//------------------------------------------------------------------------
function UI_SelectHdg(tblObj, col)
	{
	SetTableSortCol(tblObj.ui_id, col);
	}


//------------------------------------------------------------------------
function refresh_table(sel_row, ui_id)
	{
	var str = "request=table_refresh^ui_id="+ui_id;
	var ajax = new AJAX("ui_ajax.php", str);
	ajax.ui_id = ui_id;
	ajax.sel_row = sel_row;
	ajax.onload = done_refresh_table;
	ajax.get();
	}

//------------------------------------------------------------------------
function done_refresh_table(ajax, success)
	{
	if (success)
		{
		var table_elem = GetTableElem(ajax.ui_id);
		var data_elem = GetTableDataElem(ajax.ui_id);
		data_elem.value = ajax.GetRtnStr();	
		table_elem.obj.Refresh();
		table_elem.obj.SelectRow(ajax.sel_row);
		
		table_elem.obj.SetControlForm();
		}
	delete ajax;
	}
//---------------------------------------------------------
function GetTableElemID(ui_id)
	{
	return "table_"+ui_id;
	}
//---------------------------------------------------------
function GetTableElem(ui_id)
	{
	return GetElemByID(GetTableElemID(ui_id));
	}
//---------------------------------------------------------
function GetTableDataElemID(ui_id)
	{
	return "data_"+ui_id;
	}
//---------------------------------------------------------
function GetTableDataElem(ui_id)
	{
	return GetElemByID(GetTableDataElemID(ui_id));
	}

//---------------------------------------------------------
function PrepForLoad(ui_id)
	{
	var panel = new Panel(ui_id+"_panel",0,0,0,0,"thin","none","","", null);
	var obj = panel.AddObject("data_"+ui_id, TYPE_HIDDEN_VALUE, 0,0,0,0, ""); 
	panel.Show();
	}
	
//------------------------------------------------------------------------
function SetTableSortCol(ui_id, col)
	{
	var str = "request=table_set_sort_col^ui_id="+ui_id+"^sort_col="+col;
	var ajax = new AJAX("ui_ajax.php", str);
	ajax.ui_id = ui_id;
	ajax.onload = done_SetTableSortCol;
	ajax.get();
	}
//------------------------------------------------------------------------
function done_SetTableSortCol(ajax, success)
	{
	if (success)
		{
		refresh_table(1, ajax.ui_id)
		}
	delete ajax;
	}
			
