baddd8d68dbe02ff3a0cac4b20ccfc1c6c58a929
[myslice.git] / plugins / scheduler2 / static / js / scheduler-helpers.js
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
4 }\r
5 \r
6 function GetTimeFromInt(intTime) {\r
7     var has30 = intTime % 1;\r
8     var CurInt = parseInt(intTime / 1);\r
9     if (CurInt < 10)\r
10         CurInt = "0" + CurInt;\r
11 \r
12     if (has30 == 0) {\r
13         return CurInt + ":00";\r
14     } else {\r
15         return CurInt + ":30";\r
16     }\r
17 }\r
18 \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
23 }\r
24 \r
25 SlotStatus = {\r
26     free: 0,\r
27     selected: 1,\r
28     reserved: 2,\r
29     maintenance: 3,\r
30 }\r
31 \r
32 function schedulerIsRightClick(e) {\r
33     if (e.which) {\r
34         return (e.which == 3);\r
35     } else if (e.button) {\r
36         return (e.button == 2);\r
37     }\r
38     return false;\r
39 }\r
40 \r
41 function schedulerCloneArray(originalArray) {\r
42     var clonedArray = $.map(originalArray, function (obj) {\r
43         return $.extend(true, {}, obj);\r
44     });\r
45 \r
46     return clonedArray;\r
47 }\r
48 \r
49 function schedulerGetSlots(slotSpan) {\r
50     if (slotSpan == 0) slotSpan = 10;\r
51     var slots = [];\r
52     var d = new Date(2014, 1, 1, 0, 0, 0, 0);\r
53     var i = 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
58         i++;\r
59     }\r
60     return slots;\r
61 }\r
62 \r
63 function schedulerGetLeases(slotSpan) {\r
64     if (slotSpan == 0) slotSpan = 10;\r
65     var slots = [];\r
66     var d = new Date(2014, 1, 1, 0, 0, 0, 0);\r
67     var i = 0;\r
68     while (d.getDate() == 1) {\r
69         //var tmpTime = schedulerPadStr(d.getHours()) + schedulerPadStr(d.getMinutes());\r
70         slots.push({ id: i, status: getRandomStatus() });\r
71         d = schedulerAddMinutes(d, slotSpan);\r
72         i++;\r
73     }\r
74     return slots;\r
75 }\r
76 \r
77 function getRandomStatus() {\r
78     var randint = Math.floor(Math.random() * (10 - 0 + 1) + 0);\r
79     switch (randint) {\r
80         case 0: case 1: case 2: case 3: case 4: case 5: case 6: return "free";\r
81         //case 8: return "selected";\r
82         case 7: case 8: case 9: return "reserved";\r
83         case 10: return "maintenance";\r
84     }\r
85 }\r
86 \r
87 function schedulerPadStr(i) {\r
88     return (i < 10) ? "0" + i : "" + i;\r
89 }\r
90 \r
91 function schedulerAddMinutes(date, minutes) {\r
92     return new Date(date.getTime() + minutes * 60000);\r
93 }