Activate player, resize iframe
[infodrom/phone] / phone.js
1 function page_init()
2 {
3     var frame = document.getElementById('phonecall');
4     frame.src = '';
5     fetch_incoming();
6 }
7
8 function fetch_incoming_callback(data)
9 {
10     var calls = document.getElementById('incoming_calls');
11     var div = document.getElementById('incoming');
12
13     while (calls.childNodes.length > 0)
14         calls.removeChild(calls.childNodes[0]);
15
16     if (data.incoming.length > 0) {
17         div.style.display = '';
18
19         for (var i=0; i < data.incoming.length; i++) {
20             var elem = document.createElement('li');
21             var text = data.incoming[i].date + ', ';
22             if (data.incoming[i].name == '*** Unknown ***' && data.incoming[i].number != '0')
23                 text += data.incoming[i].number;
24             else
25                 text += data.incoming[i].name;
26             text += ', ' + data.incoming[i].length;
27
28             elem.innerHTML = text;
29             elem.payload = new Array();
30             elem.payload['dir'] = 'incoming';
31             elem.payload['fname'] = data.incoming[i].fname;
32             elem.onclick = play_message;
33             calls.appendChild(elem);
34         }
35     } else {
36         div.style.display = 'none';
37     }
38 }
39
40 function fetch_incoming()
41 {
42     ajax_request('incoming', '', fetch_incoming_callback);
43 }
44
45 function play_message_callback(data)
46 {
47     var speaker = document.getElementById('callspeaker');
48     var date = document.getElementById('calldate');
49     var note = document.getElementById('callnote');
50
51     Debug.ObjDump(data);
52
53     var text = data.name;
54     if (data.number != '0') text += ' (' + data.number + ')';
55     speaker.innerHTML = text;
56     date.innerHTML = data.date + ', ' + data.length;
57     note.innerHTML = data.note;
58 }
59
60 function play_message(event)
61 {
62     Debug.write('Request ' + event.originalTarget.payload['fname'] + ' in ' + event.originalTarget.payload['dir']);
63
64     var frame = document.getElementById('phonecall');
65     var parms = 'dir='+event.originalTarget.payload['dir']+'&call='+event.originalTarget.payload['fname'];
66     ajax_request('callinfo', parms, play_message_callback);
67     frame.src = 'index.php?'+parms;
68 }