X-Git-Url: http://cgit.babelmonkeys.de/?a=blobdiff_plain;f=scripts%2Fbasic.js;h=292f6666ad1df80974486f749a6a21052029c3de;hb=412f9e9363e340613a35762dfff2b10bd61bf7ad;hp=aecaa7eeed3e062a490b4d5d5f2be1ccee3c815a;hpb=b12b35d39a99293eadee739b291f64433f5da34e;p=socialXMPP.git diff --git a/scripts/basic.js b/scripts/basic.js index aecaa7e..292f666 100644 --- a/scripts/basic.js +++ b/scripts/basic.js @@ -49,23 +49,38 @@ function populateVCard(e, jid) { $("#PHOTO img").attr('src', 'data:'+mime+';base64,'+binval); } $(e).find('TEL:has(HOME)').each(function() { + $('#TELHOME').append(' '); $('#TELHOME').append(Strophe.xmlTextNode($(this).find('NUMBER').text())); }); $(e).find('TEL:has(WORK)').each(function() { + $('#TELWORK').append(' '); $('#TELWORK').append(Strophe.xmlTextNode($(this).find('NUMBER').text())); }); $(e).find('EMAIL:has(HOME)').each(function() { + $('#EMAILHOME').append(' '); $('#EMAILHOME').append(Strophe.xmlTextNode($(this).find('USERID').text())); }); $(e).find('EMAIL:has(WORK)').each(function() { + $('#EMAILWORK').append(' '); $('#EMAILWORK').append(Strophe.xmlTextNode($(this).find('USERID').text())); }); + if (!roster[jid2id(jid)].tune.isEmpty()) { + $('#vCard ul').append('
  • Tune: Listening to '+ + roster[jid2id(jid)].tune.title + ' by ' + roster[jid2id(jid)].tune.artist + + ' from ' + roster[jid2id(jid)].tune.source + '
  • ') + } + $('#vCard').click(function () { - $('#vCard_container').slideUp("normal"); + $('#vCard_container').slideUp("normal", function() { + $('#box-overlay').hide(); + }); + roster[jid2id(jid)].visible = false; }); + $('#box-overlay').show(); $('#vCard_container').slideDown("normal"); + roster[jid2id(jid)].visible = true; } function _cbVCard(e) { @@ -84,10 +99,7 @@ function _cbVCard(e) { function _cbOwnVCard(e) { $('#ownInfo').empty(); - $('#ownInfo').load('vCard.html #vCard', function() { - $('#ownInfo').find('div').each(function() { - $(this).attr('id', 'own' + $(this).attr('id')); - }); + $('#ownInfo').load('vCard.html #ownvCard', function() { var easy_cases = new Array('FN', 'FAMILY', 'MIDDLE', 'GIVEN', 'NICKNAME', 'BDAY', 'CTRY', 'USERID'); for (var i=0; i'); + if ($('#' + id + ' p *').length > 0) { + $('#' + id + ' p').append('
    '); + } $('#' + id + ' p').append('' + localJID + ': '); $('#' + id + ' p').append(form.text.value); form.text.value = ''; @@ -220,7 +238,8 @@ function sendMessage(form, to) { function createBubble(jid) { var id = jid2id(jid) + 'Chat'; - $('body').append('
    Close

    '); + $('body').append('
    Close' + + ' ' + jid + '

    '); $('#' + id).append('
    ') $('#' + id).css( 'top', $('#' + jid2id(jid)).position().top + 40); $('#' + id).css( 'left', $('#' + jid2id(jid)).position().left + 40); @@ -242,7 +261,9 @@ function _cbMessage(msg) { if ($('#' + id).length <= 0) { createBubble(jid); } - $('#' + id + ' p').append('
    '); + if ($('#' + id + ' p *').length > 0) { + $('#' + id + ' p').append('
    '); + } $('#' + id + ' p').append('' + jid + ': '); $('#' + id + ' p').append(body); $('#' + id).show(); @@ -260,6 +281,33 @@ function genCaps() { return b64_sha1(S); } +function handleTune(jid, tuneXML) { + var tune = new Tune(); + if (tuneXML.childNodes.length > 0) { + tune.artist = Strophe.getText(tuneXML.getElementsByTagName('artist')[0]); + tune.length= Strophe.getText(tuneXML.getElementsByTagName('length')[0]); + tune.rating= Strophe.getText(tuneXML.getElementsByTagName('rating')[0]); + tune.source= Strophe.getText(tuneXML.getElementsByTagName('source')[0]); + tune.title= Strophe.getText(tuneXML.getElementsByTagName('title')[0]); + tune.track= Strophe.getText(tuneXML.getElementsByTagName('track')[0]); + tune.uri= Strophe.getText(tuneXML.getElementsByTagName('uri')[0]); + if (roster[jid2id(jid)].visible == true) { + if ( $('#tune').length > 0) { + $('#tune').empty(); + $('#tune').append('Tune: '); + $('#tune').append(Strophe.xmlTextNode('Listening to '+ tune.title + + ' by ' + tune.artist + ' from ' + tune.source)); + } else { + $('#vCard ul').append('
  • Tune: Listening to '+ tune.title + + ' by ' + tune.artist + ' from ' + tune.source + '
  • ') + } + } + } else { + $('#tune').remove(); + } + roster[jid2id(jid)].tune = tune; +} + function _cbPEP(e) { var from = e.getAttribute('from'); if (Strophe.getBareJidFromJid(from) == Strophe.getBareJidFromJid(connection.jid)) { @@ -268,27 +316,7 @@ function _cbPEP(e) { 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('
    Listening to '+ tune.title + ' by ' + tune.artist + ' from ' + tune.source + ''); - } - } else { - if ( $('#'+jid2id(from)+' .tune').length > 0 ) { - $('#'+jid2id(from)+' .tune').empty(); - } - } - roster[jid2id(from)].tune = tune; + handleTune(from, items.getElementsByTagName('tune')[0]); } return true; } @@ -324,9 +352,11 @@ function showConnect() { var button = $('#connect').get(0); $('#log').empty(); + $('#ownInfo').empty(); $('#ownInfo').hide(); $('#vCard_container').empty(); $('#friends').empty(); + $('#friends').hide(); $('.chat').remove(); $('label').show(); jid.show(); @@ -369,7 +399,6 @@ $(document).ready(function () { onConnect); } else { connection.disconnect(); - showConnect(); } return false; });