-var BOSH_LOCATION = '/http-bind/';
-var room = 'guests@conference.babelmonkeys.de';
-var jid = 'muckl@babelmonkeys.de'
-var password = 'ooje0OjuJeekaek6';
var connection = null;
var nickname;
function handleMessage(msg) {
var html = '';
var sender = Strophe.getResourceFromJid(msg.getAttribute('from'));
+ if (sender) {
+ sender = Strophe.xmlescape(sender);
+ } else {
+ sender = false;
+ }
var type = msg.getAttribute('type');
- var body = Strophe.getText(msg.getElementsByTagName('body')[0]);
+ var body = msg.getElementsByTagName('body')[0];
+ if (body) {
+ body = Strophe.xmlescape(Strophe.getText(body));
+ } else {
+ body = false;
+ }
+ var subject = msg.getElementsByTagName('subject')[0];
+ if (subject) {
+ subject = Strophe.xmlescape(Strophe.getText(subject));
+ } else {
+ subject = false;
+ }
html += '<div class="msg">';
- if (sender) {
- html += '<span class="sender">';
- html += sender;
- html += ':</span> ';
- html += body + '</div>';
- } else {
+ if (body) {
+ if (sender) {
+ if (body.search(/^\/me/) == 0) {
+ body = body.replace(/^\/me/, sender);
+ html += '<span class="sender">';
+ html += body;
+ html += '</span></div>';
+ } else {
+ html += '<span class="sender">';
+ html += sender;
+ html += ':</span> ';
+ html += body + '</div>';
+ }
+ } else {
+ html += '<span class="server">';
+ html += body + '</span></div>';
+ }
+ } else if (subject) {
html += '<span class="server">';
- html += body + '</span></div>';
+ html += "The subject is: " + subject + '</span></div>';
+ } else {
+ return true;
}
if (type == 'chat') {
if (type == 'unavailable') {
element = document.getElementById(nick);
roster_list.removeChild(element);
+ $('#chat').append('<div class="msg"><span class="server">' + nick + ' left the groupchat</span></div>');
} else {
roster_list.innerHTML += '<li id="' + nick + '" onclick="addBubble(' + "'" + nick + "')" + '" >' + nick + '</li>';
+ $('#chat').append('<div class="msg"><span class="server">' + nick + ' joined the groupchat</span></div>');
}
return true;