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 schedulerGetLeases(slotSpan, granularity) {
\r
50 granularity = granularity / 60;
\r
51 if (slotSpan == 0) slotSpan = 10;
\r
53 var d = new Date(2014, 1, 1, 0, 0, 0, 0);
\r
54 var i = 0; var j = 0; var g = 0;
\r
55 var maxg = granularity / slotSpan;
\r
56 while (d.getDate() == 1) {
\r
57 //slots.push({ id: i, status: getRandomStatus() });
\r
58 slots.push({ id: i, status: "free", groupid: j, groupIndex: g });
\r
59 d = schedulerAddMinutes(d, slotSpan);
\r
72 //GetSlotId from time
\r
73 function schedulerGetSlotId(startTime, duration, granularity) {
\r
74 //granularity in seconds
\r
75 startTime = parseInt(startTime);
\r
76 var d = new Date(startTime * 1000);
\r
77 var timespan = 60 / schedulerSlotsPerHour;
\r
79 slotid += d.getHours() * schedulerSlotsPerHour;
\r
80 slotid += d.getMinutes() / timespan;
\r
84 //GetSlotId from time
\r
85 function schedulerGetDateTimeFromSlotId(slotId, tmpDateTime) {
\r
87 var timespan = 60 / schedulerSlotsPerHour;
\r
88 var totalMinutes = slotId * timespan;
\r
89 var totalHours = totalMinutes / 60;
\r
90 if (totalHours >= 1) {
\r
91 totalHours = Math.floor(totalHours);
\r
92 totalMinutes = totalMinutes - totalHours * 60;
\r
96 tmpDateTime.setHours(totalHours, totalMinutes, 0, 0);
\r
101 //GetSlotId from time
\r
102 function schedulerFindDuration(startTime, endTime, granularity) {
\r
104 var fd = new Date(startTime * 1000);
\r
105 var td = new Date(endTime * 1000);
\r
108 fd.setMinutes(fd.getMinutes() + granularity);
\r
114 // Set Select - Free Slots *******Start
\r
115 function schedulerSelectSlot(slotId, rowIndex, resourceIndex) {
\r
116 console.log('timeslot selected');
\r
117 _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, 'selected');
\r
119 function schedulerFreeSlot(slotId, rowIndex, resourceIndex) {
\r
120 _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, 'free');
\r
123 function _schedulerSetStatusSlot(slotId, rowIndex, resourceIndex, classText) {
\r
124 var tmpVS = SchedulerDataViewData[rowIndex].leases[slotId]; // for the display
\r
125 var tmpS = SchedulerData[resourceIndex].leases[slotId]; // for the data
\r
126 console.log(SchedulerData[resourceIndex].id);
\r
127 tmpVS.status = classText;
\r
128 tmpS.status = classText;
\r
129 //select other from the group in the same granularity
\r
130 var slotSpan = 60 / schedulerSlotsPerHour;
\r
131 var maxg = (SchedulerData[resourceIndex].granularity / 60) / slotSpan;
\r
133 var startSlotId = tmpVS.groupIndex == 0 ? 0 : slotId - tmpVS.groupIndex;
\r
134 for (var s = 0; s < maxg; s++) {
\r
135 if (tmpVS.groupIndex != s) {
\r
136 SchedulerDataViewData[rowIndex].leases[startSlotId].status = classText;
\r
137 SchedulerData[resourceIndex].leases[startSlotId].status = classText;
\r
144 // Set Select - Free Slots *******End
\r
147 //Find Resource By Id
\r
148 function schedulerFindResourceById(Resources, id) {
\r
149 for (var i = 0, len = Resources.length; i < len; i++) {
\r
150 if (Resources[i].id == id)
\r
151 return Resources[i]; // Return as soon as the object is found
\r
153 return null; // The object was not found
\r
158 function getRandomStatus() {
\r
159 var randint = Math.floor(Math.random() * (10 - 0 + 1) + 0);
\r
161 case 0: case 1: case 2: case 3: case 4: case 5: case 6: return "free";
\r
162 //case 8: return "selected";
\r
163 case 7: case 8: case 9: return "reserved";
\r
164 case 10: return "maintenance";
\r
168 function schedulerPadStr(i) {
\r
169 return (i < 10) ? "0" + i : "" + i;
\r
172 function schedulerAddMinutes(date, minutes) {
\r
173 return new Date(date.getTime() + minutes * 60000);
\r
177 * Compares two dates
\r
180 * 0 if they are equal
\r
181 * -1 if the first is less than the second
\r
182 * 1 if the first is more than the second
\r
184 function schedulerCompareOnDay(dateOne, dateTwo)
\r
186 if (dateOne.getYear() == dateTwo.getYear() &&
\r
187 dateOne.getMonth() == dateTwo.getMonth() &&
\r
188 dateOne.getDate() == dateTwo.getDate()) {
\r
190 } else if (dateOne > dateTwo) {
\r