var con = new Connector; function client() { var jabber = new Jabber; var buffer = ''; var xtools = new XTools; var disconnected = false; function request(data) { if ( !disconnected ) con.go('$this.Ujabber.listen', {'stream':stream, 'request':request}, ''); } function stream(data) { function trim(pData) { return pData.replace(/^ +| +$/g, ''); } data = trim(data); if ( data == 'disconnected' || data == '') { disconnected = true; var XmlDoc = "" + "" + path_im + "" + ""; im_window.load('_contacts_im_','instant_messenger_content','.::Expresso Messenger::.','window.xsl','',true,true,false); im_window.elementC('_contacts_im_').innerHTML = xtools.parse(XmlDoc,'disconnected.xsl'); func.byId('img_status_im').src = im_unavailable.src; } else if ( data.lastIndexOf('>') == data.length - 1) { if ( buffer.length ) { data = buffer + data; buffer = ''; } // com xmlns ocorre problemas durante o parse entre // xml e xsl e por esse motivo está sendo retirado data = '' + data.replace(/ xmlns='.*?'/g, '') + ''; if ( window.ActiveXObject ) { var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(data); } else { var parser = new DOMParser(); var xmlDoc = parser.parseFromString(data, "text/xml"); } var node = xmlDoc.documentElement.firstChild; while ( node ) with ( node ) { jabber.doIt(nodeName, node); node = nextSibling; } } else { buffer += data; } } function contacts(data) { function handler(Xmldata) { }; con.go('$this.Ujabber.setPresence', {'request':handler},'type=unavailable'); var status = ""; if( status = cookies_im.checkCookie('status')) { status = status.substr(status.indexOf("=") + 1,status.length); im.status = status; } else { im.status = 'type=available'; im.statusFlag = 'available'; func.byId('im_status_src').src = im_available.src; } im.presence(im.status); } request(); setTimeout("con.go('$this.Ujabber.getContacts', {'request':"+contacts+"})", 3000); }