var starttime; var updater; function updateChatMessages() { updater = $.periodic({ period: 1000, decay: 1.5, max_period: 1800000 }, function () { $.ajax({ periodic: this, url: baseURL + '/getChatMessages.view?u=' + username + '&p=' + passwordenc + '&v=' + version + '&c=' + applicationName + '&f=jsonp&since=' + starttime, method: 'GET', dataType: 'jsonp', timeout: 10000, beforeSend: function (req) { req.setRequestHeader('Authorization', auth); }, success: function (data) { if (data["subsonic-response"].chatMessages.chatMessage === undefined) { this.periodic.increment(); } else { var msgs = []; if (data["subsonic-response"].chatMessages.chatMessage.length > 0) { msgs = data["subsonic-response"].chatMessages.chatMessage; } else { msgs[0] = data["subsonic-response"].chatMessages.chatMessage; } this.periodic.reset(); var sorted = msgs.sort(function (a, b) { return a.time - b.time; }); var x = 1; $.each(sorted, function (i, msg) { var chathtml = '