//
// page_tourn.js
//

//---------------------------
var TournCol_ID = 0;
var TournCol_Name = 1;
var TournCol_Abbrev_Start_Date = 2;
var TournCol_Location_ID = 3;
var TournCol_Contact_ID = 4;
var TournCol_Start_Date = 5;
var TournCol_End_Date = 6;
var TournCol_Regi_Fee = 7;
var TournCol_Late_Reg_Fee = 8;
var TournCol_Late_Evt_Fee = 9;
var TournCol_Total_Boards = 10;
var TournCol_Created_User_ID = 11;

//---------------------------
var ContactCol_name = 1;
var ContactCol_street = 2;
var ContactCol_city = 3;
var ContactCol_state = 4;
var ContactCol_zip = 5;
var ContactCol_phone1 = 6;
var ContactCol_phone2 = 7;
var ContactCol_email = 8;
var ContactCol_web = 9;
var ContactCol_comments = 10;

//---------------------------
var Col_evt_name = 1;
var Col_sched_start_date = 2;
var Col_sched_start_time = 3;
var Col_actual_end_date = 4;
var Col_actual_end_time = 5;
var Col_entry = 6;
var Col_no_more_than = 7;
var Col_add_to = 8;
var Col_format = 9;
var Col_win_fmt = 10;
var Col_lose_fmt = 11;


var elem_tournID;

var elem_ctl_tourn_type;
var elem_ctl_order;
var elem_ctl_month;
var elem_ctl_year;
var elem_ctl_state;

var elem_tourn_name;
var elem_establishment;
var elem_start_date;
var elem_end_date;
var elem_street;
var elem_city;
var elem_state;
var elem_zip;
var elem_phone1;
var elem_phone2;
var elem_email;
var elem_web;
	
var elem_cont_name;
var elem_cont_phone;
var elem_cont_email;

//----------------------------
var elem_evt_name;				//id_evt_title
var elem_evt_est_start_date;
var elem_evt_players_per_team;
var elem_evt_actual_start_date;
var elem_evt_actual_start_time;
var elem_evt_actual_end_date;
var elem_evt_actual_end_time;
var elem_evt_rating_restrictions;
var elem_evt_no_more_than;
var elem_evt_add_to_rating;
var elem_evt_team_type;
var elem_evt_entry_fee;
var elem_evt_est_start_time;
var elem_evt_est_end_date;
var elem_evt_est_end_time;
var elem_evt_first_board;
var elem_evt_last_board;
var elem_evt_double_elim;
var elem_evt_winners_fmt;
var elem_evt_losers_fmt;

//----------------------------
elem_sched_start_date;
elem_sched_start_time;
elem_actual_end_date;
elem_actual_end_time;
elem_entry;
elem_no_more_than;
elem_add_to;
elem_format;
elem_win_fmt;
elem_lose_fmt;

//----------------------------
var mTournTbl;
var mEventTbl;
var mWinTbl;
var mTournFetchDataFuncID;
var mTournDetailsFuncID;
var mLocationFuncID;
var mContactFuncID;

//---------------------------
function InitTournPage()
	{
	Event_Init();
	InitTournElementVars();
	ResetMainMenu(2);
	BuildTournTable();
	BuildEventTable();
	BuildWinnersTable();
	}

//---------------------------
function InitTournElementVars()
	{
	elem_tournID = document.getElementById("id_tournID");
	
	elem_ctl_tourn_type = document.getElementById('id_tourn_type');
	elem_ctl_order = document.getElementById('id_popup_order');
	elem_ctl_month = document.getElementById('id_popup_month');
	elem_ctl_year = document.getElementById('id_popup_year');
	elem_ctl_state = document.getElementById('id_popup_state');
	
	elem_tourn_name = document.getElementById('id_tourn_title');
	elem_establishment = document.getElementById('id_establishment');
	elem_start_date = document.getElementById('id_start_date');
	elem_end_date = document.getElementById('id_end_date');
	elem_street = document.getElementById('id_street_addr');
	elem_city = document.getElementById('id_city');
	elem_state = document.getElementById('id_state');
	elem_zip = document.getElementById('id_zip');
	elem_phone1 = document.getElementById('id_phone');
	elem_phone2 = document.getElementById('id_alt_phone');
	elem_email = document.getElementById('id_email');
	elem_web = document.getElementById('id_web_addr');
	
	elem_cont_name = document.getElementById('id_contact_name');
	elem_cont_phone = document.getElementById('id_contact_phone');
	elem_cont_email = document.getElementById('id_contact_email');
	
	elem_evt_name = document.getElementById('id_evt_title');
	elem_sched_start_date = document.getElementById('id_sched_start_date');
	elem_sched_start_time = document.getElementById('id_sched_start_time');
	elem_actual_end_date = document.getElementById('id_actual_end_date');
	elem_actual_end_time = document.getElementById('id_actual_end_time');
	elem_entry = document.getElementById('id_entry');
	elem_no_more_than = document.getElementById('id_no_more_than');
	elem_add_to = document.getElementById('id_add_to');
	elem_format = document.getElementById('id_format');
	elem_win_fmt = document.getElementById('id_win_fmt');
	elem_lose_fmt = document.getElementById('id_lose_fmt');

	}

