-function genCaps() {
- var S = '';
- S += 'client/web//' + appName + '<'
- features.sort();
- for (var i = 0; i < features.length; i++) {
- S += features[i] + '<';
- }
- return b64_sha1(S);
-}
-
-function _cbPEP(e) {
- var from = e.getAttribute('from');
- if (Strophe.getBareJidFromJid(from) == Strophe.getBareJidFromJid(connection.jid)) {
- return true; // Drop own PEP events
- }
- var items = e.getElementsByTagName('items')[0];
- // Handle Tune
- if (items.getAttribute('node') == NS_TUNE) {
- var tune = new Tune();
- if (items.getElementsByTagName('tune')[0].childNodes.length > 0) {
- tune.artist = Strophe.getText(items.getElementsByTagName('artist')[0]);
- tune.length= Strophe.getText(items.getElementsByTagName('length')[0]);
- tune.rating= Strophe.getText(items.getElementsByTagName('rating')[0]);
- tune.source= Strophe.getText(items.getElementsByTagName('source')[0]);
- tune.title= Strophe.getText(items.getElementsByTagName('title')[0]);
- tune.track= Strophe.getText(items.getElementsByTagName('track')[0]);
- tune.uri= Strophe.getText(items.getElementsByTagName('uri')[0]);
- if ( $('#'+jid2id(from)+' .tune').length > 0 ) {
- $('#'+jid2id(from)+' .tune').empty();
- $('#'+jid2id(from)+' .tune').append(Strophe.xmlTextNode('Listening to '+ tune.title + ' by ' + tune.artist + ' from ' + tune.source));
- } else {
- $('#'+jid2id(from)).append('<br /><span class="tune">Listening to '+ tune.title + ' by ' + tune.artist + ' from ' + tune.source + '</span>');
- }
- } else {
- if ( $('#'+jid2id(from)+' .tune').length > 0 ) {
- $('#'+jid2id(from)+' .tune').empty();
- }
- }
- roster[jid2id(from)].tune = tune;
- }
- return true;
-}
-
-function onConnect(status) {
- if (status == Strophe.Status.CONNECTING) {
- log('Strophe is connecting.');
- } else if (status == Strophe.Status.CONNFAIL) {
- log('Strophe failed to connect.');
- showConnect();
- } else if (status == Strophe.Status.DISCONNECTING) {
- log('Strophe is disconnecting.');
- } else if (status == Strophe.Status.DISCONNECTED) {
- log('Strophe is disconnected.');
- showConnect();
- } else if (status == Strophe.Status.AUTHFAIL) {
- log('Authentication failed');
- if (connection) {
- connection.disconnect();
- }
- } else if (status == Strophe.Status.CONNECTED) {
- log('Strophe is connected.');
- getOwnInfo();
- getRoster();
- connection.addHandler(_cbDisco, Strophe.NS.DISCO_INFO, 'iq', 'get');
- connection.addHandler(_cbMessage, Strophe.NS.CLIENT, 'message');
- }
-}
-