d4f2dd4cbe19d6f4589eb45db497baf2e449d3bf
[citadel.git] / webcit / static / roomops.js
1 // ROOM list vars:
2 var rooms = null;
3
4 // FLOOR list
5 var floors = null;
6
7 var roomsForFloors = new Array();
8 /* STRUCT KEYS */
9 /* LKRN etc. */
10 var RN_ROOM_NAME = 0;
11 var RN_ROOM_FLAG = 1;
12 var RN_FLOOR_NUM = 2;
13 var RN_LIST_ORDER = 3;
14 var RN_ACCESS_CONTROL = 4;
15 var RN_CUR_VIEW = 5;
16 var RN_DEF_VIEW = 6;
17 var RN_LAST_CHANGE = 7;
18
19 var QR_PRIVATE = 4;
20 var QR_MAILBOX = 16384;
21
22 var UA_KNOWN = 2;
23 var UA_GOTOALLOWED = 4;
24 var UA_HASNEWMSGS = 8;
25 var UA_ZAPPED = 16;
26
27 var VIEW_BBS = 0;
28 var VIEW_MAILBOX = 1;
29 var VIEW_ADDRESSBOOK = 2;
30 var VIEW_CALENDAR = 3;
31 var VIEW_TASKS = 4;
32 var VIEW_NOTES = 5;
33 var VIEW_WIKI = 6;
34 var VIEW_CALBRIEF = 7;
35 var VIEW_JOURNAL = 8;
36
37 function FillRooms(callback) {
38   var roomFlr = new Ajax.Request("/json_roomflr", {method: 'get', onSuccess: function(transport) { ProcessRoomFlr(transport); callback.call(); }});
39 }
40 function ProcessRoomFlr(transport) {
41   var data = eval('('+transport.responseText+')');
42   floors = data["floors"];
43   rooms = data["rooms"];
44 }
45 function GetRoomsByFloorNum(flnum) {
46   var roomsForFloor = new Array();
47   var x=0;
48   for(var i=0; i<rooms.length; i++) {
49     var room = rooms[i];
50     var floornum = room[RN_FLOOR_NUM];
51     var flag = room[RN_ROOM_FLAG];
52     if (flnum == floornum && ((flag & QR_MAILBOX) != QR_MAILBOX)) {
53       roomsForFloor[x] = room;
54       x++;
55     }
56   }
57   return roomsForFloor;
58 }
59 function GetMailboxRooms() {
60   var roomsForFloor = new Array();
61   var x=0;
62   for(var i=0; i<rooms.length; i++) {
63     var room = rooms[i];
64     var floornum = room[RN_FLOOR_NUM];
65     var flag = room[RN_ROOM_FLAG];
66     if ((flag & QR_MAILBOX) == QR_MAILBOX) {
67       roomsForFloor[x] = room;
68       x++;
69     }
70   }
71   return roomsForFloor;
72 }