//= require jquery.storageapi.min (function($) { var self; window.AlgoliaSupportChat = function() { this.init(); self = this; } AlgoliaSupportChat.prototype = { init: function() { $(document).ready(function() { if (self.inIframe()) { $('#chat-box').remove(); return; } var url = $.localStorage.get('chatURL'); var chat_at = $.localStorage.get('chatOpenedAt') || 0; if (url && new Date().getTime() - chat_at < 10*60*1000) { self.show(url); } }); }, inIframe: function() { try { return window.self !== window.top; } catch (e) { return true; } }, maximize: function() { location.href = '/support' + '/' + 'chat-frame'; }, show: function(url) { $('#chat-box .closed').hide(); $('#chat-box .opened').show(); var tz = new Date().toString().match(/\(([A-Za-z\s].*)\)/)[1] || 'PST'; if (url) { this._display({ url: url, timezone: tz, welcome: ' ' }); } $.post('/support' + '/' + 'chat', function(data) { if (data.guest_access_url) { $('#chat-box .maximize').show(); if (!url || data.guest_access_url != url) { self._display({ url: data.guest_access_url, timezone: tz, welcome: 'Questions? Come chat with us! We\'re here, send us a message!' }); $.localStorage.set('chatURL', data.guest_access_url); $.localStorage.set('chatOpenedAt', new Date().getTime()); } self._history(data.messages); } else { $('#chat-box .opened .content').hide(); $('#chat-box .opened .offline').show(); } }); }, hide: function() { $('#chat-box .closed').show(); $('#chat-box .opened').hide(); $.localStorage.remove('chatURL'); }, _history: function(messages) { if (messages.length == 0) return; $('#chat-box .history').empty(); for (var i = 0; i < messages.length; ++i) { var from = messages[i].from.name; if (from.indexOf('Guest') > -1) { from = 'You'; } $('#chat-box .history').append('