1 function lookup(array, prop, value) {
\r
2 for (var i = 0, len = array.length; i < len; i++)
\r
3 if (array[i][prop] === value) return array[i];
\r
6 function GetTimeFromInt(intTime) {
\r
7 var has30 = intTime % 1;
\r
8 var CurInt = parseInt(intTime / 1);
\r
10 CurInt = "0" + CurInt;
\r
13 return CurInt + ":00";
\r
15 return CurInt + ":30";
\r
19 function fixOddEvenClasses() {
\r
20 $('#' + rsvrTblNm + ' tbody tr').removeClass();
\r
21 $('#' + rsvrTblNm + ' tbody tr:visible:even').addClass('even');
\r
22 $('#' + rsvrTblNm + ' tbody tr:visible:odd').addClass('odd');
\r
32 function schedulerIsRightClick(e) {
\r
34 return (e.which == 3);
\r
35 } else if (e.button) {
\r
36 return (e.button == 2);
\r
41 function schedulerCloneArray(originalArray) {
\r
42 var clonedArray = $.map(originalArray, function (obj) {
\r
43 return $.extend(true, {}, obj);
\r
49 function schedulerGetSlots(slotSpan) {
\r
50 if (slotSpan == 0) slotSpan = 10;
\r
52 var d = new Date(2014, 1, 1, 0, 0, 0, 0);
\r
54 while (d.getDate() == 1) {
\r
55 var tmpTime = schedulerPadStr(d.getHours()) + ':' + schedulerPadStr(d.getMinutes());
\r
56 slots.push({ id: i, time: tmpTime });
\r
57 d = schedulerAddMinutes(d, slotSpan);
\r
63 function schedulerGetLeases(slotSpan, granularity) {
\r
64 granularity = granularity / 60;
\r
65 if (slotSpan == 0) slotSpan = 10;
\r
67 var d = new Date(2014, 1, 1, 0, 0, 0, 0);
\r
68 var i = 0; var j = 0; var g = 0;
\r
69 var maxg = granularity / slotSpan;
\r
70 while (d.getDate() == 1) {
\r
71 //slots.push({ id: i, status: getRandomStatus() });
\r
72 slots.push({ id: i, status: "free", groupid: j, groupIndex: g });
\r
73 d = schedulerAddMinutes(d, slotSpan);
\r
86 //GetSlotId from time
\r
87 function schedulerGetSlotId(startTime, duration, granularity) {
\r
88 //granularity in seconds
\r
89 startTime = parseInt(startTime);
\r
90 var d = new Date(startTime * 1000);
\r
91 var timespan = 60 / schedulerSlotsPerHour;
\r
93 slotid += d.getHours() * schedulerSlotsPerHour;
\r
94 slotid += d.getMinutes() / timespan;
\r
98 //GetSlotId from time
\r
99 function schedulerGetDateTimeFromSlotId(slotId, tmpDateTime) {
\r
101 var timespan = 60 / schedulerSlotsPerHour;
\r
102 var totalMinutes = slotId * timespan;
\r
103 var totalHours = totalMinutes / 60;
\r
104 if (totalHours >= 1) {
\r
105 totalHours = Math.floor(totalHours);
\r
106 totalMinutes = totalMinutes - totalHours * 60;
\r
110 tmpDateTime.setHours(totalHours, totalMinutes, 0, 0);
\r
112 return tmpDateTime;
\r
115 //GetSlotId from time
\r
116 function schedulerFindDuration(startTime, endTime, granularity) {
\r
118 var fd = new Date(startTime * 1000);
\r
119 var td = new Date(endTime * 1000);
\r
122 fd.setMinutes(fd.getMinutes() + granularity);
\r
128 // Set Select - Free Slots *******Start
\r
129 function schedulerSelectSlot(slotId, rowIndex, resourceIndex) {
\r
130 _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, 'selected');
\r
132 function schedulerFreeSlot(slotId, rowIndex, resourceIndex) {
\r
133 _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, 'free');
\r
136 function _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, classText) {
\r
137 var tmpVS = SchedulerDataViewData[rowIndex].leases[slotId]; // for the display
\r
138 var tmpS = SchedulerData[resourceIndex].leases[slotId]; // for the data
\r
139 tmpVS.status = classText;
\r
140 tmpS.status = classText;
\r
141 //select other from the group in the same granularity
\r
142 var slotSpan = 60 / schedulerSlotsPerHour;
\r
143 var maxg = (SchedulerData[resourceIndex].granularity / 60) / slotSpan;
\r
145 var startSlotId = tmpVS.groupIndex == 0 ? 0 : slotId - tmpVS.groupIndex;
\r
146 for (var s = 0; s < maxg; s++) {
\r
147 if (tmpVS.groupIndex != s) {
\r
148 SchedulerDataViewData[rowIndex].leases[startSlotId].status = classText;
\r
149 SchedulerData[rowIndex].leases[startSlotId].status = classText;
\r
156 // Set Select - Free Slots *******End
\r
159 //Find Resource By Id
\r
160 function schedulerFindResourceById(Resources, id) {
\r
161 for (var i = 0, len = Resources.length; i < len; i++) {
\r
162 if (Resources[i].id == id)
\r
163 return Resources[i]; // Return as soon as the object is found
\r
165 return null; // The object was not found
\r
170 function getRandomStatus() {
\r
171 var randint = Math.floor(Math.random() * (10 - 0 + 1) + 0);
\r
173 case 0: case 1: case 2: case 3: case 4: case 5: case 6: return "free";
\r
174 //case 8: return "selected";
\r
175 case 7: case 8: case 9: return "reserved";
\r
176 case 10: return "maintenance";
\r
180 function schedulerPadStr(i) {
\r
181 return (i < 10) ? "0" + i : "" + i;
\r
184 function schedulerAddMinutes(date, minutes) {
\r
185 return new Date(date.getTime() + minutes * 60000);
\r
188 function schedulerCompareOnDay(dateOne, dateTwo) {
\r
189 if (dateOne.getYear() == dateTwo.getYear() &&
\r
190 dateOne.getMonth() == dateTwo.getMonth() &&
\r
191 dateOne.getDate() == dateTwo.getDate()) {
\r
193 } else if (dateOne > dateTwo) {
\r