4 function ajax_request_callback(req)
6 if (req.readyState == 4 && req.status == 200) {
7 var data = json_parse(req.responseText);
14 function ajax_request(func,params,oncomplete)
16 var req = new XMLHttpRequest();
19 var params = 'func=' + func + '&' + params;
20 req.open ("POST", 'ajax/ajax.php');
21 req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
22 req.setRequestHeader("Content-length", params.length);
23 req.setRequestHeader("Connection", "close");
24 if (typeof oncomplete == 'function') {
25 req.onreadystatechange = function() { ajax_request_callback(req); }
26 req.oncomplete = oncomplete;
31 function set_value(id, value)
33 var obj = document.getElementById(id);
36 if (obj.nodeName.toLowerCase() == 'input'
37 || obj.nodeName.toLowerCase() == 'textarea')
39 else if (obj.nodeName.toLowerCase() == 'span')
40 obj.innerHTML = value;
41 else if (obj.nodeName.toLowerCase() == 'select')
42 for (var i=0; i < obj.options.length; i++)
43 if (obj.options[i].value == value)
44 obj.selectedIndex = i;
50 function form_save(obj)
58 function details_callback(data)
61 set_value('detail_'+id, data[id]);
64 function fetch_callback(data)
67 set_value('edit_'+id, data[id]);
73 function gridDrillDown(e)
75 if (e.originalTarget && e.originalTarget.target && e.originalTarget.target == '_top')
78 var id = 0; // Column 0 contains ID
79 var row = grid.edit.drillDown(e,0,0);
80 var cell = grid.columns[id].cell(row);
82 var value = cell.innerHTML;
84 if (document.getElementById('details')) {
85 var params = 'mask=' + grid.tableId.substr(5) + '&id=' + value;
86 ajax_request('details', params, details_callback);
89 if (document.getElementById('form_edit')) {
90 var params = 'mask=' + grid.tableId.substr(5) + '&id=' + value;
91 ajax_request('fetch', params, fetch_callback);