(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof module==='object'&&typeof module.exports==='object'){factory(require('jquery'));}else{factory(jQuery);}}(function($){$.timeago=function(timestamp){if(timestamp instanceof Date){return inWords(timestamp);}else if(typeof timestamp==="string"){return inWords($.timeago.parse(timestamp));}else if(typeof timestamp==="number"){return inWords(new Date(timestamp));}else{return inWords($.timeago.datetime(timestamp));}};var $t=$.timeago;$.extend($.timeago,{settings:{refreshMillis:60000,allowPast:true,allowFuture:false,localeTitle:false,cutoff:0,autoDispose:true,strings:{prefixAgo:null,prefixFromNow:null,suffixAgo:"ago",suffixFromNow:"from now",inPast:'any moment now',seconds:"less than a minute",minute:"about a minute",minutes:"%d minutes",hour:"about an hour",hours:"about %d hours",day:"a day",days:"%d days",month:"about a month",months:"%d months",year:"about a year",years:"%d years",wordSeparator:" ",numbers:[]}},inWords:function(distanceMillis){if(!this.settings.allowPast&&!this.settings.allowFuture){throw'timeago allowPast and allowFuture settings can not both be set to false.';}
var $l=this.settings.strings;var prefix=$l.prefixAgo;var suffix=$l.suffixAgo;if(this.settings.allowFuture){if(distanceMillis<0){prefix=$l.prefixFromNow;suffix=$l.suffixFromNow;}}
if(!this.settings.allowPast&&distanceMillis>=0){return this.settings.strings.inPast;}
var seconds=Math.abs(distanceMillis)/1000;var minutes=seconds/60;var hours=minutes/60;var days=hours/24;var years=days/365;function substitute(stringOrFunction,number){var string=$.isFunction(stringOrFunction)?stringOrFunction(number,distanceMillis):stringOrFunction;var value=($l.numbers&&$l.numbers[number])||number;return string.replace(/%d/i,value);}
var words=seconds<45&&substitute($l.seconds,Math.round(seconds))||seconds<90&&substitute($l.minute,1)||minutes<45&&substitute($l.minutes,Math.round(minutes))||minutes<90&&substitute($l.hour,1)||hours<24&&substitute($l.hours,Math.round(hours))||hours<42&&substitute($l.day,1)||days<30&&substitute($l.days,Math.round(days))||days<45&&substitute($l.month,1)||days<365&&substitute($l.months,Math.round(days/30))||years<1.5&&substitute($l.year,1)||substitute($l.years,Math.round(years));var separator=$l.wordSeparator||"";if($l.wordSeparator===undefined){separator=" ";}
return $.trim([prefix,words,suffix].join(separator));},parse:function(iso8601){var s=$.trim(iso8601);s=s.replace(/\.\d+/,"");s=s.replace(/-/,"/").replace(/-/,"/");s=s.replace(/T/," ").replace(/Z/," UTC");s=s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2");s=s.replace(/([\+\-]\d\d)$/," $100");return new Date(s);},datetime:function(elem){var iso8601=$t.isTime(elem)?$(elem).attr("datetime"):$(elem).attr("title");return $t.parse(iso8601);},isTime:function(elem){return $(elem).get(0).tagName.toLowerCase()==="time";}});var functions={init:function(){functions.dispose.call(this);var refresh_el=$.proxy(refresh,this);refresh_el();var $s=$t.settings;if($s.refreshMillis>0){this._timeagoInterval=setInterval(refresh_el,$s.refreshMillis);}},update:function(timestamp){var date=(timestamp instanceof Date)?timestamp:$t.parse(timestamp);$(this).data('timeago',{datetime:date});if($t.settings.localeTitle){$(this).attr("title",date.toLocaleString());}
refresh.apply(this);},updateFromDOM:function(){$(this).data('timeago',{datetime:$t.parse($t.isTime(this)?$(this).attr("datetime"):$(this).attr("title"))});refresh.apply(this);},dispose:function(){if(this._timeagoInterval){window.clearInterval(this._timeagoInterval);this._timeagoInterval=null;}}};$.fn.timeago=function(action,options){var fn=action?functions[action]:functions.init;if(!fn){throw new Error("Unknown function name '"+action+"' for timeago");}
this.each(function(){fn.call(this,options);$(this).addClass("loadedAgo");});return this;};function refresh(){var $s=$t.settings;if($s.autoDispose&&!$.contains(document.documentElement,this)){$(this).timeago("dispose");return this;}
var data=prepareData(this);if(!isNaN(data.datetime)){if($s.cutoff===0||Math.abs(distance(data.datetime))<$s.cutoff){$(this).text(inWords(data.datetime));}else{if($(this).attr('title').length>0){$(this).text($(this).attr('title'));}}}
return this;}
function prepareData(element){element=$(element);if(!element.data("timeago")){element.data("timeago",{datetime:$t.datetime(element)});var text=$.trim(element.text());if($t.settings.localeTitle){element.attr("title",element.data('timeago').datetime.toLocaleString());}else if(text.length>0&&!($t.isTime(element)&&element.attr("title"))){element.attr("title",text);}}
return element.data("timeago");}
function inWords(date){return $t.inWords(distance(date));}
function distance(date){return(new Date().getTime()-date.getTime());}
document.createElement("abbr");document.createElement("time");}));;
var chatbox=chatbox||{};(function($,_,undefined){"use strict";chatbox=(function(){var _urlRegex=/\bhttps?:\/\/\S+/gi,_blankImage=ips.getSetting('lazyLoadEnabled')?ips.getSetting('blankImg'):null,groupColors={};var boot=function(config){},initTimeago=function(){if(ips.getSetting('chatbox_timeago')!=1){return;}
$.timeago.settings.strings={prefixAgo:null,prefixFromNow:null,suffixAgo:"",suffixFromNow:"from now",seconds:ips.getString('chatbox_time_just_now'),minute:ips.getString('chatbox_time_1_minute'),minutes:ips.getString('chatbox_time_x_minutes'),hour:ips.getString('chatbox_time_1_hour'),hours:ips.getString('chatbox_time_x_hours'),day:ips.getString('chatbox_time_1_day'),days:ips.getString('chatbox_time_x_days'),month:ips.getString('chatbox_time_1_month'),months:ips.getString('chatbox_time_x_months'),year:ips.getString('chatbox_time_1_year'),years:ips.getString('chatbox_time_x_years'),wordSeparator:" ",numbers:[]};},mention=function(e,use_editor){var name=$(e.currentTarget).data('member');var container=$(e.currentTarget).closest('.chatboxContainer');if(container.hasClass('chatboxConPopup')){var tabID=$(e.currentTarget).closest('.chatboxContainer').attr('data-conID');var wrapper=$('.convo_'+tabID);}
else{var tabID=$(e.currentTarget).closest('.chatboxContainer').attr('data-roomID');var wrapper=$(e.currentTarget).closest('.room_'+tabID);}
if(use_editor){if(wrapper.find("#cke_chatMSG_"+tabID).is(":visible")){var editor=CKEDITOR.instances['chatMSG_'+tabID];var url=$(e.currentTarget).data('url');var hover=$(e.currentTarget).data('ipshover-target');var id=$(e.currentTarget).data('id');if(parseInt(id)>0){var currentMention=null;currentMention=new CKEDITOR.dom.element('span');currentMention.renameNode('a');currentMention.setAttribute('href',url);currentMention.setAttribute('contenteditable','false');currentMention.setAttribute('data-ipsHover','');currentMention.setAttribute('data-ipsHover-target',hover);currentMention.setAttribute('data-mentionid',id);currentMention.setHtml('@'+name);editor.insertElement(currentMention);editor.insertHtml(" ");}
else
{editor.insertHtml("@"+name+" ");}}}
else
{var txt;var input=wrapper.find('.chatInput');if(input.val().length>0){txt=input.val()+" @"+name;}
else{txt="@"+name;}
input.focus().val(txt+" ");}},invertColor=function(hex,bw){if(hex.indexOf('#')===0){hex=hex.slice(1);}
var key=hex+"_"+bw;if(groupColors[key]){return groupColors[key];}
if(hex.length===3){hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];}
if(hex.length!==6){}
var r=parseInt(hex.slice(0,2),16),g=parseInt(hex.slice(2,4),16),b=parseInt(hex.slice(4,6),16);if(bw){groupColors[key]=(r*0.299+g*0.587+b*0.114)>150?'202020':'FFFFFF';return groupColors[key];}
r=(255-r).toString(16);g=(255-g).toString(16);b=(255-b).toString(16);var newcolor=padZero(r)+padZero(g)+padZero(b);groupColors[key]=newcolor;return groupColors[key];},padZero=function(str,len){len=len||2;var zeros=new Array(len).join('0');return(zeros+str).slice(-len);},initCleanEditor=function(container){var fakeBtn=container.find('[data-action="uploadIMG"]');if(fakeBtn.length>0){var classes=fakeBtn.attr("class");var fRight=container.width()-(fakeBtn.position().left+fakeBtn.outerWidth());if(container.hasClass('inGlobalChat')){fRight=fRight-2;}
var dropZone=container.find('.ipsAttachment_dropZone');dropZone.find('[data-action="uploadFile"]').addClass(classes).removeClass('ipsButton_primary').html(fakeBtn.html());dropZone.css({right:fRight,opacity:1});fakeBtn.css('visibility','hidden');container.find('.ipsAttachment_fileList').insertAfter(dropZone);}},isExternal=function(url){var match=url.match(/^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/);if(typeof match[1]==="string"&&match[1].length>0&&match[1].toLowerCase()!==location.protocol)return true;if(typeof match[2]==="string"&&match[2].length>0&&match[2].replace(new RegExp(":("+{"http:":80,"https:":443}[location.protocol]+")?$"),"")!==location.host)return true;return false;},escapeHTML=function(message){var div=document.createElement('div');div.appendChild(document.createTextNode(message));return div.innerHTML;},truncateURL=function(fullStr,strLen,separator){if(fullStr.length<=strLen)return fullStr;separator=separator||'...';var sepLen=separator.length,charsToShow=strLen-sepLen,frontChars=Math.ceil(charsToShow/2),backChars=Math.floor(charsToShow/2);return fullStr.substr(0,frontChars)+separator+fullStr.substr(fullStr.length-backChars);},parseContent=function(message,conf,container){var mediaItems=[];var lastPosURL=0;message=message.replace(_urlRegex,function(url){url=url.replace(/&amp;/g,'&');var indexOfURL=message.indexOf(url,lastPosURL);var returnURL=ips.templates.render('chatbox.parseURL',{url:url,text:truncateURL(url,60)});if(message.substring(indexOfURL,indexOfURL-5)!=="src='"&&message.substring(indexOfURL,indexOfURL-8)!=='srcset="'){var ext=url.substr((url.lastIndexOf('.')+1)).toLowerCase();if(url.indexOf("/giphy.gif")!=-1||jQuery.inArray(ext,['jpg','jpeg','jpe','png','gif','webp'])!==-1){if(ips.getSetting('emoji_style')=='twemoji'&&url.indexOf("twemoji@")!=-1){returnURL="<img class='chatboxEmoji' src='"+url+"'>";}
else{if(conf.allow_img){if(ips.getSetting('bim_giphy_play')!=1&&url.indexOf("/giphy.gif")!=-1){var gUrl=url.split("/giphy.gif")[0]+"/giphy.gif";var still=gUrl.replace("/giphy.gif","/giphy_s.gif");var displayIMG=ips.templates.render('chatbox.parseGiphy',{gif:gUrl,still:still,blankImage:_blankImage});}
else{var displayIMG=ips.templates.render('chatbox.parseImage',{url:url,blankImage:_blankImage});}
mediaItems.push(displayIMG);returnURL="";}}}
else if(jQuery.inArray(ext,['mp3','wav'])!==-1){if(conf.allow_audio){var isMemo=url.indexOf("voice_memo.mp3")>-1?true:false
var type=ext=='wav'?'audio/wav':'audio/mpeg';mediaItems.push(ips.templates.render('chatbox.parseAudio',{url:url,type:type,isMemo:isMemo,}));returnURL="";}}
else if(jQuery.inArray(ext,['mp4','ogg','webm'])!==-1){if(conf.allow_video){mediaItems.push(ips.templates.render('chatbox.parseVideo',{source:'html5',play:url,blankImage:_blankImage,html5:true,}));returnURL="";}}
else if(url.indexOf('youtube.com')>=0||url.indexOf('youtu.be')>=0){if(conf.allow_video){var str=url.split(/(vi\/|v=|\/v\/|youtu\.be\/|\/embed\/|\/shorts\/)/);var ytId=(str[2]!==undefined)?str[2].split(/[^0-9a-z_\-]/i)[0]:str[0];var play="//www.youtube.com/embed/"+ytId+"?autoplay=1";var ytImg="https://img.youtube.com/vi/"+ytId+"/mqdefault.jpg";mediaItems.push(ips.templates.render('chatbox.parseVideo',{source:'youtube',isShorts:url.indexOf("/shorts/")>0?true:false,url:url,play:play,id:ytId,img:ytImg,blankImage:_blankImage,html5:false,}));returnURL="";}}}
lastPosURL=indexOfURL+url.length;return returnURL;});chatbox.emoji.getEmoji(function(emoji){for(var c in emoji){for(var i=0;i<emoji[c].length;i++){if(emoji[c][i]['code'].substr(0,7)=='custom-'){var emKey=ips.utils.escapeRegexp(emoji[c][i]['name']);emKey=emKey.replace("<","&lt;").replace(">","&gt;");var regex=new RegExp("(^|\\s)"+emKey+"(\\s|$)","gi");while(message.match(regex)){message=message.replace(regex,'$1'+chatbox.emoji.emojiImage(emoji[c][i]['code'],true)+'$2');}}}}});if(mediaItems.length>0){message=message+" <div class='mediaItems'>";$.each(mediaItems,function(mi,media){message+=media;});message+="</div>";}
return message;};return{parseContent:parseContent,escapeHTML:escapeHTML,mention:mention,invertColor:invertColor,initCleanEditor:initCleanEditor,isExternal:isExternal,initTimeago:initTimeago,};}());String.prototype.startsWith=function(pattern){return this.lastIndexOf(pattern,0)===0;};}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('bim.chatbox.startChat',{lmn1:false,initialize:function(){this.on('click','[data-action="startChat"]',this.startChat);},startChat:function(e){if(this.lmn1||$('.chatBar').length==0){return false;}
this.lmn1=true;var memberID=$(e.currentTarget).attr('data-memberID');var self=this;ips.getAjax()(ips.getSetting('baseURL')+"index.php?app=chatbox&module=conversation&controller=main&do=openConversation",{data:{memberID:memberID,},type:'post'}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{var container=$('.convoTab_chats_content');if(container.find('.convoRow_'+response.conID).length>0){container.find('.convoRow_'+response.conID).click();}
else{var html=ips.templates.render('chatbox.newcon.temp',{id:response.conID});container.append(html);$(document).trigger('contentChange',[$('#convoIframe')]);container.find('.convoRow_'+response.conID).click();}
container.find('.tempCon.convoRow_'+response.conID).remove();}}).always(function(response){self.lmn1=false;});return false;},});}(jQuery,_));;
﻿;(function($,_,undefined){"use strict";ips.controller.register('bim.chatbox.editor',{_updateEditor:null,_containerID:null,_container:null,_editorName:null,_useEnter:false,_editorHeight:0,_instanceReady:false,initialize:function(){this.setup();this.on('fileAdded',this.resizeBar);this.on('fileDeleted',this.resizeBar);this._updateEditor=setInterval(_.bind(this.updateEditor,this),500);},setup:function(){if(this.scope.hasClass('chatboxConPopup')){this._containerID=this.scope.attr('data-conID');this._container=$('.convo_'+this._containerID);this._editorName='chatCON_'+this._containerID;}
else{this._containerID=this.scope.attr('data-roomID');this._container=$('.room_'+this._containerID);this._editorName='chatMSG_'+this._containerID;}
this._useEnter=this.scope.attr('data-useEnter')==1?true:false;},updateEditor:function(){var self=this;var editor=null;try
{editor=CKEDITOR.instances[this._editorName];}
catch(err){return;}
if(editor){editor.on('instanceReady',function(){editor.setData('');ips.utils.db.remove('editorSave',editor.config.ipsAutoSaveKey);if(!self._instanceReady){self._instanceReady=true;}});editor.on('change',function(){if(self._editorHeight!=self._container.find('#cbCKEditor').height()){self.resizeBar();self._editorHeight=self._container.find('#cbCKEditor').height();}});if(self._useEnter){editor.on('key',function(ev){if(ev.data.keyCode==13){ev.cancel();self._container.find('#cbCKEditor').find('form').submit();}});}
if(self._instanceReady){if(self.scope.find('#cbCKEditor #cbDonateBtn')){var elDonate=self.scope.find('#cbCKEditor #cbDonateBtn').detach();self.scope.find('.cke_toolbar_end').prepend(elDonate);elDonate.show();}
clearInterval(self._updateEditor);}}},resizeBar:function(){$('.chatBar').trigger('resizeBar');},});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.createModule('chatbox.emoji',function(){var _emoji=null,_categories=null,_ajax=null,_callbacks=[],getEmoji=function(callback){if(this._emoji&&this._categories){callback(this._emoji,this._categories);return;}
var baseURL=ips.getSetting('baseURL');var storage=ips.utils.db.get('chatboxEmoji',baseURL+'-'+ips.getSetting('emoji_cache'));var categories=ips.utils.db.get('chatboxEmojiCategories',baseURL+'-'+ips.getSetting('emoji_cache'));if(storage&&categories){this._emoji=storage;callback(storage,categories);}else{ips.utils.db.removeByType('chatboxEmoji');if(callback){if(!this._callbacks){this._callbacks=[];}
this._callbacks.push(callback);}
if(this._ajax&&this._ajax.abort){this._ajax.abort();}
this._ajax=ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=chatbox&module=chatbox&controller=chatbox&do=emoji').done(function(emoji){this._emoji={};this._categories=[];for(var category in emoji){var categoryName=emoji[category].category;this._categories.push(categoryName);this._emoji[categoryName]=[];for(var i=0;i<emoji[category].emoji.length;i++){emoji[category].emoji[i].shortNames.push(ips.getString('emoji-'+emoji[category].emoji[i].name));this._emoji[categoryName].push(emoji[category].emoji[i]);}}
ips.utils.db.set('chatboxEmoji',ips.getSetting('baseURL')+'-'+ips.getSetting('emoji_cache'),this._emoji);ips.utils.db.set('chatboxEmojiCategories',ips.getSetting('baseURL')+'-'+ips.getSetting('emoji_cache'),this._categories);if(this._callbacks){for(var i=0;i<this._callbacks.length;i++){this._callbacks[i](this._emoji,this._categories);}}}.bind(this));}},emojiImage=function(codeToUse){var parts=codeToUse.split('-');if(_.isUndefined(this._emoji[parts[1]])){return null;}
for(var i=0;i<this._emoji[parts[1]].length;i++){if(this._emoji[parts[1]][i].code==codeToUse){var imgTag='<img src="'+this._emoji[parts[1]][i].image+'" loading="lazy"';imgTag+='title="'+this._emoji[parts[1]][i].name+'" alt="'+this._emoji[parts[1]][i].name+'"';if(this._emoji[parts[1]][i].image2x){imgTag+=' srcset="'+this._emoji[parts[1]][i].image2x+' 2x"';}
if(parseInt(this._emoji[parts[1]][i].width)&&parseInt(this._emoji[parts[1]][i].height)){imgTag+=' width="'+this._emoji[parts[1]][i].width+'" height="'+this._emoji[parts[1]][i].height+'"';}
imgTag+=' data-emoticon="true">';return imgTag;}}
return null;},preview=function(code){return this.emojiImage(code);};return{getEmoji:getEmoji,emojiImage:emojiImage,preview:preview,};});ips.controller.mixin('bim.chatbox.emoji','core.global.editor.emoticons',true,function(){if(ips.getSetting('chatbox_no_emoji')!=1){this.before('insertEmoji',function(e){var popup=$(e.currentTarget).closest('#chatboxEmoji_menu');if(popup.length>0){var name=popup.attr('data-btnID').split('_');if(name[0]=="room"||name[0]=="con"){var emo=null;var type=$(e.currentTarget).attr('data-emoji');if(type.indexOf('custom-')>=0){emo=$(e.currentTarget).find('img').attr('title');}
else{var ipsEmoji=$(e.currentTarget).find('.ipsEmoji');if(ipsEmoji.attr('src')&&ipsEmoji.attr('src')!=undefined){emo=ipsEmoji.attr('alt');}else{emo=$(e.currentTarget).find('.ipsEmoji').html();}}
var container=name[0]=="room"?$('.room_'+name[2]):$('.convo_'+name[2]);var inputEl=container.find('.chatInput');inputEl.val(inputEl.val()+" "+emo);ips.utils.emoji.logUse(type);}}});}});ips.controller.register('chatbox.emoticons',{initialize:function(){this.on('click','[data-emoji]',this.insertEmoji);this.on('menuItemSelected','[data-role="categoryTrigger"]',this.changeCategory);chatbox.emoji.getEmoji(function(emoji,categories){setTimeout(function(){this._buildEmoji(emoji,null,categories);}.bind(this),100);}.bind(this));},insertEmoji:function(e){var popup=$(e.currentTarget).closest('#chatboxEmoji_menu');var name=popup.attr('data-btnID').split('_');var container=name[0]=="room"?$('.room_'+name[2]):$('.convo_'+name[2]);var inputEl=container.find('.chatInput');inputEl.val(inputEl.val()+" "+$(e.currentTarget).find('img').attr('title'));ips.utils.emoji.logUse($(e.currentTarget).attr('data-emoji'));},_buildEmoji:function(emoji,search,categories){var finalHtml='';var categoryHtml='';var pos=0;var emojiForThisRow='';var menuContent=[];if(!search&&ips.utils.cookie.get('recentEmoji')){var recentlyUsed=ips.utils.cookie.get('recentEmoji').split(',');var newRecentlyUsed=[];if(recentlyUsed.length){for(var i=0;i<recentlyUsed.length;i++){var displayHtml=chatbox.emoji.preview(recentlyUsed[i]);if(displayHtml){newRecentlyUsed.push(recentlyUsed[i]);emojiForThisRow+=ips.templates.render('core.editor.emoji',{display:displayHtml,name:null,code:recentlyUsed[i]});if(newRecentlyUsed.length==8||newRecentlyUsed.length==16){categoryHtml+=ips.templates.render('core.editor.emoticonRow',{emoticons:emojiForThisRow});emojiForThisRow='';}}}
if(emojiForThisRow){categoryHtml+=ips.templates.render('core.editor.emoticonRow',{emoticons:emojiForThisRow});}
if(categoryHtml){finalHtml+=ips.templates.render('core.editor.emoticonCategory',{title:ips.getString('emoji-category-recent'),categoryID:category,emoticons:categoryHtml});categoryHtml='';emojiForThisRow='';}}
if(newRecentlyUsed!=recentlyUsed){ips.utils.cookie.set('recentEmoji',newRecentlyUsed.join(','),true);}}
for(var i in categories){var category=categories[i];var categoryCount=0;for(var i=0;i<emoji[category].length;i++){var codeToUse=emoji[category][i].code;emojiForThisRow+=ips.templates.render('core.editor.emoji',{display:chatbox.emoji.preview(codeToUse),name:ips.haveString('emoji-'+emoji[category][i].name)?ips.getString('emoji-'+emoji[category][i].name):emoji[category][i].name,code:codeToUse});pos++;categoryCount++;if(pos==8){categoryHtml+=ips.templates.render('core.editor.emoticonRow',{emoticons:emojiForThisRow});pos=0;emojiForThisRow='';}}
if(!search){if(pos){categoryHtml+=ips.templates.render('core.editor.emoticonRow',{emoticons:emojiForThisRow});}
if(categoryHtml){var categoryTitle=emoji[category][0].categoryName;finalHtml+=ips.templates.render('core.editor.emoticonCategory',{title:categoryTitle,categoryID:category,emoticons:categoryHtml});categoryHtml='';pos=0;emojiForThisRow='';menuContent.push(ips.templates.render('core.editor.emoticonMenu',{title:categoryTitle,count:categoryCount,categoryID:category}));}}}
$(this.scope).find('[data-role="categoryTrigger"]').show();$(this.scope).find('[data-role="categoryMenu"]').html(menuContent.join(''));this.scope.find('.ipsMenu_innerContent').html(finalHtml);var replaceEmojiInCategory=function(category){var emoji=category.querySelectorAll('img[data-src]');_.each(emoji,function(img){img.setAttribute('src',img.getAttribute('data-src'));img.addEventListener('load',emojiLoaded);});};var emojiLoaded=function(e){e.target.removeAttribute('data-loading');};this.scope.find('.ipsMenu_innerContent .ipsEmoticons_category').each(function(){ips.utils.lazyLoad.observe(this,{preloadCallback:$.noop,imgLoadedCallback:$.noop,loadedCallback:$.noop,loadCallback:function(category){replaceEmojiInCategory(category);var nextCategory=$(this).next('.ipsEmoticons_category');if(nextCategory.length){replaceEmojiInCategory(nextCategory.get(0));}}},{rootMargin:'350px'});});},changeCategory:function(e,data){this.scope.find('.ipsMenu_innerContent').scrollTop(this.scope.find('.ipsMenu_innerContent').scrollTop()+this.scope.find('[data-categoryid="'+data.selectedItemID+'"]').position().top-85);}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('bim.chatbox.ignoredUsers',{initialize:function(){this.on('click','[data-action="delUser"]',this.delUser);this.on('submit','form',this.addnew);this.scope.click();},addnew:function(e){e.preventDefault();var self=this;var form=$(e.currentTarget);ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{self.scope.find('.cToken_close').click();var container=self.scope.find('[data-role="tableRows"]');if(container.length==0){var newCon="<div data-role='tableRows'></div>";self.scope.find('[data-resort="listResort"]').html(newCon);}
self.scope.find('[data-role="tableRows"]').prepend(response.html);}});return false;},delUser:function(e){var self=this;ips.getAjax()($(e.currentTarget).attr('href')).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{$(e.currentTarget).closest('.cbIgRow').remove();}});return false;},});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('bim.chatbox.main',{lmn1:null,lmn2:null,lmn3:null,lmn4:null,lmn5:'',lmn6:null,lmn7:null,lmn8:null,lmn9:null,lmn10:null,lmn11:null,lmn12:true,lmn13:false,lmn14:false,lmn15:false,lmn16:false,lmn17:false,lmn18:0,lmn19:0,lmn20:0,lmn21:0,lmn22:0,lmn23:{},lmn24:null,lmn25:true,lmn26:[],initialize:function(){if(this.scope.find('.convoList').length>0){this.setup();this.on('focus','#searchMem',this.focusSearchMem);this.on('blur','#searchMem',this.blurSearchMem);this.on('click','[data-action="closeSearch"]',this.closeSearch);this.on('click','[data-action="openConversation"]',this.openConversation);this.on('click','[data-action="openRoom"]',this.openRoom);this.on('click','[data-action="createGroup"]',this.createGroup);this.on('change','select[data-action="changeStyle"]',this.selectChangeStyle);this.on('menuItemSelected','.conOptions',this.conOptions);this.on('menuItemSelected','.msgAction',this.msgAction);this.on('click','.convoList [data-action="toggleChat"], .convoTab [data-action="toggleChat"]',this.toggleChat);this.on('click','[data-action="closeChat"]',this.closeChat);this.on('click','[data-action="msgOptions"]',function(e){chatbox.toggleControlMSG(e);return false;});this.on('click','.convoTab .chat_row',function(e){chatbox.hideAllControlMSG(e);});this.on('click','.convoTab [data-action="mention"]',this.mention);if(this.lmn6.autoload){this.scope.find('.convoTab #chatContentIframe').on('scroll',_.bind(this.autoLoad,this));}
else{this.on('click','.convoTab [data-action="loadMore"]',this.loadMore);}
this.on('click','[data-action="convoTabChange"]',this.convoTabChange);this.on('focus','.convoTab .chatInput',this.readTab);this.on('submit','.convoTab .chatboxEditor',this.submitEditor);if(!this.lmn6.use_editor){this.on('click','.convoTab [data-action="sendMSG"]',this.clickSubmit);this.on('keypress','.convoTab #chatInputArea textarea',this.enterSubmit);}
this.on('click','[data-action="refresh"]',this.refresh);}
this.resizeBar();this.on(window,'resize',this.resizeBar);this.scope.bind('resizeBar',this.resizeBar);if($('.mbBottomPlayer').length&&$('.mbBottomPlayer').is(":visible")){this.scope.closest('.chatBar').css({'bottom':'60px'});}
chatbox.initTimeago();this.scope.css('visibility','visible');},setup:function(){var self=this;self.lmn1=ips.getSetting('baseURL')+"index.php?app=chatbox&module=conversation&controller=main";self.lmn2="chatbox_tabs_"+ips.getSetting('memberID');self.lmn3="chatbox_con_off_"+ips.getSetting('memberID');self.lmn6=ips.getSetting('chatbox_conversations');self._blankImage=ips.getSetting('lazyLoadEnabled')?ips.getSetting('blankImg'):null;self.lmn8=self.lmn6.soundfile?self.lmn6.soundfile:ips.getSetting('baseURL')+'applications/core/interface/sounds/notification.mp3';ips.loader.get(['core/interface/howler/howler.core.min.js']).then(function(){self._sound=new Howl({src:self.lmn8,autoplay:false});});self.lmn9=self.scope.find('#convoContent .convoResults');self.lmn10=self.scope.find('#convoContent .searchResults');if(ips.getSetting('chatbox_bar_mini')){$.each(ips.getSetting('chatbox_bar_mini').split(','),function(index,value){if(ips.utils.responsive.currentIs(value.toLowerCase())){self.lmn25=false;return false;}});}
if(self.lmn25){var miniTabs=this.getMiniTabs();self.scope.find('.convoTab').each(function(idx){var conID=$(this).find('.chatboxContainer').attr('data-conID');if($(this).hasClass('minimize')&&miniTabs.indexOf('c_'+conID)<0){$(this).removeClass('minimize');}});}
self.updateChat();},syncTabs:function(){var self=this;var existingTabs=[];self.scope.find('.convoTab').each(function(idx){if(!$(this).hasClass('minimize')){var tabID=$(this).find('.chatboxContainer').attr('data-conID');var tabName='convo_'+tabID;if(typeof self.lmn23[tabName]==="undefined"){self.lmn23[tabName]={lastID:0,firstLoad:1,canLoadMore:1,loadingMore:0,};}
if(self.lmn6.sort=='asc'){var lastID=self.lmn23[tabName]['lastID']>0?self.lmn23[tabName]['lastID']:$('.'+tabName).find('.chat_row').last().attr('id');}
else{var lastID=self.lmn23[tabName]['lastID']>0?self.lmn23[tabName]['lastID']:$('.'+tabName).find('.chat_row').first().attr('id');}
self.lmn23[tabName]['lastID']=lastID>0?lastID:0;existingTabs.push(tabName);}});$.each(self.lmn23,function(idx,tab){if($.inArray(idx,existingTabs)===-1){delete self.lmn23[idx];}});},readTab:function(e){var conID=$(e.currentTarget).closest('.chatboxContainer').attr('data-conID');this.updateFocusTabs(conID);},updateFocusTabs:function(conID){var container=$('.convo_'+conID);var currentMsgs=parseInt(container.find('.mainTitle').find('.newMsgCount').text());currentMsgs=isNaN(currentMsgs)?0:currentMsgs;var ftabs=this.lmn19!=0?this.lmn19.split(','):[];if(ftabs.indexOf(conID)<0){ftabs.unshift(conID);}
if(ftabs.length>0){this.lmn19=ftabs.join(',');}
if(currentMsgs>0&&container.find('.mainTitle').find('.newMsgCount').is(":visible")){container.find('.mainTitle').find('.newMsgCount').hide().text();container.find('.miniTitle').find('.newMsgCount').hide().text();$('.convoTab_chats_content .convoRow[data-conid="'+conID+'"]').find('.newMsgCountTxt').hide().text();$('.convoTab_chats_content .convoRow[data-conid="'+conID+'"]').removeClass('mentionMe');var totalMsgs=parseInt($('.convoList .popupTitle').find('.newMsgCount').text());totalMsgs=isNaN(totalMsgs)?0:totalMsgs-currentMsgs;if(totalMsgs>0){$('.convoList').find('.newMsgCount').show().text(totalMsgs);}
else $('.convoList').find('.newMsgCount').hide().text();if(this.lmn15){if(totalMsgs>0){container.find('.totalMsgCount').show().text(totalMsgs);}
else{container.find('.totalMsgCount').hide().text();}}}},refresh:function(){this.updateChat(true);return false;},updateChat:function(forced){var self=this;if(self.lmn16&&!self.lmn12){return false;}
if(forced==true){self.lmn13=false;clearTimeout(self.lmn7);}
var refreshTime=self.lmn6.interval>=5000?self.lmn6.interval:5000;self.doUpdateChat(function(){self.lmn7=setTimeout(function(){self.updateChat(true);},refreshTime);});},doUpdateChat:function(callback){var self=this;if(self.lmn13){return false;}
self.lmn13=true;var reset_focusTabs=true;self.syncTabs();this.lmn24=ips.getAjax()(self.lmn1+"&do=updateChat",{type:'POST',dataType:'json',data:{tabData:JSON.stringify(self.lmn23),roomsLastUpdate:self.lmn21,conLastMsgID:self.lmn18,activeTab:self.lmn22,focusTabs:self.lmn19,firstLoad:self.lmn12?1:0,}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{if(response.ping){if(response.ping.rooms){$('.convoTab_rooms_content').html(self.myConvoRoomsHTML(response.ping.rooms));$(document).trigger('contentChange',[$('.convoTab_rooms_content')]);self.lmn21=response.ping.rooms[0]['lastUpdate'];if(response.ping.rooms[0]['totalRooms']>0){$('#convoTab_rooms').show();}
else $('#convoTab_rooms').hide();}
if(response.ping.chats){if(self.lmn6.no_counter_popup){$.each(response.ping.chats,function(i,item){if($('.convo_'+item.id).length>0&&!$('.convo_'+item.id).hasClass('minimize')&&parseInt(item.unread)>0){response.ping.chats[i]['unread']="0";self.updateFocusTabs(item.id);reset_focusTabs=false;}});}
$('.convoTab_chats_content').html(self.myConvoChatsHTML(response.ping.chats));if(!$('.convoList').hasClass('minimize')){$('.convoTab_chats_content').width($('.convoList').width());}
$(document).trigger('contentChange',[$('.convoTab_chats_content')]);$(".timeago:not(.loadedAgo)").timeago();self.lmn18=response.ping.chats[0].lastMsgID;}
$('.chatBar').find('.ipsOnlineStatus_online:not(.cbMemOnline)').hide();if(response.ping.online){$.each(response.ping.online,function(id,conID){if($('.convo_'+conID).length>0){$('.convo_'+conID).find('.ipsOnlineStatus_online').show();}
$('.convoRow_'+conID).find('.ipsOnlineStatus_online').show();});}
self.notify(response.ping.chats);}
if(response.tabs){$.each(response.tabs,function(conID,item){if(typeof self.lmn23['convo_'+conID]==="undefined"){return;}
var chatIframe=$('.convo_'+conID).find('#chatContentIframe');var chatContentWrap=$('.convo_'+conID).find('#chatContent');if(self.lmn23['convo_'+conID]['lastID']!=item.lastID&&item.messages){chatContentWrap.find('.noMsg').remove();if(self.lmn6.sort=='asc'){var scroll=(chatIframe.scrollTop()+chatIframe.innerHeight())-chatIframe.prop("scrollHeight");if(scroll>=-30){var canScroll=1;}
chatContentWrap.append(self.chatRowHTML(item.messages,conID));if(self.lmn23['convo_'+conID]['firstLoad']&&!self.lmn6.autoload&&item.messages.length==self.lmn6.limit){chatContentWrap.prepend(ips.templates.render('chatbox.loadMoreBtn'));}
$(document).trigger('contentChange',[chatIframe]);if(canScroll==1||self._forceScrollDown){self.goDown(conID);}}
else{chatContentWrap.prepend(self.chatRowHTML(item.messages,conID));if(self.lmn23['convo_'+conID]['firstLoad']&&!self.lmn6.autoload&&item.messages.length==self.lmn6.limit){chatContentWrap.append(ips.templates.render('chatbox.loadMoreBtn'));}
$(document).trigger('contentChange',[chatIframe]);}
$(".timeago:not(.loadedAgo)").timeago();if(!ips.utils.cookie.get('chatbox_is_silent')){if(ips.utils.cookie.get('chatbox_con_nosound_'+conID)!=1&&self.lmn23['convo_'+conID]['firstLoad']!=1&&!self.lmn17){self._sound.play();}}
chatContentWrap.find('img').imagesLoaded(function(images){self.lmn23['convo_'+conID]['firstLoad']=0;});self.lmn23['convo_'+conID]['lastID']=item.lastID;}
else{chatContentWrap.find('.noMsg').show();}
if(self.lmn25){$('.convo_'+conID).find('.ipsLoading').removeClass('ipsLoading');}});}
if(self.lmn22>0){var noMsgWrapper=$('.convo_'+self.lmn22).find('.noMsg');if(noMsgWrapper.length>0&&noMsgWrapper.is(":hidden")){self.updateChat(true);}
$('.convo_'+self.lmn22).find('.ipsLoading').removeClass('ipsLoading');chatbox.initCleanEditor($('.convo_'+self.lmn22));}
if(response.changes){$.each(response.changes,function(i,val){if(val){$('#'+i+' .chatbox_msg').html(self.parseContent(val));}
else{$('#'+i).remove();}});}}
if(typeof(callback)=='function'){callback();}}).fail(function(){}).always(function(response){self.lmn12=false;self._forceScrollDown=false;self.lmn13=false;self.lmn22=0;self.lmn25=false;if(reset_focusTabs){self.lmn19=0;}});return false;},notify:function(response){if(!response){return;}
var self=this;var totalNewMsg=0;var ftabs=self.lmn19!=0?self.lmn19.split(','):[];if(self.lmn12){var temp={};$.each(response,function(i,item){if(parseInt(item.unread)>0){temp[item.id+""]=item.unread;}});self.lmn20=temp;}
$.each(response,function(i,item){if(ftabs.indexOf(item.id)>=0){return;}
if(parseInt(item.unread)>0){totalNewMsg+=parseInt(item.unread);$('.convo_'+item.id).find('.newMsgCount').show().text(item.unread);$('.convoTab_chats_content [data-conid="'+item.id+'"]').find('.newMsgCountTxt').show().text("("+item.unread+")");if(!self.lmn12){if($.inArray(item.id,self.lmn26)>=0){return;}
if(self.lmn20&&typeof self.lmn20[item.id]!="undefined"){if(item.unread<=self.lmn20[item.id]){return;}
else{self.lmn20[item.id]=item.unread;}}
if(!ips.utils.cookie.get('chatbox_is_silent')){if(ips.utils.cookie.get('chatbox_con_nosound_'+item.id)!=1&&!self.lmn17){self._sound.play();}}
if(self.lmn15){var html=ips.templates.render('chatbox.newcon.notify',{id:item.id,title:item.title,icon:item.icon,lastMsg:item.lastMsg,inDay:item.inDay,time:item.lastMsgTime,});if($('#elFlashMessage').is(':visible')&&$('#elFlashMessage').find('[data-role="newNotification"]').length){$('#elFlashMessage').find('[data-role="newNotification"]').replaceWith(html);}else{ips.ui.flashMsg.show(html,{timeout:5,position:'top',sticky:false,extraClasses:'chatboxflashMsg ipsPadding:half',escape:false});}}
else{if($('.chatBar').find('.convo_'+item.id).length<=0){$('.convoTab_chats_content [data-conid="'+item.id+'"]').click();}}}}
else{$('.convo_'+item.id).find('.newMsgCount').hide().text();$('.convoTab_chats_content [data-conid="'+item.id+'"]').find('.newMsgCountTxt').hide().text();}});if(totalNewMsg>0){$('.convoList').find('.newMsgCount').show().text(totalNewMsg);}
else{$('.convoList').find('.newMsgCount').hide().text();}
if(self.lmn15){var currentTotal=parseInt($('.convoList .mainTitle').find('.newMsgCount').text());if(currentTotal>0){$('.convoTab').find('.totalMsgCount').show().text(currentTotal);}
else{$('.convoTab').find('.totalMsgCount').hide().text();}}},openConversation:function(e){var self=this;var conID=$(e.currentTarget).attr('data-conID');var memberID=$(e.currentTarget).attr('data-memberID');if(conID>0){var popup=$('.chatBar').find('.convo_'+conID);}
else{var title=$(e.currentTarget).find('strong').text();var popup=$('.chatBar').find('.mainTitle .conNames[title="'+title+'"]').closest('.bimChatbox');}
if(popup.length>0){if(popup.hasClass('minimize')){popup.find('.popupTitle[data-action="toggleChat"]').click();}
else popup.fadeOut(80).fadeIn(80).find('.chatInput').focus();return false;}
var ppHTML=ips.templates.render('chatbox.blankCon',{conID:conID});if(ips.getSetting('chatbox_bar_pos')=='left'){$('.chatBar').append(ppHTML);}
else $('.chatBar').prepend(ppHTML);var tempPopup=$('.chatBar').find('.convo_'+conID);ips.getAjax()(self.lmn1+'&do=openConversation',{data:{memberID:memberID,conID:conID,},type:'post'}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});tempPopup.remove();}
else{tempPopup.replaceWith(response.html);var newPopup=$('.chatBar').find('.convo_'+response.conID);newPopup.removeClass('minimize');$(document).trigger('contentChange',[newPopup]);var myPopups=self.getMyPopups();if(myPopups.indexOf('c_'+response.conID)<0){myPopups.unshift('c_'+response.conID);self.saveMyPopups(myPopups.join('|'));}
if($(e.currentTarget).find('.newMsgCountTxt').text()){var unread=parseInt($(e.currentTarget).find('.newMsgCountTxt').text().replace(/^\D+/g,''));newPopup.find('.newMsgCount').text(unread);self.updateFocusTabs(response.conID);}
self.lmn22=response.conID;self.updateChat(true);self.closeOldPopups();$(e.currentTarget).removeClass('mentionMe');self.scope.find('.convo_'+response.conID+' #chatContentIframe').on('scroll',_.bind(self.autoLoad,self));self.resizeBar();if(ips.utils.responsive.currentIs('tablet')||ips.utils.responsive.currentIs('phone')){$('.chatBar').css('width','100%');}}});return false;},createGroup:function(e){var self=this;var dialogRef=ips.ui.dialog.create({url:self.lmn1+'&do=createGroup',size:'narrow',title:ips.getString('chatbox_create_group_title'),forceReload:true,destructOnClose:true,callback:function(e){$(e).find('form').on('submit',function(e){e.preventDefault();ips.getAjax()($(e.currentTarget).attr('action'),{data:$(e.currentTarget).serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{dialogRef.hide();var container=$('.convoTab_chats_content');if(container.find('.convoRow_'+response.conID).length>0){container.find('.convoRow_'+response.conID).click();}
else{var html=ips.templates.render('chatbox.newcon.temp',{id:response.conID});container.append(html);$(document).trigger('contentChange',[$('#convoIframe')]);container.find('.convoRow_'+response.conID).click();}
container.find('.tempCon.convoRow_'+response.conID).remove();}});return false;});}});dialogRef.show();return false;},configGroup:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');var container=$('.convo_'+conID);if(container.find('.cbConfigGroupForm').length>0){return false;}
ips.getAjax()(self.lmn1+'&do=configGroup',{type:'post',data:{conID:conID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{container.find('#conOptions'+conID+'_menu').hide();container.find('#convoWrapper').prepend(response);$(document).trigger('contentChange',[container]);container.find('.cbConfigGroupForm').on('submit',function(e){e.preventDefault();ips.getAjax()($(e.currentTarget).attr('action'),{data:$(e.currentTarget).serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{$(e.currentTarget).closest('form').remove();ips.ui.flashMsg.show(ips.getString('chatbox_group_saved'));}});return false;});container.find('.cbConfigGroupForm .formCancel').on('click',function(e){$(e.currentTarget).closest('form').remove();return false;});}});return false;},inviteGroup:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');var container=$('.convo_'+conID);if(container.find('.cbInviteGroupForm').length>0){return false;}
ips.getAjax()(self.lmn1+'&do=inviteGroup',{type:'post',data:{conID:conID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{container.find('#conOptions'+conID+'_menu').hide();container.find('#convoWrapper').prepend(response);$(document).trigger('contentChange',[container]);container.find('.cbInviteGroupForm').on('submit',function(e){e.preventDefault();ips.getAjax()($(e.currentTarget).attr('action'),{data:$(e.currentTarget).serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{$(e.currentTarget).closest('form').remove();self.lmn17=true;self.lmn22=conID;self.updateChat(true);self.lmn6.lastchat=$.now();}});return false;});container.find('.cbInviteGroupForm .formCancel').on('click',function(e){$(e.currentTarget).closest('form').remove();return false;});}});return false;},renameGroup:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');var container=$('.convo_'+conID);if(container.find('.cbRenameGroupForm').length>0){return false;}
ips.getAjax()(self.lmn1+'&do=renameGroup',{type:'post',data:{conID:conID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{container.find('#conOptions'+conID+'_menu').hide();container.find('#convoWrapper').prepend(response);$(document).trigger('contentChange',[container]);container.find('.cbRenameGroupForm').on('submit',function(e){e.preventDefault();ips.getAjax()($(e.currentTarget).attr('action'),{data:$(e.currentTarget).serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{$(e.currentTarget).closest('form').remove();self.updateConName(conID,response.newName);self.lmn17=true;self.lmn22=conID;self.updateChat(true);self.lmn6.lastchat=$.now();}});return false;});container.find('.cbRenameGroupForm .formCancel').on('click',function(e){$(e.currentTarget).closest('form').remove();return false;});}});return false;},updateConName:function(conID,newName){var container=$('.convo_'+conID);if(newName&&newName!=container.find('.conNames').text()){container.find('.conNames').attr('title',newName);container.find('.conNames').text(newName);var convoList=$('.convoList .convoRow_'+conID+' .conRowName');convoList.attr('title',newName);convoList.find('b').text(newName);}},leaveGroup:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');ips.ui.alert.show({type:'confirm',message:ips.getString('chatbox_leave_con_cfr'),icon:'warn',buttons:{ok:ips.getString('chatbox_confirm_yes'),cancel:ips.getString('chatbox_confirm_cancel')},callbacks:{ok:function(){ips.getAjax()(self.lmn1+'&do=leaveGroup',{type:'post',data:{conID:conID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{self.closeConversation(conID);self.resizeBar();ips.ui.flashMsg.show(ips.getString('chatbox_you_left_group'));}});}}});return false;},usersInGroup:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');var container=$('.convo_'+conID);var dialogRef=ips.ui.dialog.create({url:self.lmn1+'&do=usersInGroup&conID='+conID,title:ips.getString('chatbox_group_member'),size:'narrow',forceReload:true,destructOnClose:true,destructOnClose:true,callback:function(e){}});dialogRef.show();return false;},loadMore:function(e){var self=this;var container=$(e.currentTarget).closest('#chatContentIframe');var content=container.find('#chatContent');var conID=container.closest('.chatboxContainer').attr('data-conID');if($('.convo_'+conID).length==0||typeof self.lmn23['convo_'+conID]==="undefined"||self.lmn23['convo_'+conID]['loadingMore']==1){return false;}
self.lmn23['convo_'+conID]['loadingMore']=1;var oldID=self.lmn6.sort=='asc'?content.children('.chat_row:first').attr('id'):content.children('.chat_row:last').attr('id');ips.getAjax()(self.lmn1+"&do=updateOpenTabs",{type:'post',dataType:'json',data:{tabData:JSON.stringify(self.lmn23),activeTab:conID,loadMoreMode:oldID,}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{if(response.tabs[conID]){if(response.tabs[conID].noMore==1){$(e.currentTarget).remove();ips.ui.flashMsg.show(ips.getString('chatbox_no_older'));}
else{var newContent=response.tabs[conID].messages;if(newContent){if(self.lmn6.sort=='asc'){$(e.currentTarget).after(self.chatRowHTML(newContent,conID));container.scrollTop(content.find('#'+oldID).position().top-50);}
else{$(e.currentTarget).before(self.chatRowHTML(newContent,conID));}
$(document).trigger('contentChange',[container]);$(".timeago:not(.loadedAgo)").timeago();}}}}}).always(function(){self.lmn23['convo_'+conID]['loadingMore']=0;});return false;},autoLoad:function(e){if(!this.lmn6.autoload){return false;}
var self=this;var container=$(e.currentTarget);var content=container.find('#chatContent');var conID=container.closest('.chatboxContainer').attr('data-conID');if($('.convo_'+conID).length==0||typeof self.lmn23['convo_'+conID]==="undefined"||self.lmn23['convo_'+conID]['firstLoad']==1||self.lmn23['convo_'+conID]['canLoadMore']!=1){return false;}
if(this.lmn6.sort=='asc'){if(container.scrollTop()!=0){return false;}
var oldID=content.children().first().attr('id');}
else{if(container.scrollTop()+container.innerHeight()<container[0].scrollHeight){return false;}
var oldID=content.children().last().attr('id');}
if(container.find('#loadMore').length<=0){var html=ips.templates.render('chatbox.loadMore');if(this.lmn6.sort=='asc'){content.prepend(html);}
else{content.append(html);}}
self.lmn23['convo_'+conID]['canLoadMore']=0;self.lmn23['convo_'+conID]['loadingMore']=1;ips.getAjax()(self.lmn1+"&do=updateOpenTabs",{type:'post',dataType:'json',data:{tabData:JSON.stringify(self.lmn23),activeTab:conID,loadMoreMode:oldID,}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{if(response.tabs[conID]){if(response.tabs[conID].noMore==1){ips.ui.flashMsg.show(ips.getString('chatbox_no_older'));}
else{var newContent=response.tabs[conID].messages;if(newContent){if(self.lmn6.sort=='asc'){content.prepend(self.chatRowHTML(newContent,conID));container.scrollTop(content.find('#'+oldID).position().top-50);}
else{content.append(self.chatRowHTML(newContent,conID));}
$(document).trigger('contentChange',[container]);$(".timeago:not(.loadedAgo)").timeago();self.lmn23['convo_'+conID]['canLoadMore']=1;}}}}
container.find('#loadMore').remove();}).always(function(){self.lmn23['convo_'+conID]['loadingMore']=0;});},msgAction:function(e,data){e=data?data.originalEvent:e;e.preventDefault();var self=this;var action=$(e.target).attr('data-action');var chatID=$(e.target).attr('data-chatID');if(action){switch(action){case'edit':self.editEditor(chatID);break;case'delete':self.deleteMSG(chatID);break;case'report':self.reportMSG(chatID);break;}
return false;}
return false;},deleteMSG:function(chatID){var self=this;ips.ui.alert.show({type:'confirm',message:ips.getString('chatbox_confirmDelete'),icon:'warn',buttons:{ok:ips.getString('chatbox_confirm_yes'),cancel:ips.getString('chatbox_confirm_cancel')},callbacks:{ok:function(){ips.getAjax()(self.lmn1+"&do=deleteMSG",{type:'post',data:{chatID:chatID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{ips.ui.flashMsg.show(ips.getString('chatbox_deleted'));self.scope.find('li#'+chatID).remove();}})}}});return false;},reportMSG:function(chatID){var self=this;var convoID=self.scope.find('li#'+chatID).closest('.chatboxContainer').attr('data-conID');var dialogRef=ips.ui.dialog.create({url:ips.getSetting('baseURL')+"index.php?app=chatbox&module=conversation&controller=conversation&do=reportComment&id="+convoID+"&comment="+chatID,size:'medium',title:ips.getString('chatbox_report'),forceReload:false,destructOnClose:true,callback:function(e){$(e).find('form').on('submit',function(e){e.preventDefault();for(var instance in CKEDITOR.instances){CKEDITOR.instances[instance].updateElement();}
var form=$(e.currentTarget);ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){ips.ui.flashMsg.show(ips.getString('chatbox_sent_report'));}).always(function(response){dialogRef.hide();});return false;});}});dialogRef.show();return false;},toggleInputForm:function(conID,status){var container=$('.convo_'+conID);var textArea=container.find('.chatInput');var button=container.find('[data-action="sendMSG"]');if(status==1){this.lmn14=false;button.prop('disabled',false);textArea.val("");if(textArea.closest('#chatInputArea').hasClass('expanded')){textArea.closest('#chatInputArea').removeClass('expanded');textArea.css('height','auto');$('.chatBar').trigger('resizeBar');}}
else
{this.lmn14=true;button.prop('disabled',true);}},getMyPopups:function(){return ips.utils.cookie.get(this.lmn2)?ips.utils.cookie.get(this.lmn2).split('|'):[];},saveMyPopups:function(value){ips.utils.cookie.set(this.lmn2,value);return;},getMiniTabs:function(){return ips.utils.cookie.get(this.lmn3)?ips.utils.cookie.get(this.lmn3).split('|'):[];},saveMiniTabs:function(value){ips.utils.cookie.set(this.lmn3,value);return;},myConvoRoomsHTML:function(response){var self=this;var inChatPage=($('body').data('pageapp')=='chatbox'&&$('body').data('pagecontroller')=='room');var template="";$.each(response,function(id,item){if(inChatPage&&item.id==$('body').data('pageid')){$('.room_'+item.id).find('[data-action="closeChat"]').click();return;}
template+=ips.templates.render('chatbox.convo.list.rooms',{id:item.id,title:item.title,icon:item.icon,users:item.users,});});return template;},myConvoChatsHTML:function(response){var template="";var self=this;$.each(response,function(id,item){if(item.lastMsg||item.isGroup){template+=ips.templates.render('chatbox.newcon.chats',{id:item.id,title:item.title,name:item.name,icon:item.icon,isOnline:item.isOnline,lastMsg:item.lastMsg.replace("&#44;",", "),inDay:item.inDay,lastMsgTime:item.lastMsgTime,unread:item.unread>0?item.unread:null,isGroup:item.isGroup,});if(item.isGroup){self.updateConName(item.id,item.name);}}
if($('.convo_'+item.id).length>0){var onlineIcon=$('.convo_'+item.id).find('.ipsOnlineStatus_online');if(!item.isOnline&&onlineIcon.is(":visible")){onlineIcon.hide();}
else if(item.isOnline&&onlineIcon.is(":hidden")){onlineIcon.show();}}});return template;},convoTabChange:function(e){var id=$(e.currentTarget).attr('id');$(e.currentTarget).closest('.convoTabs').find('a').removeClass('isActive');$(e.currentTarget).addClass('isActive');$('.cvtabContent').hide();$('.'+id+'_content').show();return false;},closeOldPopups:function(){if(!this.lmn15){var popupWidth=320;if($(window).width()<(popupWidth+10)*$('.chatBar .inGlobalChat').length-1){if(ips.getSetting('chatbox_bar_pos')=='left'){$('.chatBar .inGlobalChat:first').next().find('[data-action="closeChat"]').click();}
else $('.chatBar .inGlobalChat:last').prev().find('[data-action="closeChat"]').click();}}},focusSearchMem:function(){this.lmn4=setInterval(_.bind(this.checkSearching,this),700);},blurSearchMem:function(){clearInterval(this.lmn4);},closeSearch:function(){this.lmn5=null;$('.closeSearchBtn').hide();this.lmn10.hide();this.lmn9.show();this.scope.find('#searchMem').val('');return false;},checkSearching:function(){var value=this.scope.find('#searchMem').val();if(value.length<3||value==this.lmn5){if(!value){this.closeSearch();}
return;}
this.lmn5=value;$('.closeSearchBtn').show();if(this.lmn11&&this.lmn11.abort){this.lmn11.abort();}
var self=this;this.lmn11=ips.getAjax()(self.lmn1+'&do=findMember',{data:{input:self.lmn5,},type:'post'}).done(function(response){if(response.length){var template="";$.each(response,function(i,item){template+=ips.templates.render('chatbox.newcon.mem',{value:self.lmn5,id:item.id,photo:item.photo,isOnline:item.isOnline,name:item.name,extra:item.extra,conID:item.conID,isBan:item.isBan,});});self.lmn10.html(template).show();self.lmn9.hide();}});return false;},openRoom:function(e){var self=this;var roomID=$(e.currentTarget).attr('data-roomID');var theRoom=$('.chatBar').find('.room_'+roomID);if(theRoom.length>0){if(theRoom.hasClass('minimize')){theRoom.find('.popupTitle[data-action="toggleChat"]').click();}
else theRoom.fadeOut(80).fadeIn(80).find('.chatInput').focus();return;}
var ppHTML=ips.templates.render('chatbox.blankRoom',{roomID:roomID});if(ips.getSetting('chatbox_bar_pos')=='left'){$('.chatBar').append(ppHTML);}
else $('.chatBar').prepend(ppHTML);var tempPopup=$('.chatBar').find('.room_'+roomID);ips.getAjax()(self.lmn1+'&do=openRoom',{type:'post',data:{room:roomID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});tempPopup.remove();}
else{tempPopup.replaceWith(response.html);ips.setSetting('chatbox_'+roomID,response.config);var newPopup=$('.chatBar').find('.room_'+roomID);newPopup.removeClass('minimize');$(document).trigger('contentChange',[newPopup]);if(newPopup.find('.chatInput')){newPopup.find('.chatInput').focus();}
var myPopups=self.getMyPopups();if(myPopups.indexOf('r_'+roomID)<0){myPopups.unshift('r_'+roomID);self.saveMyPopups(myPopups.join('|'));}
self.closeOldPopups();self.resizeBar();}});return false;},chatRowHTML:function(response,conID){var self=this;var template="";var memberHovercard="";var chatterUrl="";var style='chatbox.style.'+this.updateStyle(conID);var confFormat=ips.getSetting('chatbox_userFormat');var chatterNameFormat="";$.each(response,function(i,item){if(item.chatterID>0){chatterUrl=ips.getSetting('baseURL')+"index.php?app=core&module=members&controller=profile&id="+item.chatterID;memberHovercard=chatterUrl+"&do=hovercard";chatterNameFormat=confFormat[item.chatterGroup]['prefix']+item.chatterName+confFormat[item.chatterGroup]['suffix'];template+=ips.templates.render(style,{id:item.id,chatterID:item.chatterID,chatterName:item.chatterName,chatterKey:item.chatterKey,chatterNameFormat:chatterNameFormat,chatterPhoto:item.chatterPhoto,chatterUrl:chatterUrl,memberHovercard:memberHovercard,content:self.parseContent(item.content),callme:(item.content.indexOf("@"+ips.getSetting('chatbox_member_name'))!=-1)?true:false,isMe:(item.chatterName==ips.getSetting('chatbox_member_name'))?true:false,inDay:item.inDay,time:item.time,canEdit:item.canEdit,canDelete:item.canDelete,canReport:(item.chatterName!=ips.getSetting('chatbox_member_name'))?item.canReport:false,canManageMSG:(item.canEdit||item.canDelete),});}
else{template+=ips.templates.render('chatbox.style.con.system',{id:item.id,content:item.content,inDay:item.inDay,time:item.time,canDelete:item.canDelete,});}});return template;},parseContent:function(message){if(this.lmn6.use_editor){return message;}
return chatbox.parseContent(message,this.lmn6);},enterSubmit:function(e){if(e.which===13){e.preventDefault();$(e.currentTarget).closest('.chatboxEditor').submit();return false;}},clickSubmit:function(e){console.log('aaaa');$(e.currentTarget).closest('#chatInputArea').find('form').submit();return false;},submitEditor:function(e){e.preventDefault();var self=this;if(self.lmn14){return false;}
var conID=$(e.currentTarget).closest('.chatboxConPopup').attr('data-conID');var container=$('.convo_'+conID);var form=container.find('.chatboxEditor');if(this.lmn6.use_editor){var editor=CKEDITOR.instances['chatCON_'+conID];var msg=editor.getData();}
else{var msg=form.find('textarea').val();msg=chatbox.escapeHTML(msg);}
if(self.scope.find('.chatboxEditor .ipsAttach_done').length==0||msg){if(self.checkMSG(msg)==0){return false;}}
if(self.checkFlood()==0){return false;}
if(editor){form.find('button[type="submit"]').prop('disabled',true).text(ips.getString('chatbox_posting'));}
else{self.toggleInputForm(conID,0);}
self.lmn14=true;ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});self.lmn14=false;}
else if(response.type=='deletedCon'){ips.ui.alert.show({message:response.message});self.closeConversation(response.conID);}
else{self.lmn17=true;self.lmn22=conID;self.updateChat(true);self.lmn6.lastchat=$.now();$('.chatBar').trigger('resizeBar');}}).always(function(){self.lmn14=false;self._forceScrollDown=true;self.lmn23['convo_'+conID]['loadingMore']=0;if(editor){ips.ui.editor.getObj(container.find('[data-role="chatboxFormArea"] [data-ipsEditor]')).reset();form.find('button[type="submit"]').prop('disabled',false).text(ips.getString('chatbox_send'));}
else{self.toggleInputForm(conID,1);container.find('.charCount').hide();if(self.scope.find('#chatInputArea [data-role="deleteFile"]').length>0){self.scope.find('#chatInputArea [data-role="deleteFile"]').each(function(){$(this).click();});}}});return false;},editEditor:function(chatID){var self=this;var container=self.scope.find('li#'+chatID).closest('.chatboxContainer');var conID=container.attr('data-conID');var dialogRef=ips.ui.dialog.create({url:self.lmn1+'&do=editEditor&chatID='+chatID,size:self.lmn6.use_editor?'normal':'narrow',title:ips.getString('chatbox_edit'),forceReload:true,destructOnClose:true,callback:function(){if(!self.lmn6.use_editor){var wrapper=$('.ipsDialog_content .cbCleanTextEdit');wrapper.find('textarea').on('keypress',function(i){if(i.which===13){wrapper.submit();return false;}});}
else{var wrapper=$('.ipsDialog_content .cbEditorEdit').find('form');}
wrapper.on('submit',function(e){e.preventDefault();if(self.lmn6.use_editor){var editor=CKEDITOR.instances['chatCON_'+conID+'_'+chatID];editor.updateElement();var msg=editor.getData();}
else{var msg=$(this).find('textarea').val();msg=chatbox.escapeHTML(msg);}
if($(e.currentTarget).find('.ipsAttach_done').length==0||msg){if(self.checkMSG(msg)==0){return false;}}
var data=$(e.currentTarget).serializeArray();data.push({name:"newMsg",value:msg});ips.getAjax()($(e.currentTarget).attr('action'),{data:data,type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{ips.ui.flashMsg.show(ips.getString('chatbox_edited'));container.find("#chatRow_"+chatID+" .chatbox_msg").html(self.parseContent(response.content));$(document).trigger('contentChange',[container]);}}).always(function(response){dialogRef.hide();});return false;});}});dialogRef.show();return false;},checkFlood:function(){var self=this;if(self.lmn6.flood>0&&self.lmn6.canManage!=1&&!self.lmn6.canBypassFlood){var delay=($.now()-self.lmn6.lastchat)/1000;if(delay<self.lmn6.flood){ips.ui.alert.show({message:ips.getString('chatbox_error_flood',{time:(self.lmn6.flood-delay).toFixed(2)})});return 0;}}
return 1;},checkMSG:function(msg){var msg=msg.trim(),max=this.lmn6.length;if(msg.length<=0){ips.ui.alert.show({message:ips.getString('chatbox_error_empty')});return 0;}
if(max>0&&msg.length>max){ips.ui.alert.show({message:ips.pluralize(ips.getString('chatbox_error_maxlength'),max)});return 0;}
return 1;},conOptions:function(e,data){e=data?data.originalEvent:e;e.preventDefault();var self=this;switch($(e.target).attr('data-action')){case'toggleSound':self.toggleSound(e,data);break;case'closeAllTabs':self.closeAllTabs(e,data);break;case'miniAllTabs':self.miniAllTabs(e,data);break;case'silentMode':self.silentMode(e,data);break;case'delCon':self.delCon(e,data);break;case'configGroup':self.configGroup(e,data);break;case'inviteGroup':self.inviteGroup(e,data);break;case'renameGroup':self.renameGroup(e,data);break;case'leaveGroup':self.leaveGroup(e,data);break;case'usersInGroup':self.usersInGroup(e,data);break;case'changeSkin':self.changeSkin(e,data);break;case'changeStyle':self.changeStyle(e,data);break;}},toggleSound:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');var cookie=ips.utils.cookie.get('chatbox_con_nosound_'+conID);$(e.target).find('.fa').replaceWith($('<i/>').addClass('fa').addClass(cookie!=1?'fa-volume-off':'fa-volume-up').removeClass(cookie!=1?'fa-volume-up':'fa-volume-off'));ips.utils.cookie.set('chatbox_con_nosound_'+conID,cookie==1?0:1);},closeAllTabs:function(e,data){data.originalEvent.preventDefault();$('.chatBar').find('.inGlobalChat').each(function(idx){$(this).find('.miniTitle [data-action="closeChat"]').click();});return false;},miniAllTabs:function(e,data){data.originalEvent.preventDefault();$('.chatBar').find('.inGlobalChat').each(function(idx){if(!$(this).hasClass('minimize')){$(this).find('.mainTitle [data-action="toggleChat"]').click();}});return false;},silentMode:function(e,data){data.originalEvent.preventDefault();var self=this;var msg='';var cookie=ips.utils.cookie.get('chatbox_is_silent');$(e.target).find('.cbToggleIcon').addClass(cookie==1?'fa-toggle-off':'fa-toggle-on').removeClass(cookie==1?'fa-toggle-on':'fa-toggle-off');ips.utils.cookie.set('chatbox_is_silent',cookie==1?0:1);if(ips.utils.cookie.get('chatbox_is_silent')==1){msg=ips.getString('chatbox_on_silent');$('[data-action="toggleSound"]').closest('li').hide();}
else{msg=ips.getString('chatbox_off_silent');$('[data-action="toggleSound"]').closest('li').show();}
ips.ui.flashMsg.show(msg);return false;},delCon:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');ips.ui.alert.show({type:'confirm',message:ips.getString('chatbox_del_con_cfr'),icon:'warn',buttons:{ok:ips.getString('chatbox_confirm_yes'),cancel:ips.getString('chatbox_confirm_cancel')},callbacks:{ok:function(){ips.getAjax()(self.lmn1+'&do=delCon',{type:'post',data:{conID:conID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{self.closeConversation(conID);self.resizeBar();}});}}});return false;},changeSkin:function(e,data){data.originalEvent.preventDefault();var self=this;var skin=$(e.target).data('skin');var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');$(e.target).closest('.chatboxSkins').find('li').removeClass('skinSelected');$(e.target).addClass('skinSelected');$(e.target).closest('.bimChatbox').removeClass(function(index,className){return(className.match(/(^|\s)skin_\S+/g)||[]).join(' ');});$(e.target).closest('.bimChatbox').addClass('skin_'+skin);if(conID>0){ips.utils.cookie.set('chatbox_con_skin_'+conID,skin);}
else{ips.utils.cookie.set('chatbox_maincon_skin',skin);}
return false;},changeStyle:function(e,data){data.originalEvent.preventDefault();var self=this;var conID=$(e.target).closest('.chatboxContainer').attr('data-conID');$(e.target).one('change',function(){self.applyNewStyle(conID,this.value);return false;});return false;},applyNewStyle(conID,style){if(ips.utils.cookie.get('chatbox_con_style_'+conID)==style){return;}
ips.utils.cookie.set('chatbox_con_style_'+conID,style);$('.convo_'+conID).find('#chatContent').empty();this.lmn23['convo_'+conID]['lastID']=0;this.lmn19=conID;this.lmn22=conID;this.updateChat(true);},updateStyle:function(conID){var style=this.lmn6.allow_select_skins==1&&ips.utils.cookie.get('chatbox_con_style_'+conID)?ips.utils.cookie.get('chatbox_con_style_'+conID):(this.lmn6.style?this.lmn6.style:'standard');return style;},selectChangeStyle:function(e){var conID=$(e.currentTarget).closest('.chatboxContainer').attr('data-conID');var style=$(e.currentTarget).find(':selected').val();this.applyNewStyle(conID,style);return false;},mention:function(e){e.preventDefault();chatbox.mention(e,this.lmn6.use_editor);return false;},resizeBar:function(){if($('.chatBar').find('.convoList').length>0){if(ips.utils.responsive.currentIs('tablet')||ips.utils.responsive.currentIs('phone')){$('.chatBar').addClass('chatBoxMessenger');this.lmn15=true;var existingTabs=$('.chatBar').find('.openFromBar').length;if(existingTabs==0){$('.chatBar').find('.convoList').show();}
else if(existingTabs==1){$('.chatBar').find('.convoList').hide();}
else if(existingTabs>1){$('.chatBar').find('.openFromBar').each(function(idx){$(this).find('[data-action="closeChat"]').click();});}}
else
{$('.chatBar').find('.convoList').show();$('.chatBar').removeClass('chatBoxMessenger');this.lmn15=false;}}
var maxHeight=ips.getSetting('chatbox_bar_full')==1&&ips.utils.responsive.currentIs('phone')?$(window).height():ips.getSetting('chatbox_popup_height');if($('.mbBottomPlayer').length&&$('.mbBottomPlayer').is(":visible")){maxHeight=maxHeight-60;}
$(".chatBar .inGlobalChat").each(function(){if(!$(this).hasClass('minimize')){var fixedHeight=maxHeight<=$(window).height()?maxHeight:$(window).height();var iframe=$(this).find('.cbScroll');if(ips.getSetting('chatbox_force_scroll_down')!=1){var inBottom=((iframe.scrollTop()+iframe.innerHeight())-iframe.prop("scrollHeight")>=-30)?true:false;}
else var inBottom=true;if(fixedHeight<=$(this).height()){iframe.height(iframe.height()-($(this).height()-fixedHeight));}
else{iframe.height(maxHeight-($(this).height()-iframe.height()));}
if($(this).height()>$(window).height()){iframe.height(iframe.height()-($(this).height()-$(window).height()));}
if(inBottom&&iframe.hasClass('asc')){iframe.scrollTop(iframe.prop("scrollHeight"));}}});$('.cbLastMSG').width($('.convoList').width()-63);return false;},toggleChat:function(e){e.preventDefault();var wrapper=$(e.currentTarget).closest('.bimChatbox');var conID=wrapper.hasClass('convoTab')?wrapper.find('.chatboxContainer').attr('data-conID'):0;var miniTabs=this.getMiniTabs();if(wrapper.hasClass('minimize')){if($(e.currentTarget).find('.unknown').length>0){wrapper.find('[data-action="closeChat"]').click();return false;}
wrapper.removeClass('minimize');if(wrapper.hasClass('convoTab')){this.updateFocusTabs(conID);this.lmn22=conID;this.updateChat(true);}
this.resizeBar();if(this.lmn15){$('.chatBar').css({'width':'100%'});}
miniTabs.splice($.inArray('c_'+conID,miniTabs),1);}
else{wrapper.addClass('minimize');if(this.lmn15){$('.chatBar').css({'width':'auto'});}
if(miniTabs.indexOf('c_'+conID)<0){miniTabs.unshift('c_'+conID);}}
this.saveMiniTabs(miniTabs.join('|'));return false;},closeChat:function(e){var self=this;var myPopups=self.getMyPopups();var miniTabs=self.getMiniTabs();var container=$(e.currentTarget).closest('.chatboxContainer');var isMini=container.closest('.bimChatbox').hasClass('minimize');if(container.hasClass('chatboxConPopup')){var id=container.attr('data-conID');var name='c_'+id;delete self.lmn23['convo_'+id];}
else{var id=container.attr('data-roomID');var name='r_'+id;}
myPopups.splice($.inArray(name,myPopups),1);self.saveMyPopups(myPopups.join('|'));miniTabs.splice($.inArray(name,miniTabs),1);self.saveMiniTabs(miniTabs.join('|'));$(e.currentTarget).closest('.bimChatbox').remove();if(self.lmn15&&$('.convoList').hasClass('minimize')){$('.convoList').find('.miniTitle[data-action="toggleChat"]').click();}
else{self.resizeBar();}
if($.inArray(id,self.lmn26)<0){self.lmn26.push(id);}
return false;},closeConversation:function(conID){$('.convo_'+conID).find('[data-action="closeChat"]').click();$('.convoTab_chats_content').find('[data-conid="'+conID+'"]').remove();},goDown:function(conID){var self=this;var chatIframe=$('.convo_'+conID).find('#chatContentIframe');var chatContentWrap=$('.convo_'+conID).find('#chatContent');var loadingMore=self.lmn23['convo_'+conID]['loadingMore']==0?false:true;if(!loadingMore){chatIframe.scrollTop(chatIframe.prop("scrollHeight"));}
if(self._blankImage){}
else{chatIframe.find('img').imagesLoaded(function(images){if(!loadingMore){chatIframe.scrollTop(chatIframe.prop("scrollHeight"));}});}},});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('bim.chatbox.media',{lmn1:null,lmn2:null,lmn3:null,lmn4:'',lmn5:0,initialize:function(){if(this.scope.find('#chatInputArea textarea').length>0){this.on('click','[data-action="emoji"]',this.emoji);this.on('click','[data-action="bimGiphy"]',this.bimGiphy);this.on('focus','#chatInputArea textarea',this.focusChatInput);this.on('blur','#chatInputArea textarea',this.blurChatInput);this.on('input','#chatInputArea textarea',this.autoGrowTextarea);if(!$('body').find('#chatboxEmoji_menu').length){$('body').append(ips.templates.render(ips.getSetting('chatbox_no_emoji')==1?'chatbox.emoticons':'core.editor.emoticons',{id:'chatboxEmoji',editor:'chatboxEditor',}));}
if(!ips.utils.db.get('chatboxEmoji',ips.getSetting('baseURL')+'-'+ips.getSetting('emoji_cache'))){chatbox.emoji.getEmoji();}}
else
{this.on('click','.ipsAttachLink_image',this.lightboxIMG);}
this.on('click','[data-action="zoomImage"]',this.zoomImage);this.on('click','[data-action="playVideoInPopup"]',this.playVideoInPopup);this.on('click','[data-action="playVideoInIframe"]',this.playVideoInIframe);this.on('fileAdded',this.fileAdded);this.on('fileDeleted',this.deletedFile);if(this.scope.closest('.bimChatbox').attr('id')=='roomChat'){this.lmn1=this.scope.attr('data-roomID');this.lmn2=ips.getSetting('chatbox_'+this.lmn1);}
else{this.lmn1=this.scope.attr('data-conID');this.lmn2=ips.getSetting('chatbox_conversations');}
var chatInput=this.scope.find('#chatInputArea textarea');chatInput.val('');if(!this.lmn2.autogrow){chatInput.css('white-space','pre');}
if(this.lmn2.length>0){chatInput.attr('maxlength',this.lmn2.length);}},lightboxIMG:function(e){if(typeof $(e.currentTarget).data('ipslightbox')==='undefined'){$(e.currentTarget).attr('data-ipslightbox','');$(document).trigger('contentChange',[$(e.currentTarget)]);$(e.currentTarget).click();return false;}},autoGrowTextarea:function(e){e.preventDefault();var ta=$(e.currentTarget);var charMax=this.lmn2.length;if(charMax>0){var chars=ta.val().length;var charCountWrap=this.scope.find('.charCount');charCountWrap.text(chars+"/"+charMax);if(chars==0){charCountWrap.hide();}
else{charCountWrap.show();if(chars<=charMax){if(charCountWrap.hasClass('isOver')){charCountWrap.removeClass('isOver');}}
else{if(!charCountWrap.hasClass('isOver')){charCountWrap.addClass('isOver');}}}}
if(this.lmn2.autogrow){var container=ta.closest('.bimChatbox');var defaultHeight=container.height();var editorDiv=ta.closest('#chatInputArea');var currentHeight=ta.height();var resize=false;ta.css('height','auto').css('height',ta[0].scrollHeight+'px');var mheight=container.height()-editorDiv.height();ta.css('max-height',mheight+'px');if(!editorDiv.hasClass('expanded')){if(currentHeight<ta.height()){editorDiv.addClass('expanded');resize=true;}}
else{if(ta.val().length==0&&ta.find('.ipsAttach').length==0){editorDiv.removeClass('expanded');resize=true;}}
if(!resize&&currentHeight!=ta.height()){resize=true;}
if(resize){if(editorDiv.hasClass('sort_asc')){var cIframe=container.find('#chatContentIframe');if((cIframe.scrollTop()+cIframe.innerHeight())-cIframe.prop("scrollHeight")>=-30){var canScroll=true;}}
if(ta.closest('.inGlobalChat').length>0){$('.chatBar').trigger('resizeBar');}
else{var iframe=container.find('.cbScroll');var h=container.height();if(h>defaultHeight){iframe.height(iframe.height()-(h-defaultHeight));}
else if(container.height()<defaultHeight){iframe.height(iframe.height()+(defaultHeight-h));}}
if(canScroll){cIframe.scrollTop(cIframe.prop("scrollHeight"));}}}},emoji:function(e){e.preventDefault();if($('#chatboxEmoji_menu').find('.ipsEmoticons_contentLoading').length>0){$(document).trigger('contentChange',[$('#chatboxEmoji_menu')]);}
$('#chatboxEmoji').attr('id','');var btn=$(e.currentTarget);btn.attr('id','chatboxEmoji');btn.attr('data-ipsmenu','');btn.attr('data-ipsmenu-closeonclick','false');$('#chatboxEmoji_menu').attr('data-btnID',btn.attr('data-btnID'));},zoomImage:function(e){e.preventDefault();var from=this.scope.closest('.bimChatbox').attr('id')=='roomChat'?'room':'con';var chatID=$(e.currentTarget).closest('.chat_row').attr('id');var thumb=$(e.currentTarget).attr('href');ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=chatbox&module=chatbox&controller=chatbox&do=zoomImage',{data:{from:from,chatID:chatID,thumb:thumb,},type:'post',}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{$(e.currentTarget).removeAttr('data-action');$(e.currentTarget).attr('data-ipslightbox','');$(e.currentTarget).attr('href',response.image);$(e.currentTarget).click();}});return false;},playVideoInPopup:function(e){e.preventDefault();var videoContainer=$(e.currentTarget).closest('.chatboxVideoContainer');var chatID=$(e.currentTarget).closest('.chat_row').attr('id');$('body').append(ips.templates.render('chatbox.videoPopup',{chatID:chatID,play:videoContainer.attr('data-play'),html5:videoContainer.attr('data-html5'),}));var dialogRef=ips.ui.dialog.create({fixed:false,size:'medium',forceReload:true,content:'.videopopup_'+chatID,});dialogRef.show();this.stopPlayingVideos();return false;},playVideoInIframe:function(e){e.preventDefault();this.stopPlayingVideos();var videoContainer=$(e.currentTarget).closest('.chatboxVideoContainer');videoContainer.find('.chatboxVideo').html(ips.templates.render('chatbox.videoIframe',{play:videoContainer.attr('data-play'),}));return false;},stopPlayingVideos:function(){this.scope.find('.chatboxPlayer').each(function(){if($(this).prop("nodeName")=='VIDEO'){$(this).get(0).pause();}
else{var videoContainer=$(this).closest('.chatboxVideoContainer');videoContainer.replaceWith(ips.templates.render('chatbox.parseVideo',{source:videoContainer.attr('data-source'),url:videoContainer.attr('data-url'),play:videoContainer.attr('data-play'),id:videoContainer.attr('data-id'),img:videoContainer.attr('data-img'),html5:videoContainer.attr('data-html5'),blankImage:null,}));}});},oldScrollPos:null,focusChatInput:function(){this.lmn3=setInterval(_.bind(this.checkTyping,this),700);if(ips.utils.responsive.currentIs('tablet')||ips.utils.responsive.currentIs('phone')){var self=this;var container=self.scope.closest('.bimChatbox');var input=container.find('#chatInputArea');self.oldScrollPos=$(window).scrollTop();$('html, body').scrollTop(input.offset().top);}},blurChatInput:function(){clearInterval(this.lmn3);var self=this;if(self.oldScrollPos!=null){$('html, body').scrollTop(self.oldScrollPos);}},checkTyping:function(){var value=this.scope.find('.chatInput').val();if(value==this.lmn4){return;}
if(value.indexOf("/giphy ")!=0){var cbMedia=this.scope.find('.chatboxMedia');if(cbMedia.is(":visible")){cbMedia.empty().hide();}
return;}
this.lmn4=value;var cmd=value.split(" ")[0].toLowerCase();if(this.lmn2.sort=='asc'){this.scope.find('.chatboxMedia').css({'bottom':this.scope.find('#chatInputArea').outerHeight()+30});}
else{this.scope.find('.chatboxMedia').css({'top':this.scope.height()-this.scope.find('#chatContentIframe').height()});}
this.cmdMedia(cmd);return;},cmdMedia:function(media){var self=this;if(media=="/giphy"){if(self.lmn2.giphy!='cmd'&&self.lmn2.giphy!='both'){return false;}
var plugins='bimGiphy&editorId=giphyCMD';if(this._ajax&&this._ajax.abort){this._ajax.abort();}
var mediaBox=self.scope.find('.chatboxMedia');if(!mediaBox.is(":visible")){mediaBox.show();}
mediaBox.empty().addClass('ipsLoading');this._ajax=ips.getAjax()(ips.getSetting('baseURL')+"index.php?app=core&module=system&controller=plugins&do="+plugins,{data:{q:self.lmn4.substring(media.length+1),},type:'post',}).done(function(response){mediaBox.html(response);$(document).trigger('contentChange',[self.scope.find('.chatboxMedia')]);}).always(function(){mediaBox.removeClass('ipsLoading');});return false;}},bimGiphy:function(){if(this.scope.closest('.bimChatbox').attr('id')=='roomChat'){var type='room';}
else{var type='convo';}
var url=ips.getSetting('baseURL')+'index.php?app=core&module=system&controller=plugins&do=bimGiphy&editorId=chatbox_'+type+'_'+this.lmn1;var recent=ips.utils.db.get('bimgiphy_gif','recent');var recentData=null;if(_.isArray(recent)){recentData=JSON.stringify(recent);}
var dialogRef=ips.ui.dialog.create({fixed:false,size:'medium',title:ips.getString('bim_giphy'),url:url,forceReload:true,ajax:{type:'post',data:{recent:recentData},}});dialogRef.show();return false;},fileAdded:function(e,data){if(this.lmn2.autogrow&&$(e.target).closest('#chatInputArea').length>0){if(this.lmn5==0){this.lmn5=this.scope.closest('.bimChatbox').height()-this.scope.find('.ipsAttachment_fileList').height();}
$(e.target).closest('#chatInputArea').addClass('expanded');this.scope.find('.chatInput').focus();this.resizeBox();}},deletedFile:function(e,data){if(data.count===0){if(this.lmn2.autogrow&&$(e.target).closest('#chatInputArea').length>0){$(e.target).closest('#chatInputArea').removeClass('expanded');this.resizeBox();}}},resizeBox:function(){if(this.scope.closest('.inGlobalChat').length>0){$('.chatBar').trigger('resizeBar');}
else{var iframe=this.scope.closest('.bimChatbox').find('.cbScroll');var h=this.scope.closest('.bimChatbox').height();if(h>this.lmn5){iframe.height(iframe.height()-(h-this.lmn5));}
else if(this.scope.closest('.bimChatbox').height()<this.lmn5){iframe.height(iframe.height()+(this.lmn5-h));}}},});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('bim.chatbox.room',{lmn1:null,lmn2:null,lmn3:null,lmn4:null,lmn5:null,lmn6:null,lmn7:null,lmn8:null,lmn9:null,lmn10:null,lmn11:null,_lastMSG:0,_joined:0,lmn12:true,lmn13:true,lmn14:false,lmn15:false,lmn16:false,lmn17:false,lmn18:false,lmn19:false,lmn20:false,lmn21:false,lmn22:0,lmn23:null,lmn24:false,lmn25:false,lmn26:null,lmn27:0,initialize:function(){this.configRoom();this.resetIdleTimer();this.on('menuItemSelected','#listRooms',this.listRooms);this.on('click','[data-action="toggleChat"]',this.toggleChat);this.on(window,'resize',this.resizeWindow);this.on(document,'click mousemove scroll touchstart touchmove touchend',this.resetIdleTimer);if(!this.scope.closest('.bimChatbox').hasClass('inGlobalChat')&&$('.chatBoxFull').length==0){this.scope.closest('.bimChatbox').resizable({handles:'s',alsoResize:'#chatContentIframe, #userListIframe',stop:function(event,ui){$(this).css("width",'');}});}
if(this.scope.find('.chatboxIndentifyGuest').length==0&&this.scope.find('.chatboxRulesWrapper').length==0){this.on('click','.ipsButton[data-action="addToBlockedList"]',this.click_addToBlockedList);this.on('click','[data-action="connect"]',this.connect);this.on('click','[data-action="chattersList"]',this.chattersList);this.on('change','select[data-action="changeStyle"]',this.selectChangeStyle);this.on('menuItemSelected','#roomOptions'+this.lmn2,this.roomOptions);this.on('menuItemSelected','.msgAction',this.msgAction);this.on('click','[data-action="mention"]',this.mention);this.on('click','[data-action="donate"]',this.donate);this.on('click','[data-action="refresh"]',this.refresh);this.on('submit','.chatboxEditor',this.submitEditor);if(!this.lmn1.use_editor){this.on('click','#chatInputArea [data-action="sendMSG"]',this.clickSubmit);this.on('keypress','#chatInputArea textarea',this.enterSubmit);}
if(this.lmn1.autoload){this.scope.find('#chatContentIframe').on('scroll',_.bind(this.autoLoad,this));}
else{this.on('click','[data-action="loadMore"]',this.loadMore);}
this.startRoom();}
if(this.scope.find('.chatboxIndentifyGuest').length>0){this.on('click','[data-action="saveGuestName"]',this.saveGuestName);this.on('onsubmit','[data-action="guestForm"]',this.saveGuestName);if(this.lmn1.auto_guest==1){if(!this.scope.closest('.bimChatbox').hasClass('minimize')){this.scope.find('.guestName').val('Guest'+$.now());this.scope.find('[data-action="saveGuestName"]').click();}}}
if(this.scope.find('.chatboxRulesWrapper').length>0){this.on('submit','.chatboxRulesWrapper form',this.acceptRules);}
var widgetContainer=this.scope.closest('.chatboxWidget');if(widgetContainer.length>0){var maxWidth=widgetContainer.closest('.cWidgetContainer').width();widgetContainer.css({'width':'100%','max-width':maxWidth+'px !important',}).show();}},configRoom:function(){var self=this;this.lmn2=this.scope.attr('data-roomID');this.lmn1=ips.getSetting('chatbox_'+this.lmn2);this.updateStyle();this.lmn3=ips.getSetting('baseURL')+"index.php?app=chatbox&module=chatbox&controller=room&id="+this.lmn2;this.lmn7=ips.getSetting('lazyLoadEnabled')?ips.getSetting('blankImg'):null;this.lmn4file=this.lmn1.soundfile?this.lmn1.soundfile:ips.getSetting('baseURL')+'applications/core/interface/sounds/notification.mp3';this.lmn22=this.scope.find('#chatContentIframe').height();if($('.chatBoxFull').length){var fullHeight=$('.bimChatbox').height(),contentHeight=$('#chatContentIframe').height(),fixedHeight=fullHeight-contentHeight;$('#chatContentIframe').height($(window).innerHeight()-fixedHeight);$('#userListIframe').height($(window).innerHeight()-fixedHeight);$('.chatBoxFull').show();$(window).resize(function(){$('#chatContentIframe').height($(window).innerHeight()-fixedHeight);$('#userListIframe').height($(window).innerHeight()-fixedHeight);$('.chatBoxFull').show();});this.lmn22=$('#chatContentIframe').height();document.title=this.lmn1.roomname;}
if(this.scope.closest('.bimChatbox').hasClass('inGlobalChat')){this.lmn25=ips.utils.cookie.get('chatbox_is_silent')?true:false;}
this.fixTheSize();},startRoom:function(){var self=this;ips.loader.get(['core/interface/howler/howler.core.min.js']).then(function(){self.lmn4=new Howl({src:self.lmn4file,autoplay:false});});if($('.convoList').length<=0){chatbox.initTimeago();}
if(this.lmn1.musicbox){this.jPlayer();}
this.autoMessages();this.updateChat(true);},fixTheSize:function(){if(this.scope.closest('.chatBar').length>0){var isHide=true;if(ips.getSetting('chatbox_bar_mini')){$.each(ips.getSetting('chatbox_bar_mini').split(','),function(index,value){if(ips.utils.responsive.currentIs(value.toLowerCase())){isHide=false;return false;}});if(!isHide){return;}}}
else if(this.scope.closest('.chatboxWidget').length>0){var isHide=true;var widget=this.scope.closest('.chatboxWidget');if(widget.attr('data-automini')){$.each(widget.attr('data-automini').split(','),function(index,value){if(ips.utils.responsive.currentIs(value.toLowerCase())){isHide=false;return false;}});if(!isHide){return;}}}
this.toggleOn();},autoMessages:function(){var data=this.lmn1.automsg;if(!data){return false;}
var v=data.bot;var chatRow=new Array();var self=this;$.each(data.messages,function(i,item){v.content=item.msg;v.showAgoTime=Math.floor(Date.now()/1000);var response=[v];var chatIframe=self.scope.find('#chatContentIframe');var chatContentWrap=self.scope.find('#chatContent');setInterval(function(){if(self.lmn1.sort=='asc'){var scroll=(chatIframe.scrollTop()+chatIframe.innerHeight())-chatIframe.prop("scrollHeight");if(scroll>=-30){var canScroll=1;}
chatContentWrap.append(self.chatRowHTML(response));$(document).trigger('contentChange',[chatContentWrap]);if(canScroll==1||self.lmn19){self.goDown();}}
else{chatContentWrap.prepend(self.chatRowHTML(response));$(document).trigger('contentChange',[chatContentWrap]);}
$(".timeago:not(.loadedAgo)").timeago();if(self.lmn1.limit>0&&!self.lmn18){var old=chatContentWrap.children().length-self.lmn1.limit;if(old>0){chatContentWrap.find('li:nth'+(self.lmn1.sort=='asc'?'':'-last')+'-child(-n+'+old+')').remove();}}
if(!self.lmn25){if(ips.utils.cookie.get('chatbox_nosound_'+self.lmn2)!=1&&!self.lmn13&&!self.lmn17){self.lmn4.play();}}},item.time*1000);});},refresh:function(){if(!this.lmn13){this.updateChat(true);}
return false;},updateChat:function(forced){var self=this;if(self.scope.closest('.bimChatbox').hasClass('minimize')&&!self.lmn1.alwaysON){return false;}
if(self.lmn20&&!self.lmn13){return false;}
if(forced==true){clearTimeout(self.lmn6);}
var interval=self.lmn1.interval>=5000?self.lmn1.interval:5000;self.doUpdateChat(function(){self.lmn6=setTimeout(function(){self.updateChat(true);},interval);});},doUpdateChat:function(callback){var self=this;if($('.room_'+self.lmn2).length==0){self.stopUpdate();return false;}
if(self.lmn14){return false;}
self.lmn14=true;if(self.lmn1.sort=='asc'){var lastID=self._lastMSG>0?self._lastMSG:self.scope.find('.chat_row').last().attr('id');}
else{var lastID=self._lastMSG>0?self._lastMSG:self.scope.find('.chat_row').first().attr('id');}
var currentTimestamp=Math.floor(Date.now()/1000);var canPing=((currentTimestamp-self.lmn27)>=120)?1:0;if(canPing==1){self.lmn27=currentTimestamp;}
ips.getAjax()(self.lmn3+"&do=getMSG",{dataType:'json',type:'post',data:{lastID:lastID?lastID:0,firstLoad:self.lmn13?1:0,loadMoreMode:0,isReconnect:self.lmn21?1:0,canPing:canPing}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else if(response.type=='isBlocked'){self.kick(ips.getString('chatbox_isblocked'));return;}
else if(response.type=='isClosed'){self.kick(ips.getString('chatbox_isClosed'));return;}
else{if(self.lmn13){self.scope.find('#chatboxRoom .ipsLoading').removeClass('ipsLoading');chatbox.initCleanEditor(self.scope);}
if(self.lmn21){self.connected();}
if(self._joined!=1){self._joined=1;self.lmn3=self.lmn3+'&joined='+self._joined;}
if(self.scope.find('.colUserList').length>0){if(!response.chatters){self.lmn1.theLastUser=0;}
else{var chattersArr=Object.keys(response.chatters);if(self.lmn1.theLastUser!=chattersArr[1]||self.lmn13){self.lmn1.theLastUser=chattersArr[1];var userList=self.scope.find('#userList');userList.html(self.chattersListFormat(response.chatters));$(document).trigger('contentChange',[userList]);}}}
if(response.content){var chatIframe=self.scope.find('#chatContentIframe');var chatContentWrap=self.scope.find('#chatContent');if(self.lmn1.sort=='asc'){var scroll=(chatIframe.scrollTop()+chatIframe.innerHeight())-chatIframe.prop("scrollHeight");if(scroll>=-30){var canScroll=1;}
chatContentWrap.append(self.chatRowHTML(response.content));if(self.lmn13&&!self.lmn1.autoload&&response.content.length==self.lmn1.limit){chatContentWrap.prepend(ips.templates.render('chatbox.loadMoreBtn'));}
$(document).trigger('contentChange',[chatIframe]);if(canScroll==1||self.lmn19){self.goDown();}}
else{chatContentWrap.prepend(self.chatRowHTML(response.content));if(self.lmn13&&!self.lmn1.autoload&&response.content.length==self.lmn1.limit){chatContentWrap.append(ips.templates.render('chatbox.loadMoreBtn'));}
$(document).trigger('contentChange',[chatIframe]);}
$(".timeago:not(.loadedAgo)").timeago();if(response.updateAnn){var ann=self.scope.find('.cbAnn');if(response.updateAnn=='remove'){if(!self.lmn13){ann.hide();}}
else{ann.show();var annIdx=(!self.scope.closest('.bimChatbox').hasClass('inGlobalChat')&&response.updateAnn[2]==1)?1:0;ann.find('.annTitle').html(response.updateAnn[annIdx]);}}
if(!self.lmn25){if(ips.utils.cookie.get('chatbox_nosound_'+self.lmn2)!=1&&!self.lmn13&&!self.lmn17){self.lmn4.play();}}
chatContentWrap.find('img').imagesLoaded(function(images){self.lmn13=false;});}
self._lastMSG=response.lastID;if(response.update){$.each(response.update,function(i,val){if(val){self.scope.find('#'+i+' .chatbox_msg').html(self.parseContent(val));}
else{self.scope.find('#'+i).remove();}});}
if(self.lmn1.musicbox==1){if(response.song){if(!self.lmn13){if(response.song.id!=self.lmn8){self.lmn1.song=response.song;}
self.playSong();}}
else{self.hideMusicPlayer();}}}
self.lmn14=false;if(typeof(callback)=='function'){callback();}}).fail(function(){if(ips.getSetting('chatbox_no_disconnect')==1){self.lmn14=false;if(typeof(callback)=='function'){callback();}}
else{self.disconnect();}}).always(function(response){self.lmn19=false;self.lmn17=false;});},msgAction:function(e,data){e=data?data.originalEvent:e;e.preventDefault();var self=this;var action=$(e.target).attr('data-action');var chatID=$(e.target).attr('data-chatID');if(action){switch(action){case'edit':self.editEditor(chatID);break;case'delete':self.deleteMSG(chatID);break;case'report':self.reportMSG(chatID);break;case'addToBlockedList':var key=$(e.target).attr('data-key');var ip=$(e.target).attr('data-ip');var name=$(e.target).attr('data-name');self.addToBlockedList(chatID,key,name,ip);break;}
return false;}
return false;},deleteMSG:function(chatID){var self=this;ips.ui.alert.show({type:'confirm',message:ips.getString('chatbox_confirmDelete'),icon:'warn',buttons:{ok:ips.getString('chatbox_confirm_yes'),cancel:ips.getString('chatbox_confirm_cancel')},callbacks:{ok:function(){ips.getAjax()(self.lmn3+"&do=deleteMSG",{type:'post',data:{chatID:chatID}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{ips.ui.flashMsg.show(ips.getString('chatbox_deleted'));self.scope.find('li#'+chatID).remove();}})}}});return false;},reportMSG:function(chatID){var self=this;var dialogRef=ips.ui.dialog.create({url:ips.getSetting('baseURL')+"index.php?app=chatbox&module=chatbox&controller=msg&do=report&id="+chatID,size:'medium',title:ips.getString('chatbox_report'),forceReload:false,destructOnClose:true,callback:function(e){$(e).find('form').on('submit',function(e){e.preventDefault();for(var instance in CKEDITOR.instances){CKEDITOR.instances[instance].updateElement();}
var form=$(e.currentTarget);ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){ips.ui.flashMsg.show(ips.getString('chatbox_sent_report'));}).always(function(response){dialogRef.hide();});return false;});}});dialogRef.show();return false;},chatRowHTML:function(response){var self=this;var template="";var memberHovercard="";var chatterUrl="";var style='chatbox.style.'+this.lmn1.style;var confFormat=ips.getSetting('chatbox_userFormat');var chatterNameFormat="";$.each(response,function(i,item){var itemID=item.id>0?item.id:0;if(itemID>0&&self.scope.find('#chatRow_'+itemID).length>0){return;}
if(item.chatterID!=-1){var canBeBlocked=(self.lmn1.canManage&&item.chatterID!=ips.getSetting('memberID'))?true:false;if(item.chatterID>0){chatterUrl=ips.getSetting('baseURL')+"index.php?app=core&module=members&controller=profile&id="+item.chatterID;memberHovercard=chatterUrl+"&do=hovercard";}
if(item.donation&&item.donation.amount){var amount=parseFloat(item.donation.amount.replace(',','.').replace(' ',''));}
var bg=amount?self.superChatBackground(amount):null;var mainTxt=bg?chatbox.invertColor(bg,true):null;var subTxt=bg?chatbox.invertColor(bg):null;chatterNameFormat=item.chatterName;if(typeof(confFormat[item.chatterGroup])!=="undefined"&&confFormat[item.chatterGroup]!==null){chatterNameFormat=confFormat[item.chatterGroup]['prefix']+item.chatterName+confFormat[item.chatterGroup]['suffix'];}
template+=ips.templates.render(bg?'chatbox.style.superchat':style,{id:itemID,chatterID:item.chatterID,chatterName:item.chatterName,chatterKey:item.chatterKey,chatterNameFormat:chatterNameFormat,chatterPhoto:item.chatterID>0?item.chatterPhoto:"https://www.gravatar.com/avatar/"+item.chatterPhoto+"?s=32&d=wavatar&r=PG",chatterUrl:chatterUrl,chatterIP:item.chatterIP,memberHovercard:memberHovercard,content:self.parseContent(item.content),callme:(item.content.indexOf("@"+ips.getSetting('chatbox_member_name'))!=-1)?true:false,isMe:(item.chatterName==ips.getSetting('chatbox_member_name'))?true:false,inDay:item.inDay,time:item.time,mainBg:bg,subBg:mainTxt=="FFFFFF"?"rgba(255, 255, 255, 0.075)":"rgba(82.7, 82.7, 82.7, 0.04)",mainTxt:mainTxt,subTxt:subTxt,money:item.donation?item.donation.money:0,canEdit:item.canEdit,canDelete:item.canDelete,canReport:(item.chatterName!=ips.getSetting('chatbox_member_name'))?item.canReport:false,canBeBlocked:canBeBlocked,canManageMSG:(item.canEdit||item.canDelete||item.canReport||canBeBlocked),});}
else{if(self.lmn1.bot_id>0){chatterNameFormat=self.lmn1.bot_name;if(typeof(confFormat[self.lmn1.bot_group])!=="undefined"&&confFormat[self.lmn1.bot_group]!==null){chatterNameFormat=confFormat[self.lmn1.bot_group]['prefix']+self.lmn1.bot_name+confFormat[self.lmn1.bot_group]['suffix'];}
template+=ips.templates.render(style,{id:itemID,chatterID:self.lmn1.bot_id,chatterName:self.lmn1.bot_name,chatterNameFormat:chatterNameFormat,chatterPhoto:self.lmn1.bot_photo,chatterUrl:self.lmn1.bot_url,memberHovercard:ips.getSetting('baseURL')+"index.php?app=core&module=members&controller=profile&id="+self.lmn1.bot_id+"&do=hovercard",content:"<i class='fa fa-angle-double-right'></i> "+item.content,callme:(item.content.indexOf("@"+ips.getSetting('chatbox_member_name'))!=-1)?true:false,isMe:(self.lmn1.bot_name==ips.getSetting('chatbox_member_name'))?true:false,inDay:item.inDay,time:item.time,canDelete:item.canDelete,});}
else{template+=ips.templates.render('chatbox.style.room.system',{id:item.id,content:item.content,inDay:item.inDay,time:item.time,canDelete:item.canDelete,});}}});if(template==""){self.lmn17=true;}
return template;},superChatBackground:function(x){var superchatBG=null;$.each(this.lmn1.superchat,function(id,row){if(x>=parseFloat(row.amount.replace(',','.').replace(' ',''))){superchatBG=row.color;return false;}});return superchatBG;},parseContent:function(message){if(this.lmn1.use_editor){return message;}
return chatbox.parseContent(message,this.lmn1);},chattersListFormat:function(response){var template="";var memberHovercard="";var chatterUrl="";var confFormat=ips.getSetting('chatbox_userFormat');var self=this;$.each(response,function(i,item){var canBeBlocked=(self.lmn1.canManage&&item.chatterID!=ips.getSetting('memberID'))?true:false;var chatterNameFormat=confFormat[item.chatterGroup]['prefix']+item.chatterName+confFormat[item.chatterGroup]['suffix'];if(item.chatterID>0){chatterUrl=ips.getSetting('baseURL')+"index.php?app=core&module=members&controller=profile&id="+item.chatterID;memberHovercard=chatterUrl+"&do=hovercard";}
if(!item.is_anon||!self.lmn1.hideAnon||self.lmn1.canManage||item.chatterID==ips.getSetting('memberID')){template+=ips.templates.render('chatbox.chatter.row',{chatterKey:item.key,chatterID:item.chatterID,chatterIP:item.ip,chatterName:item.chatterName,chatterNameFormat:chatterNameFormat,chatterPhoto:item.chatterID>0?item.chatterPhoto:"https://www.gravatar.com/avatar/"+item.chatterPhoto+"?s=32&d=wavatar&r=PG",chatterUrl:item.chatterUrl,memberHovercard:memberHovercard,canBeBlocked:canBeBlocked,privateChat:item.chatterID!=ips.getSetting('memberID')?item.privateChat:false,islmn28:self.lmn1.hideAnon?item.is_anon:null,});}});return template;},chattersList:function(e){if(!$('#chattersList_'+this.lmn2+'_menu').length){$('.chatboxContainer').append(ips.templates.render('chatbox.chatters.list',{roomID:this.lmn2}));}
var self=this;ips.getAjax()(self.lmn3+'&do=chattersList',{type:'post',dataType:'json',}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
var panel=self.scope.find('.chatbox_chatters_Panel');if(panel.hasClass('ipsLoading')){panel.removeClass('ipsLoading');}
panel.find('.ipsDataList').html(self.chattersListFormat(response.list));$(document).trigger('contentChange',[panel]);});},listRooms:function(e,data){e=data?data.originalEvent:e;e.preventDefault();var self=this;switch($(e.target).attr('data-action')){case'changeRoom':self.changeRoom(e,data);break;}},changeRoom:function(e,data){data.originalEvent.preventDefault();var self=this;var newroom=$(e.target).attr('data-newroom');var inGlobal=$(e.target).closest('.bimChatbox').hasClass('inGlobalChat')?1:0;var inWidget=$(e.target).closest('.cWidgetContainer').length>0?self.scope.closest('.cWidgetContainer').attr('data-orientation'):'';var isMini=$(e.target).closest('.bimChatbox').hasClass('minimize');ips.getAjax()(self.lmn3+'&do=changeRoom',{type:'post',dataType:'json',data:{newroom:newroom,inGlobal:inGlobal,inWidget:inWidget}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{if(response.url){window.location.replace(response.url);}
else{self.stopUpdate();self.scope.closest('.bimChatbox').replaceWith(response.html);if(!isMini){$('.room_'+newroom).removeClass('minimize');}
ips.setSetting('chatbox_'+newroom,response.config);$(document).trigger('contentChange',[$('.room_'+newroom)]);$('.chatBar').trigger('resizeBar');}}});return false;},roomOptions:function(e,data){e=data?data.originalEvent:e;e.preventDefault();var self=this;switch($(e.target).attr('data-action')){case'toggleSound':self.toggleSound(data);break;case'openWindowTab':self.openWindowTab(e,data);break;case'cleanRoom':self.cleanRoom(data);break;case'makeAnnouncement':self.makeAnnouncement(data);break;case'blockedChatters':self.blockedChatters(data);break;case'changeSkin':self.changeSkin(e,data);break;case'changeStyle':self.changeStyle(e,data);break;case'selectSong':self.selectSong(e,data);break;case'archive':window.open($(e.target).attr('href'),'_blank');break;case'leaveRoom':self.leaveRoom(e,data);break;}},toggleSound:function(data){data.originalEvent.preventDefault();var self=this;var noSound=ips.utils.cookie.get('chatbox_nosound_'+self.lmn2);self.scope.find('[data-action="toggleSound"] .fa').replaceWith($('<i/>').addClass('fa').addClass(noSound!=1?'fa-volume-off':'fa-volume-up').removeClass(noSound!=1?'fa-volume-up':'fa-volume-off'));if(noSound==1){ips.utils.cookie.set('chatbox_nosound_'+self.lmn2,0);}
else{ips.utils.cookie.set('chatbox_nosound_'+self.lmn2,1);}
ips.ui.flashMsg.show(!ips.utils.cookie.get('chatbox_nosound_'+self.lmn2)?ips.getString('chatbox_soundEnabled'):ips.getString('chatbox_soundDisabled'));},openWindowTab:function(e,data){data.originalEvent.preventDefault();var self=this;var wrapper=$(e.target).closest('.bimChatbox');var url=$(e.target).attr('href');if(url){var width=wrapper.width(),height=wrapper.height(),left=($(window).width()/2)-(width/2),top=($(window).height()/2)-(height/2);if(self.lmn1.use_editor){height=height+25;var options="directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,width="+width+",height="+height+",top="+top+", left="+left;}
else
{var options="directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width="+width+",height="+height+",top="+top+", left="+left;}
window.open(url,'chatInPopup',options);}
return false;},cleanRoom:function(data){data.originalEvent.preventDefault();var self=this;ips.ui.alert.show({type:'confirm',message:ips.getString('chatbox_confirmClean'),icon:'warn',buttons:{ok:ips.getString('chatbox_confirm_yes'),cancel:ips.getString('chatbox_confirm_cancel')},callbacks:{ok:function(){ips.getAjax()(self.lmn3+"&do=cleanRoom").done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{ips.ui.flashMsg.show(ips.getString('chatbox_deleted_all'));self.scope.find('#chatContent').empty();}})}}});return false;},makeAnnouncement:function(data){data.originalEvent.preventDefault();var self=this;var dialogRef=ips.ui.dialog.create({url:self.lmn3+'&do=makeAnnouncement',size:'normal',title:ips.getString('chatbox_announcement'),forceReload:false,destructOnClose:true,callback:function(){$('.chatboxAnnForm').on('submit',function(e){e.preventDefault();for(var instance in CKEDITOR.instances){CKEDITOR.instances[instance].updateElement();}
var form=$(e.currentTarget);ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{if(response.title){self.scope.find('.cbAnn').show();self.scope.find('.cbAnn .annTitle').text(response.title);}
else{self.scope.find('.cbAnn').hide();}
self.updateChat(true);}}).always(function(response){dialogRef.hide();});return false;});}});dialogRef.show();return false;},leaveRoom:function(data){data.originalEvent.preventDefault();var self=this;ips.ui.alert.show({type:'confirm',message:ips.getString('chatbox_confirmLeave'),icon:'warn',buttons:{ok:ips.getString('chatbox_confirm_yes'),cancel:ips.getString('chatbox_confirm_cancel')},callbacks:{ok:function(){self.stopUpdate();ips.getAjax()(self.lmn3+"&do=leaveRoom").done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{var inPage=$('body').attr('data-pageapp')=='chatbox'&&$('body').attr('data-pagecontroller')=='room';if(inPage&&!self.scope.closest('.bimChatbox').hasClass('inGlobalChat')){window.location.replace(ips.getSetting('baseURL'));}
else{self.toggleChat();}}});}}});return false;},blockedChatters:function(data){data.originalEvent.preventDefault();var self=this;var dialogRef=ips.ui.dialog.create({url:self.lmn3+'&do=blockedChatters',size:'normal',title:ips.getString('chatbox_blockedchatters'),forceReload:true,destructOnClose:true,callback:function(){$("[data-action='unblock']").on('click',function(e){ips.getAjax()(self.lmn3+"&do=unblock",{type:'post',data:{key:$(e.currentTarget).attr('data-key'),}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{$(e.currentTarget).closest('.userRow').remove();}});return false;});}});dialogRef.show();return false;},addToBlockedList:function(chatID,key,name,ip){var self=this;var dialogRef=ips.ui.dialog.create({url:self.lmn3+'&do=addToBlockedList&key='+key+'&ip='+ip+'&name='+name,size:'narrow',forceReload:true,destructOnClose:true,callback:function(){$(".chatboxBlockUser").on('submit',function(e){e.preventDefault();var form=$(e.currentTarget);ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){ips.ui.flashMsg.show(response.message);if(chatID!=null){self.scope.find('li#'+chatID).remove();}
if(response.deleted==1){self.scope.find("[data-key='"+key+"']").closest('.chat_row').remove();}}).always(function(response){dialogRef.hide();});return false;});}});dialogRef.show();return false;},changeSkin:function(e,data){data.originalEvent.preventDefault();var self=this;var skin=$(e.target).data('skin');$(e.target).closest('.chatboxSkins').find('li').removeClass('skinSelected');$(e.target).addClass('skinSelected');$(e.target).closest('.bimChatbox').removeClass(function(index,className){return(className.match(/(^|\s)skin_\S+/g)||[]).join(' ');});$(e.target).closest('.bimChatbox').addClass('skin_'+skin);ips.utils.cookie.set('chatbox_skin_'+self.lmn2,skin);return false;},changeStyle:function(e,data){data.originalEvent.preventDefault();var self=this;$(e.target).one('change',function(){self.applyNewStyle(this.value);return false;});return false;},applyNewStyle(style){if(ips.utils.cookie.get('chatbox_style_'+this.lmn2)==style){return;}
ips.utils.cookie.set('chatbox_style_'+this.lmn2,style);this.updateStyle();this.stopUpdate();this.connect();},updateStyle:function(){this.lmn1.style=this.lmn1.allow_select_skins==1&&ips.utils.cookie.get('chatbox_style_'+this.lmn2)?ips.utils.cookie.get('chatbox_style_'+this.lmn2):(this.lmn1.style?this.lmn1.style:'standard');},selectChangeStyle:function(e){var style=$(e.currentTarget).find(':selected').val();this.applyNewStyle(style);return false;},disconnect:function(){if(this.lmn21){ips.ui.alert.show({message:ips.getString('chatbox_can_not_connect')});this.scope.find('#btnConnect').html(ips.getString('chatbox_reconnect'));this.scope.find('#btnConnect').attr("disabled",false);return false;}
this.kick(ips.getString('chatbox_disconnected'),ips.getString('chatbox_reconnect'));},connect:function(){this.scope.find('#btnConnect').attr("disabled",true);this.scope.find('#btnConnect').html('<i class="fa fa-refresh fa-spin"></i> '+ips.getString('chatbox_connecting'));this.scope.find('#chatContent').empty();this.lmn13=true;this.lmn14=false;this._lastMSG=0;this.updateChat('true');return false;},connected:function(){this.lmn21=false;this.scope.find('.disconnected').remove();ips.ui.flashMsg.show(ips.getString('chatbox_connected'));},kick:function(message,btnText=null){this.stopUpdate();this.lmn21=true;this.scope.prepend(ips.templates.render('chatbox.disconnected',{msg:message,btn:btnText}));return false;},toggleInputForm:function(status){var textArea=this.scope.find('.chatInput');var button=this.scope.find('[data-action="sendMSG"]');if(status==1){this.lmn15=false;button.prop('disabled',false);textArea.val("");if(textArea.closest('#chatInputArea').hasClass('expanded')){textArea.closest('#chatInputArea').removeClass('expanded');textArea.css('height','auto');this.scope.find('#chatContentIframe').height(this.lmn22);this.scope.find('#userListIframe').height(this.lmn22);$('.chatBar').trigger('resizeBar');}}
else
{this.lmn15=true;button.prop('disabled',true);}},toggleChat:function(){var self=this;var isMini=self.scope.closest('.bimChatbox').hasClass('minimize');if(isMini){ips.utils.cookie.set('chatbox_room_off_'+self.lmn2,0);self.scope.closest('.bimChatbox').removeClass('minimize');if(ips.getSetting('chatbox_member_name')&&self.scope.find('.chatboxRulesWrapper').length!=1){if(!self.lmn13){self.updateChat(true);}}
$('.chatBar').trigger('resizeBar');}
else{ips.utils.cookie.set('chatbox_room_off_'+self.lmn2,1);self.scope.closest('.bimChatbox').addClass('minimize');self.stopUpdate();self.lmn11=$.now();}
return false;},toggleOn:function(){var inPage=$('body').attr('data-pageapp')=='chatbox'&&$('body').attr('data-pagecontroller')=='room';if(this.scope.closest('.bimChatbox').hasClass('minimize')){if(inPage||(!inPage&&ips.utils.cookie.get('chatbox_room_off_'+this.lmn2)!=1)){this.toggleChat();}}},stopUpdate:function(){clearTimeout(this.lmn6);},loadMore:function(e){var self=this;if(self.lmn18){return false;}
var container=self.scope.find('#chatContentIframe');var content=container.find('#chatContent');var oldID=self.lmn1.sort=='asc'?content.children('.chat_row:first').attr('id'):content.children('.chat_row:last').attr('id');self.lmn18=true;ips.getAjax()(self.lmn3+"&do=getMSG",{dataType:'json',type:'post',data:{lastID:oldID?oldID:0,loadMoreMode:1,}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{if(response.noMore==1){$(e.currentTarget).remove();ips.ui.flashMsg.show(ips.getString('chatbox_no_older'));}
else{if(response.content){if(self.lmn1.sort=='asc'){$(e.currentTarget).after(self.chatRowHTML(response.content));container.scrollTop(self.scope.find('#'+oldID).position().top-50);}
else{$(e.currentTarget).before(self.chatRowHTML(response.content));}
$(document).trigger('contentChange',[self.scope.find('#chatContentIframe')]);$(".timeago:not(.loadedAgo)").timeago();}}}}).fail(function(){if(ips.getSetting('chatbox_no_disconnect')!=1){self.disconnect();}}).always(function(){self.lmn17=false;self.lmn18=false;});return false;},autoLoad:function(){if(this.lmn13||!this.lmn12){return false;}
var self=this;var container=self.scope.find('#chatContentIframe');var content=container.find('#chatContent');if(this.lmn1.sort=='asc'){if(!this.lmn24&&container.scrollTop()!=0){return false;}
var oldID=content.children().first().attr('id');}
else{if(!this.lmn24&&container.scrollTop()+container.innerHeight()<container[0].scrollHeight){return false;}
var oldID=content.children().last().attr('id');}
if(container.find('#loadMore').length<=0){var html=ips.templates.render('chatbox.loadMore');if(this.lmn1.sort=='asc'){content.prepend(html);}
else{content.append(html);}}
self.lmn24=false;self.lmn12=false;self.lmn18=true;ips.getAjax()(self.lmn3+"&do=getMSG",{dataType:'json',type:'post',data:{lastID:oldID?oldID:0,loadMoreMode:1,}}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{if(response.noMore==1){ips.ui.flashMsg.show(ips.getString('chatbox_no_older'));}
else{if(response.content){if(self.lmn1.sort=='asc'){content.prepend(self.chatRowHTML(response.content));container.scrollTop(self.scope.find('#'+oldID).position().top-50);}
else{content.append(self.chatRowHTML(response.content));}
$(document).trigger('contentChange',[self.scope.find('#chatContentIframe')]);$(".timeago:not(.loadedAgo)").timeago();self.lmn12=true;}
var newLastID=self.lmn1.sort=='asc'?content.children().first().attr('id'):content.children().last().attr('id');if(newLastID==oldID){self.lmn24=true;self.autoLoad();}}}
container.find('#loadMore').remove();}).fail(function(){if(ips.getSetting('chatbox_no_disconnect')!=1){self.disconnect();}}).always(function(){self.lmn17=false;self.lmn18=false;});},saveGuestName:function(e){e.preventDefault();var self=this;var inGlobal=self.scope.closest('.bimChatbox').hasClass('inGlobalChat')?1:0;var inWidget=self.scope.closest('.cWidgetContainer').length>0?self.scope.closest('.cWidgetContainer').attr('data-orientation'):'';var btn=self.scope.find('button');btn.attr("disabled",true);btn.html('<i class="fa fa-refresh fa-spin"></i> '+ips.getString('chatbox_connecting'));var name=self.scope.find('.guestName').val();ips.getAjax()(self.lmn3+'&do=changeName',{type:'post',dataType:'json',data:{name:name,inGlobal:inGlobal,inWidget:inWidget,}}).done(function(response){if(response.type=='error'||response.type=='errorGuestName'){ips.ui.alert.show({message:response.message});}
else{self.scope.closest('.bimChatbox').replaceWith(response.html);if(inGlobal==1){$('.room_'+self.lmn2).removeClass('minimize');$(document).trigger('contentChange',[$('.room_'+self.lmn2)]);$('.chatBar').trigger('resizeBar');}
$(document).trigger('contentChange',[$('.room_'+self.lmn2)]);ips.ui.flashMsg.show(response.message);}}).always(function(){btn.attr("disabled",false);btn.html(ips.getString('chatbox_save_name'));});return false;},acceptRules:function(e){e.preventDefault();var self=this;var form=$(e.currentTarget);var inGlobal=self.scope.closest('.bimChatbox').hasClass('inGlobalChat')?1:0;var inWidget=self.scope.closest('.cWidgetContainer').length>0?self.scope.closest('.cWidgetContainer').attr('data-orientation'):'';var openFromBar=self.scope.closest('.chatBar').length>0?1:0;ips.getAjax()(form.attr('action'),{data:form.serialize()+'&inGlobal='+inGlobal+'&inWidget='+inWidget+'&openFromBar='+openFromBar,type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});}
else{self.scope.closest('.bimChatbox').replaceWith(response.html);if(inGlobal==1){$('.room_'+self.lmn2).removeClass('minimize');}
$(document).trigger('contentChange',[$('.room_'+self.lmn2)]);$('.chatBar').trigger('resizeBar');}});return false;},mention:function(e){e.preventDefault();chatbox.mention(e,this.lmn1.use_editor);return false;},enterSubmit:function(e){if(e.which===13){e.preventDefault();this.clickSubmit();return false;}},clickSubmit:function(){this.scope.find('.chatboxEditor').submit();return false;},click_addToBlockedList:function(e){e.preventDefault();var key=$(e.currentTarget).attr('data-key');var ip=$(e.currentTarget).attr('data-ip');var name=$(e.currentTarget).attr('data-name');this.addToBlockedList(null,key,name,ip);return false;},submitEditor:function(e){e.preventDefault();var self=this;var form=self.scope.find('.chatboxEditor');if(self.lmn15){return false;}
if(self.lmn1.use_editor){var editor=CKEDITOR.instances['chatMSG_'+self.lmn2];var msg=editor.getData();}
else{var msg=form.find('textarea').val();msg=chatbox.escapeHTML(msg);}
if(self.scope.find('.chatboxEditor .ipsAttach_done').length==0||msg){if(self.checkMSG(msg)==0){return false;}}
if(self.checkFlood()==0){return false;}
if(editor){form.find('button[type="submit"]').prop('disabled',true).text(ips.getString('chatbox_posting'));}
else{self.toggleInputForm(0);}
self.lmn15=true;ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message});self.lmn15=false;}
else if(response.type=='errorGuestName'){self.stopUpdate();location.reload();}
else{self.lmn17=true;self.updateChat(true);self.lmn1.lastchat=$.now();$('.chatBar').trigger('resizeBar');}}).always(function(){self.lmn18=false;self.lmn15=false;self.lmn19=true;if(editor){ips.ui.editor.getObj(self.scope.find('[data-role="chatboxFormArea"] [data-ipsEditor]')).reset();form.find('button[type="submit"]').prop('disabled',false).text(ips.getString('chatbox_send'));}
else{self.toggleInputForm(1);self.scope.find('.charCount').hide();if(self.scope.find('#chatInputArea [data-role="deleteFile"]').length>0){self.scope.find('#chatInputArea [data-role="deleteFile"]').each(function(){$(this).click();});}}});return false;},editEditor:function(chatID){var self=this;var room=$('.room_'+self.lmn2);var dialogRef=ips.ui.dialog.create({url:self.lmn3+'&do=editEditor&chatID='+chatID,size:self.lmn1.use_editor?'normal':'narrow',title:ips.getString('chatbox_edit'),forceReload:true,destructOnClose:true,callback:function(){if(!self.lmn1.use_editor){var wrapper=$('.ipsDialog_content .cbCleanTextEdit');wrapper.find('textarea').on('keypress',function(i){if(i.which===13){wrapper.submit();return false;}});}
else{var wrapper=$('.ipsDialog_content .cbEditorEdit');}
wrapper.on('submit',function(e){e.preventDefault();if(self.lmn1.use_editor){var editor=CKEDITOR.instances['chatMSG_'+self.lmn2+'_'+chatID];editor.updateElement();var msg=editor.getData();}
else{var msg=$(this).find('textarea').val();msg=chatbox.escapeHTML(msg);}
if($(e.currentTarget).find('.ipsAttach_done').length==0||msg){if(self.checkMSG(msg)==0){return false;}}
var data=$(e.currentTarget).serializeArray();data.push({name:"newMsg",value:msg});ips.getAjax()($(e.currentTarget).attr('action'),{data:$.param(data),type:'post',bypassRedirect:true}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{ips.ui.flashMsg.show(ips.getString('chatbox_edited'));room.find("#chatRow_"+chatID+" .chatbox_msg").html(self.parseContent(response.content));$(document).trigger('contentChange',[room.find('.chatboxContainer')]);}}).always(function(){dialogRef.hide();});return false;});}});dialogRef.show();return false;},checkFlood:function(){var self=this;if(self.lmn1.flood>0&&!self.lmn1.canManage&&!self.lmn1.canBypassFlood){var delay=($.now()-self.lmn1.lastchat)/1000;if(delay<self.lmn1.flood){ips.ui.alert.show({message:ips.getString('chatbox_error_flood',{time:(self.lmn1.flood-delay).toFixed(2)})});return 0;}}
return 1;},checkMSG:function(msg){var msg=msg.trim(),max=this.lmn1.length;if(msg.length<=0){ips.ui.alert.show({message:ips.getString('chatbox_error_empty')});return 0;}
if(max>0&&msg.length>max){ips.ui.alert.show({message:ips.pluralize(ips.getString('chatbox_error_maxlength'),max)});return 0;}
return 1;},selectSong:function(data){data.originalEvent.preventDefault();var self=this;var dialogRef=ips.ui.dialog.create({url:self.lmn3+'&do=selectSong',size:'narrow',title:ips.getString('chatbox_selectSong'),forceReload:true,destructOnClose:true,callback:function(){$(document).on('click','[data-action="addSong"]',_.bind(self.addSong,self));$(document).on('click','[data-action="removeSong"]',_.bind(self.removeSong,self));$(document).on('focus','[data-role="searchSong"]',_.bind(self.focusSongSearch,self));$(document).on('blur','[data-role="searchSong"]',_.bind(self.blurSongSearch,self));}});dialogRef.show();return false;},focusSongSearch:function(e){this.lmn9=setInterval(_.bind(this._checkSongValue,this),700);},blurSongSearch:function(e){clearInterval(this.lmn9);},_checkSongValue:function(){var value=$('[data-role="searchSong"]').val();if(value==this.lmn10||value.length<4){return;}
this.lmn10=value;if(this._ajax&&this._ajax.abort){this._ajax.abort();}
var self=this;this._ajax=ips.getAjax()(self.lmn3+'&do=searchSong',{data:{q:self.lmn10,},type:'post',}).done(function(response){$('[data-role="songResults"]').html(response);$(document).trigger('contentChange',[$('[data-role="songResults"]')]);});},addSong:function(e){var songID=$(e.currentTarget).closest('.ipsDataItem').attr('data-songID');var self=this;this._ajax=ips.getAjax()(self.lmn3+'&do=addSong',{data:{song:$(e.currentTarget).closest('.ipsDataItem').attr('data-songID'),},type:'post',}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{var playArea=$(e.currentTarget).closest('.chatboxSongs').find('[data-role="playingSong"]');playArea.html(response.html);$(document).trigger('contentChange',[playArea]);var song=response.song;if(song.id!=self.lmn8){self.lmn1.song=song;}
self.playSong();}});return false;},removeSong:function(e){var songID=$(e.currentTarget).closest('.ipsDataItem').attr('data-songID');var self=this;this._ajax=ips.getAjax()(self.lmn3+'&do=removeSong',{data:{song:$(e.currentTarget).closest('.ipsDataItem').attr('data-songID'),},type:'post',}).done(function(response){if(response.type=='error'){ips.ui.alert.show({message:response.message,});}
else{$(e.currentTarget).closest('.chatboxSongs').find('[data-role="playingSong"]').html('');self.hideMusicPlayer();$('.chatBar').trigger('resizeBar');}});return false;},playSong:function(){if(!this.lmn1.song){return false;}
var data=$.parseJSON(this.lmn1.song);var room=$('.room_'+this.lmn2);var player=room.find("#chatbox-player");if(this.lmn8>0&&this.lmn8==data.id){return false;}
this.lmn8=data.id;room.find('.chatboxMusicPlayer').removeClass('ipsHide');$('.chatBar').trigger('resizeBar');player.jPlayer("stop");room.find('#current-song-name').html(data.name);room.find('#current-artist-name').html(data.artist);room.find('#topbar-artwork').html('<img src="'+data.thumbnail+'">');if(data.file.toLowerCase().indexOf(".mp3")>=0){player.jPlayer("setMedia",{mp3:data.file}).jPlayer('play',1);}
else if(data.file.toLowerCase().indexOf("m4a")>=0){player.jPlayer("setMedia",{m4a:data.file}).jPlayer('play',1);}
else if(data.file.toLowerCase().indexOf("wma")>=0){player.jPlayer("setMedia",{wma:data.file}).jPlayer('play',1);}},hideMusicPlayer:function(){this.scope.find("#chatbox-player").jPlayer("stop");this.scope.find('.chatboxMusicPlayer').addClass('ipsHide');self.lmn8=0;},jPlayer:function(){if(this.scope.find("#chatbox-player").length){this.scope.find("#chatbox-player").jPlayer({cssSelectorAncestor:'#sound-container',swfPath:ips.getSetting('baseURL')+"applications/musicbox/interface/jPlayer",supplied:"mp3,wma,m4a",wmode:"window",volume:ips.utils.db.get('musicbox','volume')?ips.utils.db.get('musicbox','volume'):0.5,smoothPlayBar:true,consoleAlerts:false,loop:true,});this.playSong();}},resizeWindow:function(){if(this.scope.closest('.chatBar').length>0){if(this.scope.closest('.chatBar').is(":hidden")){if(!this.lmn20){this.toggleChat();}
this.lmn20=true;}
else{this.lmn20=false;}}},goDown:function(){var self=this;var chatIframe=self.scope.find('#chatContentIframe');var chatContentWrap=self.scope.find('#chatContent');if(!self.lmn18){chatIframe.scrollTop(chatIframe.prop("scrollHeight"));}
if(self.lmn7){}
else{chatIframe.find('img').imagesLoaded(function(images){if(!self.lmn18){chatIframe.scrollTop(chatIframe.prop("scrollHeight"));}});}},donate:function(e){var self=this;var dialogRef=ips.ui.dialog.create({url:self.lmn3+'&do=donate',size:'narrow',forceReload:false,destructOnClose:true,callback:function(e){$(e).find('form').on('submit',function(e){e.preventDefault();var form=$(e.currentTarget);ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){if(response.redirect){self.lmn23=response.redirect;dialogRef.hide();if(!chatbox.isExternal(self.lmn23)){self.checkoutDialog(self.lmn23);}
else{window.location.href=self.lmn23;}}}).always(function(response){});return false;});}});dialogRef.show();return false;},checkoutDialog:function(url){var self=this;var dialogRef=ips.ui.dialog.create({url:url,size:'normal',forceReload:false,destructOnClose:true,callback:function(e){$(e).find('a[data-action="wizardLink"]').on('click',function(a){dialogRef.hide();self.checkoutDialog($(a.currentTarget).attr('href'));return false;});$(e).find('form').on('submit',function(a){a.preventDefault();var form=$(a.currentTarget);ips.getAjax()(form.attr('action'),{data:form.serialize(),type:'post',bypassRedirect:true}).done(function(response){var newURL=response.redirect?response.redirect:self.lmn23;dialogRef.hide();if(!chatbox.isExternal(newURL)){self.checkoutDialog(newURL);}
else{window.location.href=newURL;}});return false;});}});dialogRef.show();},resetIdleTimer:function(e){var self=this;var timeout=self.lmn1.idletimeout;if(timeout==0||self.lmn21){return;}
clearTimeout(self.lmn26);self.lmn26=setTimeout(function(){self.kick(ips.getString('chatbox_user_idle'),ips.getString('chatbox_reconnect'));},timeout*60*1000);},});}(jQuery,_));;
$(document).ready(function(){var tabCount=ips.getSetting('chatbox_tabCount');if(tabCount>-1){var chatMenu=$('[data-role="navBarItem"][data-navApp="chatbox"][data-navExt="Chatbox"] > a');if(chatMenu.length>0){chatMenu.append($('<span/>').addClass('ipsNotificationCount chatboxTabCount cbTabCount_'+tabCount).text(tabCount));setInterval(function(){ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=chatbox&module=chatbox&controller=chatbox&do=tabCount').done(function(response){if(self._joined!=1){if(response.count>0){$('.chatboxTabCount').text(response.count).removeClass('cbTabCount_0');}
else $('.chatboxTabCount').text('0').addClass('cbTabCount_0');}});},15000);}}});;
ips.templates.set('chatbox.style.superchat'," <li class='ipsDataItem {{#id}}chat_row{{/id}} {{#callme}}mentionMe{{/callme}}' {{#id}}id='{{id}}'{{/id}}>	<div class='superchat' data-amount='{{money}}' style='background: {{mainBg}};'>		<div class='{{#chatterPhoto}}ipsPhotoPanel ipsPhotoPanel_tiny{{/chatterPhoto}} ipsClearfix'>			<a href='#!' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}' data-ipsHover-onClick{{/memberHovercard}} class='ipsUserPhoto ipsUserPhoto_tiny' id='ips_uid_{{chatterID}}'>				<img src='{{chatterPhoto}}' alt=''>			</a>			<div>				<a href='#!' class='chatterName' style='color: #{{mainTxt}};' data-action='mention' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}'{{/memberHovercard}}>					{{{chatterNameFormat}}}				</a>				<div class='ipsPos_right' style='color: #{{mainTxt}};'>					<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsType_small ipsType_light' datetime='{{time}}'>{{time}}</time>&nbsp;					{{#id}}						{{#canManageMSG}}							<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>								<i class='fa fa-ellipsis-h'></i>							</a>							<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>								{{#canEdit}}<li class='ipsMenu_item'><a href='#!' data-action='edit' data-chatID='{{id}}'>{{#lang}}chatbox_edit{{/lang}}</a></li>{{/canEdit}}								{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}								{{#canReport}}<li class='ipsMenu_item'><a href='#!' data-action='report' data-chatID='{{id}}'>{{#lang}}chatbox_report{{/lang}}</a></li>{{/canReport}}								{{#canBeBlocked}}<li class='ipsMenu_item'><a href='#!' data-action='addToBlockedList' data-key='{{chatterKey}}' data-ip='{{chatterIP}}' data-name='{{chatterName}}'>{{#lang}}chatbox_block{{/lang}}</a></li>{{/canBeBlocked}}							</ul>						{{/canManageMSG}}					{{/id}}				</div>				<div class='ipsList_inline'><span class='money' style='color: #{{mainTxt}};'>{{money}}</span></div>			</div>		</div>		<div id='chatRow_{{id}}' data-id='{{id}}' class='msgArea' style='color: #{{mainTxt}}; background-color: {{subBg}}'><span class='chatbox_msg'>{{{content}}}</span></div>	</div></li>");ips.templates.set('chatbox.style.standard'," <li class='ipsDataItem {{#id}}chat_row{{/id}} chatbox_style1 {{#callme}}mentionMe{{/callme}}' {{#id}}id='{{id}}'{{/id}}>	<div class='ipsPadding:half {{#chatterPhoto}}ipsPhotoPanel ipsPhotoPanel_tiny{{/chatterPhoto}} ipsClearfix'>		<a href='#!' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}' data-ipsHover-onClick{{/memberHovercard}} class='ipsUserPhoto ipsUserPhoto_tiny' id='ips_uid_{{chatterID}}'>			<img src='{{chatterPhoto}}' alt=''>		</a>		<div>			<a href='#!' class='chatterName' data-action='mention' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}'{{/memberHovercard}}>{{{chatterNameFormat}}}</a>			<div class='ipsPos_right'>				<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsType_small ipsType_light' datetime='{{time}}'>{{time}}</time>&nbsp;				{{#id}}					{{#canManageMSG}}						<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>							<i class='fa fa-ellipsis-h'></i>						</a>						<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>							{{#canEdit}}<li class='ipsMenu_item'><a href='#!' data-action='edit' data-chatID='{{id}}'>{{#lang}}chatbox_edit{{/lang}}</a></li>{{/canEdit}}							{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}							{{#canReport}}<li class='ipsMenu_item'><a href='#!' data-action='report' data-chatID='{{id}}'>{{#lang}}chatbox_report{{/lang}}</a></li>{{/canReport}}							{{#canBeBlocked}}<li class='ipsMenu_item'><a href='#!' data-action='addToBlockedList' data-key='{{chatterKey}}' data-ip='{{chatterIP}}' data-name='{{chatterName}}'>{{#lang}}chatbox_block{{/lang}}</a></li>{{/canBeBlocked}}						</ul>					{{/canManageMSG}}				{{/id}}			</div>			<div class='ipsList_inline' id='chatRow_{{id}}' data-id='{{id}}'><span class='chatbox_msg'>{{{content}}}</span></div>		</div>	</div></li>");ips.templates.set('chatbox.style.condensed'," <li class='ipsDataItem {{#id}}chat_row{{/id}} chatbox_style2 {{#callme}}mentionMe{{/callme}}' {{#id}}id='{{id}}'{{/id}}>	<div class='ipsPadding:half ipsClearfix'>		<a href='#!' class='chatterName' data-action='mention' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}'>{{{chatterNameFormat}}}</a>:  		<span class='ipsPos_right'>			<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsType_small ipsType_light' datetime='{{time}}'>{{time}}</time>&nbsp;			{{#id}}				{{#canManageMSG}}					<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>						<i class='fa fa-ellipsis-h'></i>					</a>					<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>						{{#canEdit}}<li class='ipsMenu_item'><a href='#!' data-action='edit' data-chatID='{{id}}'>{{#lang}}chatbox_edit{{/lang}}</a></li>{{/canEdit}}						{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}						{{#canReport}}<li class='ipsMenu_item'><a href='#!' data-action='report' data-chatID='{{id}}'>{{#lang}}chatbox_report{{/lang}}</a></li>{{/canReport}}						{{#canBeBlocked}}<li class='ipsMenu_item'><a href='#!' data-action='addToBlockedList' data-key='{{chatterKey}}' data-ip='{{chatterIP}}' data-name='{{chatterName}}'>{{#lang}}chatbox_block{{/lang}}</a></li>{{/canBeBlocked}}					</ul>				{{/canManageMSG}}			{{/id}}		</span>		<span id='chatRow_{{id}}' data-id='{{id}}'><span class='chatbox_msg'>{{{content}}}</span></span>	</div></li>");ips.templates.set('chatbox.style.bubbles'," <li class='ipsDataItem {{#id}}chat_row{{/id}} chatbox_style3 {{#callme}}mentionMe{{/callme}}' {{#id}}id='{{id}}'{{/id}}>	<div class='ipsPadding:half {{#chatterPhoto}}ipsPhotoPanel ipsPhotoPanel_tiny{{/chatterPhoto}} ipsClearfix'>		<a href='#!' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}' data-ipsHover-onClick{{/memberHovercard}} class='ipsUserPhoto ipsUserPhoto_tiny' id='ips_uid_{{chatterID}}'>			<img src='{{chatterPhoto}}' alt=''>		</a>		<div class='ipsClearfix'>			<div class='bubble cb1' id='chatRow_{{id}}' data-id='{{id}}'>				<a href='#!' class='chatterName ipsType_reset' data-action='mention' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}'{{/memberHovercard}}>{{{chatterNameFormat}}}:</a> 				<span class='chatbox_msg'>{{{content}}}</span>			</div>			<br>			<span class='ipsPos_right'>				<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsType_small ipsType_light' datetime='{{time}}'>{{time}}</time>&nbsp;				{{#id}}					{{#canManageMSG}}						<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>							<i class='fa fa-ellipsis-h'></i>						</a>						<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>							{{#canEdit}}<li class='ipsMenu_item'><a href='#!' data-action='edit' data-chatID='{{id}}'>{{#lang}}chatbox_edit{{/lang}}</a></li>{{/canEdit}}							{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}							{{#canReport}}<li class='ipsMenu_item'><a href='#!' data-action='report' data-chatID='{{id}}'>{{#lang}}chatbox_report{{/lang}}</a></li>{{/canReport}}							{{#canBeBlocked}}<li class='ipsMenu_item'><a href='#!' data-action='addToBlockedList' data-key='{{chatterKey}}' data-ip='{{chatterIP}}' data-name='{{chatterName}}'>{{#lang}}chatbox_block{{/lang}}</a></li>{{/canBeBlocked}}						</ul>					{{/canManageMSG}}				{{/id}}			</span>		</div>	</div></li>");ips.templates.set('chatbox.style.talkie'," <li class='{{#id}}chat_row{{/id}} chatbox_style4 {{#callme}}mentionMe{{/callme}}' {{#id}}id='{{id}}'{{/id}}>	{{^isMe}}		<div class='ipsPadding:half {{#chatterPhoto}}ipsPhotoPanel ipsPhotoPanel_tiny{{/chatterPhoto}} ipsClearfix'>			<a href='#!' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}' data-ipsHover-onClick{{/memberHovercard}} class='ipsUserPhoto ipsUserPhoto_tiny' id='ips_uid_{{chatterID}}'>				<img src='{{chatterPhoto}}' alt=''>			</a>			<div class='ipsClearfix'>				<div class='talkie bubbleHim' id='chatRow_{{id}}' data-id='{{id}}'>					<a href='#!' class='chatterName ipsType_reset' data-action='mention' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}'{{/memberHovercard}}>{{{chatterNameFormat}}}:</a>					<span class='chatbox_msg'>{{{content}}}</span>				</div>			</div>			<div class='msgInfo'>				<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsType_small ipsType_light' datetime='{{time}}'>{{time}}</time>&nbsp;				{{#id}}					{{#canManageMSG}}						<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>							<i class='fa fa-ellipsis-h'></i>						</a>						<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>							{{#canEdit}}<li class='ipsMenu_item'><a href='#!' data-action='edit' data-chatID='{{id}}'>{{#lang}}chatbox_edit{{/lang}}</a></li>{{/canEdit}}							{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}							{{#canReport}}<li class='ipsMenu_item'><a href='#!' data-action='report' data-chatID='{{id}}'>{{#lang}}chatbox_report{{/lang}}</a></li>{{/canReport}}							{{#canBeBlocked}}<li class='ipsMenu_item'><a href='#!' data-action='addToBlockedList' data-key='{{chatterKey}}' data-ip='{{chatterIP}}' data-name='{{chatterName}}'>{{#lang}}chatbox_block{{/lang}}</a></li>{{/canBeBlocked}}						</ul>					{{/canManageMSG}}				{{/id}}			</span>		</div>	{{/isMe}}	{{#isMe}}		<div class='ipsPadding:half ipsClearfix'>			<div class='ipsClearfix'>				<div class='talkie bubbleMe' id='chatRow_{{id}}' data-id='{{id}}'>					<span class='chatbox_msg'>{{{content}}}</span>				</div>			</div>			<div class='msgInfo ipsType_right'>				<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsType_small ipsType_light' datetime='{{time}}'>{{time}}</time>&nbsp;				{{#id}}					{{#canManageMSG}}						<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>							<i class='fa fa-ellipsis-h'></i>						</a>						<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>							{{#canEdit}}<li class='ipsMenu_item'><a href='#!' data-action='edit' data-chatID='{{id}}'>{{#lang}}chatbox_edit{{/lang}}</a></li>{{/canEdit}}							{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}							{{#canReport}}<li class='ipsMenu_item'><a href='#!' data-action='report' data-chatID='{{id}}'>{{#lang}}chatbox_report{{/lang}}</a></li>{{/canReport}}							{{#canBeBlocked}}<li class='ipsMenu_item'><a href='#!' data-action='addToBlockedList' data-key='{{chatterKey}}' data-ip='{{chatterIP}}' data-name='{{chatterName}}'>{{#lang}}chatbox_block{{/lang}}</a></li>{{/canBeBlocked}}						</ul>					{{/canManageMSG}}				{{/id}}			</div>		</div>	{{/isMe}}</li>");ips.templates.set('chatbox.style.room.system'," <li class='ipsDataItem {{#id}}chat_row{{/id}} system_chat' {{#id}}id='{{id}}'{{/id}}>	<div class='ipsPadding:half ipsClearfix'>		<span class='chatbox_msg ipsType_light' id='chatRow_{{id}}' {{#id}}id='{{id}}'{{/id}}><i class='fa fa-angle-double-right'></i> {{{content}}}</span>		<span class='ipsPos_right'>			<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsType_small ipsType_light' datetime='{{time}}'>{{time}}</time>&nbsp;			{{#canDelete}}				{{#canDelete}}					<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>						<i class='fa fa-ellipsis-h'></i>					</a>					<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>						{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}					</ul>				{{/canDelete}}			{{/canDelete}}		</span>	</div></li>");ips.templates.set('chatbox.style.con.system'," <li class='ipsDataItem {{#id}}chat_row{{/id}} system_chat' {{#id}}id='{{id}}'{{/id}}>	<div class='ipsPadding:half ipsClearfix'>		<span class='chatbox_msg ipsType_light ipsType_small' id='chatRow_{{id}}' {{#id}}id='{{id}}'{{/id}}>			<i class='fa fa-angle-double-right'></i> {{{content}}}		</span>		<span class='ipsPos_right'>			{{#canDelete}}				<a class='msgAction' href='#msgAction{{id}}_menu' id='msgAction{{id}}' data-action='options' data-ipsMenu data-ipsMenu-closeOnClick='false' data-ipsMenu-appendTo='.chatboxContainer'>					<i class='fa fa-ellipsis-h'></i>				</a>				<ul class='cbMsgActionMenu ipsMenu ipsMenu_auto ipsHide' id='msgAction{{id}}_menu'>					{{#canDelete}}<li class='ipsMenu_item'><a href='#!' data-action='delete' data-chatID='{{id}}'>{{#lang}}chatbox_delete{{/lang}}</a></li>{{/canDelete}}				</ul>			{{/canDelete}}		</span>	</div></li>");ips.templates.set('chatbox.disconnected'," <div class='disconnected'>	<span>		<i class='fa fa-exclamation-triangle'></i><br>		{{msg}}<br>		{{#btn}}			<a href='#!' id='btnConnect' class='ipsButton ipsButton_primary ipsButton_verySmall ipsMargin_top:half' data-action='connect'>{{btn}}</a>		{{/btn}}	</span></div>");ips.templates.set('chatbox.chatters.list'," <ul class='ipsMenu ipsMenu_normal menuChatters' id='chattersList_{{roomID}}_menu' style='display: none'>	<li class='ipsMenu_title'>{{#lang}}chatbox_online_users{{/lang}}</li>	<div class='ipsMenu_innerContent chatters_content'>		<div class='ipsLoading chatbox_chatters_Panel'>			<ul class='ipsDataList'></ul>		</div>	</div></ul>");ips.templates.set('chatbox.chatter.row'," <li class='ipsDataItem chatter_row'>	<div class='ipsPadding:half ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix'>		<a href='#!' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}' data-ipsHover-onClick{{/memberHovercard}} class='ipsUserPhoto ipsUserPhoto_tiny' id='ips_uid_{{chatterID}}'>			<img src='{{chatterPhoto}}' alt=''>		</a>		<div class='nameInList ipsClearfix'>			<a href='#!' class='username' data-action='mention' data-member='{{chatterName}}' data-id='{{chatterID}}' data-url='{{chatterUrl}}' {{#memberHovercard}}data-ipshover data-ipshover-target='{{memberHovercard}}'{{/memberHovercard}}>				{{#is_anon}}<span class='cb_isAnon ipsType_light' data-ipsTooltip title='{{#lang}}chatbox_is_anon{{/lang}}'><i class='fa fa-eye-slash'></i></span>&nbsp;{{/is_anon}}				{{{chatterNameFormat}}}			</a>			<div class='ipsList_inline'>				{{#privateChat}}					<span data-controller='bim.chatbox.startChat'>						<a href='#!' class='ipsButton ipsButton_positive ipsButton_verySmall' data-action='startChat' data-memberID='{{chatterID}}'>							<i class='fa fa-comment'></i> {{#lang}}chatbox_send_private{{/lang}}						</a>&nbsp;					</span>				{{/privateChat}}				{{#canBeBlocked}}					<a href='#!' class='ipsButton ipsButton_negative ipsButton_verySmall' data-action='addToBlockedList' data-key='{{chatterKey}}' data-ip='{{chatterIP}}' data-name='{{chatterName}}'>						<i class='fa fa-ban'></i> {{#lang}}chatbox_block{{/lang}}					</a>				{{/canBeBlocked}}			</div>		</div>	</div></li>");ips.templates.set('chatbox.parseImage'," <a href='{{url}}' class='mitem' data-action='zoomImage'>	{{#blankImage}}		<img src='{{blankImage}}' data-src='{{url}}' class='lazyload'>	{{/blankImage}}	{{^blankImage}}		<img src='{{url}}'>	{{/blankImage}}</a>");ips.templates.set('chatbox.parseURL',"<a href='{{url}}' target='_blank' class='chatboxURL' rel='noopener noreferrer'>{{text}}</a>");ips.templates.set('chatbox.parseVideo'," <div class='chatboxVideoContainer mitem' data-source='{{source}}' data-url='{{url}}' data-play='{{play}}' data-id='{{id}}' data-img='{{img}}' data-html5='{{html5}}'>	<div class='chatboxVideo {{#isShorts}}youtubeShorts{{/isShorts}}'>		{{#img}}			{{#blankImage}}				<img src='{{blankImage}}' data-src='{{img}}' class='lazyload'>			{{/blankImage}}			{{^blankImage}}				<img src='{{img}}'>			{{/blankImage}}			<a href='#!' data-action='playVideoInIframe'></a>		{{/img}}		{{^img}}			{{#html5}}				<video class='chatboxPlayer' width='100%' height='100%' controls>					<source src='{{play}}' autostart='false'>				</video>			{{/html5}}			{{^html5}}				<iframe class='chatboxPlayer' width='100%' height='100%' src='{{play}}' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe>			{{/html5}}		{{/img}}	</div>	<a class='chatboxVideoPopupOpen' data-action='playVideoInPopup'>		<i class='fa fa-window-maximize' aria-hidden='true'></i>&nbsp;&nbsp;{{#lang}}chatbox_expandPlayer{{/lang}}	</a></div>");ips.templates.set('chatbox.videoIframe'," 	{{#html5}}		<video class='chatboxPlayer' width='100%' height='100%' controls>			<source src='{{play}}'>		</video>	{{/html5}}	{{^html5}}		<iframe class='chatboxPlayer' width='100%' height='100%' src='{{play}}' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe>	{{/html5}}");ips.templates.set('chatbox.videoPopup'," <div class='chatboxVideoWrapper videopopup_{{chatID}}'>	<iframe width='560' height='315' src='{{play}}' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe></div>");ips.templates.set('chatbox.parseAudio'," <div class='chatboxVideoContainer mitem'>	<audio {{#isMemo}}class='cbVoiceMsg'{{/isMemo}} src='{{url}}' controls></audio></div>");ips.templates.set('chatbox.parseGiphy'," <div class='bimGiphyContainer mitem'>	<div class='giphy'>	{{#blankImage}}		<a href='{{gif}}' data-ipslightbox><img class='ipsImage bimGiphyIMG' src='{{blankImage}}' data-src='{{still}}' class='lazyload'></a>	{{/blankImage}}	{{^blankImage}}		<a href='{{gif}}' data-ipslightbox><img class='ipsImage bimGiphyIMG' src='{{still}}'></a>	{{/blankImage}}	<div class='giphyPlayBtn'></div>	</div></div>");ips.templates.set('chatbox.editInput'," <textarea type='text' class='editChatInput' data-action='doEdit' autocomplete='off'></textarea>");ips.templates.set('chatbox.loadMore'," <li id='loadMore' class='ipsDataItem ipsType_center ipsPadding'><span class='ipsLoading ipsLoading_tiny'></span></li>");ips.templates.set('chatbox.loadMoreBtn'," <li id='loadMoreBtn' class='ipsDataItem ipsType_center ipsCursor_pointer ipsAreaBackground_light' data-action='loadMore'>	{{#lang}}chatbox_loadMoreBtn{{/lang}}</li>");ips.templates.set('chatbox.convo.list.rooms'," <li class='ipsDataItem rooms ipsPadding:half ipsClearfix ipsCursor_pointer' data-action='openRoom' data-roomID='{{id}}'>	<a href='#!' class='ipsPos_left ipsType_blendLinks' title='{{title}}'>		<i class='fa fa-{{icon}}'></i> {{title}}	</a>	{{#users}}<span class='ipsPos_right ipsBadge ipsBadge_positive'>{{users}}</span>{{/users}}</li>");ips.templates.set('chatbox.blankRoom'," <div class='room_{{roomID}}'></div>");ips.templates.set('chatbox.blankCon'," <div class='convo_{{conID}}'></div>");ips.templates.set('chatbox.newcon.chats'," <li class='ipsDataItem convoRow ipsClearfix ipsCursor_pointer {{#unread}}mentionMe{{/unread}} convoRow_{{id}}' data-action='openConversation' data-conID='{{id}}'>	<div class='{{^isGroup}}ipsPhotoPanel ipsPhotoPanel_tiny{{/isGroup}}'>		{{#isGroup}}			{{{icon}}}		{{/isGroup}}		{{^isGroup}}			<span class='chatbox_one_avatar'>				<i class='fa fa-circle ipsOnlineStatus_online {{^isOnline}}ipsHide{{/isOnline}}'></i>				<span class='ipsUserPhoto ipsUserPhoto_tiny'><img src='{{icon}}'></span>			</span>		{{/isGroup}}		<div class='ipsClearfix convoRowMain'>			<span class='ipsPos_left conRowName' title='{{{name}}}'>				<b>{{{name}}}</b> <span class='newMsgCountTxt'>{{#unread}}({{unread}}){{/unread}}</span>			</span>			<time class='cbTime {{#inDay}}timeago{{/inDay}} ipsPos_right ipsType_small ipsType_light' datetime='{{lastMsgTime}}'>{{lastMsgTime}}</time>&nbsp;			{{#lastMsg}}<br><div class='cbLastMSG ipsType_light'>{{lastMsg}}</div>{{/lastMsg}}		</div>	</div></li>");ips.templates.set('chatbox.newcon.temp'," <li class='convoRow tempCon ipsClearfix ipsCursor_pointer convoRow_{{id}}' data-action='openConversation' data-conID='{{id}}'></li>");ips.templates.set('chatbox.newcon.mem'," <li class='convoRow ipsClearfix ipsCursor_pointer' {{^isBan}}data-action='openConversation' data-memberID='{{id}}' data-conID='{{conID}}'{{/isBan}}>	<div class='ipsPhotoPanel ipsPhotoPanel_tiny'>		<span class='chatbox_one_avatar'>			<i class='fa fa-circle ipsOnlineStatus_online cbMemOnline {{^isOnline}}ipsHide{{/isOnline}}'></i>			<span class='ipsUserPhoto ipsUserPhoto_tiny'><img src='{{photo}}'></span>		</span>		<div>			<strong>{{{name}}}</strong><br>			<span class='ipsType_light'>{{{extra}}}</span>		</div>	</div></li>");ips.templates.set('chatbox.search.mem'," 	<li class='ipsAutocompleteMenu_item ipsClearfix' data-value=\"{{value}}\" role='option' role='listitem'>		<div class='ipsPhotoPanel ipsPhotoPanel_tiny'>			<span class='chatbox_one_avatar'>				<i class='fa fa-circle ipsOnlineStatus_online cbMemOnline {{^isOnline}}ipsHide{{/isOnline}}'></i>				<span class='ipsUserPhoto ipsUserPhoto_tiny'><img src='{{photo}}'></span>			</span>			<div>				<strong>{{{name}}}</strong><br>				<span class='ipsType_light'>{{{extra}}}</span>			</div>		</div>	</li>");ips.templates.set('chatbox.newcon.notify'," <div data-role='newNotification'>	<div class='ipsPhotoPanel ipsPhotoPanel_tiny' data-conID='{{{id}}}'>		<span class='ipsUserPhoto ipsUserPhoto_tiny'><img src='{{{icon}}}'></span>		<div class='ipsClearfix'>			<span class='ipsPos_left'><b>{{{title}}}</b></span>			{{#time}}<span class='ipsPos_right ipsType_light ipsType_small'>{{time}}</span>{{/time}}			{{#lastMsg}}<br><span class='cbLastMSG ipsType_small'>{{{lastMsg}}}</span>{{/lastMsg}}		</div>	</div></div>");ips.templates.set('chatbox.upload.file'," 	<div class='cbUploadedIMG ipsAttach ipsImageAttach' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-fileType='image'>		<ul class='ipsList_inline ipsImageAttach_controls'>			<li class='ipsPos_right' data-role='deleteFileWrapper'>				<input type='hidden' name='{{field_name}}_keep[{{id}}]' value='1'>				<a href='#!' data-role='deleteFile' class='ipsButton ipsButton_verySmall ipsButton_light' data-ipsTooltip title='{{#lang}}removeScreenshot{{/lang}}'><i class='fa fa-times'></i></a>			</li>		</ul>		<label for='{{field_name}}_primary_screenshot_{{id}}' class='ipsCursor_pointer'>			<div class='ipsImageAttach_thumb ipsType_center' data-role='preview' data-grid-ratio='65' {{#thumb}}style='background-image: url( {{thumbnail_for_css}} )'{{/thumb}}>				{{#status}}					<span class='ipsImageAttach_status ipsType_light' data-role='status'>{{{status}}}</span>					<span class='ipsAttachment_progress'><span data-role='progressbar'></span></span>				{{/status}}				{{#thumb}}					{{{thumb}}}				{{/thumb}}				<i class='fa fa-music ipsType_large musicType' {{#thumb}}style='display: none'{{/thumb}}></i>			</div>		</label>	</div>");ips.templates.set('chatbox.upload.fileWrapper'," 	<div>{{{content}}}</div>");ips.templates.set('chatbox.emoticons'," <div class='ipsMenu ipsMenu_wide' id='{{id}}_menu' style='display: none' data-editorID='{{editor}}' data-controller='chatbox.emoticons'>	<div class='ipsMenu_headerBar'>		<p class='ipsType_reset ipsPos_right'>			<a href='#!' class='ipsType_blendLinks ipsHide' data-role='categoryTrigger' data-ipsMenu data-ipsMenu-appendTo='#{{id}}_menu' id='{{id}}_more'>{{#lang}}emoticonCategories{{/lang}} <i class='fa fa-caret-down'></i></a>		</p>		<h4 class='ipsType_sectionHead'>{{#lang}}emoji{{/lang}}</h4>		<ul data-role='categoryMenu' class='ipsMenu ipsMenu_auto ipsCursor_pointer' id='{{id}}_more_menu' role='menu' style='display: none'>		</ul>	</div>	<div class='ipsMenu_innerContent ipsEmoticons_content'>		<div class='ipsEmpty ipsType_center ipsEmoticons_contentLoading' data-role='emojiLoading'>			{{#lang}}loading{{/lang}}...		</div>	</div>	<div class='ipsMenu_footerBar ipsHide'>		<input type='text' data-role='emoticonSearch' class='ipsField_fullWidth' placeholder='{{#lang}}emoticonFind{{/lang}}'>	</div></div>");;