(function($) { window.insura = { helpers: { initAccordion: function(selector) { $(selector).accordion(); }, initDatepicker: function(selector) { (typeof selector === 'string' ? $(selector) : selector).datepicker({ autoHide: true, format: 'yyyy-mm-dd' }); }, initDropdown: function(selector) { (typeof selector === 'string' ? $(selector) : selector).dropdown({ transition: 'drop' }); }, initDropify: function(selector) { $(selector).dropify(); }, initModal: function(selector, clear) { $(selector).modal({ onApprove : function(button) { var modal = button.closest('div.modal'); var form = modal.find('form'); if(form[0].checkValidity()) { form.submit(); return true; }else { form.append('').find(':submit').click().remove(); return false; } }, onDeny: function(button) { if(!!clear) { button.closest('div.modal').find('form').append('').find(':reset').click().remove() } } }); }, initScrollbar: function(selector) { $(selector).scrollbar(); }, initSwal: function(selector, options) { $(selector).click(function(e) { e.preventDefault(); swal({ title: options.title, text: options.text, type: "warning", cancelButtonText: '{{ trans('communication.swal.warning.delete.cancel') }}', confirmButtonColor: "#ff1a1a", confirmButtonText: options.confirmText, showCancelButton: true, closeOnConfirm: false }, function() { $(e.target).parents('form:first').trigger('submit'); }); }); }, initTabs: function(selector) { $(selector).tab(); }, initTelInput: function(selector) { (typeof selector === 'string' ? $(selector) : selector).blur(function(e) { var element = $(e.target); if ($.trim(element.val())) { if (!element.intlTelInput('isValidNumber')) { e.target.setCustomValidity('{{ trans('communication.message.error.invalid.phone') }}'); element.parents('div.field:first').addClass('error'); }else{ e.target.setCustomValidity(''); element.parents('div.field:first').removeClass('error'); } } }).intlTelInput({ autoPlaceholder: 'aggressive', formatOnDisplay: true, hiddenInput: 'phone', placeholderNumberType: "FIXED_LINE_OR_MOBILE", utilsScript: '{{ asset('assets/libs/intl-tel-input/js/utils.js') }}' }); }, listenForChats: function() { // Load Audio Messages var newMessageAudio = new Audio('{{ asset('uploads/audio/new-message.mp3') }}'); // Configure chat events function newMessagesHandler(e) { var chatMessages = JSON.parse(e.data || e.insuraMessages); $.each(chatMessages, function(index, chatMessage) { var headerElement = $('header a.insura-chats'); var sidebarElement = $('aside a.insura-chats'); // Add to the message counter var counterElements = headerElement.find('span.label').add(sidebarElement.find('span.label')); if(counterElements.length > 0) { var count = parseInt(counterElements[0].innerText.trim()) + 1; counterElements.text(count); }else { headerElement.append('1'); sidebarElement.prepend('1'); } }); newMessageAudio.play(); } if(typeof(EventSource) !== "undefined") { var es = new EventSource('{{ action('ChatController@live', array( 'quiet' => true )) }}'); es.addEventListener('InsuraNewMessages', newMessagesHandler); $(window).on('unload', function() { es.close(); }); }else { var dummyElement = $('