2 * Change style of DOM elements
4 function style_adjust(styles)
10 obj = document.getElementById(id);
12 for (item in styles[id])
13 obj.style[item] = styles[id][item];
18 * Small AJAX framework
20 function ajax_request_callback(req)
22 if (req.readyState == 4 && req.status == 200) {
23 var data = json_parse(req.responseText);
30 function ajax_request(func,params,oncomplete)
32 var req = new XMLHttpRequest();
35 var params = 'func=' + func + '&' + params;
36 req.open ("POST", 'index.php');
37 req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
38 req.setRequestHeader("Content-length", params.length);
39 req.setRequestHeader("Connection", "close");
40 if (typeof oncomplete == 'function') {
41 req.onreadystatechange = function() { ajax_request_callback(req); }
42 req.oncomplete = oncomplete;
48 * Small context menu framework
52 e.target.parentNode.style.display = 'none';
55 function menu_create(id,data)
57 var div = document.createElement('div');
59 div.className = 'popup';
61 var elem = document.createElement('span');
62 elem.className = 'popupTitle';
63 elem.innerHTML = data['title'];
64 elem.onmouseup = menu_hide;
65 div.appendChild(elem);
67 for (var i=0; i < data['items'].length; i++) {
68 elem = document.createElement('span');
69 elem.className = 'popup';
70 elem.innerHTML = data['items'][i]['name'];
71 if (data['items'][i]['type'] == 'hide')
72 elem.onmouseup = menu_hide;
74 elem.onmouseup = data['items'][i]['callback'];
75 div.appendChild(elem);
78 document.body.appendChild(div);