//----------------------------------------------
function BuildTournTable()
	{
	mTournTbl = new Table('trn', 45, 85);
	mTournTbl.SetPosition(120, 10);
	mTournTbl.SetTotalRowsPerPage(20);
	mTournTbl.SetDfltSelectedHdg(2);
	mTournTbl.SetTotalCols(3);
	mTournTbl.SetColAlignments("center","left","center");
	mTournTbl.SetColWidths(40, 240, 90);
	mTournTbl.SetSelectRowFunc(SelectTournRow);
	mTournTbl.SetSelectHdgFunc(SelectTournHdg);
	mTournTbl.SetHeadingNames("#", "Tournament", "When");
	mTournTbl.SetDataStrID("id_tournData");
	mTournTbl.SetColDataIndicies(-1,1,2);
	mTournTbl.Show();
	}
//---------------------------
function RebuildTournList()
	{
	ttype = elem_ctl_tourn_type.value;
	order = elem_ctl_order.value;
	month = elem_ctl_month.value;
	year = elem_ctl_year.value;
	state = elem_ctl_state.value;

	str='ttype='+ttype+'^order='+order+'^month='+month+'^year='+year+'^state='+state;

	// Make AJAX call -------------------
	var ajax = new AJAX("lib_tourn/get_tourn_data.php", str);
	ajax.onload = RefreshTournTableData;
	ajax.get();
	}

//---------------------------
function RefreshTournTableData(ajax, success)
	{
	if (success)
		{
		ajax.PutStrInValue("id_tournData");
		mTournTbl.Refresh();
		}
	delete ajax;
	}

//----------------------------------------------
function BuildEventTable()
	{
	mEventTbl = new Table('evt', 0, 0);
	mEventTbl.SetPosition(210, 439);
	mEventTbl.SetTotalRowsPerPage(8);
	mEventTbl.SetDfltSelectedHdg(1);
	mEventTbl.SetTotalCols(2);
	mEventTbl.SetColWidths(231, 50);
	mEventTbl.SetSelectRowFunc(SelectEventRow);
	mEventTbl.SetSelectHdgFunc(SelectEventHdg);
	mEventTbl.SetHeadingNames("Event", "When");
	mEventTbl.SetDataStrID("id_eventData");
	mEventTbl.SetColDataIndicies(1,2);
	mEventTbl.Show();
	}
//----------------------------------------------
function BuildWinnersTable()
	{
	mWinTbl = new Table('win', 0, 30);
	mWinTbl.SetPosition(210, 778);
	mWinTbl.SetTotalRowsPerPage(5);
	mWinTbl.SetDfltSelectedHdg(1);
	mWinTbl.SetTotalCols(2);
	mWinTbl.SetColWidths(30, 240);
	mWinTbl.SetSelectRowFunc(SelectWinRow);
	mWinTbl.SetSelectHdgFunc(SelectWinHdg);
	mWinTbl.SetHeadingNames("Place", "Team");
	mWinTbl.SetDataStrID("id_winners");
	mWinTbl.SetColDataIndicies(0,1);
	mWinTbl.Show();
	}

//----------------------------------------------
function SelectTournRow(rowNum)
	{
	if (rowNum > -1)
		{
		rowData = mTournTbl.GetRowData(rowNum);
		elem_tournID.value = rowData [0];
		var str = "tournID="+elem_tournID.value;

		// Make AJAX call -------------------
		var ajax = new AJAX("lib_tourn/get_events_data.php", str);
		ajax.onload = OnLoadFunc;
		ajax.get();
		}
	}
