/*
	calendar.js
*/

//--------------------------------

function cmdRefreshView()
{
	var els = document.forms.calNav.elements;
	CSC_Request('calendar.csc.php', 'refreshView', { 'week': els['calendar[week]'].value, 'year': els['calendar[year]'].value, 'date': els['calendar[date]'].value });
}

function cmdRefreshDayView()
{
	var els = document.forms.calNav.elements;
	CSC_Request('calendar.csc.php', 'refreshDayView', { 'date': els['dayViewDate'].value });
}

function cmdChangeWeek(v)
{
	var els = document.forms.calNav.elements;
	els['calendar[week]'].value = parseInt(els['calendar[week]'].value) + v;
	cmdRefreshView();
}

function cmdChangeYear(v)
{
	var els = document.forms.calNav.elements;
	els['calendar[year]'].value = parseInt(els['calendar[year]'].value) + v;
	cmdRefreshView();
}

function cmdCellClick(user, day)
{
	var id = 'c' + user + '_' + day;
	
	var e = document.getElementById(id);
	if (e)
	{
		if (e.innerHTML == '')
			cmdEventNew(user, day);
		else
			cmdEventView(user, day);
	}
}

function cmdEventNew(user, day)
{
	CSC_Request('calendar.csc.php', 'eventNew', { 'user': user, 'day': day });
}

function cmdEventView(user, day)
{
	CSC_Request('calendar.csc.php', 'eventView', { 'user': user, 'day': day });
}

function cmdEventViewOwned(user, day)
{
	CSC_Request('calendar.csc.php', 'eventView', { 'user': user, 'day': day, 'owned': 1 });
}

function cmdEventEdit(eventId)
{
	CSC_Request('calendar.csc.php', 'eventEdit', { 'eventId': eventId });
}

function cmdEventRemove(eventId, userId)
{
	CSC_Request('calendar.csc.php', 'eventRemove', { 'sUserId': userId, 'calEventId': eventId });
}

function cmdEventDelete(eventId, userId)
{
	CSC_Request('calendar.csc.php', 'eventDelete', { 'sUserId': userId, 'calEventId': eventId });
}

function cmdEventViewClose()
{
	e = document.getElementById('calendarEventViewDlg');
	if (e) dlgDestroy(e);
}

function cmdEventEditSave()
{
	//CSC_RequestPOST('calendar.csc.php', 'eventEditSave', getPackedForm(document.forms.calEvent));
	CSC_Request('calendar.csc.php', 'eventEditSave', getPackedForm(document.forms.calEvent));
	
	e = document.getElementById('calendarEventEditDlg');
	if (e) dlgDestroy(e);
}

function cmdEventEditAbort()
{
	e = document.getElementById('calendarEventEditDlg');
	if (e) dlgDestroy(e);
}

function cmdEventEditLengthSelect()
{
	switch (document.forms.calEvent.elements['calEvent[calEventLength]'].value)
	{
		case "00:00:00":	// stop time
			document.forms.calEvent.elements['calEvent[calEventStartTime]'].disabled = false;
			document.forms.calEvent.elements['calEvent[calEventStopTime]'].disabled = false;
			break;
		case "23:59:59":	// whole day
			document.forms.calEvent.elements['calEvent[calEventStartTime]'].disabled = true;
			document.forms.calEvent.elements['calEvent[calEventStopTime]'].disabled = true;
			break;
		default:			// length
			document.forms.calEvent.elements['calEvent[calEventStartTime]'].disabled = false;
			document.forms.calEvent.elements['calEvent[calEventStopTime]'].disabled = true;
			break;
	}
}

//--------------------------------

function createCalEvent(ev)
{
	var cls = '';
	if (ev.googleEvent)
	{
		cls = ' class="googleEvent"';
	}
	var s = '';
	s += '<tr' + cls + '>';
	s += '<td style="width: 30px; text-align: right;">' + ev.t1 + '</td>';
	s += '<td style="padding: 0px 1px 0px 4px;">' + ev.s + '</td>';
	s += '<td style="width: 34px; text-align: right;">' + ev.t2 + '</td>';
	s += '</tr>';
	return s;
}

function calRefreshHeaders(dates)
{
	for (d = 1; d <= 7; d++)
	{
		var e = document.getElementById('calHeadDay_' + d);
		if (e)
		{
			if (d != calWeekCurrentDay)
				e.className = 'calendar';
			else
				e.className = 'calendarCurrent';
			
			//e.title = dates[d];
		}
		
		var e = document.getElementById('calHeadDayName_' + d);
		if (e)
		{
			e.innerHTML = '<a href="main.php?mode=dayView&amp;day=' + (d - 1) + '">' +
					window.TextTable.calendar.dayNames[d - 1] + '&nbsp;' + YMD2DM(dates[d]) + '</a>';
		}
	}
}

function refreshView(events)
{
	for (user_id in EventCalendarInfo['users'])
	{
		for (d = 0; d < 7; d++)
		{
			var id = 'c' + user_id + '_' + d;
			var e = document.getElementById(id);
			if (e)
			{
				var cell = events[id];
				var s = '';
				if (cell)
				{
					s += '<div style="width: '+day_col_width+'px;"><table class="calendarCell" style="width: '+(day_col_width - 2)+'px; margin: 0px 2px 0px 0px; font-size: 10px; font-family: Arial;">';
					for (i in cell)
					{
						s += createCalEvent(cell[i]);
					}
					s += '</table></div>';
					if (d + 1 != calWeekCurrentDay)
						e.className = 'calendar';
					else
						e.className = 'calendarCurrent';
						
					e.title = window.TextTable['calendar']['titleShowEvent'];
				}
				else
				{
					if (d + 1 != calWeekCurrentDay)
						e.className = "calendarEmpty";
					else
						e.className = 'calendarEmptyCurrent';
						
					e.title = window.TextTable['calendar']['titleCreateNewEvent'];
				}
				e.innerHTML = s;
			}
		}
	}
}

