+
+function save_callback(data)
+{
+ field = document.getElementById('edit_status');
+ field.innerHTML = 'Call saved';
+}
+
+function save()
+{
+ var dir = document.getElementById('edit_dir');
+ var call = document.getElementById('edit_call');
+ var name = document.getElementById('edit_name');
+ var note = document.getElementById('edit_note');
+ var params = 'dir=' + dir.value + '&call=' + call.value;
+ params += '&name=' + name.value + '¬e=' + note.value;
+
+ ajax_request('save', params, save_callback);
+}
+
+function list_context(e)
+{
+ var menu = document.getElementById('menu_list');
+ if (!menu)
+ menu = menu_create('menu_list', menu_list);
+
+ menu.style.left = e.pageX - 40;
+ menu.style.top = e.pageY - 15;
+ menu.style.display = '';
+ menu.payload = new Array();
+ menu.payload['dir'] = e.target.payload['dir'];
+ menu.payload['call'] = e.target.payload['call'];
+
+ return false;
+}
+
+function menu_list_archive_callback(data)
+{
+ fetch_incoming();
+ fetch_archive();
+}
+
+function menu_list_edit_callback(data)
+{
+ var fields = ['name','note','dir','call'];
+ var field;
+
+ for (var i=0; i < fields.length; i++) {
+ field = document.getElementById('edit_' + fields[i]);
+ field.value = data[fields[i]];
+ }
+
+ fields = ['name','note'];
+ for (var i=0; i < fields.length; i++) {
+ field = document.getElementById('edit_' + fields[i]);
+ field.innerHTML = data[fields[i]];
+ }
+
+ field = document.getElementById('edit_date');
+ field.innerHTML = data.date + ', ' + data.length;
+ field = document.getElementById('edit_status');
+ field.innerHTML = '';
+}
+
+function menu_list_archive(e)
+{
+ if (e.target.parentNode.payload['dir'] == 'incoming')
+ ajax_request('archive_call', 'call='+e.target.parentNode.payload['call'], menu_list_archive_callback);
+
+ e.target.parentNode.style.display = 'none';
+}
+
+function menu_list_edit(e)
+{
+ var params = 'dir='+e.target.parentNode.payload['dir']+'&call='+e.target.parentNode.payload['call'];
+ ajax_request('callinfo', params, menu_list_edit_callback);
+
+ e.target.parentNode.style.display = 'none';
+
+ var edit = document.getElementById('container_edit');
+ var config = document.getElementById('container_config');
+
+ edit.style.display = '';
+ config.style.display = 'none';
+}
+
+function menu_list_delete(e)
+{
+ var params = 'dir='+e.target.parentNode.payload['dir']+'&call='+e.target.parentNode.payload['call'];
+ ajax_request('delete_call', params, menu_list_archive_callback);
+
+ e.target.parentNode.style.display = 'none';
+}
+
+function fetch_messages_callback(data)
+{
+ var calls = document.getElementById('internal_calls');
+
+ remove_children(calls);
+
+ if (data.messages.length > 0) {
+ for (var i=0; i < data.messages.length; i++) {
+ var elem = document.createElement('li');
+
+ elem.innerHTML = data.messages[i].fname;
+ elem.payload = new Array();
+ elem.payload['dir'] = 'messages';
+ elem.payload['call'] = data.messages[i].fname;
+ elem.onclick = play_message;
+ calls.appendChild(elem);
+ }
+ }
+}
+
+function toggle_messages()
+{
+ var edit = document.getElementById('container_edit');
+ var config = document.getElementById('container_config');
+
+ config.style.display = '';
+ edit.style.display = 'none';
+
+ ajax_request('messages', '', fetch_messages_callback);
+}