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 -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;