]> git.babelmonkeys.de Git - xmppchat.git/blobdiff - main.js
Switch to strophejs and jquery
[xmppchat.git] / main.js
diff --git a/main.js b/main.js
deleted file mode 100644 (file)
index 2ed9ace..0000000
--- a/main.js
+++ /dev/null
@@ -1,236 +0,0 @@
-function doLogin(aForm) {
-       room = 'guests@conference.babelmonkeys.de';
-       domain = 'babelmonkeys.de'
-       user = 'muckl';
-       password = 'ooje0OjuJeekaek6';
-       if (!aForm.nickname.value)
-               return false;
-       try {
-               oArgs = new Object();
-               oArgs.httpbase = '/http-bind/';
-               oArgs.timerval = 2000;
-               con = new JSJaCHttpBindingConnection(oArgs)
-
-               nickname = aForm.nickname.value;
-               setupHandlers(con);
-               
-               oArgs = new Object();
-               oArgs.domain = domain;
-               oArgs.username = user;
-               oArgs.resource = randomString();
-               oArgs.pass = password;
-               con.connect(oArgs);
-       } catch (e) {
-               alert(e);
-       } finally {
-               return false;   
-       }
-}
-
-function setupHandlers(con) {
-       con.registerHandler('message', handleMessage);
-       con.registerHandler('presence', handlePresence);
-       con.registerHandler('iq', handleIQ);
-       con.registerHandler('onconnect', handleConnected);
-       con.registerHandler('onerror', handleError);
-       // con.registerHandler('status_changed', handleStatusChanged);
-       con.registerHandler('ondisconnect', handleDisconnected);
-
-       con.registerIQGet('query', NS_VERSION, handleIqVersion);
-       con.registerIQGet('query', NS_TIME, handleIqTime);
-}
-
-function handleConnected() {
-       con.send(new JSJaCPresence());
-       GCpresence = new JSJaCPresence();
-       GCpresence.setTo(room + '/' + nickname);
-       con.send(GCpresence);
-
-       // Make things (in)visible
-       document.getElementById('login').style.display = 'none';
-       document.getElementById('chat').style.display = 'block';
-       document.getElementById('roster').style.display = 'block';
-       document.getElementById('entry').style.display  = 'block';
-}
-
-function handleError(e) {
-       alert("An error occured:" + 
-               "\nCode: " + e.getAttribute('code') + 
-               "\nType: " + e.getAttribute('type') +
-               "\nCondition: " + e.firstChild.nodeName); 
-       // Make things (in)visible
-       document.getElementById('login').style.display = 'block';
-       document.getElementById('chat').style.display = 'none';
-       document.getElementById('roster').style.display = 'none';
-       document.getElementById('entry').style.display  = 'none';
-
-  
-       if (con.connected())
-               con.disconnect();
-}
-
-function handleDisconnected() {
-       // Make things (in)visible
-       document.getElementById('login').style.display = 'block';
-       document.getElementById('chat').style.display = 'none';
-       document.getElementById('roster').style.display = 'none';
-       document.getElementById('entry').style.display  = 'none';
-}
-
-function addBubble(nick) {
-       id = nick + 'Bubble';
-       if (!document.getElementById(id)) {
-               root = document.getElementsByTagName('body')[0];
-               var div = '';
-               div += '<div id="' + id + '" class="bubble" onmousedown="startDrag(this)">';
-               div += '<a href="#" onclick="' +"document.getElementById('" + id + "').style.display='none'" + '">Close</a>';
-               div += '<div id="' + id + 'Chat" class="bubbleChat"></div>';
-               div += '<form id="' + id + 'Form" class="bubbleForm" onsubmit="return sendChatMessage(this,' + "'" + nick + "');" + '" action="#">';
-               div += '<input type="text" name="text" id="' + id + 'Text" class="bubbleForm"/>';
-               div += '</form>';
-               div += '</div>';
-               root.innerHTML += div;
-       }
-       document.getElementById(id).style.display = 'block';
-}
-
-function handleMessage(aJSJaCPacket) {
-       var html = '';
-       sender = aJSJaCPacket.getFromJID().getResource()
-       html += '<div class="msg">';
-       if (sender) {
-               html += '<span class="sender">';
-               html += sender;
-               html += ':</span> ';
-               html += aJSJaCPacket.getBody().htmlEnc() + '</div>';
-       } else {
-               html += '<span class="server">';
-               html += aJSJaCPacket.getBody().htmlEnc() + '</span></div>';
-       }
-
-       if (aJSJaCPacket.getType() == 'chat') {
-               addBubble(sender);
-               document.getElementById(id + 'Chat').innerHTML += html;
-               document.getElementById(id + 'Chat').lastChild.scrollIntoView();
-       } else {
-               document.getElementById('chat').innerHTML += html;
-               document.getElementById('chat').lastChild.scrollIntoView();
-       }
-}
-
-function handlePresence(aJSJaCPacket) {
-       if (aJSJaCPacket.getFromJID().toString().split('/')[0] != room)
-               return
-       roster_list = document.getElementById('roster_list');
-       nick = aJSJaCPacket.getFromJID().getResource();
-       if (aJSJaCPacket.getType() == 'unavailable') {
-               element = document.getElementById(nick);
-               roster_list.removeChild(element);
-       } else {
-               roster_list.innerHTML += '<li id="' + nick + '" onclick="addBubble(' + "'" + nick + "')" + '" >' + nick + '</li>';
-       }
-}
-
-function handleIQ(iq) {
-       con.send(iq.errorReply(ERR_FEATURE_NOT_IMPLEMENTED));
-}
-
-function handleIqVersion(iq) {
-       con.send(iq.reply([
-                     iq.buildNode('name', 'jsjacChatClient'),
-                     iq.buildNode('version', JSJaC.Version),
-                     iq.buildNode('os', navigator.userAgent)
-                     ]));
-       return true;
-}
-
-function handleIqTime(iq) {
-       var now = new Date();
-       con.send(iq.reply([iq.buildNode('display',
-                                  now.toLocaleString()),
-                     iq.buildNode('utc',
-                                  now.jabberDate()),
-                     iq.buildNode('tz',
-                                  now.toLocaleString().substring(now.toLocaleString().lastIndexOf(' ')+1))
-                     ]));
-       return true;
-}
-
-function sendMessage(aForm) {
-       if (aForm.text.value) {
-               message = new JSJaCMessage();
-               message.setBody(aForm.text.value);
-               message.setType('groupchat');
-               message.setTo(room);
-               con.send(message);
-               aForm.text.value = '';
-       }
-       return false;
-}
-
-function sendChatMessage(aForm, to) {
-       if (aForm.text.value) {
-               message = new JSJaCMessage();
-               message.setBody(aForm.text.value);
-               message.setType('chat');
-               message.setTo(room + '/' + to);
-               con.send(message);
-               aForm.text.value = '';
-               var html = '';
-               html += '<div class="msg">';
-               html += '<span class="sender">';
-               html += nickname;
-               html += ':</span> ';
-               html += message.getBody().htmlEnc() + '</div>';
-               document.getElementById(to + 'BubbleChat').innerHTML += html;
-               document.getElementById(to + 'BubbleChat').lastChild.scrollIntoView();
-
-       }
-       return false;
-}
-
-function randomString() {
-       var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
-       var string_length = 20;
-       var randomstring = '';
-       for (var i=0; i<string_length; i++) {
-               var rnum = Math.floor(Math.random() * chars.length);
-               randomstring += chars.substring(rnum,rnum+1);
-       }
-       return randomstring;
-}
-
-var dragElement = null;
-var mouseX = 0;
-var mouseY = 0;
-var offX = 0;
-var offY = 0;
-
-function startDrag(element) {
-       dragElement = element;
-       offX = mouseX - dragElement.offsetLeft;
-       offY = mouseY - dragElement.offsetTop;
-}
-
-function doDrag(eve) {
-       mouseX = eve.pageX;
-       mouseY = eve.pageY;
-
-       if (dragElement) {
-               dragElement.style.left = (mouseX - offX) + 'px';
-               dragElement.style.top = (mouseY - offY) + 'px';
-       }
-}
-
-function stopDrag(eve) {
-       dragElement = null;
-}
-
-onunload = function() {
-       if (con.connected())
-               con.disconnect();
-}
-
-onmousemove = doDrag;
-
-onmouseup = stopDrag;