function page_init() { var frame = document.getElementById('phonecall'); frame.src = ''; fetch_incoming(); fetch_archive(); } function fetch_incoming_callback(data) { var calls = document.getElementById('incoming_calls'); var div = document.getElementById('incoming'); while (calls.childNodes.length > 0) calls.removeChild(calls.childNodes[0]); if (data.incoming.length > 0) { div.style.display = ''; for (var i=0; i < data.incoming.length; i++) { var elem = document.createElement('li'); var text = data.incoming[i].date + ', '; if (data.incoming[i].name == '*** Unknown ***' && data.incoming[i].number != '0') text += data.incoming[i].number; else text += data.incoming[i].name; text += ', ' + data.incoming[i].length; elem.innerHTML = text; elem.payload = new Array(); elem.payload['dir'] = 'incoming'; elem.payload['fname'] = data.incoming[i].fname; elem.onclick = play_message; calls.appendChild(elem); } } else { div.style.display = 'none'; } } function fetch_incoming() { ajax_request('incoming', '', fetch_incoming_callback); } function fetch_archive_callback(data) { var calls = document.getElementById('archive_calls'); var div = document.getElementById('archive'); while (calls.childNodes.length > 0) calls.removeChild(calls.childNodes[0]); if (data.archive.length > 0) { div.style.display = ''; for (var i=0; i < data.archive.length; i++) { var elem = document.createElement('li'); var text = data.archive[i].date + ', '; if (data.archive[i].name == '*** Unknown ***' && data.archive[i].number != '0') text += data.archive[i].number; else text += data.archive[i].name; text += ', ' + data.archive[i].length; elem.innerHTML = text; elem.payload = new Array(); elem.payload['dir'] = 'archive'; elem.payload['fname'] = data.archive[i].fname; elem.onclick = play_message; calls.appendChild(elem); } } else { div.style.display = 'none'; } } function fetch_archive() { ajax_request('archive', '', fetch_archive_callback); } function play_message_callback(data) { var speaker = document.getElementById('callspeaker'); var date = document.getElementById('calldate'); var note = document.getElementById('callnote'); Debug.ObjDump(data); var text = data.name; if (data.number != '0') text += ' (' + data.number + ')'; speaker.innerHTML = text; date.innerHTML = data.date + ', ' + data.length; note.innerHTML = data.note; } function play_message(event) { Debug.write('Request ' + event.originalTarget.payload['fname'] + ' in ' + event.originalTarget.payload['dir']); var frame = document.getElementById('phonecall'); var parms = 'dir='+event.originalTarget.payload['dir']+'&call='+event.originalTarget.payload['fname']; ajax_request('callinfo', parms, play_message_callback); frame.src = 'index.php?'+parms; }