var BOSH_SERVICE = 'http://alias.fr.nf/http-bind/'; var connection = null; function log(msg) { $('#log').append('
').append(document.createTextNode(msg)); } function rawInput(data) { log('RECV: ' + data); } function rawOutput(data) { log('SENT: ' + data); } function onConnect(status) { var jid = $('#jid').get(0).value; if (status == Strophe.Status.CONNECTING) { log('Strophe is connecting.'); } else if (status == Strophe.Status.CONNFAIL) { log('Strophe failed to connect.'); $('#connect').get(0).value = 'connect'; } else if (status == Strophe.Status.DISCONNECTING) { log('Strophe is disconnecting.'); } else if (status == Strophe.Status.DISCONNECTED) { log('Strophe is disconnected.'); $('#connect').get(0).value = 'connect'; } else if (status == Strophe.Status.CONNECTED) { log('Strophe is connected.'); connection.addHandler(onRoster,Strophe.NS.ROSTER,'iq','result',null, null); connection.send($pres().tree()); var roster = $iq({type:'get'}).c('query',{xmlns: Strophe.NS.ROSTER }); connection.send(roster.tree()); } } function onRoster(iq) { var elems = iq.getElementsByTagName('query'); var query = elems[0]; Strophe.forEachChild(query,'item',function (item){ var name = item.getAttribute('jid'); $('#contacts > ul').append('