1.1 --- a/java/nekurak.net-web/web/js/chat.js Sun Feb 12 19:42:39 2012 +0100
1.2 +++ b/java/nekurak.net-web/web/js/chat.js Tue Apr 23 21:43:37 2013 +0200
1.3 @@ -5,126 +5,125 @@
1.4 var poradoveCislo = 0;
1.5
1.6 function setRychlostObnovy(interval) {
1.7 - clearTimeout(t);
1.8 - intervalObnovy = interval;
1.9 - spustCasovac();
1.10 + clearTimeout(t);
1.11 + intervalObnovy = interval;
1.12 + spustCasovac();
1.13 }
1.14
1.15 function getXmlHttpRequestObject() {
1.16 - if (window.XMLHttpRequest) {
1.17 + if (window.XMLHttpRequest) {
1.18 return new XMLHttpRequest();
1.19 - } else if(window.ActiveXObject) {
1.20 + } else if(window.ActiveXObject) {
1.21 return new ActiveXObject("Microsoft.XMLHTTP");
1.22 - } else {
1.23 + } else {
1.24 alert("Nepodporovaný prohlížeč.");
1.25 return null;
1.26 - }
1.27 + }
1.28 }
1.29
1.30 /** Náš AJAXový objekt. */
1.31 var ajax = getXmlHttpRequestObject();
1.32
1.33 function getMistnost() {
1.34 - return document.getElementById("odesilaciFormular").mistnost.value;
1.35 + return document.getElementById("odesilaciFormular").mistnost.value;
1.36 }
1.37
1.38 function getOd() {
1.39 - return document.getElementById("odesilaciFormular").od.value;
1.40 + return document.getElementById("odesilaciFormular").od.value;
1.41 }
1.42
1.43 function getZprava() {
1.44 - return document.getElementById("odesilaciFormular").text.value;
1.45 + return document.getElementById("odesilaciFormular").text.value;
1.46 }
1.47
1.48 function vymazTextZpravy() {
1.49 - document.getElementById("odesilaciFormular").text.value = "";
1.50 + document.getElementById("odesilaciFormular").text.value = "";
1.51 }
1.52
1.53 function ajaxOdesli() {
1.54 - if (ajax.readyState == 4 || ajax.readyState == 0) {
1.55 + if (ajax.readyState == 4 || ajax.readyState == 0) {
1.56 ajax.open("POST", "?akce=chat&akceChat=odesli&mistnost=" + encodeURIComponent(getMistnost()) + "&od=" + encodeURIComponent(getOd()) + "&zprava=" + encodeURIComponent(getZprava()), true);
1.57 ajax.onreadystatechange = function() {
1.58 - if (ajax.readyState == 4) {
1.59 + if (ajax.readyState == 4) {
1.60 vymazTextZpravy();
1.61 aktualizujVypisZprav();
1.62 - }
1.63 + }
1.64 };
1.65 ajax.send(null);
1.66 - }
1.67 + }
1.68 }
1.69
1.70 function aktualizujVypisZprav() {
1.71 - if (ajax.readyState == 4 || ajax.readyState == 0) {
1.72 + if (ajax.readyState == 4 || ajax.readyState == 0) {
1.73 ajax.open("POST", "?akce=chat&akceChat=vypis&mistnost=" + encodeURIComponent(getMistnost()), true);
1.74 ajax.onreadystatechange = function() {
1.75 - if (ajax.readyState == 4) {
1.76 + if (ajax.readyState == 4) {
1.77 zpracujZpravy(ajax.responseXML);
1.78 document.getElementById("vypisZprav").scrollTop = 100000;
1.79 - }
1.80 + }
1.81 };
1.82 ajax.send(null);
1.83 - }
1.84 + }
1.85 }
1.86
1.87 function ziskejVnitrekXML(data, element) {
1.88 - try {
1.89 + try {
1.90 return data.getElementsByTagName(element)[0].firstChild.nodeValue;
1.91 - } catch (e) {
1.92 + } catch (e) {
1.93 return "";
1.94 - }
1.95 + }
1.96 }
1.97
1.98 function zpracujZpravy(xmlOdpoved) {
1.99 - var vypisZprav = document.getElementById("vypisZprav");
1.100 - var zpravy = xmlOdpoved.getElementsByTagName("zprava");
1.101 - vypisZprav.innerHTML = "";
1.102 - var elementUl = document.createElement("ul");
1.103 - vypisZprav.appendChild(elementUl);
1.104 + var vypisZprav = document.getElementById("vypisZprav");
1.105 + var zpravy = xmlOdpoved.getElementsByTagName("zprava");
1.106 + vypisZprav.innerHTML = "";
1.107 + var elementUl = document.createElement("ul");
1.108 + vypisZprav.appendChild(elementUl);
1.109
1.110 - for (i = 0; i < zpravy.length; i++) {
1.111 - var od = ziskejVnitrekXML(zpravy[i], "od");
1.112 - var text = ziskejVnitrekXML(zpravy[i], "text");
1.113 - var kdy = ziskejVnitrekXML(zpravy[i], "kdy");
1.114 - var overeny = ziskejVnitrekXML(zpravy[i], "overeny");
1.115 - poradoveCislo = ziskejVnitrekXML(zpravy[i], "poradoveCislo");
1.116 -
1.117 - var elementLi = document.createElement("li");
1.118 - elementLi.title = kdy;
1.119 -
1.120 - var elementOd = document.createElement("strong");
1.121 - elementOd.textContent = od;
1.122 - elementLi.appendChild(elementOd);
1.123 - elementLi.appendChild(document.createTextNode(": "));
1.124 -
1.125 - var elementText = document.createElement("span");
1.126 - elementText.textContent = text;
1.127 -
1.128 - /**
1.129 - * Ověřený je takový uživatel,
1.130 - * který se přihlásil normálně přes Jabber a vstoupil do místnosti pod svojí přezdívkou.
1.131 - * Uživatelé z webu jsou anonymové a připojují se k XMPP pod společným účtem.
1.132 - * Svoji přezdívku si vyplňují sami a přenášíme ji zvlášť.
1.133 - * Proto odlišíme tyto dvě skupiny uživatelů jinou barvou jejich příspěvku.
1.134 - */
1.135 - if (overeny == "true") {
1.136 + for (i = 0; i < zpravy.length; i++) {
1.137 + var od = ziskejVnitrekXML(zpravy[i], "od");
1.138 + var text = ziskejVnitrekXML(zpravy[i], "text");
1.139 + var kdy = ziskejVnitrekXML(zpravy[i], "kdy");
1.140 + var overeny = ziskejVnitrekXML(zpravy[i], "overeny");
1.141 + poradoveCislo = ziskejVnitrekXML(zpravy[i], "poradoveCislo");
1.142 +
1.143 + var elementLi = document.createElement("li");
1.144 + elementLi.title = kdy;
1.145 +
1.146 + var elementOd = document.createElement("strong");
1.147 + elementOd.textContent = od;
1.148 + elementLi.appendChild(elementOd);
1.149 + elementLi.appendChild(document.createTextNode(": "));
1.150 +
1.151 + var elementText = document.createElement("span");
1.152 + elementText.textContent = text;
1.153 +
1.154 + /**
1.155 + * Ověřený je takový uživatel,
1.156 + * který se přihlásil normálně přes Jabber a vstoupil do místnosti pod svojí přezdívkou.
1.157 + * Uživatelé z webu jsou anonymové a připojují se k XMPP pod společným účtem.
1.158 + * Svoji přezdívku si vyplňují sami a přenášíme ji zvlášť.
1.159 + * Proto odlišíme tyto dvě skupiny uživatelů jinou barvou jejich příspěvku.
1.160 + */
1.161 + if (overeny == "true") {
1.162 + // zprávu můžeme zvýraznit
1.163 + } else {
1.164 + elementText.style.color = "#444444";
1.165 + }
1.166 + elementLi.appendChild(elementText);
1.167 +
1.168 + elementUl.appendChild(elementLi);
1.169 }
1.170 - // zprávu můžeme zvýraznit
1.171 - } else {
1.172 - elementText.style.color = "#444444";
1.173 - }
1.174 - elementLi.appendChild(elementText);
1.175 -
1.176 - elementUl.appendChild(elementLi);
1.177 - }
1.178 }
1.179
1.180 var t;
1.181
1.182 function spustCasovac() {
1.183 - aktualizujVypisZprav();
1.184 -
1.185 - t = setTimeout(function () {
1.186 + aktualizujVypisZprav();
1.187 +
1.188 + t = setTimeout(function () {
1.189 aktualizujVypisZprav();
1.190 spustCasovac();
1.191 - }, intervalObnovy);
1.192 + }, intervalObnovy);
1.193 }
1.194 \ No newline at end of file