Index: openacs-4/packages/chat/www/ajax/chat.js =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/www/ajax/Attic/chat.js,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/chat/www/ajax/chat.js 7 Jun 2007 09:14:25 -0000 1.3 +++ openacs-4/packages/chat/www/ajax/chat.js 19 Nov 2007 01:14:17 -0000 1.4 @@ -51,7 +51,7 @@ if (node.childNodes[i].nodeType == 3 ) { // if this is a textnode, skip it continue; - } + } msgCount++; p = doc.createElement('p'); p.className = 'line'; @@ -80,144 +80,68 @@ } function pushReceiver(content) { - //alert(content); - updateReceiver(content); + updateReceiver(content); var msgField = document.getElementById('chatMsg'); msgField.value = ''; msgField.disabled = false; msgField.focus(); } function updateReceiver(content) { - // alert(content); var xmlobject = (new DOMParser()).parseFromString(content, 'application/xhtml+xml'); var body = xmlobject.getElementsByTagName('body'); - //alert(content); - for (var i = 0 ; i < body[0].childNodes.length ; i++) { + for (var i = 0 ; i < body[0].childNodes.length ; i++) { if (body[0].childNodes[i].nodeType == 3 ) { // if this is a textnode, skip it continue; } - var attribute = body[0].childNodes[i].getAttribute('id'); - switch (attribute) { case "messages": - var messagesNode = body[0].childNodes[i]; + var messagesNode = body[0].childNodes[i]; if (messagesNode.hasChildNodes()) { - var messagesDoc = frames['ichat'].document; //esto es lo actual de mi pagina - var messagesDiv = frames['ichat'].document.getElementById('messages'); //actual de mi pagina - messagesReceiver(messagesNode,messagesDoc,messagesDiv);//con todos los elemtnos nuevos en messagesNode, el documento messagesDco y la capa exacta, creare una nueva capa y sustituyo en el documento la que tengo por la nueva + var messagesDoc = frames['ichat'].document; + var messagesDiv = frames['ichat'].document.getElementById('messages'); + messagesReceiver(messagesNode,messagesDoc,messagesDiv); } break; - case "users": - var usersNode = body[0].childNodes[i].childNodes[0]; - + case "users": + var usersNode = body[0].childNodes[i].childNodes[0]; var usersDoc = frames['ichat-users'].document; - var usersTbody = frames['ichat-users'].document.getElementById('users').tBodies[0]; - usersReceiver(usersNode,usersDoc,usersTbody); break; - case "files": - var filesNode = body[0].childNodes[i].childNodes[0]; - var filesDoc = frames['ichat-files'].document; - var filesTbody = frames['ichat-files'].document.getElementById('files').tBodies[0]; - filesReceiver(filesNode,filesDoc,filesTbody); - break; } } - - - - } function usersReceiver(node,doc,tbody) { var tr, td, e, s, nbody; - - nbody = doc.createElement('tbody'); for (var i = 0 ; i < node.childNodes.length ; i++) { if (node.childNodes[i].nodeType == 3 ){ // if this is a textnode, skip it continue; } - tr = doc.createElement('tr'); - e = node.childNodes[i].getElementsByTagName('td'); + e = node.childNodes[i].getElementsByTagName('TD'); - td = doc.createElement('td'); - var ref = e[0].firstChild.getAttribute('href'); - var ref2 = e[0].firstChild.firstChild.getAttribute('src'); - var aux = ""; - var aux2 = ""+aux+""; - td.innerHTML = decodeURIComponent(aux2); - tr.appendChild(td); - - - - td = doc.createElement('td'); - td.innerHTML = decodeURIComponent(e[1].firstChild.nodeValue.replace(/\+/g,' ')); + td.innerHTML = decodeURIComponent(e[0].firstChild.nodeValue.replace(/\+/g,' ')); td.className = 'user'; - tr.appendChild(td); - + tr.appendChild(td); td = doc.createElement('td'); - td.innerHTML = decodeURIComponent(e[2].firstChild.nodeValue.replace(/\+/g,' ')); + td.innerHTML = decodeURIComponent(e[1].firstChild.nodeValue.replace(/\+/g,' ')); td.className = 'timestamp'; - tr.appendChild(td); + tr.appendChild(td); - nbody.appendChild(tr); - } tbody.parentNode.replaceChild(nbody,tbody); - - } -function filesReceiver(node,doc,tbody) { - var tr, td, e, s, nbody; - - - nbody = doc.createElement('tbody'); - for (var i = 0 ; i < node.childNodes.length ; i++) { - if (node.childNodes[i].nodeType == 3 ){ - // if this is a textnode, skip it - continue; - } - - tr = doc.createElement('tr'); - e = node.childNodes[i].getElementsByTagName('td'); - - td = doc.createElement('td'); - - var ref = e[0].childNodes[0]; - - if(ref.nodeType != 1){ - td = doc.createElement('td'); - td.appendChild(e[0].firstChild); - td.className = 'files'; - tr.appendChild(td); - nbody.appendChild(tr); - } - else{ - var ref = e[0].childNodes[0].getAttribute('href'); - var aux = ""+e[0].firstChild.childNodes[0].nodeValue.replace(/\+/g,' ')+""; - td.innerHTML = decodeURIComponent(aux); - td.className = 'files'; - tr.appendChild(td); - nbody.appendChild(tr); - } - } - tbody.parentNode.replaceChild(nbody,tbody); - -} - - function DataConnection() {}; DataConnection.prototype = { @@ -228,14 +152,10 @@ autoConnect: null, httpSendCmd: function(url) { - // if (!this.connection) { - //alert('httpSendCmd'); - //alert(url); this.busy = true; this.connection = getHttpObject(); // } - this.connection.open('GET', url + '&mc=' + msgcount++, true); var self = this; this.connection.onreadystatechange = function() { @@ -245,7 +165,6 @@ }, httpReceiver: function(obj) { - // alert('httpReceiver'); if (obj.connection.readyState == 4) { if (obj.connection.status == 200) { obj.handler(obj.connection.responseText); @@ -258,7 +177,6 @@ }, chatSendMsg: function(send_url) { - //alert('chatSendMsg'); // if (inactivityTimeout) { // clearTimeout(inactivityTimeout); // alert("Clearing inactivityTimeout"); @@ -271,11 +189,9 @@ alert("chatSendMsg conflict! Maybe banned?"); } var msgField = document.getElementById('chatMsg'); - //alert(msgField); if (msgField.value == '') { return; } - //alert(send_url); msgField.disabled = true; this.httpSendCmd(send_url + escape(msgField.value)); msgField.value = '#chat.sending_message#'; @@ -295,10 +211,6 @@ } function registerDataConnection(handler,url,autoConnect) { -// alert('registerDataConnection'); - //alert(handler); - //alert(url); - //alert(autoConnect); // var ds = new DataConnection(handler,url,autoConnect); var ds = new DataConnection(); ds.handler = handler; @@ -310,9 +222,7 @@ } function updateDataConnections() { - //alert('updateDataConnections'); for (var ds in dataConnections) { - //alert(ds); if (dataConnections[ds].autoConnect) { // alert("updating " + dataConnections[ds].url); dataConnections[ds].updateBackground(); @@ -329,15 +239,11 @@ } function startProc() { - // alert('startProc'); document.getElementById('chatMsg').focus(); var messagesDiv = frames['ichat'].document.getElementById('messages'); - // alert(frames['ichat'].document.getElementById('messages')); - // alert('startProc2'); if (messagesDiv) { frames['ichat'].window.scrollTo(0,messagesDiv.offsetHeight); } - // alert('startProc3'); } window.onload = startProc;