//----------------------------------------------
function RefreshTournDetails(ajax, success)
	{
	if (success)
		{
		ajax.PutStrInValue("id_eventData");
		var rowData = mTournTbl.GetCurrentRowData();
		elem_tourn_name.value = rowData[TournCol_Name];
		elem_start_date.value = GetFormatDate(rowData[TournCol_Start_Date],"mdy");
		elem_end_date.value = GetFormatDate(rowData[TournCol_End_Date],"mdy");
		mEventTbl.Refresh();

		var str = "id="+rowData[TournCol_Location_ID];
		
		// Make AJAX call -------------------
		var aj = new AJAX("lib_tourn/get_contact_data.php", str);
		aj.onload = RefreshLocation;
		aj.get();
		}
	delete ajax;
	}
//----------------------------------------------
function RefreshLocation(ajax, success)
	{
	if (success)
		{
		ajax.PutStrInValue("id_location");
		elem_establishment.value = GetColData(ContactCol_name, "id_location");
		elem_street.value = GetColData(ContactCol_street , "id_location");
		elem_city.value = GetColData(ContactCol_city , "id_location");
		elem_state.value = GetColData(ContactCol_state , "id_location");
		elem_zip.value = GetColData(ContactCol_zip , "id_location");
		elem_phone1.value = GetColData(ContactCol_phone1 , "id_location");
		elem_phone2.value = GetColData(ContactCol_phone2 , "id_location");
		elem_email.value = GetColData(ContactCol_email , "id_location");
		elem_web.value = GetColData(ContactCol_web , "id_location");
		
		var str = "id="+rowData[TournCol_Contact_ID];
		delete ajax;
		
		// Make AJAX call -------------------
		var aj = new AJAX("lib_tourn/get_contact_data.php", str);
		aj.onload = RefreshContact;
		aj.get();
		}
	delete ajax;
	}
//----------------------------------------------
function RefreshContact(ajax, success)
	{
	if (success)
		{
		ajax.PutStrInValue("id_contact");
		elem_cont_name.value = GetColData(ContactCol_name, "id_contact");
		elem_cont_phone.value = GetColData(ContactCol_phone1, "id_contact");
		elem_cont_email.value = GetColData(ContactCol_email, "id_contact");
		}
	delete ajax;
	}

//----------------------------------------------
function SelectTournHdg(col)
	{
	RebuildTournList();
	}
//----------------------------------------------
function SelectEventRow(rowNum)
	{
	if (rowNum > -1)
		{
		rowData = mEventTbl.GetRowData(rowNum);
		elem_evt_name.value = rowData[Col_evt_name];
		elem_sched_start_date.value = rowData[Col_sched_start_date];
		elem_sched_start_time.value = rowData[Col_sched_start_time];
		elem_actual_end_date.value = rowData[Col_actual_end_date];
		elem_actual_end_time.value = rowData[Col_actual_end_time];
		elem_entry.value = rowData[Col_entry];
		elem_no_more_than.value = rowData[Col_no_more_than];
		elem_add_to.value = rowData[Col_add_to];
		elem_format.value = rowData[Col_format];
		elem_win_fmt.value = rowData[Col_win_fmt];
		elem_lose_fmt.value = rowData[Col_lose_fmt];
		}
	}
//----------------------------------------------
function SelectEventHdg(col)
	{
	}

//----------------------------------------------
function SelectWinRow(rowNum)
	{
	}
//----------------------------------------------
function SelectWinHdg(col)
	{
	}

//----------------------------------------------
function GetColData(col, elemID)
	{
	var s = document.getElementById(elemID).value;
	var rowData = s.split(",");
	return rowData[col-1];
	}


//----------------------------------------------
function ClearTable(tableName)
	{
	var ajax = new AJAX("clear_table.php", "table="+tableName);
	ajax.onload = DoneAjax;
	ajax.get();
	}
//----------------------------------------------
function DoneAjax(ajax, success)
	{
	delete ajax;
	}
//----------------------------------------------
function ClearContacts()
	{
	ClearTable("contacts");
	}
//----------------------------------------------
function ClearTourns()
	{
	ClearTable("tournaments");
	}
//----------------------------------------------
function ClearAttendees()
	{
	ClearTable("attendees");
	}
//----------------------------------------------
function ClearEvents()
	{
	ClearTable("events");
	}
//----------------------------------------------
function ClearTeams()
	{
	ClearTable("teams");
	}
//----------------------------------------------
function ClearTeam_Players()
	{
	ClearTable("team_players");
	}
//----------------------------------------------
function ClearWinners()
	{
	ClearTable("winners");
	}
//----------------------------------------------
function ClearMatches()
	{
	ClearTable("matches");
	}
//----------------------------------------------
function ClearAllTables()
	{
	ClearContacts();
	ClearTourns();
	ClearAttendees();
	ClearEvents();
	ClearTeams();
	ClearTeam_Players();
	ClearWinners();
	ClearMatches();
	}

