/* -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set et sw=2 ts=2: */ var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i 0 && msg.data[c - 1] != '\\') instring = !instring; if(msg.data[c] == ';' && instring == false) { idx++; msgs[idx] = ''; } if(msg.data[c] != ';' || instring == true) msgs[idx] += msg.data[c]; } f = 0; while (f < msgs.length - 1) { var msg = new Array(); instring = false; idx = 0; msg[idx] = ''; for(c = 0; c < msgs[f].length; c++) { if(msgs[f][c] == '"' && c > 0 && msgs[f][c - 1] != '\\') { instring = !instring; continue; } if(msgs[f][c] == ' ' && instring == false) { msg[idx] = msg[idx].replace("\\\\","\\").replace("\\\"","\""); idx++; msg[idx] = ''; } if(msgs[f][c] != ' ' || instring == true) msg[idx] += msgs[f][c]; } var cmd = msg[0]; if(cmd == "del") { var id = msg[1]; var task = document.getElementById("task_" + id); document.body.removeChild(task); } else if(cmd == "move") { var id = msg[1]; var left = msg[2]; var top = msg[3]; var task = document.getElementById("task_" + id); task.style.left = left + "px"; task.style.top = top + "px"; } else if(cmd == "add") { var id = msg[1]; var title = msg[2]; var description = msg[3]; var left = msg[4]; var top = msg[5]; var task = document.createElement("div"); task.name = "task"; task.setAttribute("class", "task"); task.id = "task_" + id; var taskText = document.createTextNode(title + ": " + description + " :" + task.id); task.appendChild(taskText); task.style.position = "absolute"; task.style.left = left + "px"; task.style.top = top + "px"; task.setAttribute("onMouseDown", "dragged = '" + id + "';"); var dlButton = document.createElement("input"); dlButton.type = "button"; dlButton.value = "Remove"; // dlButton.onclick = "deleteTask(document.getElementById(" + task.id + ").id"; dlButton.setAttribute("onclick", "deleteTask(" + id +")"); task.appendChild(dlButton); document.body.appendChild(task); } f++; // document.getElementById("box").style.top = i[3] + "px"; // document.getElementById("box").style.left = i[2] + "px"; // document.getElementById("box").style.display = "block"; } } socket_lm.onclose = function(){ document.getElementById("wslm_status").style.backgroundColor = "#ff4040"; document.getElementById("wslm_status").textContent = " websocket connection CLOSED "; } } catch(exception) { alert('

Error' + exception + '

'); } var canvas = document.createElement('canvas'); canvas.height = 600; canvas.width = 800; ctx = canvas.getContext("2d"); document.addEventListener('mousemove', ev_mousemove, false); document.addEventListener('mouseup', ev_mouseup, false); /* canvas.addEventListener('mousedown', ev_mousedown, false); //cancas.addEventListener('dragend', ev_mousemove, false); */ offsetX = offsetY = 0; element = canvas; if (element.offsetParent) { do { offsetX += element.offsetLeft; offsetY += element.offsetTop; } while ((element = element.offsetParent)); } function update_color() { color = document.getElementById("color").value; } function ev_mouseup(ev) { dragged = ''; } function ev_mousemove (ev) { if(dragged == '') return; var x, y; x = ev.clientX; y = ev.clientY; socket_lm.send("move " + dragged + " " + x + " " + y); } function submit() { var data = document.getElementById("input_data").value; socket_lm.send(data); } function clear() { document.getElementById("input_data").value = ""; } function deleteTask(id) { socket_lm.send("del " + id + ";"); }