-function doLogin(aForm) {
- if (!aForm.nickname.value)
- return false;
- try {
- connection = new Strophe.Connection(BOSH_LOCATION);
- connection.connect(jid, password, onConnect);
-
- nickname = aForm.nickname.value;
- } catch (e) {
- alert(e);
- } finally {
- return false;
- }
-}
-
-function onConnect(status) {
- if (status == Strophe.Status.CONNFAIL) {
- handleError('Failed to connect');
- } else if (status == Strophe.Status.DISCONNECTED) {
- handleDisconnected();
- } else if (status == Strophe.Status.CONNECTED) {
- // Add handlers connection.addHandler(callback, namespace, stanza_name, type, id, from)
- connection.addHandler(handleMessage, null, 'message', null, null, null);
- connection.addHandler(handlePresence, null, 'presence', null, null, null);
- connection.addHandler(handleIQ, null, 'iq', null, null, null);
-
- connection.addHandler(handleIqVersion, Strophe.NS.VERSION, 'iq', null, null, null);
- connection.addHandler(handleIqVersion, 'urn:xmpp:time', 'iq', null, null, null);
-
- connection.send($pres().tree());
- connection.send($pres({to: room + '/' + nickname}).tree());
-
- // Make things (in)visible
- $('#login').hide();
- $('#chat').show();
- $('#roster').show();
- $('#entry').show();
- }
-}
-
-function handleError(error) {
- alert("An error occured:" + error);
- handleDisconnected();
-}