var methodist=methodist||{};methodist.components=methodist.components||{};methodist.components.chat=methodist.components.chat||{initialized:!1,model:null,status:null,timeout:null,interval:null,init:function(n){var t=this;t.model=n;var h=t.getOverrides(),u=$("#chat-container"),r=u.find(".chat-trigger"),o=r.find(".chat-message").hide(),f=r.find(".chat-badge").hide(),e=function(){(methodist.utils.isWebView()&&($(".eg-chat-maximized").removeClass("eg-chat-maximized"),$(".egain-maximized").removeClass("egain-maximized")),t.Enabled)&&(t.initialized||(t.hook(),r.click(t.openChat.bind(t)),t.initialized=!0),t.recalculatePosition(!0),u.show())},s=function(n){var i=u.is(".opened"),t=Number(n);isNaN(t)&&(t=0);t===0||i?f.hide():(n<100?f.html(n):f.html("99+"),f.show());e()},i=window.egainDockChat||{};if(i.on){i.on("badge-update",s);i.on("page-visible",e)}else i.pending=i.pending||[],i.pending.push({type:"on",channel:"badge-update",callback:s}),i.pending=i.pending||[],i.pending.push({type:"on",channel:"page-visible",callback:e});if(!h.Enabled){u.hide();return}t.hook();methodist.utils.breakpoints.isSmall()?(u.css({left:0,right:0,bottom:"25px"}).show(),r.css({width:"100%",borderRadius:0,borderTopLeftRadius:"50% 270px",borderBottomLeftRadius:"50% 270px"}).show(),o.show(),setTimeout(function(){t.initialized=!0;o.hide();u.animate({left:0,right:"25px"});r.click(t.openChat.bind(t));r.animate({borderTopRightRadius:"50%",borderBottomRightRadius:"50%"},{duration:400,start:function(){r.animate({width:"70px",borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},{queue:!1})}})},3e3)):(r.click(t.openChat.bind(t)),t.initialized=!0)},hook:function(){var n=this;$(document).scroll(n.recalculatePosition.bind(n));$(window).resize(methodist.utils.throttle(n.recalculatePosition,500,n)).unload(function(){clearTimeout(n.timeout);clearInterval(n.interval)});n.recalculatePosition(!0);n.startMonitoring()},openChat:function(){var t=this,n=t.getOverrides(),f=window.egainDockChat||{},e=f.isSessionOpen(),u=$("#chat-container"),o=u.find(".chat-trigger"),i=u.find(".chat-session"),r;methodist.utils.breakpoints.isSmall()&&(o.hide(),u.css({bottom:0,inset:""}));r=i.find(".chat-header");t.status==="offline"?(r.css({backgroundColor:"#7D7D7D",color:n.OfflineForegroundColor}),r.find(".chat-title > img").attr("src",n.OfflineIcon),r.find(".chat-title > span").text(n.Title),i.find(".chat-body > .chat-greeting").html("<img src="+n.OfflineIcon+">"),i.find(".chat-body > .chat-options > .chat-options-title").html(n.OfflineGreeting),i.find(".chat-header > .chat-header-buttons > .chat-close").click(t.closeChat.bind(t)),i.slideDown(),u.addClass("opened").addClass(t.status),t.recalculatePosition()):!e&&n.Options!=null&&n.Options.length>0?(r.css({backgroundColor:n.OnlineBackgroundColor,color:n.OnlineForegroundColor}),r.find(".chat-title > span").text(n.Title),r.find(".chat-title > img").attr("src",n.OnlineIcon),i.find(".chat-body > .chat-greeting").html(n.OnlineGreeting),i.find(".chat-body > .chat-options > .chat-options-title").html(n.OptionsTitle),i.find(".chat-body > .chat-options > .chat-options-buttons").html(n.Options.map(function(n){return'<a href="#" class="ghost-blue-button" data-ref="'+n.EntryPoint+'" data-template="'+n.Template+'">'+n.Title+"<\/a>"})),i.find(".chat-body > .chat-options > .chat-options-buttons > a").each(function(n,i){var r=$(i);r.click(function(){t.loadEntryPoint(r.attr("data-ref"),r.attr("data-template"))})}),i.find(".chat-header > .chat-header-buttons > .chat-close").click(t.closeChat.bind(t)),i.slideDown(),u.addClass("opened").addClass(t.status),t.recalculatePosition()):t.loadEntryPoint(n.EntryPoint,n.Template)},closeChat:function(){var t=this,n=$("#chat-container"),i=$("#egain-chat-wrapper");i.hide();n.find(".chat-session").hide();n.find(".chat-trigger").show();n.removeClass("opened").removeClass("online").removeClass("offline");t.recalculatePosition()},loadEntryPoint:function(n,t){var i=this,r=$("#chat-container"),u=r.find(".chat-session"),f=$("#egain-chat-wrapper");egainDockChat.once(["close","minimize"],function(){i.closeChat()});egainDockChat.once("popup",function(){i.closeChat();$("#chat-container").hide()});egainDockChat.openChat(n,t,function(){u.hide();f.show();r.addClass("opened").addClass(i.status);i.recalculatePosition()})},recalculatePosition:function(n){var e=this,t,i,c;if(n===!0||e.initialized!==!1){var s=$("body"),f=$("#footer"),r=$("#chat-container"),l=$("#egain-chat-wrapper"),a=r.find(".chat-trigger"),u="absolute",h=r.is(".opened"),o=methodist.utils.breakpoints.isSmall();s.removeClass("eg-chat-maximized");r.offset().top+r.height()>=f.offset().top-10&&(u="absolute");$(document).scrollTop()+window.innerHeight<f.offset().top&&(u="fixed");t={height:"",top:"auto",bottom:"25px",left:"",right:"25px"};i={top:"auto",bottom:"15px",left:"",right:"90px"};u==="absolute"&&(c=o?-25:-20,t.bottom="auto",t.top=f.offset().top+c+"px",i.bottom="auto",i.top=f.offset().top-485+"px");o&&(h&&a.hide(),n!==!0?r.css("visibility","hidden"):(t.left=0,t.right=0),h&&(s.addClass("eg-chat-maximized"),t.top=90,t.bottom=0,t.left=0,t.right=0,i.top=90,i.bottom=0,i.left=0,i.right=0));r.css({position:u,height:t.height,top:t.top,bottom:t.bottom,right:t.right,left:t.left});l.css({position:u,top:i.top,bottom:i.bottom,right:i.right,left:i.left});o&&n!==!0&&(clearTimeout(e.timeout),e.timeout=setTimeout(function(){r.css("visibility","visible")},500))}},startMonitoring:function(){var n=this;n.interval=setInterval(n.refresh.bind(n),6e4);n.refresh()},stopMonitoring:function(){var n=this;clearInterval(n.interval)},refresh:function(){var t=this,n=t.getOverrides(),i=!n.ForceOffline;t.model.ForceOffline===!0&&(i=!1);var r=$("#chat-container > .chat-trigger"),u=r.find(".chat-message"),f=r.find(".chat-button");return i&&t.status!=="online"?(t.status="online",r.removeClass("offline").attr("title",n.OnlineMessage).css({backgroundColor:n.OnlineBackgroundColor,borderColor:n.OnlineForegroundColor}),u.text(n.OnlineMessage).css({color:n.OnlineForegroundColor}),f.find("img").attr("src",n.OnlineIcon)):i||t.status==="offline"||(t.status="offline",r.addClass("offline").attr("title",n.OfflineMessage).css({backgroundColor:n.OfflineBackgroundColor,borderColor:n.OfflineForegroundColor}),u.text(n.OfflineMessage).css({color:n.OfflineForegroundColor}),f.find("img").attr("src",n.OfflineIcon)),i},getOverrides:function(){var n=this,t=n.model.Rules.reduce(function(t,i){switch(i.Type){case"BusinessHours":return methodist.utils.merge(t,n._getOverridesFromBusinessHours.call(n,i));case"BusinessDays":return methodist.utils.merge(t,n._getOverridesFromBusinessDays.call(n,i));case"Holidays":return methodist.utils.merge(t,n._getOverridesFromHolidays.call(n,i));case"OptionSelection":return methodist.utils.merge(t,n._getOverridesFromOptionSelection.call(n,i));case"QueryString":return methodist.utils.merge(t,n._getOverridesFromQueryString.call(n,i));case"ServiceDelegation":return methodist.utils.merge(t,n._getOverridesFromServiceDelegation.call(n,i));case"Disable":return methodist.utils.merge(t,{Enabled:!1})}return t},{Enabled:!0,ForceOffline:!1});return methodist.utils.merge({},n.model,t)},_getOverridesFromBusinessHours:function(n){var u=this,i=new Date,r=new Date(i.getTime()),t;return r.setHours(0,0,0,0),t=i.getTime()-r.getTime(),t>=n.From&&t<=n.To?n.Overrides.reduce(function(n,t){return n[t.Key]=u._getValue(t.Value),n},{}):void 0},_getOverridesFromBusinessDays:function(n){var t=this,i=new Date,r=i.getDay();if(n.Days.indexOf(r)>-1)return n.Overrides.reduce(function(n,i){return n[i.Key]=t._getValue(i.Value),n},{})},_getOverridesFromHolidays:function(n){var i=this,r=new Date,t=new Date(r.getTime());return t.setHours(0,0,0,0),n.Holidays.some(function(n){new Date(n.Date).getTime()===t.getTime()})?n.Overrides.reduce(function(n,t){return n[t.Key]=i._getValue(t.Value),n},{}):void 0},_getOverridesFromOptionSelection:function(n){var t=this,i=n.Options.reduce(function(n,t){return n.push({Title:t.Title,EntryPoint:t.EntryPoint,Template:t.Template}),n},[]);return n.Overrides.reduce(function(n,i){return n[i.Key]=t._getValue(i.Value),n},{OptionsTitle:n.OptionsTitle,Options:i})},_getOverridesFromQueryString:function(n){var t=this,i=n.Arguments.reduce(function(n,t){return n&new RegExp(unescape(t.Value),"gmi").test(methodist.utils.queryString.getParameterByName(t.Key))},!0);return i?n.Overrides.reduce(function(n,i){return n[i.Key]=t._getValue(i.Value),n},{}):{}},_getOverridesFromServiceDelegation:function(n){var t=this;return n.Apply===!0?n.Overrides.reduce(function(n,i){return n[i.Key]=t._getValue(i.Value),n},{}):{}},_getValue:function(n){try{return JSON.parse(unescape(n))}catch(t){return unescape(n)}}}