1function el(e){return document.getElementById(e)}function eltn(e,t){return t?t.getElementsByTagName(e):document.getElementsByTagName(e)}function getParentWithTagName(e,t){var n=e.parentNode;if(n)return n.tagName.toUpperCase()==t.toUpperCase()?n:getParentWithTagName(n,t)}function browserIsIE(){/*@cc_on!@*/ 2return!1;//Only IE renders contents of /*@cc_on @/ construct, rendering !false for IE 3}function IsHubbPage(){return document.location.pathname.toLowerCase().startsWith("/hubb/")||$e("body").hasClass("app-body")}function isPwa(){return window.matchMedia("(display-mode: fullscreen)").matches||window.matchMedia("(display-mode: standalone)").matches||window.matchMedia("(display-mode: minimal-ui)").matches}function toggleDisplay(e){toggleElemDisplay(el(e))}function toggleElemDisplay(e){setElemDisplay(e,"none"==e.style.display)}function setElemDisplay(e,t,n){e&&(e.style.display=n?t?n:"none":t?"":"none")}function getQSVal(e,t){if(""==e)return null;for(var n=e.substring(1).split("&"),i=0;i<n.length;i++){var o=n[i];if(2==o.split("=").length&&o.split("=")[0]==t)return o.split("=")[1]}return null}function setQSVal(e,t,n){var i="",o=e.indexOf(t);if(-1!==o){var a="",r=e.indexOf("&",o);if(a=-1!=r?e.substring(o,r):e.substr(o),""!==n)i=e.replace(a,t+"="+n);else{var s=1==o?-1!=r?a+"&":a:"&"+a;i=e.replace(s,"")}}else i=""!==n?-1!==e.indexOf("?")?e+"&"+t+"="+n:e+"?"+t+"="+n:e;return i.indexOf("?")===i.length-1&&(i=i.slice(0,-1)),i}function SetQSAndForm(e,t,n){var i=setQSVal(location.search,e,t||"");if(i!=location.search){n?history.replaceState(null,null,[location.protocol,"//",location.host,location.pathname].join("")+i+location.hash):history.pushState(null,null,[location.protocol,"//",location.host,location.pathname].join("")+i+location.hash);var o=$e(EndisForm()).prop("action"),a=o.indexOf("?");a>-1?$e(EndisForm()).prop("action",o.substr(0,a)+setQSVal(o.substring(a),e,t)):""!=t&&$e(EndisForm()).prop("action",o+"?"+e+"="+t)}}function TrimString(e){return e?e.replace(/^\s+|\s+$/g,""):e}function LTrimString(e){return e?e.replace(/^\s+/,""):e}function RTrimString(e){return e?e.replace(/\s+$/,""):e}function EndisForm(){var e=el("frm1");if(e&&"FORM"===e.tagName||(e=el("aspnetForm")),!e||"FORM"!==e.tagName)for(var t=0;t<document.forms.length;t++){var n=document.forms[t].action;if(""==n||n==document.URL){e=document.forms[t];break}}if(e&&"FORM"===e.tagName||(e=document.forms[0]),!e||"FORM"!==e.tagName)throw"No form found.";return e}function SubmitEndisForm(){EndisForm().submit()}function WindowIsInDialog(){for(var e=window.self;e!=window.top&&e!=e.parent;){if(e.frameElement&&"IFRAME"==e.frameElement.nodeName&&e.frameElement.id&&e.frameElement.id.indexOf("ifrDialogWindow_")>=0)return!0;e=e.parent}return!1}function FindDialogObject(){var e;if("undefined"!=typeof dlg)e=dlg;else for(var t=window.self;!e&&t!=window.top;)void 0!==(t=t.parent).dlg&&(e=t.dlg);return e}function urlEncodeCharacter(e){return"%"+e.charCodeAt(0).toString(16)}function urlEncode(e){return encodeURIComponent(e).replace(/\%20/g,"+").replace(/[!'()*~]/g,urlEncodeCharacter)}function loadURLToInnerHTML(e,t,n){setElemDisplay(el(n),!0),setElemDisplay(el(t),!1);loadXMLDocAndCall(e,function(e){setElemDisplay(el(n),!1),setElemDisplay(el(t),!0),el(t).innerHTML=e})}function EnforceTextBoxMaxLength(e,t,n){return!!{8:!0,37:!0,38:!0,39:!0,40:!0,46:!0}[e.keyCode]||t.value.length<=n}function GetMaxZIndex(){var e=0;return $e("body").find(":visible").each(function(){var t=parseInt($e(this).css("z-index"));e=t>e&&t<2e9?t:e}),e}function CalculateAge(e,t){var n=t.getFullYear()-e.getFullYear(),i=t.getMonth()-e.getMonth();return(i<0||0===i&&t.getDate()<e.getDate())&&n--,n}function PostbackWithoutWarning(e,t){void 0!==InsightAreYouSure&&InsightAreYouSure.Enabled()&&InsightAreYouSure.SuspendForPostback(),__doPostBack(e,t)}function MakeAJAXRequest(e,t,n,i,o,a,r){InternalAJAXRequest("POST",e+"/"+t,n?JSON.stringify(n):null,"json",i,o,a,r)}function MakeAJAXRequestGET(e,t,n,i,o,a,r){InternalAJAXRequest("GET",e+"/"+t,n,"html",i,o,a,r)}function InternalAJAXRequest(e,t,n,i,o,a,r,s){r&&Insight.ShowSpinner(),$.ajax({type:e,url:t,data:n,cache:"GET"==e,contentType:"application/json; charset=utf-8",dataType:i,error:function(e,t,n){s||401!==e.status?a&&a(e,t,n):PostbackWithoutWarning()},success:o,complete:function(e,t){r&&Insight.HideSpinner()}})}function showUser(e){var t="/Address/Details.aspx?WA=true&user_id="+e;"function"==typeof EndisDialog?new EndisDialog(t,"User details",620,480):(myWin=window.open(t,"AddressWin","height=480,width=620,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes"),myWin.focus())}function linkToImageURLPopup(e){"function"==typeof EndisDialog?new EndisDialog(e,"Image",620,480):(myWin=window.open(e,"ImagePopUp","height=480,width=620,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes"),myWin.focus())}function loadXMLDocAndCall(e,t,n){var i=getXMLHttpRequest();i&&(i.onreadystatechange=processReqChange(t,n,i),i.open("GET",e,!0),i.send(""))}function loadXMLDocAndCallPost(e,t,n,i){var o=getXMLHttpRequest();o&&(o.onreadystatechange=processReqChange(t,n,o),o.open("POST",e,!0),o.setRequestHeader("Content-type","application/x-www-form-urlencoded"),o.setRequestHeader("Content-length",i.length),o.setRequestHeader("Connection","close"),o.send(i))}function showBirthday(e){var t="/Calendar/BirthdayMessage.aspx?id="+e;"function"==typeof EndisDialog?new EndisDialog(t,"Birthday Message",440,340):(myWin=window.open(t,"birthdayWin","height=340,width=440,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes"),myWin.focus())}function showUserAndStaffRoleNotes(e,t){var n="/Address/Details.aspx?user_id="+e+"&role_id="+t;"function"==typeof EndisDialog?new EndisDialog(n,"User details",620,480):(myWin=window.open(n,"AddressWin","height=480,width=620,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes"),myWin.focus())}function showOrg(e){var t="/Modules/FrontPage/Directory/OrgDetailsPopUp.aspx?org_id="+e;"function"==typeof EndisDialog?new EndisDialog(t,"Details",500,600):(myWin=window.open(t,"AddressWin","height=600,width=500,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes"),myWin.focus())}function showFamily(e){var t="/Address/Details.aspx?WA=true&family_id="+e;"function"==typeof EndisDialog?new EndisDialog(t,"Family details",620,480):(myWin=window.open(t,"AddressWin","height=480,width=620,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes"),myWin.focus())}function loadJS(e,t){if(scriptSrcPresent(e)){if(void 0!==t)return t()}else{var n=document.createElement("script");n.type="text/javascript",n.src=e,n.onload=n.onreadystatechange=function(){if(!this.readyState||"loaded"==this.readyState||"complete"==this.readyState)return n.onload=n.onreadystatechange=null,void 0!==t?t():void 0},document.getElementsByTagName("head")[0].appendChild(n)}}function scriptSrcPresent(e){var t=document.getElementsByTagName("script");for(i=0;i<t.length;i++)if(t[i].src.match(e))return!0;return!1}function loadLightBoxJS(e){if(void 0===window.myLightbox)loadJS("/Common/ThirdParty/prototype.js",function(){loadJS("/Common/ThirdParty/lightbox/js/effects.js",function(){loadJS("/Common/ThirdParty/lightbox/js/lightbox.js",e)})});else if(void 0!==e)return e()}function executeWhenObjDefined(e,t){if(void 0===window[t]){setTimeout(function(){executeWhenObjDefined(e,t)},50)}else e()}function linkToImage(e){var t="/Media/AjaxImageData.aspx?image_id="+e,n=function(e){executeWhenObjDefined(function(){var t=e.split(","),n=t[1],i=t[2],o=t[3];myLightbox.showEndisImage(n,"<i>"+i+"</i><br />"+o)},"myLightbox")};loadLightBoxJS(function(){loadXMLDocAndCall(t,n)})}function linkToImageURL(e,t){loadLightBoxJS();executeWhenObjDefined(function(){myLightbox.showEndisImage(e,t)},"myLightbox")}function linkToFile(e){document.location.href="/Publisher/File.aspx?ID="+e}function getXMLHttpRequest(){try{return new XMLHttpRequest}catch(e){}try{return new ActiveXObject("Msxml3.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}return!1}function processReqChange(e,t,n){return function(){if(4==n.readyState)if(200==n.status){var i=n.responseText;e&&e(i)}else t?t(n.statusText):alert("There was a problem retrieving the XML data:\n"+n.statusText)}}function MarkAbuseAJAXCall(e,t){loadXMLDocAndCall("/Modules/UserControls/Comments/MarkAsAbusive.aspx?"+e,t,function(e){alert("An error was encountered:\n"+e)}
3)}function MarkCommentAsAbusive(e,t,n){confirm("REPORT THIS TO A MODERATOR \n\nIf you feel this comment is inappropriate you can report it to a \nmoderator, who will then review the comment and can remove it if necessary.\nThe comment will be hidden from view until a moderator reviews it. \n\nAre you sure you want to report this comment to a moderator?")&&(MarkAbuseAJAXCall("mark=comment&cid="+e),t&&setElemDisplay(el(t),!1),n&&setElemDisplay(el(n),!1))}function MarkThreadAsAbusive(e,t){confirm("REPORT THIS TO A MODERATOR \n\nIf you feel this discussion topic is inappropriate you can report it to a \nmoderator, who will then review the message and can remove it if necessary.\nThe discussion topic will be hidden from view until a moderator reviews it. \n\nAre you sure you want to report this topic to a moderator?")&&MarkAbuseAJAXCall("mark=thread&tid="+e,function(){document.location.href="/Forums/Threads.aspx?ForumID="+t})}function SubscribeToComments(e,t,n,i,o){loadXMLDocAndCall("/Modules/UserControls/Comments/Subscribe.aspx?eid="+e+"&et="+t+"&a="+n,void 0,function(e){alert("An error was encountered:\n"+e)}),i&&setElemDisplay(el(i),!1),o&&setElemDisplay(el(o),!0)}$e=jQuery,$e.widget.bridge("uitooltip",jQuery.ui.tooltip);var leftPos=(screen.availWidth-600)/2,topPos=(screen.availHeight-450)/2;function OpenChat(){alert("This feature is no longer available")}function OpenShopTermsAndConds(){var e="/Shop/TermsAndConditions.aspx";"function"==typeof EndisDialog?new EndisDialog(e,"Terms and Conditions",780,550):window.open(e,"","width=780,height=550,resizable=yes,scrollbars=yes")}function getCssStyle(e,t){return e.currentStyle?e.currentStyle[t]:window.getComputedStyle?document.defaultView.getComputedStyle(e,null).getPropertyValue(t):void 0}function setOpenAccordion(e,t){for(var n=t.items,i=0;i<n.length;i++){var o=n[i].headerID==e,a=el(n[i].headerID);if(a){var r=el(n[i].bodyID),s="none"!=getCssStyle(r,"display");setElemDisplay(r,o&&!s,"block"),a.className=o&&!s?t.selectedHeaderClass:t.unselectedHeaderClass}}}function accordionIsOpen(e,t){for(var n=t.items,i=0;i<n.length;i++)if(n[i].headerID==e){var o=el(n[i].bodyID);return o&&"none"!=o.style.display}}function elemAbsoluteX(e){for(var t=e.offsetLeft,n=e.offsetParent;null!=n;)t+=n.offsetLeft,n=n.offsetParent;return t}function elemAbsoluteY(e){for(var t=e.offsetTop,n=e.offsetParent;null!=n;)t+=n.offsetTop,n=n.offsetParent;return t}function ClearQSTokens(){var e=location.search;e=setQSVal(e,"token_out",""),e=setQSVal(e,"token_in",""),(e=setQSVal(e,"token_logout",""))!=location.search&&history.replaceState(null,null,[location.protocol,"//",location.host,location.pathname].join("")+e+location.hash)}var bIsModified=!1;function setModified(e){e&&(window.onbeforeunload=WarnUser),bIsModified=!0}var bAllowWarning=!0;function WarnUser(){if(bAllowWarning)return"You have made changes that will be lost.";bAllowWarning=!0}function NoWarningThisClick(){browserIsIE()&&(bAllowWarning=!1)}function resetOnBeforeUnload(){window.onbeforeunload=null,bIsModified=!1}function isModified(){return bIsModified}function addModificationNotifiers(e,t){for(var n=function(t,n){t.onchange=n?function(){setModified(e),this.oldonchange=n,this.oldonchange()}:function(){setModified(e)}},i=0;i<document.forms.length;i++)for(var o=0;o<document.forms[i].elements.length;o++){var a=document.forms[i].elements[o];"fieldset"!=a.type&&n(a,a.onchange)}t&&SetModificationNotifiersForDocEditorIFrames(window,!1)}function SetModificationNotifiersForDocEditorIFrames(e,t){if(null!=e){t&&(e.document.addEventListener?(e.document.addEventListener("keydown",function(){setModified(!0)},!1),e.document.addEventListener("click",function(){setModified(!0)},!1)):e.document.attachEvent&&(e.document.attachEvent("onkeydown",function(){setModified(!0)}),e.document.attachEvent("onclick",function(){setModified(!0)})));for(var n=0;n<e.frames.length;n++)SetModificationNotifiersForDocEditorIFrames(e.frames[n],!0)}}function WaitForDialog(e){"undefined"!=typeof dlg?e():setTimeout(function(){WaitForDialog(e)},100)}function RefreshOnlyOnce(){"true"!=getQSVal(document.location.search,"insight_refresh")&&(document.location=document.location+(document.location.search?"&":"?")+"insight_refresh=true")}function openLogin(){location.href="/User/Login.aspx?ReturnTo="+encodeURIComponent(location.pathname+location.search)}function ShowLoadingOverlay(){$e("div.loading-overlay").show()}!function(){if(0==location.pathname.toLowerCase().indexOf("/admin/")){var e=!1,t=document.onclick;document.onclick=function(n){for(var i=(n||window.event).srcElement;i&&!i.href;)i=i.parentNode;if(i&&i.href){var o=i.href.toLowerCase();e=0==i.href.indexOf("#")||o.indexOf("javascript:")>=0&&!(o.indexOf("postback")>0||i.onclick&&i.onclick.toString().indexOf("postback")>=0)}t&&t(n)};var n=window.onbeforeunload;window.onbeforeunload=function(){e||(document.body.style.cursor="wait"),n&&n()}}}();var DownloadFile=function(e){var t=$e("#downloadIframe");0==t.length&&(t=$e("<iframe />",{id:"downloadIframe"}).appendTo("body")),t.attr("src",e)},CalendarEvents=function(e){"use strict";var t,n,i=0,o=function(){i++,setTimeout(function(){--i||(t.ResetSize(),n.trigger("height-reset-complete"),n.removeClass("dialog-loading"))},50)},a=function(t){e(t.target).hasClass("ui-resizable")||o()}
3,r=function(i,r){navigator.onLine?(t=new ModalDialog({elem:e("<div />",{class:"calendar-event-dialog dialog-loading"}),width:600,height:200,maximisable:!1,autoGrow:!0,mobilePinToBottom:!0,onClose:function(){SetQSAndForm("show_event",""),void 0!==qs&&qs.set("show_event"),e(window).off("resize",a)}}),e(window).on("resize",a),n=t.GetDialogUIObject(),e.ajax({type:"POST",url:"/Calendar/eventDetails.aspx/GetEventDetails",data:'{"intEventID":'+i+', "intTrackArticleID":'+(r||0)+', "blnFormatForApp":'+IsHubbPage()+"}",contentType:"application/json; charset=utf-8",dataType:"json",error:function(t,i,a){var r;r=403===t.status?"Sorry, that event is unavailable.":"Sorry, there was a problem fetching that event.",n.html(e("<div />",{class:"dialog-content calendar-event-content"}).html(r)),o()},success:function(a){var r=e.parseJSON(a.d);r.link_direct?r.link_new_tab?window.open(r.link,"_blank")?t.Close():(t.SetTitle("Your browser has blocked the event popup"),n.html(e("<div />",{class:"dialog-content calendar-event-content"}).html(["Click the link to open: <br />",e("<a />",{href:r.link,target:"_blank",on:{click:t.Close}}).html(r.link)])),o()):location.href=r.link:(n.html(e("<div />",{class:"dialog-content calendar-event-content"}).html([e("<div />",{class:"event-title"}).html(r.title),e("<h3 />").html(r.date),r.hasOwnProperty("summary_image")?e("<img />",{src:r.summary_image,alt:"",class:"event-summary-image",on:{load:o}}):"",r.hasOwnProperty("location")?e("<h4 />").html(r.hasOwnProperty("location_link")?[e("<div />",{class:"event-location-icon"}).html(e("<i />",{class:"mdi-communication-location-on"})),e("<a />",{href:r.location_link,class:"event-location-link",target:"_blank"}).html([r.location,e("<i />",{class:"mdi-action-open-in-new"})])]:r.location):"",e("<div />",{class:"event-details"}).html(r.details),r.hasOwnProperty("contact")?e("<div />",{class:"event-contact"}).append(["<b>Contact:</b> ",r.contact]):"",r.hasOwnProperty("link")?e("<div />",{class:"event-link"}).append(e("<a />",{href:r.link,target:r.link_new_tab||IsHubbPage()?"_blank":"_self"}).html([r.link_text,r.link_new_tab?e("<i />",{class:"mdi-action-open-in-new"}):""])):"",r.hasOwnProperty("plan")?e("<div />",{class:"event-plan"}).append(e("<a />",{href:"/Planner/EventDashboard.aspx?event_id="+i,target:IsHubbPage()?"_blank":"_self"}).html(["View event plan",IsHubbPage()?e("<i />",{class:"mdi-action-open-in-new"}):""])):""])),SetQSAndForm("show_event",i),o())}})):Insight.Alert("Sorry, you need to be online to view details for this event.")};return e(document).ready(function(){var n=getQSVal(document.location.search,"show_event");n&&r(n),e(window).on("popstate",function(){var e=getQSVal(document.location.search,"show_event");e?t&&t.IsOpen()||r(e):t&&t.IsOpen()&&t.Close()})}),{OpenEvent:r,OpenICalPopup:function(t){new ModalDialog({title:"Calendar Address",elem:e("<div />",{class:"calendar-generic-popup"}).append(e("<p />").html("Use the URL below to access your calendar from other applications. You can copy and paste this into any calendar product that supports the iCal format."),e("<a />",{href:t,target:"_blank"}).html(t)),width:600,height:200,maximisable:!1,autoShrink:!1,autoGrow:!0,mobilePinToBottom:!0})}}}($e);function CalendarModule(e,t,n,i,o,a,r,s,l,d,c,u,h){var f,p="#"+t,m=h?"_"+h:"",g=this;this.showCSVPopup=function(){var e=new ModalDialog({width:300,height:200,maximisable:!1,autoShrink:!1,autoGrow:!0,mobilePinToBottom:!0,elem:$e("<div />",{class:"calendar-generic-popup"}).append($e("<p/>").html("You can download information from the calendar in Comma Separated Value (.CSV) format to import into Outlook or another scheduling program."),$e("<p />").append(["Select period:",$e('<select id="'+t+'_SelectedPeriod" />').append([$e("<option />",{value:"1",selected:"selected"}).html("1 month"),$e("<option />",{value:"2"}).html("2 months"),$e("<option />",{value:"3"}).html("3 months"),$e("<option />",{value:"6"}).html("6 months"),$e("<option />",{value:"9"}).html("9 months"),$e("<option />",{value:"12"}).html("12 months")])]),s?$e("<p />").append([$e("<input />",{type:"checkbox",id:t+"_chkReminders",checked:"checked"}),$e("<label />",{for:t+"_chkReminders"}).append(["Create reminders for events that are on my "+c+"s, with ",$e('<select id="'+t+'_ReminderDays" />').append([$e("<option />",{value:"0"}).html("0"),$e("<option />",{value:"1",selected:"selected"}).html("1"),$e("<option />",{value:"2"}).html("2"),$e("<option />",{value:"3"}).html("3"),$e("<option />",{value:"4"}).html("4"),$e("<option />",{value:"5"}).html("5"),$e("<option />",{value:"6"}).html("6"),$e("<option />",{value:"7"}).html("7"),$e("<option />",{value:"14"}
3).html("14")])," days' notice."])]):"",$e("<input />",{type:"button",class:"button download-csv",value:"Download"}).click(function(){var o="/Calendar/Calendar.csv?Month="+n+"&Year="+i+"&SelectedPeriod="+$e("#"+t+"_SelectedPeriod").val()+"&ReminderDays="+($e("#"+t+"_chkReminders").is(":checked")?$e("#"+t+"_ReminderDays").val():"-1");window.open(o,"_blank")?e.Close():$e("input.download-csv",p).replaceWith($e("<div />").append([$e("<div />").html('<b>Your browser has blocked the CSV download. You can get it by right-clicking on the link below and choosing "Save as.."</b>'),$e("<a />",{href:o,target:"_blank"}).html("Download").click(e.Close)]))}))})},this.HideEmptyContainers=function(){$e(".calendar_day_wrapper",p).filter(function(){return 0===$e(this).find(".calendar_event:visible").length}).addClass("hide-in-list"),$e(".calendar_week",p).filter(function(){return 0===$e(this).find(".calendar_day_wrapper:visible").length}).addClass("hide-in-list"),$e(".calendar_body",p).toggleClass("no-upcoming-events",0===$e(".calendar_week:visible",p).length)},this.ResetContainers=function(){$e(".calendar_day_wrapper, .calendar_week",p).removeClass("hide-in-list")},this.ToggleOverflow=function(e){var t=$e(e.currentTarget);t.find("span.calendar_event_show_more").is(":visible")?(t.closest(".calendar_day").find(".calendar_event_overflow").removeClass("calendar_event_overflow"),t.find("span.calendar_event_show_more").hide(),t.find("span.calendar_event_show_less").show()):(g.ResetOverflowForDay(t.closest(".calendar_day")),t.find("span.calendar_event_show_less").hide(),t.find("span.calendar_event_show_more").show())},this.ResetOverflowForDay=function(t){var n=t.closest(".calendar_body").hasClass("calendar-list-view")?l:d,i=t.find(".calendar_event:visible"),o=$e(".calendar_day_more_events",t),a=i.length-n;a>0?(t.find(".calendar_event:visible").slice(n).addClass("calendar_event_overflow"),o.show(),$e("span.calendar_event_show_more",o).show().html("+"+a+" more "+(e?"booking":"event")+(a>1?"s":"")+" on this day"),$e("span.calendar_event_show_less",o).hide()):o.hide()},this.ResetAllOverflows=function(){$e(".calendar_event",p).removeClass("calendar_event_overflow"),$e("div.calendar_day_more_events",p).hide(),$e(".calendar_day",p).each(function(){g.ResetOverflowForDay($e(this))})},this.TogglePastEvents=function(){g.ResetContainers(),$e(".calendar_show_past",p).hasClass("past-events-visible")?($e(".calendar_show_past",p).removeClass("past-events-visible"),$e(".calendar_show_past a",p).html("Show past "+(e?"bookings":"events")+" in this month"),$e(".day_in_past",p).removeClass("show-in-list")):($e(".calendar_show_past",p).addClass("past-events-visible"),$e(".calendar_show_past a",p).html("Hide past "+(e?"bookings":"events")+" in this month"),$e(".day_in_past",p).addClass("show-in-list")),g.HideEmptyContainers()},this.ToggleView=function(){$e(".ui-tooltipped",p).uitooltip("close"),$e(".calendar_body",p).hasClass("calendar-list-view")?($e(".calendar_body",p).removeClass("calendar-list-view"),$e(".list-view-toggle i",p).removeClass("mdi-action-view-module").addClass("mdi-action-view-list").prop("title","List view"),$e(".day_in_past",p).removeClass("show-in-list"),g.ResetContainers(),SetQSAndForm("CalendarView"+m,"")):($e(".calendar_body",p).addClass("calendar-list-view"),$e(".list-view-toggle i",p).removeClass("mdi-action-view-list").addClass("mdi-action-view-module").prop("title","Grid view"),g.HideEmptyContainers(),SetQSAndForm("CalendarView"+m,"list")),g.ResetAllOverflows()},this.CloseExportDialog=function(){f.Close()},this.DoExport=function(e){switch($e(e).val()){case"xml":var t="https://"+document.location.host+"/Calendar/rss.xml";f=new ModalDialog({width:600,height:120,maximisable:!1,autoShrink:!1,autoGrow:!0,mobilePinToBottom:!0,elem:$e("<div />",{class:"calendar-generic-popup"}).append("Click the link to open (or right click to save): <br />",$e("<a />",{href:t,target:"_blank",on:{click:g.CloseExportDialog}}).html(t))});break;case"ical":CalendarEvents.OpenICalPopup("https://"+document.location.host+"/Calendar/Calendar.ics"+u);break;case"pdf":t="https://"+document.location.host+"/Calendar/Calendar.pdf?month="+n+"&year="+i+"&group="+$e(".group-selector",p).val()+"&filter="+($e(".include-subgroups",p).is(":checked")?"":"2");window.open(t,"_blank")||(f=new ModalDialog({width:600,height:120,maximisable:!1,autoShrink:!1,autoGrow:!0,mobilePinToBottom:!0,elem:$e("<div />",{class:"calendar-generic-popup"}).append("Click the link to open (or right click to save): <br />",$e("<a />",{href:t,target:"_blank",on:{click:this.CloseExportDialog}}).html(t))}));break;case"csv":g.showCSVPopup()}$e(e).val("")}
3,this.ApplyFilters=function(){$e(".group-selector",p).removeClass(function(e,t){return(t.match(/(^|\s)event-group-\S+/g)||[]).join(" ")}),$e(".group-selector",p).addClass($e(".group-selector option:selected",p).attr("class")),g.ResetContainers(),$e(".calendar_event",p).removeClass("group-filtered-show");var t=$e(".group-selector",p).val();void 0===t||""==t?($e(".calendar",p).removeClass("group-filtered"),$e(".group-selector .all-groups",p).text("Filter by "+(e?"resource":"group")),$e(".calendar_children_select",p).hide()):($e(".calendar",p).addClass("group-filtered"),$e(".group-selector .all-groups",p).text("ALL "+(e?"RESOURCES":"GROUPS")),$e(".calendar_children_select",p).show(),$e(".include-subgroups",p).is(":checked")?$e(".calendar_event",p).filter(function(){return $e.grep(this.className.split(" "),function(e,t){return 0===e.indexOf("event-path_")}).join().indexOf("_"+t+"_")>-1}).addClass("group-filtered-show"):$e(".calendar_event.event-group-"+t,p).addClass("group-filtered-show")),g.HideEmptyContainers(),g.ResetAllOverflows()},this.GroupExistsInCalendar=function(e){var t=!1;return $e(".group-selector option",p).each(function(){if(this.value==e)return t=!0,!1}),t},this.ConfigureFromInitialSettings=function(){var t=!1;$e(".group-selector",p).val()!=o&&(g.GroupExistsInCalendar(o)||$e(".group-selector option",p).eq(1).before($e("<option />",{value:o}).html(a+" (no "+(e?"bookings":"events")+")")),$e(".group-selector",p).val(o),t=!0);var n=$e(".include-subgroups",p).prop("checked"),i=r&&$e(".include-subgroups",p).length;(n!=i&&($e(".include-subgroups",p).prop("checked",i),t=!0),t?g.ApplyFilters():g.ResetAllOverflows(),$e(".list-view-toggle",p).is(":visible"))&&($e(".calendar_body",p).hasClass("calendar-list-view")!=("list"===getQSVal(location.search,"CalendarView"+m))&&g.ToggleView())},$e(document).ready(function(){$e(".ui-tooltipped",p).uitooltip({position:{my:"right center",at:"left-5 center"},tooltipClass:"calendar-view-toggle-tooltip"}),$e(document).one("touchstart",function(){$e(".ui-tooltipped",p).uitooltip("disable")}),$e(".group-selector",p).change(function(){var e=$e(".group-selector",p).val();SetQSAndForm("Group"+m,e),u=setQSVal(u,"group",e);var t=$e("link[id$=ctlRSSLink]");if(t.length){var n=t.prop("href"),i=n.indexOf("?");t.prop("href",n.substr(0,i)+setQSVal(n.substring(i),"group",e))}g.ApplyFilters()}),$e(".include-subgroups",p).change(function(){SetQSAndForm("ChildGroups"+m,$e(this).is(":checked")?"":"false"),g.ApplyFilters()}),g.ConfigureFromInitialSettings(),$e(".calendar",p).removeClass("calendar_loading"),$e("select.calendar-export-options",p).on("change",function(){g.DoExport(this)}),$e(".day_in_past .calendar_event",p).length||$e(".calendar_show_past",p).hide(),$e(window).resize(function(){g.ResetContainers(),g.HideEmptyContainers()}),g.ResetContainers(),g.HideEmptyContainers(),$e(".toggle-past-events",p).click(g.TogglePastEvents),$e(".toggle-overflow",p).click(g.ToggleOverflow),$e(".toggle-calendar-view",p).click(g.ToggleView)}),$e(window).on("popstate",g.ConfigureFromInitialSettings)}function showEvent(e){CalendarEvents.OpenEvent(e)}function showRemoteEvent(e,t){showEvent(e)}var Media=function($){"use strict";var objMediaFormats;$.getJSON("/Media/MediaFormatsJSON.aspx",function(e){objMediaFormats=e.media_formats});var MediaType={UNKNOWN:0,AUDIO:1,VIDEO:2,IMAGE:3,DOCUMENT:4},GetMimeType=function(e){var t="unknown";return $.each(objMediaFormats,function(n,i){if(i.format_type===e)return t=i.mime_type,!1}),t},GetFormatFromExtension=function(e){var t=e.toLowerCase();t.startsWith(".")&&(t=t.substring(1));var n=-1;return $.each(objMediaFormats,function(e,i){if(i.extension===t||i.alt_extension===t)return n=i.format_type,!1}),n},GetDefaultExtensionForFormat=function(e){var t="";return $.each(objMediaFormats,function(n,i){if(i.format_type===e)return t=i.extension,!1}),t},GetExtensionFromFilename=function(e){return e.slice(e.lastIndexOf("."))},GetFormatName=function(e,t){var n="";return $.each(objMediaFormats,function(i,o){if(o.format_type===e)return n=t?o.short_name:o.long_name,!1}),n},GetFormatForPopupDisplay=function(e){return e.hasOwnProperty("embed_uri")?IsEmbedVimeo(e.embed_uri)?"Vimeo Video":"YouTube Video":GetFormatName(e.format)},GetIconPathFromFormat=function(e){var t="blank";
3return $.each(objMediaFormats,function(n,i){if(i.format_type===e)return t=i.icon,!1}),"/Admin/Images/FileIcons/"+t+".png"},IsFormatOfType=function(e,t){var n=!1;return $.each(objMediaFormats,function(i,o){if(o.format_type===e)return n=o.media_type===t,!1}),n},IsVideo=function(e){return IsFormatOfType(e,MediaType.VIDEO)},IsAudio=function(e){return IsFormatOfType(e,MediaType.AUDIO)},IsEmbedVimeo=function(e){return e.includes(".vimeo.com")},dlg,$dlgUI,blnCtrlIsPressed=!1,intHeightResetPending=0,ResetHeight=function(){intHeightResetPending++,setTimeout(function(){--intHeightResetPending||(dlg.ResetSize(),$dlgUI.trigger("height-reset-complete"),$dlgUI.removeClass("dialog-loading"))},200)},tmErrorCheckTimer,ShowUnsupportedFile=function(e){clearTimeout(tmErrorCheckTimer),$("div.playing-file-"+e.file_id).addClass("unsupported active"),$("ul.media-files-list li.media-file.media-file-"+e.file_id).addClass("unsupported active"),$("div.media-player").removeClass("media-player-loading media-player-video"),$("div.media-player-region").removeClass("pending-height-reset"),ResetHeight()},ShowActiveFile=function(e){$("div.playing-file-"+e.file_id).addClass("active"),$("ul.media-files-list li.media-file.media-file-"+e.file_id).addClass("active"),$("div.media-player").removeClass("media-player-loading"),$("div.media-player-region").hasClass("pending-height-reset")&&($("div.media-player-region").removeClass("pending-height-reset"),ResetHeight())},PlayMediaFromList=function(e,t,n,i,o){!o&&SetQSAndForm(n?"show_shop_file":"show_file",t.file_id,i);var a=IsVideo(t.format),r=t.hasOwnProperty("embed_uri"),s=r?"iframe":a?"video":"audio",l=$("div.media-player-region div.playing-file-"+t.file_id),d=l.find(s);if(a&&$(".ui-dialog-content").animate({scrollTop:0},"fast"),!l.hasClass("active")){$("div.media-player-region").addClass("pending-height-reset"),$("div.media-player").addClass("media-player-loading"),$("div.media-player-region div.media-player-file.active:not(.unsupported)").find("video, audio").each(function(){this.pause()});for(var c=0;c<e.files.length;c++)e.files[c].hasOwnProperty("youtube_player")?e.files[c].youtube_player.pauseVideo():e.files[c].hasOwnProperty("vimeo_player")&&e.files[c].vimeo_player.pause();$("ul.media-files-list li").removeClass("playing").removeClass("active"),$("div.media-player-file").removeClass("active"),$("div.media-player").toggleClass("media-player-video",a),$("div.media-player").toggleClass("media-player-audio",!a)}l.length?l.hasClass("unsupported")?ShowUnsupportedFile(t):r?(ShowActiveFile(t),IsEmbedVimeo(t.embed_uri)?t.vimeo_player.play():t.youtube_player.playVideo()):d.get(0).play():(d=r?$("<"+s+" />",{id:"ifrEmbed-"+t.file_id,src:t.embed_uri+(IsEmbedVimeo(t.embed_uri)?"":"&enablejsapi=1&origin=https://"+document.location.host),allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",frameborder:"0",webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:"",on:{load:function(){IsEmbedVimeo(t.embed_uri)?SetupVimeoStream(t):SetupYouTubeStream(t)}}}):$("<"+s+" />",{autoplay:"",controls:"",playsinline:"video"===s?"":null,on:{canplay:function(){ShowActiveFile(t)},play:function(){ShowActiveFile(t),$("ul.media-files-list li.media-file.media-file-"+t.file_id).addClass("playing")},pause:function(){$("ul.media-files-list li.media-file.media-file-"+t.file_id).removeClass("playing")}}}).append($("<source />",{src:"/Media/PlayMedia.aspx?file_id="+t.file_id+(n?"&source=shop":""),type:GetMimeType(parseInt(t.format)),on:{error:function(){ShowUnsupportedFile(t)}}})),$("div.media-player-region").append($("<div />",{class:"media-player-file active playing-file-"+t.file_id+(r?" media-player-module-embed-responsive aspect-ratio-16_9":"")}).append(d,$("<div />",{class:"media-player-unsupported"}).append($("<span />").append(t.external?["Sorry, this can't be displayed here. Try ",$("<a />",{href:t.uri,target:"_blank"}).html("opening it in a new tab")]:["Sorry, your browser is unable to play this type of file. You can still ",$("<a />",{href:"/Media/PlayMedia.aspx?file_id="+t.file_id+(n?"&source=shop":""),download:""}).html("download it")],".")))),tmErrorCheckTimer=setTimeout(function(){var e=d.get(0).error;e&&e.code==MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED&&ShowUnsupportedFile(t)}
3,1e3),e.hasOwnProperty("summary_image")?ResetHeight():setTimeout(ResetHeight,1e3))},PauseMedia=function(e){e.hasOwnProperty("youtube_player")?e.youtube_player.pauseVideo():e.hasOwnProperty("vimeo_player")?e.vimeo_player.pause():$(".playing-file-"+e.file_id).find("video, audio").get(0).pause(),$("ul.media-files-list li.media-file.media-file-"+e.file_id).removeClass("playing")},SetupYouTubeStream=function(e){void 0===window.YouTubeReady?(void 0===window.YouTubeInitStarted&&(window.YouTubeInitStarted=!0,window.onYouTubeIframeAPIReady=function(){window.YouTubeReady=!0},$.getScript("https://www.youtube.com/iframe_api")),setTimeout(function(){SetupYouTubeStream(e)},100)):e.youtube_player=new YT.Player("ifrEmbed-"+e.file_id,{events:{onReady:function(t){ShowActiveFile(e),t.target.playVideo()},onStateChange:function(t){switch(t.data){case YT.PlayerState.PLAYING:$("ul.media-files-list li.media-file.media-file-"+e.file_id).addClass("playing");break;case YT.PlayerState.PAUSED:$("ul.media-files-list li.media-file.media-file-"+e.file_id).removeClass("playing")}}}})},SetupVimeoStream=function(e){void 0===window.VimeoReady?(void 0===window.VimeoInitStarted&&(window.VimeoInitStarted=!0,$.getScript("https://player.vimeo.com/api/player.js",function(){window.VimeoReady=!0})),setTimeout(function(){SetupVimeoStream(e)},100)):(e.vimeo_player=new Vimeo.Player($("#ifrEmbed-"+e.file_id).get(0)),e.vimeo_player.on("play",function(){$("ul.media-files-list li.media-file.media-file-"+e.file_id).addClass("playing")}),e.vimeo_player.on("pause",function(){$("ul.media-files-list li.media-file.media-file-"+e.file_id).removeClass("playing")}),ShowActiveFile(e),e.vimeo_player.play())},FormatDuration=function(e){if(0==e)return"";var t="";if(e>3600){var n=Math.floor(e/3600);t=n+":",e-=3600*n}if(e>60||""!==t){var i=Math.floor(e/60);t=t+(i<10?"0":"")+i+":",e-=60*i}return t=""===t?e+" secs":t+(e<10?"0":"")+e},FormatSize=function(e){var t=e/1024,n="KB";return t>=1e3&&(t/=1024,n="MB"),t>=1e3&&(t/=1024,n="GB"),Math.round(10*t)/10+n},OnResize=function(e){$(e.target).hasClass("ui-resizable")||ResetHeight()},OpenInPopout=function(e,t,n,i){window.open("/Media/Player.aspx?show_popout=true"+(e?"&show_media="+e:"")+(t?"&show_file="+t:"")+(n?"&show_shop_file="+n:"")+(i?"&show_event_plan_item_media="+i:""),"_blank")},intFileIDGlobal,blnIsShopGlobal,$offliningSpinnerGlobal,strFileURIGlobal,DownloadOrOffline=function(e,t,n,i){if(intFileIDGlobal=e,blnIsShopGlobal=t,strFileURIGlobal=i,$offliningSpinnerGlobal=n,"caches"in window&&void 0!==Insight&&"function"==typeof Insight.ConfirmOptions){var o=n.closest("li.media-file");o.hasClass("available-offline")?window.top.Insight.ConfirmOptions("This file is already available for playing when offline in this "+(isPwa()?"app":"browser")+", but you can download another copy to your device if you wish.","Download to device",[{button_text:"Download",id:"download"},{button_text:"Cancel",id:"cancel"}],"Media.DoDownloadOrOffline",!0):o.index()?window.top.Insight.ConfirmOptions("This will download the file to your device. (Onl
3y the primary file of each recording may be stored in this "+(isPwa()?"app).":"browser)."),"Download to device",[{button_text:"Download",id:"download"},{button_text:"Cancel",id:"cancel"}],"Media.DoDownloadOrOffline",!0):window.top.Insight.ConfirmOptions("You can choose to either download this file to your device's Downloads folder, or store the file in your "+(isPwa()?"app.":"browser."),"Download or Offline?",[{button_text:"Download",id:"download"},{button_text:"Offline",id:"offline"},{button_text:"Cancel",id:"cancel"}],"Media.DoDownloadOrOffline",!0)}else Media.DoDownloadOrOffline("download")},DoDownloadOrOffline=function(e){switch(e){case"download":void 0===Insight?DownloadFile("/Media/PlayMedia.aspx?file_id="+intFileIDGlobal+(blnIsShopGlobal?"&source=shop":"")):Insight.DownloadFile("/Media/PlayMedia.aspx?file_id="+intFileIDGlobal+(blnIsShopGlobal?"&source=shop":""));break;case"offline":try{MediaES6.CacheMediaFile(strFileURIGlobal,$offliningSpinnerGlobal)}catch(e){Insight.Alert("Sorry, there was a problem saving the file. This feature may not be supported by your browser.")}}},CheckOfflineStatus=function(e){"caches"in window&&(NodeList.prototype.forEach=Array.prototype.forEach,e.querySelectorAll("div.media-item, li.media-file").forEach(function(e){caches.open("media").then(function(t){t.match(e.getAttribute("data-media-file-url")).then(function(t){t&&$(e).addClass("available-offline")})})}))},OpenRecording=function(e,t,n,i,o){blnCtrlIsPressed?OpenInPopout(e,t,n,o):(dlg=new ModalDialog({elem:$("<div />",{class:"dialog-loading"}),width:600,height:200,minWidth:300,maximisable:!1,autoGrow:!0,mobilePinToBottom:!0,onClose:function(){i?window.close():(SetQSAndForm("show_media","",!0),SetQSAndForm("show_file","",!0),SetQSAndForm("show_shop_file","",!0),SetQSAndForm("show_event_plan_item_media","",!0),void 0!==qs&&(qs.set("show_media"),qs.set("show_file"),qs.set("show_shop_file"),qs.set("show_event_plan_item_media")),$(window).off("resize",OnResize))}}),e&&!i&&SetQSAndForm("show_media",e),$(window).on("resize",OnResize),$dlgUI=dlg.GetDialogUIObject(),IsHubbPage()||i||$dlgUI.prev(".ui-dialog-titlebar").find(".ui-dialog-titlebar-buttonpane").append($("<a />",{href:"javascript:void(0);",on:{click:function(){OpenInPopout(e,getQSVal(document.location.search,"show_file"),n,o),dlg.Close()}}}).html($("<i />",{class:"mdi-action-open-in-new"}))),$.ajax({type:"POST",url:"/Media/Player.aspx/GetRecordingDetails",data:'{"intMediaID":'+(e||0)+', "intShopFileID":'+(n||0)+', "intEventPlanItemID":'+(o||0)+"}",contentType:"application/json; charset=utf-8",dataType:"json",error:function(e,t,n){var i;switch(e.status){case 401:i='Sorry, you must <a href="/User/Login.aspx?ReturnTo='+encodeURIComponent(location.pathname+location.search)+'">log in</a> to view this item.';break;case 403:i="Sorry, you do not have permission to view this item.";break;case 404:i="Sorry, that item is unavailable.";break;default:i="Sorry, there was a problem fetching that item."}$dlgUI.html($("<div />",{class:"dialog-content media-player"}).html($("<div />",{class:"media-player-unsupported",style:"display:block"}).html(i))),ResetHeight()},success:function(e){var o=$.parseJSON(e.d),a=$("<div />",{class:"media-player dialog-content"}).append($("<div />",{class:"media-player-title"}).html(o.title),$("<div />",{class:"media-player-spinner"}),$("<div />",{class:"media-player-region"}),o.hasOwnProperty("summary_image")?$("<img />",{src:o.summary_image,alt:"",class:"media-summary-image"}):"",$("<h3 />").html(o.speaker),o.hasOwnProperty("recording_date")?$("<h4 />").html(o.recording_date):"",$("<div />",{class:"media-player-refs"}),$("<div />",{class:"media-recording-details"}).html(o.details),o.hasOwnProperty("full_page_url")?$("<div />",{class:"media-full-page-links"}).append(o.has_study_questions?$("<a />",{target:"_blank",href:o.full_page_url+"#study-questions"}).text("View study questions"):"",o.has_study_questions&&o.has_transcript?" | ":"",o.has_transcript?$("<a />",{target:"_blank",href:o.full_page_url+"#transcript"}).text("View transcript"):""):"");if($dlgUI.html(a),o.hasOwnProperty("bible_refs"))for(var r=0;r<o.bible_refs.length;r++){var s=o.bible_refs[r].ref_text;$("div.media-player-refs").append(r?", ":"",$("<a />",{target:"_blank",href:o.bible_refs[r].ref_url}).html(s))}if(o.files.length){var l,d=$("<ul />",{class:"media-files-list"});for(r=0;r<o.files.length;r++)(function(){var e=o.files[r];if(1===o.files.length&&(t=e.file_id),IsVideo(e.format)||IsAudio(e.format)){var a=FormatDuration(e.duration);d.append($("<li />",{class:"media-file media-file-"+e.file_id+(1===o.files.length?" single-file":""),"data-media-file-url":e.uri}).append($("<img />",{class:"media-file-type ",src:GetIconPathFromFormat(e.format),alt:GetFormatForPopupDisplay(e)}),$("<i />",{class:"media-file-type hubb-icons"}).html(IsVideo(e.format)?"video":"sound"),$("<i />",{class:"media-file-type offlined hubb-icons"}).html("downloaded_circle"),$("<span />",{class:"media-file-details"}).append($("<div />",{class:"media-file-title"}).html(e.title?e.title:GetFormatForPopupDisplay(e)),a?$("<span />",{class:"media-file-duration"}).html(a):"",$("<span />",{class:"media-file-format"}).append(e.title?GetFormatForPopupDisplay(e):"",e.size_bytes?" ("+FormatSize(e.size_bytes)+")":"")),e.embed_uri?e.custom_download_url?$("<a />",{href:e.custom_download_url,class:"media-file-download media-file-control",download:""}).html($("<i />",{class:"mdi-file-file-download"})):$("<a />",{href:e.uri,class:"media-file-open media-file-control",target:"_blank"}
3).html([$("<i />",{class:"mdi-action-open-in-new"})]):$("<a />",{class:"media-file-download media-file-control"+(e.external?" media-file-external":""),href:"javascript:void(0);",onclick:"Media.DownloadOrOffline("+e.file_id+", "+!!n+', $e(this).siblings("img.caching"), "'+e.uri+'")',download:""}).html($("<i />",{class:"mdi-file-file-download"})),e.embed_uri?null:$('<img src="/Admin/Images/Icons/loading.gif" class="caching" style="display:none;" />'),$("<a />",{href:"javascript:void(0);",class:"media-file-play media-file-control",on:{click:function(){PlayMediaFromList(o,e,!!n,i)}}}).html([$("<i />",{class:"mdi-av-play-arrow"})]),$("<a />",{href:"javascript:void(0);",class:"media-file-pause media-file-control",on:{click:function(){PauseMedia(e)}}}).html($("<i />",{class:"mdi-av-pause"})))),e.file_id==t&&(l=e)}else e.hasOwnProperty("document_file_id")?d.append($("<li />",{class:"media-file media-file-"+e.file_id+(1===o.files.length?" single-file":"")}).append($("<img />",{class:"media-file-type ",src:GetIconPathFromFormat(e.format),alt:GetFormatForPopupDisplay(e)}),$("<i />",{class:"media-file-type hubb-icons"}).html("doc_text"),$("<span />",{class:"media-file-details"}).append(e.title?$("<div />",{class:"media-file-title"}).html(e.title):"",$("<span />",{class:"media-file-format"}).html(GetFormatForPopupDisplay(e)+" ("+FormatSize(e.size_bytes)+")")),$("<a />",{class:"media-file-download media-file-control",href:"/Publisher/File.aspx?ID="+e.document_file_id,download:""}).html($("<i />",{class:"mdi-file-file-download"})),$("<a />",{href:"/Publisher/File.aspx?ID="+e.document_file_id,class:"media-file-open media-file-control",target:"_blank"}).html([$("<i />",{class:"mdi-action-open-in-new"})]))):e.hasOwnProperty("image_id")?d.append($("<li />",{class:"media-file media-file-"+e.file_id+(1===o.files.length?" single-file":"")}).append($("<img />",{class:"media-file-type ",src:GetIconPathFromFormat(e.format),alt:GetFormatForPopupDisplay(e)}),$("<i />",{class:"media-file-type hubb-icons"}).html("image"),$("<span />",{class:"media-file-details"}).append(e.title?$("<div />",{class:"media-file-title"}).html(e.title):"",$("<span />",{class:"media-file-format"}).html(GetFormatForPopupDisplay(e)+" ("+FormatSize(e.size_bytes)+")")),$("<a />",{class:"media-file-download media-file-control",href:e.url,download:""}).html($("<i />",{class:"mdi-file-file-download"})),$("<a />",{href:e.url,class:"media-file-open media-file-control",target:"_blank"}).html([$("<i />",{class:"mdi-action-open-in-new"})]))):48==e.format&&d.append($("<li />",{class:"media-file media-file-"+e.file_id+(1===o.files.length?" single-file":"")}).append($("<img />",{class:"media-file-type ",src:GetIconPathFromFormat(e.format),alt:GetFormatForPopupDisplay(e)}),$("<i />",{class:"media-file-type hubb-icons"}).html("doc"),$("<a />",{class:"whole-item-as-link media-file-details",href:e.uri,target:"_blank"}).append(e.title?$("<div />",{class:"media-file-title"}).html(e.title):"",$("<span />",{class:"media-file-format"}).html(e.uri)),$("<a />",{href:e.uri,class:"media-file-open media-file-control",target:"_blank"}).html([$("<i />",{class:"mdi-action-open-in-new"})]),$("<a />",{href:"javascript:void(0);",class:"media-file-play media-file-control media-file-external"}).html([$("<i />",{class:"mdi-av-play-arrow"})])))})();a.append(d),CheckOfflineStatus(a[0]),l?PlayMediaFromList(o,l,!!n,!0,i):ResetHeight()}else ResetHeight()}}))},OpenFromQueryString=function(){var e=getQSVal(document.location.search,"show_media"),t=getQSVal(document.location.search,"show_shop_file"),n=getQSVal(document.location.search,"show_popout");if(e||t)if(e){var i=getQSVal(document.location.search,"show_file");dlg&&dlg.IsOpen()?$("li.media-file-"+i+" a.media-file-play").click():OpenRecording(e,i||null,null,"true"===n)}else OpenRecording(null,null,t,"true"===n);else dlg&&dlg.IsOpen()&&dlg.Close()};return $(document).on("keyup keydown",function(e){blnCtrlIsPressed=e.ctrlKey}),$(document).ready(function(){try{eval("async () => {}"),jQuery.getScript("/Common/Scripts/media-es6.js")}catch(e){}OpenFromQueryString(),$(window).on("popstate",OpenFromQueryString),$(".media-player-module source").each(function(){var e=$
3(this),t=setTimeout(function(){var t=e.parent(),n=t.get(0).error;n&&n.code==MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED&&(e.closest(".media-player-module").find(".media-player-unsupported").show(),t.hide())},1e3);e.on("error",function(){clearTimeout(t),e.closest(".media-player-module").find(".media-player-unsupported").show(),e.parent().hide()})})}),{OpenRecording:OpenRecording,IsVideo:IsVideo,IsAudio:IsAudio,GetFormatName:GetFormatName,GetIconPathFromFormat:GetIconPathFromFormat,GetFormatFromExtension:GetFormatFromExtension,GetExtensionFromFilename:GetExtensionFromFilename,FormatSize:FormatSize,DownloadOrOffline:DownloadOrOffline,DoDownloadOrOffline:DoDownloadOrOffline,CheckOfflineStatus:CheckOfflineStatus}}($e);function playMedia(e,t){Media.OpenRecording(e,t)}function playShopMedia(e){Media.OpenRecording(null,null,e)}function playAppMedia(e){navigator.onLine?($e(".media-"+e+" .media-slideout").hide(),window.top.Media.OpenRecording(e)):1==$e(".media-"+e+" .media-slideout").length&&$e(".media-"+e).hasClass("available-offline")?$e(".media-"+e+" .media-slideout").slideToggle():Insight.Alert("Sorry, this file is not available while you are offline.")}var Rotas=function(e){"use strict";var t,n=function(e,n){t=new ModalDialog({url:"/Hubb/Me/RotaSignup.aspx?RotaGroupID="+e+(n?"&UsrID="+n:""),width:960,height:590,mobilePinToBottom:!0,queryStringParams:{show_signup:e},autoShrink:!1})};return e(document).ready(function(){var i=getQSVal(document.location.search,"show_signup");i&&n(i),e(window).on("popstate",function(){getQSVal(document.location.search,"show_signup")?t&&t.IsOpen()||n(n):t&&t.IsOpen()&&t.Close()})}),{OpenSignup:n}}($e);function showHubbSidebar(e){$e("body").addClass("hubb-sidebar-open"),$e(".hubb-sidebar-overlay").fadeIn(100),$e(e).addClass("open")}function hideHubbSidebar(){$e(".hubb-sidebar-overlay").fadeOut(100),$e(".hubb-sidebar.open").removeClass("open"),$e("body").removeClass("hubb-sidebar-open")}$(document).ready(function(){$e(".hubb-sidebar-overlay").on("click",function(){hideHubbSidebar()}),$e(".hubb-sidebar .sidebar-close").on("click",function(){hideHubbSidebar()})});var Insight=function(e){"use strict";var t,n,i,o=function(){var e=window.location.pathname+window.location.search;return t.home_url&&0===e.indexOf(t.home_url)},a=function(){void 0!==window.event&&window.event.preventDefault()},r=function(e,n,i,o){var a=t.home_url?t.home_url:window.location.pathname;if(a.indexOf("?")>-1){var r=a.substring(a.indexOf("?"));r=setQSVal(r,e,n),i&&"undefined"!==o&&(r=setQSVal(r,i,o)),s(a.substring(0,a.indexOf("?"))+r)}else s(a+"?"+e+"="+n+(i&&o?"&"+i+"="+o:""))},s=function(e,t){a(),t?window.open(e):window.location.href=e},l=new Array,d=function(t,n,i,o,a,r,s,c,u,h,f,p,m){if(null!=t&&"string"!=typeof t&&(t=String(t)),e("body").hasClass("open-modals-in-parent"))try{return void window.parent.Insight.SystemModal(t,n,i,o,a,r,s,c,u,h,f,p,m)}catch(e){}var g=e("#system_modal");if(0===g.length&&(g=e(' <div id="system_modal" class="modal"><div class="modal-content"></div><div class="modal-footer"><a href="javascript:void(0);" id="btn-ok" class="btn-flat modal-action modal-close">OK</a><a href="javascript:void(0);" id="btn-cancel" class="btn-flat modal-action modal-close">Cancel</a></div></div>'),e("body").append(g)),g.is(":visible"))l.push(arguments);else if(n=n?"<h5>"+n+"</h5>":"",t){if(i&&(t="<p>"+t.replace(/\n/g,"<br />")+"</p>"),f)for(var v=0;v<f.length;v++)t+='<a href="javascript:void(0);" id="btn-opt-'+v+'" class="btn modal-action modal-close insight-options-btn" onclick="'+p+"('"+f[v].id+"')\">"+f[v].button_text+"</a>";g.find(".modal-content").html(n+t);var w=g.find("#btn-ok");a?(w.show(),w.html(u||"OK"),w.unbind("click.custom"),"function"==typeof r&&w.on("click.custom",r)):w.hide();var y=g.find("#btn-cancel");s?(y.show(),y.html(h||"Cancel"),y.unbind("click.custom"),"function"==typeof c&&y.on("click.custom",c)):y.hide();var b=g.find(".modal-footer");s||a?b.show():b.hide();g.openModal({dismissible:o,complete:function(){if(l.length){var e=l.shift();d.apply(this,e)}}}),m&&(g.addClass("show-above-widget-overlay"),e("#lean-overlay").addClass("show-above-widget-overlay"))}},c=function(e){var t=!1;(console.log(e),arguments.length&&arguments[0].promise)&&(arguments[0].readyState<4&&(t=!0));t||"true"===qs.get("ajax_error")||qs.go("ajax_error",!0)},u=function(){return n||(n=e("#divExitSpinner")),n}
3,h=function(){return i||(i=e("#divExitOverlay")),i},f=0,p=function(e,t){!t&&f++,u().css("z-index",""),e&&h().css("z-index","");var n=GetMaxZIndex();u().css("z-index",n+2),u().show(),e&&g(n+1)},m=function(){--f<=0&&(u().hide(),h().hide(),f=0)},g=function(e){e||(h().css("z-index",""),e=1+GetMaxZIndex()),h().css("z-index",e),h().show().fadeTo(1500,.7)},v="InsightLocalStorage_",w=function(t){var n=e("#"+t);return 1===n.length?n:e("[id$=_"+t+"]")};return{Init:function(e){t=e},GroupID:function(){return t.group_id},UsrID:function(){return t.usr_id},IsChurch:function(){return t.use_church},Region:function(){return t.region},IsPostback:function(){return t.is_postback},HomeURL:function(){return t.home_url},UserData:function(e,t){return e=v+e,void 0===t?JSON.parse(localStorage.getItem(e)):(localStorage.setItem(e,JSON.stringify(t)),t)},ClearUserData:function(){for(var e=0;e<localStorage.length;e++)0===localStorage.key(e).indexOf(v)&&localStorage.removeItem(localStorage.key(e))},Navigate:s,NavigateToGroup:function(e){if(o())qs.go("GroupID",e,"FolderID");else{var t=qs.get("context");r("GroupID",e,t?"context":null,t||null)}},NavigateToFolder:function(e){o()?qs.go("FolderID",e):r("FolderID",e,"GroupID",t.group_id)},NavigateToSection:function(e){r("section_id",e)},NavigateToMailingGroup:function(e){r("MailingGroupID",e||"u","GroupID",/^\d+$/.test(e)?e:t.group_id)},NavigateOrFilter:function(t,n){var i=e(t.target);return"undefined"==typeof InfiniteScroll||-1===i.prop("href").indexOf(window.location.pathname)||(InfiniteScroll.FilterToTypes(n),!1)},DownloadFile:function(t){var n=e("#downloadIframe");0==n.length&&(n=e("<iframe />",{id:"downloadIframe"}).appendTo("body")),n.attr("src",t)},Alert:function(e,t,n){d(e,t,!0,!1,!0,n)},Confirm:function(e,t,n,i,o,a){d(e,t,!0,!1,!0,n,!0,i,o,a)},ConfirmOptions:function(e,t,n,i,o){d(e,t,!0,!1,!1,"",!1,"","","",n,i,o)},Modal:function(t){p(),e.ajax({url:t,error:function(){m(),c()},success:function(e){d(e,null,!1,!0,!1,null,!1,null),m()}})},SystemModal:d,ErrorHandler:c,ShowSpinner:p,HideSpinner:m,ShowOverlay:g,$El:w,El:function(e){var t=w(e);return t.length?t[0]:null},ScrollTo:function(t,n){t.length&&(n=n||e("html, body")).animate({scrollTop:t.offset().top-Math.min(n.height(),window.innerHeight)/2},50)},PreventIEDefaultClick:a,InitDropdown:function(e,t){e.dropdown({inDuration:300,outDuration:225,constrain_width:!1,hover:!1,alignment:e.hasClass("dropdown-right")?"right":"left",gutter:0,belowOrigin:!t})}}}(jQuery);window.realalert=window.alert,window.alert=Insight.Alert;var InsightAreYouSure=function(e){var t,n=function(){t=e("[id$=_hdnPageIsDirty]"),e("form").trigger("preinit.areYouSure"),e(".ays-ignore-children").find("input, select, textarea").attr("data-ays-ignore","true"),e("form").areYouSure({message:"You have made changes that will be lost.",silent:!0}),e("form").on("dirty.areYouSure",function(){s(!0)}),e("form").on("clean.areYouSure",function(){s(!1)}),"0"!=t.val()&&o(),e(".save-btn:not(.ays-override-postback-suspension)").click(i),e(".ays-suspend-on-postback-children").click(i),e(".ays-suspend-on-postback").click(i),e("table.datagrid tr.header a, table.datagrid tr.datagridpager a").click(i)},i=function(){var t=a();t&&r(),e("form").trigger("reinitialize.areYouSure"),s(t)},o=function(){r(),e("form").trigger("checkform.areYouSure")},a=function(){return e("form").hasClass("dirty")},r=function(){t&&t.val(parseInt(t.val())+1)},s=function(t){e(".save-btn").toggleClass("save-btn-dirty",t).trigger("cleanDirtyChange")},l=function(){return!e("form").hasClass("ays-disabled")},d=!1,c=function(){d=!0},u=!1;return e(function(){var t;l()&&n(),e(".disable-exit-overlay").click(c),e('a[href^="javascript:void"]').click(function(e){e.preventDefault()});var i=window.frameElement&&/^fra(Content|Chat|Bible)$/.test(window.frameElement.id),o=function(){u=!1,i?(e("#divExitOverlay").stop(!0,!0).hide(),e("#divExitSpinner").stop(!0,!0).hide()):(e("#divExitOverlay",window.top.document).hide(),e("#divExitSpinner",window.top.document).hide()),e(".tabs").each(function(){var t=e(this);t.find("a.active").removeClass("active");var n=t.find("a.selected");
3n.addClass("active"),n.append(t.find(".indicator"))})};if(e(window).on("beforeunload",function(){if(e(".button-collapse").sideNav&&e(".button-collapse").sideNav("hide"),e(".dropdown-content.active").removeClass("active").hide(),d)d=!1;else{try{i?(e("#divExitOverlay").fadeTo(2e3,.7),e("#divExitSpinner").fadeIn(2e3)):window.top.Insight.ShowSpinner(!0,!0),u=!0}catch(e){}if(e("form").hasClass("dirty")&&!e("form").hasClass("ays-disabled"))return t=setTimeout(o,4e3),"You have made changes that will be lost."}}),window.navigation&&window.navigation.addEventListener){var a=0;window.navigation.addEventListener("navigate",function(e){if(e.signal){var n=++a;e.signal.addEventListener("abort",function(){n===a&&u&&(clearTimeout(t),o())},{once:!0})}})}e(window).on("pagehide",function(){clearTimeout(t),u=!1})}),{Init:n,SuspendForPostback:i,SetClean:function(){e("form").trigger("reinitialize.areYouSure"),t&&t.val("0")},SetDirty:o,Rescan:function(){e("form").trigger("checkform.areYouSure")},CheckForNewFields:function(){e("form").trigger("rescan.areYouSure")},IsDirty:a,Enabled:l,DisableExitOverlay:c}}(jQuery);function pageLoad(){$(document).trigger("page_loaded")}!function(e){e(function(){e(".modal-trigger").leanModal&&e(".modal-trigger").leanModal(),e(".button-collapse").sideNav&&e(".button-collapse").sideNav({menuWidth:320}),e(".dropdown").each(function(){void 0!==Insight&&Insight.InitDropdown(e(this))}),e("#search_content").length&&e("#search_content").keyup(function(t){13===t.which&&(e("#search_content").blur(),e("#second_nav").removeClass("second-row-visible"))});var t=document.querySelector("body");t&&new Headroom(t,{offset:100,onUnpin:function(){e("body").click()}}).init();e(":not(.default-checkbox) input:checkbox:not(.switch-checkbox), input:radio").each(function(){if(!e(this).next().is("label")&&"none"!==e(this).css("display")){var t=e('<label class="blank_label">​</label>');e(this).attr("id")||e(this).attr("id",(n=(new Date).getTime(),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=(n+16*Math.random())%16|0;return n=Math.floor(n/16),("x"===e?t:3&t|8).toString(16)}))),t.attr("for",e(this).attr("id")),e(this).after(t)}var n}),e(".input-field > input").focus(function(){e(this).parent(".input-field").addClass("focus")}).blur(function(){e(this).parent(".input-field").removeClass("focus")}),e(window).resize(function(){var t=e("#second_nav"),n=e("#contents");t.removeClass("has-second-row"),n.removeClass("with-second-nav-second-row");var i=e("body").hasClass("no-content-tabs")?50:100;t.prop("scrollHeight")>i&&(t.addClass("has-second-row"),n.addClass("with-second-nav-second-row"))}).resize();var n=function(){try{e("#divExitOverlay",window.top.document).stop(!0,!0).hide(),e("#divExitSpinner",window.top.document).stop(!0,!0).hide(),e("body",window.top.document).removeClass("with-loading-overlay")}catch(e){}e("#divExitOverlay").stop(!0,!0).hide(),e("#divExitSpinner").stop(!0,!0).hide(),e("body").removeClass("with-loading-overlay")};if(n(),e(window).on("pageshow",function(e){e.originalEvent&&e.originalEvent.persisted&&n()}),e(window).scroll(function(){e("#second_nav").toggleClass("scrolled",e(window).scrollTop()>10),e(".container").toggleClass("scrolled",e(window).scrollTop()>10)}),qs.set("token_in",null),qs.set("token_out",null),qs.set("token_logout",null),"true"===qs.get("ajax_error")){var i="/Admin/Default.aspx?stay=true";IsHubbPage()&&(i="/Hubb"),Insight.Alert("Unfortunately something went wrong","Error",function(){Insight.Navigate(i)})}navigator.userAgent.toLowerCase().match(/edge[ \/](\d+.?\d*)/)&&"undefined"!=typeof CKEDITOR&&CKEDITOR.on("instanceReady",function(t){e("textarea#"+t.editor.name).before('<div class="validator"><span class="bold">NOTE:</span> The editor has known incompatibilities with the Microsoft Edge browser. We recommend you use a different browser such as Chrome or Firefox.</div>')});var o=function(e,t){var n=qs.get(e);n&&("edit_event"==e?window[t](n,qs.get("GroupID"),!1,qs.get("Tab")):window[t](n))};o("edit_media","showRecording"),o("edit_doc","showDocumentFile"),o("edit_image","showImage"),o("edit_event","showEvent"),o("show_account_security","showAccountSecurity"),o("edit_registration","showRegistration")}),e(window).on("load",function(){var t=e("#second_nav li.back-btn").outerWidth(!0);if(e("#second_nav .content-top-bar > .right:not(.second-row-dropdown)").each(function(){t+=e(this).outerWidth(!0)}),t+=25,e("#second_nav li.title").css("max-width","calc(100% - "+t+"px)"),e("#second_nav li.title select").length){var n=e("#second_nav li.title select").outerWidth(!0);e("#second_nav li.title a").css("max-width","calc(100% - "+n+"px)")}
3"serviceWorker"in navigator&&(navigator.serviceWorker.register("/ServiceWorker.js"),navigator.serviceWorker.addEventListener("message",function(e){e.data&&"SW_NAVIGATE"===e.data.type&&(window.location.href=e.data.url)}))})}(jQuery);var qs=function(e){"use strict";var t={};!function(){for(var e,n=/\+/g,i=/([^&=]+)=?([^&]*)/g,o=function(e){return decodeURIComponent(e.replace(n," "))},a=window.location.search.substring(1);e=i.exec(a);)t[o(e[1])]=o(e[2])}();var n=function(e,n){t[e]=n,null==n&&delete t[e]},i=function(){var n=e.param(t);return n.length&&(n="?"+n),location.origin+location.pathname+n+location.hash},o=function(){var e=i();history.replaceState(a,document.title,e)},a=history.state||{},r={};return{observable:function(e,i,s){if(r[e]){var l=r[e];return"function"==typeof s&&l.subscribe(s),l}var d=[],c=function(){if(arguments.length>0){var t=arguments[0];return a[e]!=arguments[0]&&(a[e]=t,n(e,arguments[0]),o(),u(t,arguments[1])),this}return a[e]};c.subscribe=function(e){d.push(e)},"function"==typeof s&&c.subscribe(s);var u=function(e,t){for(var n=0;n<d.length;n++)"function"==typeof d[n]&&d[n](e,t)};return c.callSubscribers=u,a[e]=i,t[e]&&c(t[e],!0),r[e]=c,c},set:function(e,t){return"function"==typeof r[e]?r[e](t):(n(e,t),o()),t},get:function(e){return t[e]},go:function(e,t,o,a){n(e,t),arguments.length>2&&n(o,a),void 0!==window.event&&window.event.preventDefault(),window.location.href=i()}}}(jQuery);function ModalDialog(e){var t={title:"",url:"",elem:null,opener:window,autoShrink:!0,autoGrow:!1,alwaysPinToBottom:IsHubbPage()&&window.innerWidth<1050,mobilePinToBottom:!1,external:!1,closable:!0,maximisable:!0,maximise:!1,onClose:null,minWidth:null,queryStringParams:null,allowPopout:null,showUnsavedChangesWarningNonIframe:null,resizable:!0,appendTo:null},n=this;n.opts=$e.extend({},t,e),n.wndOpener=n.opts.opener;var i=n.opts.url&&""!==n.opts.url;try{if(i&&window!=window.top&&void 0!==window.top.ModalDialog)return e.opener=window,new window.top.ModalDialog(e)}catch(e){}n.opts.elem&&n.opts.elem.addClass("element_dialog");var o,a,r,s=function(e){var t={width:n.opts.width,height:n.opts.height},o=e.dialog("option","width"),a=e.dialog("option","height"),r={width:IsHubbPage()&&window.top.$e("#fraContent").length?Math.min(window.top.$e("#fraContent").width(),$e(window).width()):$e(window).width(),height:$e(window).height()*(n.opts.alwaysPinToBottom||n.opts.mobilePinToBottom?.9:1)},s={width:Math.min(t.width,r.width),height:Math.min(t.height,r.height)};if(o>r.width&&e.dialog("option","width",r.width),i&&navigator.userAgent.match(/(iPod|iPhone|iPad)/)&&$e("body",e.contents()).css("width",s.width-40),n.opts.autoShrink||n.opts.autoGrow){var l=0;if(i){var d=$e(".endis_dialog_outer",e.contents()),c=$e("body",e.contents());c.length&&c.height()&&(l=Math.max(c.outerHeight(!0),50),d.length>0||$e("nav#second_nav:visible",e.contents()).length?l+=155:l+=95)}else l=100+Math.max(e.contents().prop("scrollHeight"),50);l>0&&(l<s.height||n.opts.autoGrow&&l!==s.height)&&(s.height=Math.min(l,r.height)),s={width:s.width+50>r.width?r.width:s.width,height:s.height>r.height?r.height:s.height}}((n.opts.autoShrink||n.opts.autoGrow)&&s.height!=a||s.height>a||a>r.height)&&e.dialog("option","height",s.height),((n.opts.autoShrink||n.opts.autoGrow)&&s.width!=o||s.width>o||o>r.width)&&e.dialog("option","width",s.width),navigator.userAgent.match(/(iPod|iPhone|iPad)/)&&($e("html, body",$e(n.wndOpener.document)).addClass("dialog-ios"),i&&(e.closest(".ui-dialog").css("height",s.height),$e("html",e.contents()).css("overflow","auto"),$e("body",e.contents()).css({height:s.height-70,overflow:"auto","-webkit-overflow-scrolling":"touch"})));var u=s.width>=r.width||s.height>=r.height;e.closest(".ui-dialog").toggleClass("screen-constrained",u),e.closest(".ui-dialog").toggleClass("pinned-to-bottom",u||n.opts.alwaysPinToBottom),n.opts.alwaysPinToBottom||u&&n.opts.mobilePinToBottom?(e.dialog("option","draggable",!1),e.dialog("option","resizable",!1),e.dialog("option","height",s.height),e.dialog("option","position",{my:"center bottom",at:"center bottom",of:i?window:n.wndOpener}),$e("html, body",$e(n.wndOpener.document)).addClass("pinned-to-bottom")):(e.dialog("option","position",{my:"center center",at:"center center",of:i?window:n.wndOpener}),$e("html, body",$e(n.wndOpener.document)).removeClass("pinned-to-bottom"))},l=function(e){$e(e.target).hasClass("ui-resizable")||(clearTimeout(o),o=setTimeout(function(){n.IsOpen()&&("maximized"==n.dlg.dialogExtend("state")?(n.dlg.dialogExtend("restore"),n.dlg.dialogExtend("maximize")):n.ResetSize())},250))},d=function(e){if(e||(e=$e(document)),e.find("form.dirty").length)return!0;var t=!1;return e.find("iframe, frame").each(function(){try{if(t=d($e(this).contents()))return!1}catch(e){}}),t},c=function(e){e.closest(".ui-dialog").fadeTo(400,1);var t=u();
3void 0!==t&&t.HideSpinner()},u=function(){return n.wndOpener.$e("body").hasClass("app-framework")?$e("#fraContent")[0].contentWindow.Insight:void 0===window.top.Insight?n.wndOpener.Insight:window.top.Insight},h=$e(n.wndOpener).scrollTop();i?(r="ifrDialogWindow_"+Math.floor(1e4*Math.random()+1),a=$e('<iframe id="'+r+'" src="about:blank" class="dialog-iframe loading"></iframe>'),$e("html",$e(n.wndOpener.document)).addClass("has-open-dialog"),n.wndOpener.document.body.addEventListener("touchmove",p,{passive:!1})):(r=n.opts.elem.attr("id"),a=n.opts.elem,$e("html").addClass("has-open-dialog"),this.wndOpener.frameElement&&$e(this.wndOpener.frameElement).prop("scrolling","no").css("display","block"));var f,p=function(e){e.preventDefault()};f=n.opts.alwaysPinToBottom?{my:"center bottom",at:"center bottom",of:i?window:n.wndOpener}:{my:"center center",at:"center center",of:i?window:n.wndOpener},this.dlg=a.dialog({title:n.opts.title,autoOpen:!0,width:Math.min(n.opts.width,IsHubbPage()?Math.min(window.top.$e("#fraContent").width(),$e(window).width()):$e(window).width()),height:Math.min(n.opts.height,$e(window).height()*(n.opts.alwaysPinToBottom||n.opts.mobilePinToBottom?.9:1)),minWidth:n.opts.minWidth?n.opts.minWidth:200,modal:!0,resizable:n.opts.resizable,appendTo:n.opts.appendTo?n.opts.appendTo:i?"body":"form",position:f,open:function(e,t){if($e(this).closest(".ui-dialog").wrap('<div class="endis-jquery-ui endis-jquery-ui-dialog" />'),i){var o=n.opts.external?"":(-1==n.opts.url.indexOf("?")?"?":"&")+"dialog=true";$e(this).attr("src",n.opts.url+o)}else!$e(this).find(".endis_dialog_outer").length&&$e(this).contents().wrapAll('<div class="endis_dialog_outer"></div>'),$e(".ui-dialog-titlebar-maximize",$e(window.top.document)).html('<i class="mdi-navigation-fullscreen"></i>'),$e(".ui-dialog-titlebar-close",$e(window.top.document)).html('<i class="mdi-navigation-close"></i>'),$e(".ui-dialog-titlebar-restore",$e(window.top.document)).html('<i class="mdi-navigation-fullscreen-exit"></i>'),$e(".ui-icon-gripsmall-diagonal-se",$e(window.top.document)).removeClass("ui-icon-gripsmall-diagonal-se").addClass("ui-icon-grip-diagonal-se");var a=$e(".ui-widget-overlay",i?$e(window.document):$e(n.wndOpener.document)).not(".endis-jquery-ui > .ui-widget-overlay");a.wrap('<div class="endis-jquery-ui endis-jquery-ui-dialog" />');var r=GetMaxZIndex();if(a.last().css({"z-index":r+1}),$e(this).closest(".ui-dialog").css({"z-index":r+2}),$e(window).on("resize",l),n.opts.queryStringParams&&void 0!==n.opts.opener.qs)for(var s in n.opts.queryStringParams)n.opts.opener.qs.set(s,n.opts.queryStringParams[s]);if($e(this).closest(".ui-dialog").css("opacity",0),!n.opts.external){var d=u();void 0!==d&&d.ShowSpinner()}},beforeClose:function(e,t){if(!n.opts.external&&(i||n.opts.showUnsavedChangesWarningNonIframe)&&!n.blnReallyClose&&d(n.opts.showUnsavedChangesWarningNonIframe?null:n.dlg.contents())&&void 0!==Insight){var o=function(){setTimeout(function(){$e("#system_modal").css("min-width",""),$e("#system_modal").css("max-width","")},200)};return Insight.Confirm("You have made changes in this window which will be lost.","Unsaved changes",function(){n.blnReallyClose=!0,n.Close(),o()},o,"Abandon changes","Return to page"),$e("#system_modal").css("min-width","200px"),$e("#system_modal").css("max-width","550px"),!1}},close:function(e,t){if($e(".endis-jquery-ui").filter(function(){return""==$e(this).html()}).remove(),i?0==$e(".ui-dialog:visible",$e(n.wndOpener.document)).length&&($e("html",$e(n.wndOpener.document)).removeClass("has-open-dialog"),n.wndOpener.document.body.removeEventListener("touchmove",p,{passive:!1})):(0==$e(".ui-dialog:visible").length&&($e("html").removeClass("has-open-dialog"),$e("html, body",$e(n.wndOpener.document)).removeClass("pinned-to-bottom"),navigator.userAgent.match(/(iPod|iPhone|iPad)/)&&$e(n.wndOpener).scrollTop(h)),n.wndOpener.frameElement&&$e(n.wndOpener.frameElement).prop("scrolling","yes").css("display",""),$e(".endis-jquery-ui",$e(n.wndOpener.document)).filter(function(){return""==$e(this).html()}).remove()),$e(window).off("resize",l),n.opts.onClose&&n.opts.onClose(),n.opts.queryStringParams&&void 0!==n.opts.opener.qs)for(var o in n.opts.queryStringParams)n.opts.opener.qs.set(o);a.dialogExtend("destroy"),a.dialog("destroy")},resizeStop:function(e,t){$e(this).height($e(this).parent().height()-$e(this).prev(".ui-dialog-titlebar").height()-14),$e(this).width($e(this).prev(".ui-dialog-titlebar").width()+2)}}).dialogExtend({closable:n.opts.closable,maximizable:n.opts.maximisable,minimizable:!1,
3collapsable:!1,dblclick:!!n.opts.maximisable&&"maximize",titlebar:!1,icons:{close:"ui-icon-closethick",maximize:"ui-icon-arrowthick-2-ne-sw",restore:"ui-icon-newwin"},beforeMaximize:function(e,t){n.opts.external||($e("i.mdi-navigation-fullscreen-exit",a.contents()).show(),$e("i.mdi-navigation-fullscreen",a.contents()).hide())},beforeRestore:function(e,t){n.opts.external||($e("i.mdi-navigation-fullscreen-exit",a.contents()).hide(),$e("i.mdi-navigation-fullscreen",a.contents()).show())},maximize:function(e,t){a.trigger("dialogresize")},restore:function(e,t){a.trigger("dialogresize"),$e(".ui-icon-gripsmall-diagonal-se",$e(window.top.document)).removeClass("ui-icon-gripsmall-diagonal-se").addClass("ui-icon-grip-diagonal-se"),$e(".ui-icon-gripsmall-diagonal-se",$e(n.wndOpener.document)).removeClass("ui-icon-gripsmall-diagonal-se").addClass("ui-icon-grip-diagonal-se")},load:function(e,t){$e(".ui-dialog-titlebar-maximize",$e(window.top.document)).html('<i class="mdi-navigation-fullscreen"></i>'),$e(".ui-dialog-titlebar-close",$e(window.top.document)).html('<i class="mdi-navigation-close"></i>'),$e(".ui-dialog-titlebar-restore",$e(window.top.document)).html('<i class="mdi-navigation-fullscreen-exit"></i>'),$e(".ui-icon-gripsmall-diagonal-se",$e(window.top.document)).removeClass("ui-icon-gripsmall-diagonal-se").addClass("ui-icon-grip-diagonal-se"),$e(".ui-dialog-titlebar-maximize",$e(n.wndOpener.document)).html('<i class="mdi-navigation-fullscreen"></i>'),$e(".ui-dialog-titlebar-close",$e(n.wndOpener.document)).html('<i class="mdi-navigation-close"></i>'),$e(".ui-dialog-titlebar-restore",$e(n.wndOpener.document)).html('<i class="mdi-navigation-fullscreen-exit"></i>'),$e(".ui-icon-gripsmall-diagonal-se",$e(n.wndOpener.document)).removeClass("ui-icon-gripsmall-diagonal-se").addClass("ui-icon-grip-diagonal-se"),n.opts.allowPopout&&n.opts.url&&a.prev(".ui-dialog-titlebar").find(".ui-dialog-titlebar-buttonpane").append($("<a />",{href:"javascript:void(0);",on:{click:function(){window.open(n.opts.url,"_blank")}}}).html($("<i />",{class:"mdi-action-open-in-new"}))),n.opts.closable||a.prev(".ui-dialog-titlebar").addClass("no-close-button")}}),!i||n.opts.external?(n.opts.external||s(a),a.on("height-reset-complete",function(){c($(this))}),a.hasClass("dialog-loading")||c(a)):this.dlg.bind("load",function(){var e=$e(this);try{var t=e.get(0).contentWindow;t.dlg=n,$e("html",e.contents()).find("div.login-card").length>0&&(void 0!==InsightAreYouSure&&InsightAreYouSure.SuspendForPostback(),"function"==typeof __doPostBack?__doPostBack():location.href="/User/Login.aspx?time_out=true");var i=$e("body",e.contents());i.hasClass("endis_dialog")||i.addClass("endis_dialog"),void 0!==t.Insight&&t.Insight.IsPostback()||s(e),n.opts.maximise&&n.Maximize(),"function"==typeof t.$&&t.$("body").trigger("endisdialogready")}catch(e){"undefined"!=typeof console&&console.debug&&console.debug("ModalDialog iframe load handler swallowed an error (likely cross-origin):",e)}finally{c(e),$e(document).trigger("endisdialogready"),e.removeClass("loading")}}),this.Close=function(){n.dlg.dialog("close")},this.Maximize=function(){n.dlg.dialogExtend("maximize")},this.Restore=function(){n.dlg.dialogExtend("restore")},this.Reload=function(){n.dlg.attr("src",function(e,t){return t})},this.SetConfirmCloseFn=function(e){n.dlg.on("dialogbeforeclose",function(t,n){try{return"function"!=typeof e||e()}catch(e){}})},this.SetOnCloseFn=function(e){n.dlg.on("dialogclose",function(t,n){try{return"function"!=typeof e||e()}catch(e){}})},this.SetOnEndisDialogReady=function(e){$e(document).on("endisdialogready",e)},this.SetPosition=function(e,t){n.dlg.dialog("option","position",{my:"center center",at:e+" "+t,of:i?window:n.wndOpener})},this.IsOpen=function(){return n.dlg.hasClass("ui-dialog-content")},this.GetDialogUIObject=function(){return n.dlg},this.ResetSize=function(){s(n.dlg)},this.Height=function(){return $e("body",n.dlg.contents()).height()},this.SetTitle=function(e){n.dlg.dialog("option","title",e)},this.GetTitle=function(){return n.dlg.dialog("option","title")},this.AddClass=function(e){n.dlg.dialog("option","dialogClass",e)},this.SetSize=function(e,t){n.opts.width=e,n.opts.height=t,this.ResetSize()}}function EndisDialog(e,t,n,i,o,a,r,s,l){return new ModalDialog({url:e,elem:o,title:t,width:n,height:i,opener:a||window,autoShrink:!r,external:s,maximise:l})}$e.widget("ui.dialog",$e.extend({},$e.ui.dialog.prototype,{_title:function(e){this.options.title?e.html(this.options.title):e.html(" ")}}));var virtualKeyboardDetector=function(e,t){var n=3e3,o=previousViewportWidth=viewportWidthWithoutVirtualKeyboard=e.innerWidth,a=previousViewportHe
3ight=viewportHeightWithoutVirtualKeyboard=e.innerHeight,r=!1,s=!1,l=null,d=["INPUT","TEXTAREA"],c={};function u(e,t){void 0===c[e]&&(c[e]=[]),c[e].push(t)}function h(e,t){if(void 0!==c[e])if(void 0===t)c[e]=[];else for(var n=c[e].length;n--;)c[e][n]==t&&c[e].splice(n,1)}function f(e,t){for(i in c[e])"function"==typeof c[e][i]&&c[e][i](t)}function p(t){void 0!==t.target&&void 0!==t.target.nodeName&&-1!=d.indexOf(t.target.nodeName)&&function(){null!=l&&(e.clearTimeout(l),l=null);s=!0,l=e.setTimeout(m,n)}()}function m(){s=!1}function g(){o=e.innerWidth,a=e.innerHeight,Math.abs(a-previousViewportHeight)>100&&(r&&o==previousViewportWidth&&a>=viewportHeightWithoutVirtualKeyboard&&v(),o!=previousViewportWidth&&("activeElement"in document&&document.activeElement.blur(),v()),!r&&s&&o==previousViewportWidth&&a<previousViewportHeight&&f("virtualKeyboardVisible",{virtualKeyboardVisible:r=!0,sizes:w()}),0==r&&(viewportWidthWithoutVirtualKeyboard=o,viewportHeightWithoutVirtualKeyboard=a)),previousViewportWidth=o,previousViewportHeight=a}function v(){f("virtualKeyboardHidden",{virtualKeyboardVisible:r=!1,sizes:w()})}function w(){return{viewportWithoutVirtualKeyboard:{width:viewportWidthWithoutVirtualKeyboard,height:viewportHeightWithoutVirtualKeyboard},currentViewport:{width:o,height:a},virtualKeyboard:{width:o,height:viewportHeightWithoutVirtualKeyboard-a}}}return{init:function(t){void 0!==t&&void 0!==t.recentlyFocusedTimeoutDuration&&(n=t.recentlyFocusedTimeoutDuration),o=previousViewportWidth=viewportWidthWithoutVirtualKeyboard=e.innerWidth,a=previousViewportHeight=viewportHeightWithoutVirtualKeyboard=e.innerHeight,document.addEventListener("focus",p,!0),e.addEventListener("resize",g)},isVirtualKeyboardVisible:function(){return r},getVirtualKeyboardSize:function(){return!!r&&{width:o,height:viewportHeightWithoutVirtualKeyboard-a}},on:u,addEventListener:u,subscribe:u,off:h,removeEventListener:h,unsubscribe:h,trigger:f,publish:f,dispatchEvent:f,documentFocusHandler:p}}(window); 4/*! 5 * pulltorefreshjs v0.1.19 6 * (c) Rafael Soto 7 * Released under the MIT License. 8 */function PageValid(){return"function"==typeof Page_ClientValidate&&Page_ClientValidate(),Page_IsValid}function OpenPasswordModalIfValid(){var e=Insight.$El("txtPassword"),t=!1;return""===e.val()&&(t=!0,e.val("placeholder")),PageValid()?($e("#divPasswordModal").openModal({dismissible:!1}),e.focus()):Insight.Alert("Please resolve the highlighted issues and try saving again."),t&&e.val(""),!1}function SetContentScrollableHeight(){1==$e(".content-scrollable").length&&$e(".content-scrollable").height("calc(100vh - "+$e(".content-scrollable").position().top+"px)")}
8function AppCheckAndNavigate(e,t,n,i){if(InsightAreYouSure.IsDirty()){window.top.hideOpenPanels(),window.top.hidePanelOverlay();Insight.Confirm("You have made changes that will be lost.","Unsaved changes",function(){AppFrameNavigate(e,t,n,i,!0)},function(){setTimeout(function(){$e("#lean-overlay").css("z-index",""),$e("#system_modal").css("z-index","")},200)},"Abandon changes","Return to page")}else AppFrameNavigate(e,t,n,i,!0)}function AppFrameNavigate(e,t,n,i,o){window.top.AppNavigate(e,t,n,i,o)}function setIFrameDesktopClass(){$e("body").toggleClass("iframe-in-desktop-design",window.top.innerWidth>820)}!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).PullToRefresh=t()}(this,function(){"use strict";var e={pullStartY:null,pullMoveY:null,handlers:[],styleEl:null,events:null,dist:0,state:"pending",timeout:null,distResisted:0,supportsPassive:!1,supportsPointerEvents:!!window.PointerEvent};try{window.addEventListener("test",null,{get passive(){e.supportsPassive=!0}})}catch(e){}var t,n={setupDOM:function(t){if(!t.ptrElement){var n=document.createElement("div");t.mainElement!==document.body?t.mainElement.parentNode.insertBefore(n,t.mainElement):document.body.insertBefore(n,document.body.firstChild),n.classList.add(t.classPrefix+"ptr"),n.innerHTML=t.getMarkup().replace(/__PREFIX__/g,t.classPrefix),t.ptrElement=n,"function"==typeof t.onInit&&t.onInit(t),e.styleEl||(e.styleEl=document.createElement("style"),e.styleEl.setAttribute("id","pull-to-refresh-js-style"),document.head.appendChild(e.styleEl)),e.styleEl.textContent=t.getStyles().replace(/__PREFIX__/g,t.classPrefix).replace(/\s+/g," ")}return t},onReset:function(t){t.ptrElement.classList.remove(t.classPrefix+"refresh"),t.ptrElement.style[t.cssProp]="0px",setTimeout(function(){t.ptrElement&&t.ptrElement.parentNode&&(t.ptrElement.parentNode.removeChild(t.ptrElement),t.ptrElement=null),e.state="pending"},t.refreshTimeout)},update:function(t){var n=t.ptrElement.querySelector("."+t.classPrefix+"icon"),i=t.ptrElement.querySelector("."+t.classPrefix+"text");n&&("refreshing"===e.state?n.innerHTML=t.iconRefreshing:n.innerHTML=t.iconArrow),i&&("releasing"===e.state&&(i.innerHTML=t.instructionsReleaseToRefresh),"pulling"!==e.state&&"pending"!==e.state||(i.innerHTML=t.instructionsPullToRefresh),"refreshing"===e.state&&(i.innerHTML=t.instructionsRefreshing))}},i=function(t){return e.pointerEventsEnabled&&e.supportsPointerEvents?t.screenY:t.touches[0].screenY},o=function(){var o;function a(t){var a=e.handlers.filter(function(e){return e.contains(t.target)})[0];e.enable=!!a,a&&"pending"===e.state&&(o=n.setupDOM(a),a.shouldPullToRefresh()&&(e.pullStartY=i(t)),clearTimeout(e.timeout),n.update(a))}function r(t){o&&o.ptrElement&&e.enable&&(e.pullStartY?e.pullMoveY=i(t):o.shouldPullToRefresh()&&(e.pullStartY=i(t)),"refreshing"!==e.state?("pending"===e.state&&(o.ptrElement.classList.add(o.classPrefix+"pull"),e.state="pulling",n.update(o)),e.pullStartY&&e.pullMoveY&&(e.dist=e.pullMoveY-e.pullStartY),e.distExtra=e.dist-o.distIgnore,e.distExtra>0&&(t.cancelable&&t.preventDefault(),o.ptrElement.style[o.cssProp]=e.distResisted+"px",e.distResisted=o.resistanceFunction(e.distExtra/o.distThreshold)*Math.min(o.distMax,e.distExtra),"pulling"===e.state&&e.distResisted>
vendor: 2,960 bytes, line 8
8o.distThreshold&&(o.ptrElement.classList.add(o.classPrefix+"release"),e.state="releasing",n.update(o)),"releasing"===e.state&&e.distResisted<o.distThreshold&&(o.ptrElement.classList.remove(o.classPrefix+"release"),e.state="pulling",n.update(o)))):t.cancelable&&o.shouldPullToRefresh()&&e.pullStartY<e.pullMoveY&&t.preventDefault())}function s(){if(o&&o.ptrElement&&e.enable){if(clearTimeout(t),t=setTimeout(function(){o&&o.ptrElement&&"pending"===e.state&&n.onReset(o)},500),"releasing"===e.state&&e.distResisted>o.distThreshold)e.state="refreshing",o.ptrElement.style[o.cssProp]=o.distReload+"px",o.ptrElement.classList.add(o.classPrefix+"refresh"),e.timeout=setTimeout(function(){var e=o.onRefresh(function(){return n.onReset(o)});e&&"function"==typeof e.then&&e.then(function(){return n.onReset(o)}),e||o.onRefresh.length||n.onReset(o)},o.refreshTimeout);else{if("refreshing"===e.state)return;o.ptrElement.style[o.cssProp]="0px",e.state="pending"}n.update(o),o.ptrElement.classList.remove(o.classPrefix+"release"),o.ptrElement.classList.remove(o.classPrefix+"pull"),e.pullStartY=e.pullMoveY=null,e.dist=e.distResisted=0}}function l(){o&&o.mainElement.classList.toggle(o.classPrefix+"top",o.shouldPullToRefresh())}var d=e.supportsPassive?{passive:e.passive||!1}:void 0;return e.pointerEventsEnabled&&e.supportsPointerEvents?(window.addEventListener("pointerup",s),window.addEventListener("pointerdown",a),window.addEventListener("pointermove",r,d)):(window.addEventListener("touchend",s),window.addEventListener("touchstart",a),window.addEventListener("touchmove",r,d)),window.addEventListener("scroll",l),{onTouchEnd:s,onTouchStart:a,onTouchMove:r,onScroll:l,destroy:function(){e.pointerEventsEnabled&&e.supportsPointerEvents?(window.removeEventListener("pointerdown",a),window.removeEventListener("pointerup",s),window.removeEventListener("pointermove",r,d)):(window.removeEventListener("touchstart",a),window.removeEventListener("touchend",s),window.removeEventListener("touchmove",r,d)),window.removeEventListener("scroll",l)}}},a={distThreshold:60,distMax:80,distReload:50,distIgnore:0,mainElement:"body",triggerElement:"body",ptrElement:".ptr",classPrefix:"ptr--",cssProp:"min-height",iconArrow:"⇣",iconRefreshing:"…",instructionsPullToRefresh:"Pull down to refresh",instructionsReleaseToRefresh:"Release to refresh",instructionsRefreshing:"Refreshing",refreshTimeout:500,getMarkup:function(){return'\n<div class="__PREFIX__box">\n <div class="__PREFIX__content">\n <div class="__PREFIX__icon"></div>\n <div class="__PREFIX__text"></div>\n </div>\n</div>\n'},getStyles:function(){return"\n.__PREFIX__ptr {\n box-shadow: inset 0 -3px 5px rgba(0, 0, 0, 0.12);\n pointer-events: none;\n font-size: 0.85em;\n font-weight: bold;\n top: 0;\n height: 0;\n transition: height 0.3s, min-height 0.3s;\n text-align: center;\n width: 100%;\n overflow: hidden;\n display: flex;\n align-items: flex-end;\n align-content: stretch;\n}
8\n\n.__PREFIX__box {\n padding: 10px;\n flex-basis: 100%;\n}\n\n.__PREFIX__pull {\n transition: none;\n}\n\n.__PREFIX__text {\n margin-top: .33em;\n color: rgba(0, 0, 0, 0.3);\n}\n\n.__PREFIX__icon {\n color: rgba(0, 0, 0, 0.3);\n transition: transform .3s;\n}\n\n/*\nWhen at the top of the page, disable vertical overscroll so passive touch\nlisteners can take over.\n*/\n.__PREFIX__top {\n touch-action: pan-x pan-down pinch-zoom;\n}\n\n.__PREFIX__release .__PREFIX__icon {\n transform: rotate(180deg);\n}\n"},onInit:function(){},onRefresh:function(){return location.reload()},resistanceFunction:function(e){return Math.min(1,e/2.5)},shouldPullToRefresh:function(){return!window.scrollY}},r=["mainElement","ptrElement","triggerElement"],s=function(t){var n={};return Object.keys(a).forEach(function(e){n[e]=t[e]||a[e]}),n.refreshTimeout="number"==typeof t.refreshTimeout?t.refreshTimeout:a.refreshTimeout,r.forEach(function(e){"string"==typeof n[e]&&(n[e]=document.querySelector(n[e]))}),e.events||(e.events=o()),n.contains=function(e){return n.triggerElement.contains(e)},n.destroy=function(){clearTimeout(e.timeout);var t=e.handlers.indexOf(n);e.handlers.splice(t,1)},n};return{setPassiveMode:function(t){e.passive=t},setPointerEventsMode:function(t){e.pointerEventsEnabled=t},destroyAll:function(){e.events&&(e.events.destroy(),e.events=null),e.handlers.forEach(function(e){e.destroy()})},init:function(t){void 0===t&&(t={});var n=s(t);return e.handlers.push(n),n},_:{setupHandler:s,setupEvents:o,setupDOM:n.setupDOM,onReset:n.onReset,update:n.update}}}
8),$e=jQuery,$e(document).ready(function(){try{window!=window.top&&(setIFrameDesktopClass(),$e(window).on("resize",setIFrameDesktopClass)),SetContentScrollableHeight(),$e("a, img").attr("draggable","false"),$pnlOldContents=Insight.$El("pnlOldStyleContents"),$pnlOldContents.length&&$pnlOldContents.toggle(""!=$pnlOldContents.html().trim()),window.top.virtualKeyboardVisibleHandler&&window.top.virtualKeyboardHiddenHandler&&(virtualKeyboardDetector.init({recentlyFocusedTimeoutDuration:1e3}),virtualKeyboardDetector.off("virtualKeyboardVisible"),virtualKeyboardDetector.on("virtualKeyboardVisible",window.top.virtualKeyboardVisibleHandler),virtualKeyboardDetector.off("virtualKeyboardHidden"),virtualKeyboardDetector.on("virtualKeyboardHidden",window.top.virtualKeyboardHiddenHandler),window.top.$e("body").removeClass("virtual-keyboard"))}catch(e){}});var ChatOffline=function(){var e="threads",t="messages",n="pendingMessages",i=null;function o(){return new Promise(function(o,a){if(i)o(i);else if(window.indexedDB){var r=indexedDB.open("HubbChatDB",4);r.onerror=function(e){console.error("IndexedDB error:",e.target.error),a(e.target.error)},r.onsuccess=function(e){i=e.target.result,console.log("ChatOffline: Database initialized"),o(i)},r.onupgradeneeded=function(i){var o=i.target.result;if(o.objectStoreNames.contains(e))i.target.transaction.objectStore(e).indexNames.contains("site_id")||i.target.transaction.objectStore(e).createIndex("site_id","site_id",{unique:!1});else{var a=o.createObjectStore(e,{keyPath:"cache_key"});a.createIndex("site_id","site_id",{unique:!1}),a.createIndex("updated_at","updated_at",{unique:!1})}if(o.objectStoreNames.contains(t))i.target.transaction.objectStore(t).indexNames.contains("site_id")||i.target.transaction.objectStore(t).createIndex("site_id","site_id",{unique:!1});else{var r=o.createObjectStore(t,{keyPath:"cache_key"});r.createIndex("site_id","site_id",{unique:!1}),r.createIndex("thread_id","thread_id",{unique:!1}),r.createIndex("other_usr_id","other_usr_id",{unique:!1}),r.createIndex("updated_at","updated_at",{unique:!1})}if(o.objectStoreNames.contains(n)){var s=i.target.transaction.objectStore(n);s.indexNames.contains("site_id")||s.createIndex("site_id","site_id",{unique:!1}),s.indexNames.contains("usr_id")||s.createIndex("usr_id","usr_id",{unique:!1})}else{var l=o.createObjectStore(n,{keyPath:"id",autoIncrement:!0});l.createIndex("created_at","created_at",{unique:!1}),l.createIndex("site_id","site_id",{unique:!1}),l.createIndex("usr_id","usr_id",{unique:!1})}}}else a(new Error("IndexedDB not supported"))})}function a(e,t){return"threads_"+e+"_"+t}function r(e,t,n,i){if(n)return"messages_"+e+"_"+t+"_thread_"+n;var o=[t,i].sort(function(e,t){return e-t});return"messages_"+e+"_dm_"+o[0]+"_"+o[1]}function s(){return o().then(function(){return new Promise(function(e,t){var o=i.transaction([n],"readonly").objectStore(n).getAll();o.onsuccess=function(t){e(t.target.result||[])},o.onerror=function(e){t(e.target.error)}})})}return{init:o,saveThreads:function(t,n,r){return o().then(function(){return new Promise(function(o,s){var l=i.transaction([e],"readwrite").objectStore(e),d={cache_key:a(t,n),site_id:t,usr_id:n,group_chats:r.group_chats||[],direct_chats:r.direct_chats||[],updated_at:(new Date).toISOString()},c=l.put(d);c.onsuccess=function(){console.log("ChatOffline: Threads saved to cache"),o()},c.onerror=function(e){s(e.target.error)}})})},getThreads:function(t,n){return o().then(function(){return new Promise(function(o,r){var s=i.transaction([e],"readonly").objectStore(e),l=a(t,n),d=s.get(l);d.onsuccess=function(e){o(e.target.result||null)},d.onerror=function(e){r(e.target.error)}})})},saveMessages:function(e,n,a,s,l){return o().then(function(){return new Promise(function(o,d){var c=i.transaction([t],"readwrite").objectStore(t),u={cache_key:r(e,n,a,s),site_id:e,thread_id:a||null,other_usr_id:s||null,messages:l||[],updated_at:(new Date).toISOString()},h=c.put(u);h.onsuccess=function(){console.log("ChatOffline: Messages saved to cache"),o()},h.onerror=function(e){d(e.target.error)}})})},getMessages:function(e,n,a,s){return o().then(function(){return new Promise(function(o,l){var d=i.transaction([t],"readonly").objectStore(t),c=r(e,n,a,s),u=d.get(c);u.onsuccess=function(e){o(e.target.result||null)},u.onerror=function(e){l(e.target.error)}})})},queuePendingMessage:function(e){return o().then(function(){return new Promise(function(t,o){var a=i.transaction([n],"readwrite").objectStore(n),r={site_id:e.siteId,usr_id:e.usrId,message:e.message,thread_id:e.threadId||null,other_usr_id:e.otherUsrId||null,group_id:e.groupId||null,created_at:(new Date).toISOString(),status:"pending"},s=a.add(r);s.onsuccess=function(e){console.log("ChatOffline: Message queued for sending"),t(e.target.result)},s.onerror=function(e){o(e.target.error)}})})},getPendingMessages:s,syncPendingMessages:function(e,t){return s().then(function(a){if
8(e&&t&&(a=a.filter(function(n){return n.site_id===e&&n.usr_id===t})),0===a.length)return 0;a.sort(function(e,t){var n=e.created_at?new Date(e.created_at).getTime():0,i=t.created_at?new Date(t.created_at).getTime():0;return n!==i?n-i:(e.id||0)-(t.id||0)});var r=function(e){var t=new FormData;return t.append("action","send"),t.append("message",e.message),e.thread_id&&t.append("thread_id",e.thread_id),e.other_usr_id&&t.append("other_usr_id",e.other_usr_id),e.group_id&&t.append("group_id",e.group_id),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:t}).then(function(e){return e.json()}).then(function(t){return t.success?(a=e.id,o().then(function(){return new Promise(function(e,t){var o=i.transaction([n],"readwrite").objectStore(n).delete(a);o.onsuccess=function(){console.log("ChatOffline: Pending message removed"),e()},o.onerror=function(e){t(e.target.error)}})})).then(function(){return 1}):0;var a}).catch(function(e){return console.error("ChatOffline: Failed to send pending message",e),0})};return a.reduce(function(e,t){return e.then(function(e){return r(t).then(function(t){return e+t})})},Promise.resolve(0))})},clearCache:function(a,r){return o().then(function(){var o=[];return[e,t].forEach(function(e){o.push(new Promise(function(t,n){var o=i.transaction([e],"readwrite").objectStore(e);if(a){var r=o.index("site_id").openCursor(IDBKeyRange.only(a));r.onsuccess=function(e){var n=e.target.result;n?(n.delete(),n.continue()):t()},r.onerror=function(e){n(e.target.error)}}else{var s=o.clear();s.onsuccess=function(){t()},s.onerror=function(e){n(e.target.error)}}}))}),o.push(new Promise(function(e,t){var o=i.transaction([n],"readwrite").objectStore(n);if(r){var s=o.index("usr_id").openCursor(IDBKeyRange.only(r));s.onsuccess=function(t){var n=t.target.result;n?(a&&n.value.site_id!==a||n.delete(),n.continue()):e()},s.onerror=function(e){t(e.target.error)}}else if(a){var l=o.index("site_id").openCursor(IDBKeyRange.only(a));l.onsuccess=function(t){var n=t.target.result;n?(n.delete(),n.continue()):e()},l.onerror=function(e){t(e.target.error)}}else{var d=o.clear();d.onsuccess=function(){e()},d.onerror=function(e){t(e.target.error)}}})),Promise.all(o)})},getCacheAge:function(e){if(!e)return"";var t=new Date(e),n=new Date-t,i=Math.floor(n/6e4);if(i<1)return"Just now";if(i<60)return i+" minute"+(1===i?"":"s")+" ago";var o=Math.floor(i/60);if(o<24)return o+" hour"+(1===o?"":"s")+" ago";var a=Math.floor(o/24);return a+" day"+(1===a?"":"s")+" ago"},isOnline:function(){return navigator.onLine}}}(),Chat=function(){function e(e){if(!e)return"";var t=document.createElement("div");return t.textContent=e,t.innerHTML.replace(/"/g,""").replace(/'/g,"'")}function t(e){return e?e.replace(/(https?:\/\/[^\s<]+|www\.[^\s<]+)/gi,function(e){for(var t="";e.length&&".,)]!?".indexOf(e.charAt(e.length-1))>=0;)t=e.charAt(e.length-1)+t,e=e.slice(0,-1);return e?'<a href="'+(/^www\./i.test(e)?"https://"+e:e)+'" target="_blank" rel="noopener noreferrer">'+e+"</a>"+t:t}):e}function n(t){if(!t)return"";var n=JSON.stringify(String(t));return e(n=n.slice(1,-1).replace(/'/g,"\\'"))}function i(e,t){var n="";return e&&e.length>0&&(n+=e.charAt(0).toUpperCase()),t&&t.length>0&&(n+=t.charAt(0).toUpperCase()),n||"?"}function o(e){return e.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function a(e){var t=new Date;if(e.toDateString()===t.toDateString())return"Today";var n=new Date(t);return n.setDate(n.getDate()-1),e.toDateString()===n.toDateString()?"Yesterday":e.getFullYear()===t.getFullYear()?e.toLocaleDateString([],{month:"long",day:"numeric"}):e.toLocaleDateString([],{month:"long",day:"numeric",year:"numeric"})}function r(e,t){var n=e.querySelector(".chat-empty");n&&(n.style.display="none");var i=document.getElementById("typingIndicator");n?n.insertAdjacentHTML("beforebegin",t):i?i.insertAdjacentHTML("beforebegin",t):e.insertAdjacentHTML("beforeend",t),e.scrollTop=e.scrollHeight}var s=!1,l=null,d=!1,c=null,u={};function h(){var e=document.getElementById("txtMessage"),t=e.value.trim();if(t){var n=document.querySelector(".chat-send-btn");if(n.disabled=!0,navigator.onLine||void 0===ChatOffline){var i=new FormData;i.append("action","send"),i.append("message",t),threadId&&i.append("thread_id",threadId),otherUsrId&&i.append("other_usr_id",otherUsrId),groupId&&i.append("group_id",groupId),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:i}).then(function(e){return e.json()}).then(function(i){i.success?(e.value="",e.style.height="",u[i.message_id]=!0,i.requires_approval?p(t,i.message_id,"pending"):p(t,i.message_id)):alert(i.error||"Failed to send message"),n.disabled=!1}).catch(function(i){console.error("Error:",i),void 0!==ChatOffline?ChatOffline.queuePendingMessage({siteId:chatSiteId,usrId:chatUsrId,message:t,threadId:threadI
8d,otherUsrId:otherUsrId,groupId:groupId}).then(function(n){f(t,n),e.value="",e.style.height=""}):alert("Failed to send message"),n.disabled=!1})}else ChatOffline.queuePendingMessage({siteId:chatSiteId,usrId:chatUsrId,message:t,threadId:threadId,otherUsrId:otherUsrId,groupId:groupId}).then(function(i){f(t,i),e.value="",e.style.height="",n.disabled=!1}).catch(function(e){console.error("Failed to queue message:",e),alert("Failed to save message for later sending"),n.disabled=!1})}}function f(n,i){var o=document.querySelector(".chat-messages");o&&r(o,'<div class="message-group pending-message" data-pending-id="'+i+'"><div class="message-bubble '+("sent pending-send"+(g(n)?" emoji-only":""))+'">'+t(e(n)).replace(/\r?\n/g,"<br />")+'</div><div class="message-time sent">Sending...</div></div>')}function p(n,i,a){var s=document.querySelector(".chat-messages");if(s&&!s.querySelector('.message-group[data-message-id="'+i+'"]')){var l="sent"+(a?" "+a:"")+(g(n)?" emoji-only":""),d=o(new Date);r(s,'<div class="message-group" data-message-id="'+i+'"><div class="message-bubble '+l+'">'+t(e(n)).replace(/\n/g,"<br />")+'</div><div class="message-time sent">'+d+"</div></div>")}}function m(){return"undefined"!=typeof chatViewUsrId&&chatViewUsrId||void 0===ChatOffline?Promise.resolve(null):ChatOffline.getMessages(chatSiteId,chatUsrId,threadId,otherUsrId).then(function(e){if(!e)return null;s=!0,function(e){var t=document.querySelector(".chat-messages");if(!t||!e.messages)return;t.querySelectorAll(".message-group, .date-divider").forEach(function(e){e.remove()});var n=t.querySelector(".chat-empty");n&&(n.style.display=e.messages.length>0?"none":"block");if(0===e.messages.length)return;var i="",o="";e.messages.forEach(function(e){var t=new Date(e.message_dt),n=t.toDateString();if(n!==i){i=n;var r=a(t);o+='<div class="date-divider"><span>'+r+"</span></div>"}o+=v(e)});var r=t.querySelector(".load-more");r?r.insertAdjacentHTML("afterend",o):n?n.insertAdjacentHTML("beforebegin",o):t.innerHTML=o;t.scrollTop=t.scrollHeight,function(){if(void 0===ChatOffline)return;ChatOffline.getPendingMessages().then(function(e){e.filter(function(e){return e.site_id===chatSiteId&&e.usr_id===chatUsrId&&(!(!threadId||e.thread_id!==threadId)||!(!otherUsrId||e.other_usr_id!==otherUsrId))}).forEach(function(e){f(e.message,e.id)})})}()}(e);var t=document.getElementById("offlineBanner");if(t){t.classList.add("visible");var n=t.querySelector(".cache-age");n&&(n.textContent="Last updated: "+ChatOffline.getCacheAge(e.updated_at))}var i=document.querySelector(".chat-compose");i&&i.classList.add("offline");var o=document.getElementById("txtMessage");return o&&(o.placeholder="Type a message (will send when online)..."),e})}function g(e){if(!e)return!1;var t=e.trim();if(0===t.length)return!1;try{var n=new RegExp("^(?:\\s|\\p{Extended_Pictographic}|\\p{Emoji_Modifier}|\\u200D|\\uFE0F|\\u20E3)+$","u"),i=new RegExp("\\p{Extended_Pictographic}","u");return n.test(t)&&i.test(t)}catch(e){for(var o=0;o<t.length;o++){var a=t.codePointAt(o);if(a>65535&&o++,!(a<=32||160===a||8205===a||a>=65024&&a<=65039||8419===a||a>=9728&&a<=10175||a>=8960&&a<=9215||a>=11008&&a<=11263||a>=126976&&a<=131071))return!1}return/[â-â¿â¬-⯿]|[\uD83C-\uD83E][\uDC00-\uDFFF]/.test(t)}}function v(n){var a=n.from_usr_id===chatUsrId,r=a?"sent":"received";n.deleted_ind?r+=" deleted":0===n.safer_msg_status?r+=" pending":2!==n.safer_msg_status&&3!==n.safer_msg_status||(r+=" rejected"),!n.deleted_ind&&g(n.message)&&(r+=" emoji-only");var s=n.deleted_ind?"<em>This message was deleted</em>":t(e(n.message)).replace(/\n/g,"<br />"),l=o(new Date(n.message_dt)),d=a?"sent":"",c="";if(!a&&threadId&&!otherUsrId){var u=((n.from_first_name||"")+" "+(n.from_last_name||"")).trim()||"Unknown";c='<div class="message-group-header"><div class="message-avatar">'+e(i(n.from_first_name,n.from_last_name))+'</div><span class="message-sender">'+e(u)+"</span></div>"}var h="";if(!n.deleted_ind&&n.instant_message_id&&y()){var f="";T[String(n.instant_message_id)]||(f='<button type="button" class="react-btn" onclick="Chat.ShowReactionBar('+n.instant_message_id+', this); event.stopPropagation();" title="React"><i class="material-icons">sentiment_satisfied_alt</i></button>'),a&&(f+='<button type="button" onclick="Chat.DeleteMessage('+n.instant_message_id+'); event.stopPropagation();" title="Delete message"><i class="material-icons">delete</i></button>'),h='<div class="message-actions">'+f+"</div>"}var p=(n.instant_message_id?' data-message-id="'+n.instant_message_id+'"':"")+(n.from_usr_id?' data-from-usr-id="'+n.from_usr_id+'"':""),m="";return a&&!n.deleted_ind&&(2===n.safer_msg_status?m='<div class="message-status-note">Not delivered - not approved by parent/guardian</div>':3===n.safer_msg_status&&(m='<div class="message-status-note">Not delivered - approval expired</div>')),'<div class="message-group"'+p+">"+c+'<div class="message-bubble '+r+'">'+s+h+"</div>
8"+m+'<div class="message-time '+d+'">'+l+"</div></div>"}var w={};function y(){return"undefined"!=typeof chatCanReact&&chatCanReact}function b(e){for(var t=w[String(e)]||[],n=0;n<t.length;n++)if(t[n].usr_id===chatUsrId)return t[n].emoji;return null}function _(t){var i=document.querySelector('.message-group[data-message-id="'+t+'"]');if(i){var o=i.querySelector(".message-bubble"),a=i.querySelector(".message-reactions"),r=w[String(t)]||[];if(o&&!o.classList.contains("deleted")&&0!==r.length){var s=[],l={};r.forEach(function(e){l[e.emoji]||(l[e.emoji]={count:0,mine:!1,names:[]},s.push(e.emoji)),l[e.emoji].count++,l[e.emoji].names.push(e.name),e.usr_id===chatUsrId&&(l[e.emoji].mine=!0)});var d="";s.forEach(function(i){var o=l[i];d+='<button type="button" class="reaction-pill'+(o.mine?" mine":"")+'" title="'+e(o.names.join(", ")).replace(/"/g,""")+'" onclick="Chat.ToggleReaction('+t+", '"+n(i)+"'); event.stopPropagation();\">"+e(i)+(o.count>1?' <span class="reaction-count">'+o.count+"</span>":"")+"</button>"}),a||((a=document.createElement("div")).className="message-reactions"+(o.classList.contains("sent")?" sent":""),o.parentNode.insertBefore(a,o.nextSibling)),a.innerHTML=d}else a&&a.remove()}}
8function I(){Object.keys(w).forEach(function(e){_(e)})}function S(){var e=document.getElementById("chatReactionBar");e&&(e.style.display="none")}function C(e){if("undefined"!=typeof $e){$e(".modal.modal-closed").css("display","none");var t=$e(e);t.length&&t.openModal()}}function x(t){var n=w[String(t)]||[];if(0!==n.length&&"undefined"!=typeof $e){var i=document.getElementById("chatReactionDetailModal");i||((i=document.createElement("div")).id="chatReactionDetailModal",i.className="modal bottom-sheet chat-members-modal chat-reaction-detail-modal",i.innerHTML='<div class="modal-content"><div class="chat-members-header"><h5>Reactions</h5><i class="material-icons modal-close">close</i></div><ul class="chat-members-list" id="chatReactionDetailList"></ul></div>',document.body.appendChild(i));var o="";n.forEach(function(t){o+='<li class="chat-member"><div class="chat-member-avatar" style="background-color:'+ie(t.usr_id)+'">'+e(te(t.name))+'</div><span class="chat-member-name">'+e(t.name)+'</span><span class="chat-member-reaction-emoji">'+e(t.emoji)+"</span></li>"}),document.getElementById("chatReactionDetailList").innerHTML=o,C("#chatReactionDetailModal")}}var E=null,P=!1;function M(e){var t=e.target;return t&&t.closest?t.closest(".reaction-pill"):null}function O(e){var t=e.closest(".message-group");return t?t.getAttribute("data-message-id"):null}var T={};function k(e){var t={};return(e.voters||[]).forEach(function(e){e.usr_id===chatUsrId&&(t[e.option_id]=!0)}),t}function D(t){var n=T[String(t)];if(n){var i=document.querySelector('.message-group[data-message-id="'+t+'"]');if(i){var o=i.querySelector(".message-bubble");if(o&&!o.classList.contains("deleted")){o.classList.add("poll-bubble"),o.classList.remove("emoji-only");var a=k(n),r=0;(n.options||[]).forEach(function(e){r+=e.votes});var s='<div class="chat-poll"><div class="chat-poll-question"><i class="material-icons">poll</i>'+e(n.question)+'</div><div class="chat-poll-hint">'+(n.multi_select?"Select one or more":"Select one")+"</div>";(n.options||[]).forEach(function(n){var i=r>0?Math.round(n.votes/r*100):0,o=!!a[n.id];s+='<button type="button" class="chat-poll-option'+(o?" voted":"")+'" onclick="Chat.TogglePollVote('+t+", "+n.id+'); event.stopPropagation();"><span class="chat-poll-tick"><i class="material-icons">'+(o?"check_circle":"radio_button_unchecked")+'</i></span><span class="chat-poll-option-body"><span class="chat-poll-option-row"><span class="chat-poll-option-text">'+e(n.text)+'</span><span class="chat-poll-option-count">'+n.votes+'</span></span><span class="chat-poll-bar"><span class="chat-poll-bar-fill" style="width:'+i+'%"></span></span></span></button>'});var l=n.voter_count+" vote"+(1===n.voter_count?"":"s");n.voter_count>0?s+='<button type="button" class="chat-poll-footer chat-poll-footer-link" onclick="Chat.ShowPollVotes('+t+'); event.stopPropagation();">'+l+' <span class="rr-caret">âº</span></button>':s+='<div class="chat-poll-footer">'+l+"</div>",s+="</div>";var d=o.querySelector(".message-actions");if(d){var c=d.querySelector(".react-btn");c&&c.remove(),d.querySelector("button")||(d=null)}o.innerHTML=s,d&&o.appendChild(d)}}}}function L(){Object.keys(T).forEach(function(e){D(e)})}function R(){var e=document.getElementById("pollOptionsList");if(e&&!(e.children.length>=10)){var t=document.createElement("div");t.className="chat-poll-option-input",t.innerHTML='<input type="text" maxlength="200" placeholder="Option '+(e.children.length+1)+'" /><button type="button" class="chat-poll-remove-option" title="Remove option"><i class="material-icons">close</i></button>',t.querySelector(".chat-poll-remove-option").addEventListener("click",function(){e.children.length>2&&t.remove()}),e.appendChild(t)}}var F=null,A=null,j=!1;function H(){l&&d&&(j||(j=!0,l.invoke("userIsTyping",otherUsrId,threadId,chatFirstName),A&&clearTimeout(A),A=setTimeout(function(){j=!1},1500)))}function q(e){var t=document.getElementById("typingIndicator");t&&(t.classList.remove("visible"),F&&clearTimeout(F));var n=document.querySelector(".chat-messages");if(n){e.message_id&&!e.instant_message_id&&(e.instant_message_id=e.message_id);var i=e.instant_message_id;i&&n.querySelector('.message-group[data-message-id="'+i+'"]')||(r(n,v(e)),e.poll&&e.instant_message_id&&(T[String(e.instant_message_id)]=e.poll,D(e.instant_message_id)),ee())}}function U(e){var t=document.querySelector('.message-group[data-message-id="'+e+'"]');if(t){var n=t.querySelector(".message-bubble");n&&(n.classList.add("deleted"),n.classList.remove("poll-bubble"),n.innerHTML="<em>This message was deleted</em>");var i=t.querySelector(".message-reactions");
8i&&i.remove(),delete w[String(e)],delete T[String(e)],ee()}}var V={smileys:{icon:"ð",emojis:["ð","ð","ð","ð","ð","ð
","ð","ð¤£","ð","ð","ð","ð","ð","ð","ð","ð¥°","ð","ð","ð","ð","ð","ð","ð¤ª","ð","ð¤","ð¤","ð¤","ð¤¨","ð","ð","ð¶","ð","ð","ð","ð¬","ð¤¥","ð","ð¤","ð¥¸","ð¤©","ð¥³","ð","ð","ð","ð®","ð¯","ð²","ð³","ð¥º","ð¦","ð§","ð¨","ð°","ð¥","ð¢","ð","ð±","ð","ð£","ð","ð","ð©","ð¤","ð¡","ð ","ð¤¬","ð","ð","ð©"]},gestures:{icon:"ð",emojis:["ð","ð","ð","â","ð¤","ð¤","ð","ð","ð","ð¤","ð","âï¸","ð¤","ð¤","ð¤","ð","ð","ð","ð","âï¸","â","ð¤","ðª","ð","â¤ï¸","ð§¡","ð","ð","ð","ð","ð¤","ð","â£ï¸","ð","ð","ð","ð","ð","ð","ð","ð","â®ï¸","âï¸","â","ð","ð«","â¨","ð","ð","ð"]},nature:{icon:"ð»",emojis:["ð","ð","ð","â","ð","âï¸","â
","ð¤ï¸","ð¥ï¸","â","âï¸","ðº","ð»","ð·","ð¹","ð¼","ð¾","ð","ðµ","ð²","ð´","ð¶","ð±","ð","ð¹","ð°","ð¦","ð»","ð¨","ð¯","ð¦","ð®","ð·","ð¸","ðµ","ð","ð§","ð¦","ð¦
","ð¦","ð","ð","ð¢","ð ","ð³","ð¬","ð"]},food:{icon:"ð",emojis:["ð","ð","ð","ð","ð","ð","ð","ð","ð","ð","ð¥","ð
","ð¥","ð","ð¥","ð¥","ð½","ð¶ï¸","ð","ð§","ð","ð","ð¥©","ð","ð","ð","ð","ð¥ª","ð®","ð¯","ð¥","ð","ð£","ð","ð","ð²","ð°","ð","ð¦","ð©","â","ðµ","ðº","ð·","ð¥","ð¾","ð¥¤"]},objects:{icon:"ð±",emojis:["â","ð±","ð»","â¨ï¸","ð·","ð¹","ð¥","ðº","ð»","ðµ","ð¶","ð¤","ð§","ð§","âï¸","ð","ð","ð","ð
","ð","ð","ð","ð","ð¨","ð¡","ð","ð","ð","ð","â½","ð","ð³","ð¾"]}};function B(e){var t=document.querySelector(".emoji-picker-grid");if(t&&V[e]){var n="";V[e].emojis.forEach(function(e){n+='<span onclick="Chat.InsertEmoji(this.textContent)">'+e+"</span>"}),t.innerHTML=n}}var W=!1;var N=!1,G=!1;function z(){if(navigator.onLine)if(N)G=!0;else{N=!0;var e=new FormData;e.append("action","mark_read"),threadId&&e.append("thread_id",threadId),otherUsrId&&e.append("other_usr_id",otherUsrId),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:e}).then(function(){Y()}).catch(function(){}).then(function(){N=!1,G&&(G=!1,z())})}}function Y(){if(he(),navigator.onLine)try{window.top&&"function"==typeof window.top.updateUnreadCounts&&window.top.updateUnreadCounts()}catch(e){}}function Q(){if(navigator.onLine&&!s&&(threadId||otherUsrId)&&("undefined"==typeof chatViewUsrId||!chatViewUsrId)){var e="/Hubb/API/Chat.aspx?action=messages";threadId&&(e+="&thread_id="+threadId),otherUsrId&&(e+="&other_usr_id="+otherUsrId),fetch(e).then(function(e){return e.json()}).then(function(e){if(e.success&&e.messages){var t=document.querySelector(".chat-messages");if(t){var n=e.messages.length?e.messages[0]:null;e.has_more&&n&&n.instant_message_id&&!t.querySelector('.message-group[data-message-id="'+n.instant_message_id+'"]')?location.reload():(e.messages.forEach(function(e){e.instant_message_id&&(t.querySelector('.message-group[data-message-id="'+e.instant_message_id+'"]')?e.deleted_ind&&U(e.instant_message_id):r(t,v(e)))}),e.messages.forEach(function(t){if(t.instant_message_id){var n=String(t.instant_message_id);w[n]=e.reactions&&e.reactions[n]||[]}}),I(),e.polls&&(Object.keys(e.polls).forEach(function(t){T[t]=e.polls[t]}),L()),ee(),Y())}}}).catch(function(){})}}function K(){if("undefined"!=typeof $&&void 0!==$.hubConnection)try{c&&(c.stop(),d=!1,c=null,l=null),(c=$.hubConnection()).qs={userId:chatUsrId},(l=c.createHubProxy("chatHub")).on("onDirectMessage",function(e){otherUsrId>0&&e.from_usr_id===otherUsrId&&(q(e),document.hidden||z())}),l.on("onGroupMessage",function(e){threadId>0&&!u[e.message_id]&&(q(e),document.hidden||z())}),l.on("onMessageDeleted",function(e){U(e)}),l.on("onReactionChanged",function(e){e&&e.message_id&&(w[String(e.message_id)]=e.reactions||[],_(e.message_id))}),l.on("onPollUpdated",function(e){e&&e.message_id&&e.poll&&(T[String(e.message_id)]=e.poll,D(e.message_id))}),l.on("onReadPointerMoved",function(e){if(Z()&&e&&e.thread_id===threadI
8d){var t=e.last_read_dt||e.lastReadDt||(new Date).toISOString(),n=function(e){if("undefined"==typeof chatMembers||!chatMembers)return null;for(var t=0;t<chatMembers.length;t++)if(chatMembers[t].id===e)return chatMembers[t];return null}(e.usr_id);n?(e.last_read_message_id||0)>(n.lastRead||0)&&(n.lastRead=e.last_read_message_id,n.lastReadDt=t):chatMembers.push({id:e.usr_id,name:"Member",lastRead:e.last_read_message_id||0,lastReadDt:t}),ee()}}),l.on("onSaferMessageApproved",function(e){location.reload()}),l.on("onUserTyping",function(e){!function(e){var t=document.getElementById("typingIndicator");if(t){var n=document.querySelector(".chat-messages"),i=n&&n.scrollHeight-n.scrollTop-n.clientHeight<40;t.textContent=e+" is typingâ¦",t.classList.add("visible"),i&&n&&(n.scrollTop=n.scrollHeight),F&&clearTimeout(F),F=setTimeout(function(){t.classList.remove("visible")},5e3)}}(e.first_name)}),c.start().done(function(){d=!0,console.log("SignalR connected"),threadId>0&&l.invoke("joinGroupChat",threadId)}).fail(function(e){console.log("SignalR connection failed: "+e)}),c.disconnected(function(){d=!1,setTimeout(function(){navigator.onLine&&c.start().done(function(){d=!0,threadId>0&&l.invoke("joinGroupChat",threadId),Q()})},5e3)})}catch(e){console.log("SignalR initialization error: "+e)}else console.log("SignalR not available, using polling fallback")}function X(){if("undefined"!=typeof groupId&&groupId&&0!==groupId){var e=document.getElementById("muteContainer");if(e){e.style.display="";var t=document.getElementById("btnMute");t&&t.addEventListener("click",function(e){e.stopPropagation();var n=document.getElementById("muteMenu");if(n&&n.classList.toggle("visible")){var i=t.getBoundingClientRect();n.style.top=i.bottom+4+"px",n.style.right=window.innerWidth-i.right+"px"}}),document.addEventListener("click",function(t){var n=document.getElementById("muteMenu");n&&!e.contains(t.target)&&n.classList.remove("visible")}),e.querySelectorAll(".chat-mute-option").forEach(function(e){e.addEventListener("click",function(){var e,t;e=this.getAttribute("data-duration"),(t=new FormData).append("action","mute_notifications"),t.append("group_id",groupId),t.append("duration",e),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:t}).then(function(e){return e.json()}).then(function(e){if(e.success){J(e.muted_until||"");var t=document.getElementById("muteMenu");t&&t.classList.remove("visible")}}).catch(function(e){console.error("Failed to update mute status:",e)})})}),J("undefined"!=typeof chatNotificationsMutedUntil?chatNotificationsMutedUntil:"")}}}function J(e){var t=document.getElementById("muteIcon"),n=document.getElementById("btnMute"),i=document.querySelector(".unmute-option"),o=document.querySelectorAll(".chat-mute-option:not(.unmute-option)"),a=e&&""!==e;if(t&&(t.textContent=a?"notifications_off":"notifications_active"),n&&(n.title=a?"Notifications muted":"Mute notifications",a?n.classList.add("muted"):n.classList.remove("muted")),i){i.style.display=a?"":"none";var r=i.querySelector(".unmute-text");if(r)if(a&&"permanent"!==e){var s=new Date(e);r.textContent="Unmute (muted until "+s.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})+")"}else r.textContent="Unmute"}o.forEach(function(e){e.style.display=a?"none":""})}function Z(){return"undefined"!=typeof chatIsLeader&&chatIsLeader&&"undefined"!=typeof chatMembers&&chatMembers}function ee(){Z()&&document.querySelectorAll(".message-group[data-message-id]").forEach(function(t){var n=parseInt(t.getAttribute("data-message-id"),10);if(n){var i=t.querySelector(".message-read-receipt"),a=t.querySelector(".message-bubble");if(a&&a.classList.contains("deleted"))i&&i.remove();else{var r=parseInt(t.getAttribute("data-from-usr-id"),10)||0,s=function(e,t){for(var n=0,i=0,o=0;o<chatMembers.length;o++){var a=chatMembers[o];a.id!==t&&(i++,(a.lastRead||0)>=e&&n++)}return{read:n,total:i}}(n,r);if(s.total<=0)i&&i.remove();else{if(!i){(i=document.createElement("button")).type="button",i.className="message-read-receipt"+(a&&a.classList.contains("sent")?" sent":""),i.addEventListener("click",function(){!function(t,n){if(!
8Z()||"undefined"==typeof $)return;var i=document.getElementById("chatReadReceiptList");if(!i)return;var a=[],r=[];function s(t,n){return'<li class="chat-member"><div class="chat-member-avatar" style="background-color:'+ie(t.id)+'">'+e(te(t.name))+'</div><span class="chat-member-name">'+e(t.name)+"</span>"+(n&&t.when?'<span class="chat-member-read">'+e(t.when)+"</span>":"")+"</li>"}chatMembers.forEach(function(e){e.id!==n&&((e.lastRead||0)>=t?a.push({id:e.id,name:e.name,when:e.lastReadDt?o(new Date(e.lastReadDt)):""}):r.push({id:e.id,name:e.name}))});var l='<li class="rr-section">Read ('+a.length+")</li>";0===a.length&&(l+='<li class="chat-member rr-empty">No one yet</li>');a.forEach(function(e){l+=s(e,!0)}),r.length&&(l+='<li class="rr-section">Not yet read ('+r.length+")</li>",r.forEach(function(e){l+=s(e,!1)}));i.innerHTML=l,C("#chatReadReceiptModal")}(n,r)});var l=t.querySelector(".message-time");l?l.appendChild(i):t.appendChild(i)}i.innerHTML=e("Read by "+s.read+" of "+s.total)+' <span class="rr-caret">âº</span>'}}}})}function te(e){var t=(e||"").trim().split(/\s+/);return i(t[0]||"",t.length>1?t[t.length-1]:"")}var ne=["#62a2c9","#5F5CA7","#a186be","#717e90","#9fcc28","#238c20","#3b4449","#6db7e4"];function ie(e){return e?ne[e%ne.length]:ne[0]}function oe(){var e=document.getElementById("txtMessage");if(e){e.addEventListener("keypress",function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),h())}),e.addEventListener("input",H);var t=function(){e.style.height="auto";var t=e.offsetHeight-e.clientHeight;e.style.height=e.scrollHeight+t+"px"};e._chatAutoGrow=t,e.addEventListener("input",t)}function n(){var e=document.querySelector(".chat-messages");e&&(e.scrollTop=e.scrollHeight)}if(requestAnimationFrame(n),Y(),window.visualViewport){var i=window.visualViewport.height;window.visualViewport.addEventListener("resize",function(){var t=Math.abs(window.visualViewport.height-i);i=window.visualViewport.height,document.activeElement===e&&t>100&&requestAnimationFrame(n)})}e&&(e.addEventListener("focus",function(){setTimeout(n,300)}),e.addEventListener("blur",function(){requestAnimationFrame(n)})),navigator.onLine&&(!function(){if(navigator.onLine&&void 0!==ChatOffline&&("undefined"==typeof chatViewUsrId||!chatViewUsrId)){var e="/Hubb/API/Chat.aspx?action=messages";threadId&&(e+="&thread_id="+threadId),otherUsrId&&(e+="&other_usr_id="+otherUsrId),fetch(e).then(function(e){return e.json()}).then(function(e){e.success&&e.messages&&ChatOffline.saveMessages(chatSiteId,chatUsrId,threadId,otherUsrId,e.messages)}).catch(function(e){console.log("Chat: Failed to cache messages",e)})}}(),K()),window.addEventListener("online",function(){var e=document.getElementById("offlineBanner");e&&e.classList.remove("visible");var t=document.querySelector(".chat-compose");t&&t.classList.remove("offline");var n=document.getElementById("txtMessage");n&&(n.placeholder="Type a message..."),K(),void 0!==ChatOffline&&ChatOffline.syncPendingMessages(chatSiteId,chatUsrId).then(function(e){(e>0||s)&&location.reload()})}),window.addEventListener("offline",function(){m()}),navigator.onLine||m(),function(){var e=document.getElementById("btnEmoji"),t=document.getElementById("emojiPicker");if(e&&t){var n="",i=Object.keys(V);i.forEach(function(e,t){n+='<div class="emoji-picker-tab'+(0===t?" active":"")+'" data-category="'+e+'">'+V[e].icon+"</div>"}),t.querySelector(".emoji-picker-tabs").innerHTML=n,B(i[0]),t.querySelectorAll(".emoji-picker-tab").forEach(function(e){e.addEventListener("click",function(n){n.stopPropagation(),t.querySelectorAll(".emoji-picker-tab").forEach(function(e){e.classList.remove("active")}),e.classList.add("active"),B(e.getAttribute("data-category"))})}),e.addEventListener("click",function(e){e.stopPropagation(),t.classList.toggle("visible")}),document.addEventListener("click",function(n){t.contains(n.target)||n.target===e||e.contains(n.target)||t.classList.remove("visible")})}}(),X(),document.addEventListener("touchstart",function(e){var t=M(e);if(t){var n=O(t);n&&(P=!1,E=setTimeout(function(){P=!0,x(n)},450))}},{passive:!0}),["touchend","touchmove","touchcancel"].forEach(function(e){document.addEventListener(e,function(){E&&(clearTimeout(E),E=null)},{passive:!0})}),document.addEventListener("click",function(e){P&&M(e)&&(e.preventDefault(),e.stopPropagation()),P=!1},!0),document.addEventListener("contextmenu",function(e){var t=M(e);if(t&&(e.preventDefault(),!P)){var n=O(t);n&&x(n)}}),document.addEventListener("visibilitychange",function(){document.hidden||Q()}),"undefined"!=typeof chatInitialReactions&&chatInitialReactions&&(w=chatInitialReactions,I()),"undefined"!=typeof chatInitialPolls&&chatInitialPolls&&(T=chatInitialPolls,L()),ee()}function ae(){var e=document.getElementById("txtChatSearch");e&&!e.dataset.bound&&(e.dataset.bound="1",e.addEventListener("input",function(){re(this.value)}))}function re(e){var t=document.querySelectorAll(".chat-redesign .chat-item"),n=e.toLowerCase().trim();t.forEach(function(e){var t=(e.querySelector(".chat-name")||{}).textContent||"",i=(e.querySelector(".chat-shared-groups")||{}).textContent||"",o=!n||-1!==t.toLowerCase().indexOf(n)||-1!==i.toLowerCase().indexOf(n);e.style.display=o?"":"none"})}function se(){return"undefined"!=typeof chatViewUsrId&&chatViewUsrId||void 0===ChatOffline?Promise.resolve(null):ChatOffline.getThreads(chatSiteId,chatUsrId).then(function(t){if(!t)return null;s=!0,function(t){var a=document.querySelector(".chat-redesign");if(!a)return;var r=a.querySelector(".chat-empty"),s=a.querySelector(".chat-list"),l=[];
8if((t.group_chats||[]).forEach(function(e){l.push({thread:e,type:"group"})}),(t.direct_chats||[]).forEach(function(e){l.push({thread:e,type:"dm"})}),0===l.length)return s&&(s.innerHTML=""),void(r&&(r.style.display=""));s||((s=document.createElement("ul")).className="chat-list",r?a.insertBefore(s,r):a.appendChild(s));r&&(r.style.display="none");l.sort(function(e,t){var n=e.thread.last_message_dt?new Date(e.thread.last_message_dt).getTime():0;return(t.thread.last_message_dt?new Date(t.thread.last_message_dt).getTime():0)-n}),s.innerHTML="",l.forEach(function(t){s.innerHTML+=function(t,a){var r="group"===a,s=t.unread_count>0?" unread":"",l=r?t.thread_name||"":((t.other_first_name||"")+" "+(t.other_last_name||"")).trim(),d=e(l)||"Unknown",c=e(t.last_message||"");c.length>60&&(c=c.substring(0,57)+"...");var u,h=r?'<div class="chat-avatar group"><svg class="group-svg" viewBox="0 0 28 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="9" r="3.4"/><circle cx="6" cy="10" r="2.6"/><circle cx="22" cy="10" r="2.6"/><path d="M8.5 19c0-3 2.4-5 5.5-5s5.5 2 5.5 5"/><path d="M2 18c0-2.3 1.6-3.8 4-3.8"/><path d="M26 18c0-2.3-1.6-3.8-4-3.8"/></svg></div>':'<div class="chat-avatar dm">'+e(i(t.other_first_name,t.other_last_name))+"</div>";if(t.unread_count>0){u='<span class="chat-unread-pill">'+(t.unread_count>99?"99+":t.unread_count)+"</span>"}else u=t.last_message?'<span class="chat-read-tick" aria-hidden="true"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 13l4 4L13 9"/><path d="M10 13l4 4L21 9"/></svg></span>':"";var f=r?"Chat.OpenThread("+(t.thread_id||"null")+", null, '"+n(l)+"', "+t.group_id+")":"Chat.OpenThread(null, "+t.other_usr_id+", '"+n(l)+"')",p="";!r&&t.shared_groups&&(p='<div class="chat-shared-groups">'+e(t.shared_groups)+"</div>");return'<li class="chat-item'+s+'" onclick="'+f+'"><div class="chat-avatar-wrapper">'+h+'</div><div class="chat-content"><div class="chat-header"><span class="chat-name">'+d+'</span><div class="chat-top-right"><span class="chat-date">'+function(e){if(!e)return"";var t=new Date(e),n=new Date;if(t.toDateString()===n.toDateString())return o(t);if(t.getFullYear()===n.getFullYear())return t.toLocaleDateString([],{month:"short",day:"numeric"});return t.toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"})}(t.last_message_dt)+"</span>"+u+'</div></div><div class="chat-preview">'+c+"</div>"+p+"</div></li>"}(t.thread,t.type)})}(t);var a=document.getElementById("offlineBanner");if(a){a.classList.add("visible");var r=a.querySelector(".cache-age");r&&(r.textContent="Last updated: "+ChatOffline.getCacheAge(t.updated_at))}return t})}function le(){if("undefined"!=typeof $&&void 0!==$.hubConnection)try{c&&(c.stop(),c=null,l=null),(c=$.hubConnection()).qs={userId:chatUsrId},(l=c.createHubProxy("chatHub")).on("onDirectMessage",function(e){de(e)}),l.on("onGroupMessage",function(e){de(e)}),c.start().done(function(){console.log("SignalR connected on chat list")}).fail(function(e){console.log("SignalR connection failed: "+e)})}catch(e){console.log("SignalR initialization error: "+e)}else console.log("SignalR not available")}function de(e){Y(),location.reload()}function ce(){var e=sessionStorage.getItem("chatListScrollTop");if(null!==e){sessionStorage.removeItem("chatListScrollTop");var t=document.querySelector(".content-scrollable");t&&(t.scrollTop=parseInt(e,10))}ae(),navigator.onLine&&(navigator.onLine&&void 0!==ChatOffline&&("undefined"!=typeof chatViewUsrId&&chatViewUsrId||fetch("/Hubb/API/Chat.aspx?action=threads").then(function(e){return e.json()}).then(function(e){e.success&&ChatOffline.saveThreads(chatSiteId,chatUsrId,e)}).catch(function(e){console.log("Chat: Failed to cache threads",e)})),le()),void 0!==ChatOffline&&ChatOffline.getPendingMessages().then(function(e){e=e.filter(function(e){return e.site_id===chatSiteId&&e.usr_id===chatUsrId});var t=document.getElementById("pendingSyncBanner");t&&e.length>0&&(t.textContent=e.length+" message"+(e.length>
81?"s":"")+" waiting to send",t.classList.add("visible"))}),window.addEventListener("online",function(){var e=document.getElementById("offlineBanner");e&&e.classList.remove("visible"),le(),void 0!==ChatOffline&&ChatOffline.syncPendingMessages(chatSiteId,chatUsrId).then(function(e){e>0&&location.reload()})}),window.addEventListener("offline",function(){se()}),navigator.onLine||se()}function ue(e,t){t=t||"Message";var n="/Hubb/Me/InboxMessage.aspx?mail_id="+e;"undefined"!=typeof appSectionId&&appSectionId&&(n+="&app_section_id="+appSectionId),"undefined"!=typeof inboxViewUsrId&&inboxViewUsrId&&(n+="&usr_id="+encodeURIComponent(inboxViewUsrId)),new ModalDialog({url:n,title:t,width:800,height:Math.round(.85*window.outerHeight),opener:window,autoShrink:!1,alwaysPinToBottom:!1,onClose:function(){he();var t=$e('.inbox-item[onclick*="'+e+'"]');t.length&&t.removeClass("unread")}})}function he(){try{"function"==typeof window.top.updatePwaBadge&&window.top.updatePwaBadge()}catch(e){}}var fe=!1;function pe(){var e=document.getElementById("pnlInboxLoading");e&&(e.style.display="none")}function me(){if(!fe){fe=!0;var e=document.getElementById("btnLoadMore"),t=("undefined"!=typeof inboxCurrentPage?inboxCurrentPage:0)+1,n="undefined"!=typeof inboxTab?inboxTab:"",i=1===t;e&&!i&&(e.textContent="Loading...");var o="/Hubb/API/InboxItems.aspx?page="+t;n&&(o+="&tab="+encodeURIComponent(n)),"undefined"!=typeof inboxViewUsrId&&inboxViewUsrId&&(o+="&usr_id="+encodeURIComponent(inboxViewUsrId)),fetch(o).then(function(e){return e.json()}).then(function(o){if(pe(),!o.success)return e&&(e.textContent="Load More"),void(fe=!1);var a=document.querySelector(".inbox-list"),r=document.getElementById("pnlInboxEmpty"),s=document.getElementById("pnlInboxPaging");if(0===o.pageCount&&i){if(a&&(a.style.display="none"),r){var l=document.getElementById("txtEmptyMessage");l&&(l.textContent="notifications"===n?"No notifications":"Your inbox is empty"),r.style.display=""}s&&(s.style.display="none")}else{a&&(a.style.display="",o.html&&a.insertAdjacentHTML("beforeend",o.html)),r&&(r.style.display="none");var d=document.getElementById("spnCurrentCount"),c=document.getElementById("spnTotalCount");if(d){var u=parseInt(d.textContent)||0;d.textContent=u+(o.pageCount||0)}c&&(c.textContent=o.totalCount||c.textContent),o.hasMore?(s&&(s.style.display=""),e&&(e.textContent="Load More")):s&&(s.style.display="none")}inboxCurrentPage=t,fe=!1}).catch(function(t){pe(),console.error("Failed to load inbox items:",t);var n=document.getElementById("pnlInboxEmpty");if(n){var i=document.getElementById("txtEmptyMessage");i&&(i.textContent="Unable to load messages. Please refresh the page."),n.style.display=""}e&&(e.textContent="Load More"),fe=!1})}}function ge(){he(),me(),"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",function(t){t.data&&"PUSH_RECEIVED"===t.data.type&&t.data.mailId&&function(t){var i=document.querySelector(".inbox-list");if(i){i.style.display="";var o=document.getElementById("pnlInboxEmpty");o&&(o.style.display="none");var a=t.mailId||0,r=e(t.title||"New Message"),s='<li class="inbox-item unread" onclick="Chat.OpenMessage('+a+",'"+n(t.title||"New Message")+'\')"><div class="inbox-icon push"><i class="material-icons">notifications</i></div><div class="inbox-content"><div class="inbox-header"><span class="inbox-from"></span><span class="inbox-date">Just now</span></div><div class="inbox-subject">'+r+'</div><div class="inbox-preview">'+e(t.body||"")+'</div><div class="inbox-channel"></div></div></li>';i.insertAdjacentHTML("afterbegin",s)}}(t.data)});var t="undefined"!=typeof viewMailId&&viewMailId?viewMailId:new URLSearchParams(window.location.search).get("view_mail_id");if(t){ue(t),"undefined"!=typeof viewMailId&&(viewMailId="");var i=new URL(window.location);i.searchParams.delete("view_mail_id"),history.replaceState(null,"",i)}}return document.addEventListener("DOMContentLoaded",function(){if("undefined"!=typeof messagingPage)switch(messagingPage){case"thread":oe();break;case"chatlist":ce();break;case"inbox":ge()}}),{SendMessage:h,DeleteMessage:function(e){navigator.onLine?Insight.Confirm("Are you sure you want to delete this message?<br /><br />Others will see that a message was deleted.","Delete Message",function(){var t=new FormData;t.append("action","delete"),t.append("message_id",e),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:t}).then(function(e){return e.json()}).then(function(e){e.success?location.reload():alert(e.error||"Failed to delete message")}).catch(function(e){console.error("Error:",e),alert("Failed to delete message")})}):alert("Cannot delete messages while offline")}
8,LoadPreviousMessages:function(){if(!W){var e=document.getElementById("hdnOldestMessageId"),t=e?parseInt(e.value):null,n=document.querySelectorAll(".message-group[data-message-id]");if(n.length>0){var i=parseInt(n[0].getAttribute("data-message-id"));(!t||i<t)&&(t=i)}if(t){W=!0;var o=document.getElementById("lnkLoadPrevious");o&&(o.textContent="Loading...");var r="/Hubb/API/Chat.aspx?action=messages&page_size=50&before_message_id="+t;threadId&&(r+="&thread_id="+threadId),otherUsrId&&(r+="&other_usr_id="+otherUsrId),"undefined"!=typeof chatViewUsrId&&chatViewUsrId&&(r+="&view_usr_id="+chatViewUsrId),fetch(r).then(function(e){return e.json()}).then(function(t){if(t.success&&t.messages&&0!==t.messages.length){var n=document.querySelector(".chat-messages");if(n){var i=n.scrollHeight,r=t.messages.reverse(),s="",l="";r.forEach(function(e){var t=new Date(e.message_dt),n=t.toDateString();n!==s&&(s=n,l+='<div class="date-divider"><span>'+a(t)+"</span></div>"),l+=v(e)});f=document.getElementById(pnlLoadMoreClientId);if(s){var d=f?f.nextElementSibling:n.firstElementChild;if(d&&d.classList.contains("date-divider")){var c=a(new Date(r[r.length-1].message_dt)),u=d.querySelector("span");u&&u.textContent===c&&d.remove()}}f?f.insertAdjacentHTML("afterend",l):n.insertAdjacentHTML("afterbegin",l),e&&r.length>0&&(e.value=r[0].instant_message_id),t.reactions&&Object.keys(t.reactions).forEach(function(e){w[e]=t.reactions[e],_(e)}),t.polls&&Object.keys(t.polls).forEach(function(e){T[e]=t.polls[e],D(e)});var h=n.scrollHeight;n.scrollTop+=h-i,t.has_more||f&&(f.style.display="none"),ee(),o&&(o.textContent="Load previous messages...")}}else{var f;(f=document.getElementById(pnlLoadMoreClientId))&&(f.style.display="none")}}).catch(function(e){console.error("Failed to load previous messages:",e),o&&(o.textContent="Load previous messages...")}).finally(function(){W=!1})}}},InsertEmoji:function(e){var t=document.getElementById("txtMessage");if(t){var n=t.selectionStart,i=t.selectionEnd,o=t.value;t.value=o.substring(0,n)+e+o.substring(i),t.selectionStart=t.selectionEnd=n+e.length,t.focus(),"function"==typeof t._chatAutoGrow&&t._chatAutoGrow()}},ToggleReaction:function(e,t){if(y())if(S(),navigator.onLine){var n=b(e)===t?"":t,i=new FormData;i.append("action","react"),i.append("message_id",e),i.append("emoji",n),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:i}).then(function(e){return e.json()}).then(function(t){t.success?(w[String(e)]=t.reactions||[],_(e)):alert(t.error||"Failed to save reaction")}).catch(function(e){console.error("Failed to save reaction:",e)})}else alert("You cannot react while offline")},ShowReactionBar:function(t,i){if(y()&&!T[String(t)]){var o=document.getElementById("chatReactionBar");o||((o=document.createElement("div")).id="chatReactionBar",o.className="chat-reaction-bar",document.body.appendChild(o),document.addEventListener("click",function(e){o.contains(e.target)||S()}));var a=b(t),r="";("undefined"!=typeof chatQuickReactions?chatQuickReactions:[]).forEach(function(i){r+='<button type="button" class="reaction-option'+(a===i?" mine":"")+'" onclick="Chat.ToggleReaction('+t+", '"+n(i)+"'); event.stopPropagation();\">"+e(i)+"</button>"}),o.innerHTML=r;var s=i.getBoundingClientRect();o.style.display="flex";var l=o.offsetWidth,d=s.left+s.width/2-l/2;d=Math.max(8,Math.min(d,window.innerWidth-l-8)),o.style.left=d+"px",o.style.top=Math.max(8,s.top-o.offsetHeight-8)+"px"}},TogglePollVote:function(e,t){if(y())if(navigator.onLine){var n=T[String(e)];if(n){var i=k(n),o=[];
8n.multi_select?(Object.keys(i).forEach(function(e){o.push(parseInt(e,10))}),i[t]?o=o.filter(function(e){return e!==t}):o.push(t)):o=i[t]?[]:[t];var a=new FormData;a.append("action","vote_poll"),a.append("poll_id",n.chat_poll_id),a.append("option_ids",o.join(",")),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:a}).then(function(e){return e.json()}).then(function(t){t.success?(T[String(e)]=t.poll,D(e)):alert(t.error||"Failed to save your vote")}).catch(function(e){console.error("Failed to save vote:",e)})}}else alert("You cannot vote while offline")},ShowPollVotes:function(t){var n=T[String(t)];if(n&&"undefined"!=typeof $e){var i=document.getElementById("chatPollVotesModal");i||((i=document.createElement("div")).id="chatPollVotesModal",i.className="modal bottom-sheet chat-members-modal chat-poll-votes-modal",i.innerHTML='<div class="modal-content"><div class="chat-members-header"><h5>Poll votes</h5><i class="material-icons modal-close">close</i></div><div class="chat-poll-votes-question"></div><ul class="chat-members-list" id="chatPollVotesList"></ul></div>',document.body.appendChild(i)),i.querySelector(".chat-poll-votes-question").textContent=n.question;var o="";(n.options||[]).forEach(function(t){var i=(n.voters||[]).filter(function(e){return e.option_id===t.id});o+='<li class="rr-section">'+e(t.text)+" ("+i.length+")</li>",0===i.length&&(o+='<li class="chat-member rr-empty">No votes</li>'),i.forEach(function(t){o+='<li class="chat-member"><div class="chat-member-avatar" style="background-color:'+ie(t.usr_id)+'">'+e(te(t.name))+'</div><span class="chat-member-name">'+e(t.name)+"</span></li>"})}),document.getElementById("chatPollVotesList").innerHTML=o,C("#chatPollVotesModal")}},OpenPollModal:function(){var e=document.getElementById("pollOptionsList");if(e){var t=document.getElementById("txtPollQuestion");t&&(t.value="");var n=document.getElementById("chkPollMulti");n&&(n.checked=!1),e.innerHTML="",R(),R(),C("#chatPollModal")}},AddPollOption:R,CreatePoll:function(){var e=(document.getElementById("txtPollQuestion")||{}).value||"";if(e=e.trim()){var t=[];if(document.querySelectorAll("#pollOptionsList input").forEach(function(e){var n=e.value.trim();n&&-1===t.indexOf(n)&&t.push(n)}),t.length<2)alert("Please enter at least two different options");else{var n=document.getElementById("btnCreatePoll");n&&(n.disabled=!0);var i=new FormData;i.append("action","create_poll"),i.append("question",e),i.append("options",t.join("\n")),i.append("multi_select",(document.getElementById("chkPollMulti")||{}).checked?"1":"0"),threadId&&i.append("thread_id",threadId),groupId&&i.append("group_id",groupId),fetch("/Hubb/API/Chat.aspx",{method:"POST",body:i}).then(function(e){return e.json()}).then(function(t){if(n&&(n.disabled=!1),t.success){var i=$e("#chatPollModal");i.length&&i.closeModal(),u[t.message_id]=!0,T[String(t.message_id)]=t.poll;var o=document.querySelector(".chat-messages");o&&!o.querySelector('.message-group[data-message-id="'+t.message_id+'"]')&&r(o,v({instant_message_id:t.message_id,from_usr_id:chatUsrId,message:"ð "+e,message_dt:(new Date).toISOString(),deleted_ind:!1})),D(t.message_id),ee()}else alert(t.error||"Failed to create poll")}).catch(function(e){n&&(n.disabled=!1),console.error("Failed to create poll:",e),alert("Failed to create poll")})}}else alert("Please enter a poll question")},OpenThread:function(e,t,n,i,o){n=n||"Chat";var a="/Hubb/Me/ChatThread.aspx?";e?a+="thread_id="+e:i?a+="group_id="+i:t&&(a+="other_usr_id="+t),"undefined"!=typeof appSectionId&&appSectionId&&(a+="&app_section_id="+appSectionId),o&&(a+="&view_usr_id="+o);var r=document.querySelector(".content-scrollable");r&&sessionStorage.setItem("chatListScrollTop",r.scrollTop),window.location.href=a},BindChatSearch:ae,ToggleSearch:function(){var e=document.getElementById("chatSearch"),t=document.querySelector(".chat-search-toggle");if(e)if(e.classList.contains("open")){e.classList.remove("open"),e.setAttribute("hidden",""),t&&t.setAttribute("aria-expanded","false");var n=document.getElementById("txtChatSearch");n&&(n.value="",re(""))}else{e.removeAttribute("hidden"),e.offsetHeight,e.classList.add("open"),t&&t.setAttribute("aria-expanded","true");var i=document.getElementById("txtChatSearch");i&&i.focus()}},OpenMembersList:function(){C("#chatMembersModal")},OpenMessage:ue,OpenApproval:function(e,t){var n="/Hubb/Me/SaferMessageApproval.aspx?type="+e+"&id="+t;"undefined"!=typeof appSectionId&&appSectionId&&(n+="&app_section_id="+appSectionId),new ModalDialog({url:n,title:"Message Approval",width:600,height:Math.round(.85*window.outerHeight),opener:window,autoShrink:!1,alwaysPinToBottom:!1,onClose:function(){location.reload()}})},UpdatePwaBadge:he,LoadMoreInbox:me}}(); 9//# sourceMappingURL=app.min.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.