﻿
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var selectedEmployee = null;
var isManager = null;

function getEvents(eventFunction, monthWeekDay, viewDefault) {
	$('#divCalendar').html('');

	$('#divCalendar').fullCalendar({
		header: {
			left: 'prev,next today',
			center: 'title',
			right: monthWeekDay
		},
		defaultView: viewDefault,
		select: eventSelected,
		selectable: true,
		selectHelper: true,
		editable: true,
		droppable: true,
		events: eventFunction(),
		eventClick: eventClicked,
		dayClick: daySelected,
		eventDrop: eventDropped,
		drop: dropped
	});
}

function getMySchedule() {
	return [{
		title: 'All Day Event',
		start: new Date(y, m, d+1, 19, 0),
		end: new Date(y, m, d+1, 22, 30)
	}];
}

function getAvailableSchedule() {
	return [{
		title: 'All Day Event',
		start: new Date(y, m, 2)
	}];
}

function getPreferredSchedule() {
	return [{
		title: 'All Day Event',
		start: new Date(y, m, 3)
	}];
}

function eventDropped(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
	alert('Event Dropped');
}

function dropped(date, allDay, jsEvent, ui) {
	if ($(this).hasClass('draggable')) {
		$('#divCalendar').fullCalendar('renderEvent', { allDay: false, title: $(this).html(), start: date, end: date, color: $(this).css('background-color'), borderColor: '#000000', textColor: '#000000' });
	}
}

function eventClicked(event, jsEvent, view){

}

function eventSelected(startDate, endDate, allDay, jsEvent, view) {
	var sd = null;
	var ed = null;
	var loopCount = null;

	if (selectedEmployee !== null) {
		startDate = new Date(startDate);
		endDate = new Date(endDate);

		loopCount = ((endDate - startDate) / (1000 * 24 * 60 * 60));

		for (var i = 0; i <= loopCount; i++) {
			sd = new Date(startDate);
			ed = new Date(endDate);

			sd.setDate(sd.getDate() + i);

			if (loopCount < 1) {
				ed.setDate(sd.getDate());
			}
			else {
				ed = sd;
			}

			$('#divCalendar').fullCalendar('renderEvent', { allDay: false, title: $(selectedEmployee).html(), start: sd, end: ed, color: $(selectedEmployee).css('background-color'), borderColor: '#000000', textColor: '#000000' });
		}
	}
}

function daySelected(date, allDay, jsEvent, view) {
	
}

function getEmployees(data, div) {

	data = [{ id: 1, name: 'Steve Buchok', color: '#FFadad' }, { id: 2, name: 'Terry Cook', color: '#adFFad' }, { id: 3, name: 'Mo Shahin', color: '#adadFF'}];

	for (var i = 0; i < data.length; i++) {
		var newDiv = $('<div id="' + data[i].id + '" class="employee draggable" style="background-color: ' + data[i].color + '">' + data[i].name + '</div>');

		newDiv.click(function () {
			selectedEmployee = this;

			$('.employee').css({ opacity: 1.0, 'font-weight': 'normal' });

			$(this).css({ opacity: 0.5, 'font-weight': 'bold' });
		});

		div.append(newDiv);
	}
}
