js for auth and client side rendering
[brisk.git] / web / room.js
1 /* 
2    data = [ [ flags, name ],  ... ]
3    
4 */
5
6 function j_stand_cont(data)
7 {
8     var i;
9     var content;
10
11     content = '<table cols="'+(data.length < 4 ? data.length : 4)+'" class="table_standup">';
12     for (i = 0 ; i < data.length ; i++) {
13         if ((i % 4) == 0)
14             content += '<tr>';
15         content += '<td class="room_standup">';
16         if (data[i][0] & 0x01)
17             content += '<b>';
18
19         if (data[i][0] & 0x02)
20             content += '<i>';
21
22         content += data[i][1];
23         
24         if (data[i][0] & 0x02)
25             content += '</i>';
26
27         if (data[i][0] & 0x01)
28             content += '</b>';
29
30         content += '</td>';
31
32         if ((i % 4) == 3)
33             content += '</tr>';
34     }
35     content += '</tr>';
36
37     $("standup").innerHTML = content;
38
39     $("esco").innerHTML =  '<input class="button" name="logout" value="Esco." onclick="esco_cb();" type="button">';
40 }
41
42 function esco_cb() {
43     window.onbeforeunload = null; 
44     window.onunload = null; 
45     // nonunload = true; 
46     act_logout();
47  };
48
49
50
51 function j_tab_cont(table_idx, data)
52 {
53     var i;
54     var content = '';
55
56     for (i = 0 ; i < data.length ; i++) {
57         if (data[i][0] & 0x01)
58             content += '<b>';
59
60         if (data[i][0] & 0x02)
61             content += '<i>';
62
63         content += data[i][1];
64         
65         if (data[i][0] & 0x02)
66             content += '</i>';
67
68         if (data[i][0] & 0x01)
69             content += '</b>';
70
71         content += '<br>';
72     }
73     $("table"+table_idx).innerHTML = content;
74 }
75
76 function j_tab_act_cont(idx, act)
77 {
78     if (act == 'sit') {
79         $("table_act"+idx).innerHTML = '<input type="button" class="button" name="xhenter'+idx+'"  value="Mi siedo." onclick="act_sitdown('+idx+');">';
80     }
81     else if (act == 'wake') {
82         $("table_act"+idx).innerHTML = '<input type="button" class="button" name="xwakeup"  value="Mi alzo." onclick="act_wakeup();">';
83     }
84     else if (act == 'reserved') {
85         $("table_act"+idx).innerHTML = '<img class="nobo" title="tavolo riservato agli utenti registrati" style="margin-right: 0px;" src="img/onlyauth.png">';
86     }
87     else {
88         $("table_act"+idx).innerHTML = '';
89     }
90 }
91
92 function j_login_manager(form)
93 {
94     var token;
95
96     if (form.elements['passid'].value == '')
97         return (true);
98
99     else {
100         // console.log("richiesta token");
101         /* richiede token */
102         token = server_request('getchallenge|'+form.elements['nameid'].value);
103         tokens = token.split('|');
104         
105         // console.log('XX token: '+token);
106         // console.log(tokens);
107         if (token == null)
108             return (false);
109
110         token = calcMD5(tokens[1]+calcMD5(form.elements['passid'].value));
111         
112         form.elements['passid_private'].value = token;
113         form.elements['passid'].value = ""; // FIXME da sost con la stessa len di A
114
115         return (true);
116     }
117     
118     return (false);
119 }
120
121 function formtext_hilite(obj)
122 {
123     obj.className = 'input_text';
124     addEvent(obj, "focus", function () { this.className = 'input_text_hi'; });
125     addEvent(obj, "blur",  function () { this.className = 'input_text'; });
126 }
127
128 function formsub_hilite(obj)
129 {
130     obj.className = 'input_sub';
131     addEvent(obj, "focus", function () { this.className = 'input_sub_hi'; });
132     addEvent(obj, "blur",  function () { this.className = 'input_sub'; });
133 }
134
135 function login_formtext_hilite()
136 {
137     formtext_hilite($("nameid"));
138     formtext_hilite($("passid"));
139     formsub_hilite($("sub"));
140 }
141
142 function login_init()
143 {
144     menu_init();
145     topbanner_init();
146     login_formtext_hilite();
147 }