# HG changeset patch # User František Kučera # Date 1366746217 -7200 # Node ID bebec432330ade58cdb9f245cda6686cbd3fbdb5 # Parent ac7c8d18831b85442934f4a76f7abc52fc3320a0 oprava chatu, tabulátory diff -r ac7c8d18831b -r bebec432330a java/nekurak.net-web/web/js/chat.js --- a/java/nekurak.net-web/web/js/chat.js Sun Feb 12 19:42:39 2012 +0100 +++ b/java/nekurak.net-web/web/js/chat.js Tue Apr 23 21:43:37 2013 +0200 @@ -5,126 +5,125 @@ var poradoveCislo = 0; function setRychlostObnovy(interval) { - clearTimeout(t); - intervalObnovy = interval; - spustCasovac(); + clearTimeout(t); + intervalObnovy = interval; + spustCasovac(); } function getXmlHttpRequestObject() { - if (window.XMLHttpRequest) { + if (window.XMLHttpRequest) { return new XMLHttpRequest(); - } else if(window.ActiveXObject) { + } else if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); - } else { + } else { alert("Nepodporovaný prohlížeč."); return null; - } + } } /** Náš AJAXový objekt. */ var ajax = getXmlHttpRequestObject(); function getMistnost() { - return document.getElementById("odesilaciFormular").mistnost.value; + return document.getElementById("odesilaciFormular").mistnost.value; } function getOd() { - return document.getElementById("odesilaciFormular").od.value; + return document.getElementById("odesilaciFormular").od.value; } function getZprava() { - return document.getElementById("odesilaciFormular").text.value; + return document.getElementById("odesilaciFormular").text.value; } function vymazTextZpravy() { - document.getElementById("odesilaciFormular").text.value = ""; + document.getElementById("odesilaciFormular").text.value = ""; } function ajaxOdesli() { - if (ajax.readyState == 4 || ajax.readyState == 0) { + if (ajax.readyState == 4 || ajax.readyState == 0) { ajax.open("POST", "?akce=chat&akceChat=odesli&mistnost=" + encodeURIComponent(getMistnost()) + "&od=" + encodeURIComponent(getOd()) + "&zprava=" + encodeURIComponent(getZprava()), true); ajax.onreadystatechange = function() { - if (ajax.readyState == 4) { + if (ajax.readyState == 4) { vymazTextZpravy(); aktualizujVypisZprav(); - } + } }; ajax.send(null); - } + } } function aktualizujVypisZprav() { - if (ajax.readyState == 4 || ajax.readyState == 0) { + if (ajax.readyState == 4 || ajax.readyState == 0) { ajax.open("POST", "?akce=chat&akceChat=vypis&mistnost=" + encodeURIComponent(getMistnost()), true); ajax.onreadystatechange = function() { - if (ajax.readyState == 4) { + if (ajax.readyState == 4) { zpracujZpravy(ajax.responseXML); document.getElementById("vypisZprav").scrollTop = 100000; - } + } }; ajax.send(null); - } + } } function ziskejVnitrekXML(data, element) { - try { + try { return data.getElementsByTagName(element)[0].firstChild.nodeValue; - } catch (e) { + } catch (e) { return ""; - } + } } function zpracujZpravy(xmlOdpoved) { - var vypisZprav = document.getElementById("vypisZprav"); - var zpravy = xmlOdpoved.getElementsByTagName("zprava"); - vypisZprav.innerHTML = ""; - var elementUl = document.createElement("ul"); - vypisZprav.appendChild(elementUl); + var vypisZprav = document.getElementById("vypisZprav"); + var zpravy = xmlOdpoved.getElementsByTagName("zprava"); + vypisZprav.innerHTML = ""; + var elementUl = document.createElement("ul"); + vypisZprav.appendChild(elementUl); - for (i = 0; i < zpravy.length; i++) { - var od = ziskejVnitrekXML(zpravy[i], "od"); - var text = ziskejVnitrekXML(zpravy[i], "text"); - var kdy = ziskejVnitrekXML(zpravy[i], "kdy"); - var overeny = ziskejVnitrekXML(zpravy[i], "overeny"); - poradoveCislo = ziskejVnitrekXML(zpravy[i], "poradoveCislo"); - - var elementLi = document.createElement("li"); - elementLi.title = kdy; - - var elementOd = document.createElement("strong"); - elementOd.textContent = od; - elementLi.appendChild(elementOd); - elementLi.appendChild(document.createTextNode(": ")); - - var elementText = document.createElement("span"); - elementText.textContent = text; - - /** - * Ověřený je takový uživatel, - * který se přihlásil normálně přes Jabber a vstoupil do místnosti pod svojí přezdívkou. - * Uživatelé z webu jsou anonymové a připojují se k XMPP pod společným účtem. - * Svoji přezdívku si vyplňují sami a přenášíme ji zvlášť. - * Proto odlišíme tyto dvě skupiny uživatelů jinou barvou jejich příspěvku. - */ - if (overeny == "true") { + for (i = 0; i < zpravy.length; i++) { + var od = ziskejVnitrekXML(zpravy[i], "od"); + var text = ziskejVnitrekXML(zpravy[i], "text"); + var kdy = ziskejVnitrekXML(zpravy[i], "kdy"); + var overeny = ziskejVnitrekXML(zpravy[i], "overeny"); + poradoveCislo = ziskejVnitrekXML(zpravy[i], "poradoveCislo"); + + var elementLi = document.createElement("li"); + elementLi.title = kdy; + + var elementOd = document.createElement("strong"); + elementOd.textContent = od; + elementLi.appendChild(elementOd); + elementLi.appendChild(document.createTextNode(": ")); + + var elementText = document.createElement("span"); + elementText.textContent = text; + + /** + * Ověřený je takový uživatel, + * který se přihlásil normálně přes Jabber a vstoupil do místnosti pod svojí přezdívkou. + * Uživatelé z webu jsou anonymové a připojují se k XMPP pod společným účtem. + * Svoji přezdívku si vyplňují sami a přenášíme ji zvlášť. + * Proto odlišíme tyto dvě skupiny uživatelů jinou barvou jejich příspěvku. + */ + if (overeny == "true") { + // zprávu můžeme zvýraznit + } else { + elementText.style.color = "#444444"; + } + elementLi.appendChild(elementText); + + elementUl.appendChild(elementLi); } - // zprávu můžeme zvýraznit - } else { - elementText.style.color = "#444444"; - } - elementLi.appendChild(elementText); - - elementUl.appendChild(elementLi); - } } var t; function spustCasovac() { - aktualizujVypisZprav(); - - t = setTimeout(function () { + aktualizujVypisZprav(); + + t = setTimeout(function () { aktualizujVypisZprav(); spustCasovac(); - }, intervalObnovy); + }, intervalObnovy); } \ No newline at end of file