/*! Copyright (c) Epic Systems Corporation 2016-2018 */
$$WPComp.ExternalJumpPopupComponent=function WPComp$ExternalJumpPopupComponent(e){this.Components$TemplateComponent(e),this.Data=this.Data||{},this.addEventListener("click",this._clickEvent),this.Data.ExternalJumpIframeId="externaljumpiframe_comp"+this.ComponentNumber,this.ExternalJumpIframeId=this.Data.ExternalJumpIframeId,this.Data.LastFocusTrapId="lastFocusTrap"+this.ComponentNumber,this.LastFocusTrapId=this.Data.LastFocusTrapId},$$WPComp.ExternalJumpPopupComponent.prototype={Class:"externaljump",ToolbarButtons:null,template:$$WP.Templates.Core.externaljump,CommunicationsIndicator:!1,ExternalJumpIframe:null,IsLoadingIndicatorHidden:!1,ResponseObject:null,NewWindowReference:null,ExternalJumpIframeId:null,LastFocusTrapId:null,RefreshCommunityTokenOnClose:!1,callback:null,context:null,windowMsgListener:null,initialize:function $$WPComp$externaljump$initialize(){this.clearModel(),this.refresh()},clearModel:function $$WPComp$externaljump$clearModel(){this.Data&&(this.Data.OrganizationName=null,this.Data.OrganizationLogo=null,this.Data.Url=null)},loadIframe:function $$WPComp$externaljump$loadIframe(e,t,n){"object"==typeof e&&(this.updateData(e.CommunityResponse,t,n),this.ResponseObject=e.CommunityResponse,this.RefreshCommunityTokenOnClose=e.RedirectToSignup,this.Data.IsSignupWorkFlow=e.RedirectToSignup,this.Data.Url=this.ResponseObject.RedirectURL,this.refresh(),$afe.select("#"+this.ExternalJumpIframeId).on("load",$.proxy(this.afterIframeLoaded,this)).on("error",this.failure),this.ExternalJumpIframe=document.getElementById(this.ExternalJumpIframeId)),this.windowMsgListener=$.proxy(this.msgListener,this),$afe.jq(window).on("message."+this.ComponentNumber,this.windowMsgListener),$afe.jq(window).on("resize orientationchange","",this.ComponentNumber,$.proxy(this._resizeIframe,this)),this.ContainerComponent._oldDispose=this.ContainerComponent.dispose,this.ContainerComponent.dispose=$.proxy(this._popupDispose,this)},afterIframeLoaded:function $$WPComp$externaljump$afterIframeLoaded(){this.hideLoadingIndicator()},hideLoadingIndicator:function $$WPComp$externaljump$hideLoadingIndicator(){this.IsLoadingIndicatorHidden||(this.$content.find(".loadingExt").removeClass("loading").addClass("loaded"),this.$content.find(".loadingContainer").addClass("loaded").on("transitionend transitionEnd",$.proxy(this.showIframeContent,this)),9===WP.DOM.Browser._getIEVersion()&&setTimeout($.proxy(this.showIframeContent,this),500),this.IsLoadingIndicatorHidden=!0)},showIframeContent:function $$WPComp$externaljump$showIframeContent(){this.$content.find(".loadingContainer").remove(),this.$content.find(".loadedcontent").removeClass("loadedcontent"),$.proxy(this._resizeIframe(),this),this.ContainerComponent.firstFocus.focus()},getLastFocusTrap:function $$WPComp$externaljump$getLastFocusTrap(e){return $afe.jq(e).find("#"+this.LastFocusTrapId).last()[0]},_resizeIframe:function $$WPComp$externaljump$_resizeIframe(e){var t,n,i,o,s,a,r,p;n=$afe.select(".externalheader"),i=$afe.select(".titlebar"),s=0===n.length?0:n.outerHeight(),o=0===i.length?0:i.outerHeight(),a=(t=$afe.select(".externaljumppopup")).length>0?t.outerHeight():0,r=window.innerWidth<=1300?window.innerHeight-s-o:a-s-o,0!==(p=$afe.select("#"+this.ExternalJumpIframeId)).length&&(t.css("max-height","none"),p.css("height",r+"px"),p.closest(".externalframewrapper").css("height",r+"px"))},showBrowserUnSupportedMessage:function $$WPComp$externaljump$showBrowserUnSupportedMessage(){var e,t;e=$$WP.SimpleTemplates.Div({id:"UnSupportedMessage"},null),$$WP.Strings.setDisplayText(e,"UnSupportedMessage","community.externaljump"),this.$content.find(".browsersupport").safeAppend(e),t=$$WP.SimpleTemplates.Anchor({href:"#","data-id":"unsupportedbrowserlink",class:"button completeworkflow autowidth",title:$$WP.Strings.get("UnSupportedBtnText","community.externaljump"),"aria-describedby":"UnSupportedMessage"}),$$WP.Strings.setDisplayText(t,"UnSupportedBtnText","community.externaljump"),this.$content.find(".browsersupport").safeAppend(t)},failure:function $$WPComp$externaljump$failure(){this.Data.ErrorMessage=$$WP.Strings.getForTemplate("WidgetErrorMessage"),this.refresh()},updateData:function $$WPComp$externaljump$updateData(e,t,n){e&&e.Organization&&(this.Data.OrganizationLogo=t&&n?n:e.Organization.LogoUrl,this.Data.IsPayvider=t&&n,this.Data.OrganizationName=e.Organization.OrganizationName,$$WP.Strings.setOrganization(e.Organization,!t,"community.externaljump"),this.Data.LoadingStatus=$$WP.Strings.getForTemplate("DeepLinkPopupLoadingMessage","community.externaljump"),this.Data.IframeTitle=$$WP.Strings.getForTemplate("IframeTitle","community.externaljump"),$$WP.Strings.clearOrganization(),this.Data.Address=e.Organization.Address,this.Data.Contact=e.Organization.ContactInformation,null===this.Data.Contact&&(this.Data.contactInfoClass="nocontact"))},msgListener:function $$WPComp$externaljump$msgListener(e){if(e&&e.originalEvent&&e.originalEvent.data){var t=JSON.parse(e.originalEvent.data);if(!t)return;if("cookieFlag"===t.message&&!t.canSetCookies)return this.hideLoadingIndicator(),$afe.select("#"+this.ExternalJumpIframeId).remove(),void this.showBrowserUnSupportedMessage();if(t.externalGUID===$$WP.CommunityUtilities.getExternalJumpGUID()&&this)if("closePopup"===t.message)this.ContainerComponent&&this.ContainerComponent._oldDispose(),this&&this._disposeTimeout&&clearTimeout(this._disposeTimeout);else if("isValidContext"===t.message){if(this.ExternalJumpIframe&&this.ExternalJumpIframe.contentWindow){var n={message:"valid"};this.ExternalJumpIframe.contentWindow.postMessage(JSON.stringify(n),"*")}}else"setActivity"===t.message&&$$WPUtil.setActivity()}},_clickEvent:function $$WPComp$externaljump$_clickEvent(e){return!e||("unsupportedbrowserlink"!==e.dataId||null===this.ResponseObject||$$WPUtil.IsNullOrEmpty(this.ResponseObject.RedirectURL)?void 0:(this.ResponseObject.IsSSOPost?(this.NewWindowReference=openWindow("","","scrollbars=1,resizable=1","externalJumpWindow",!0),$$WPUtil.postForm(this.ResponseObject.RedirectURL,this.ResponseObject.SSOParams,this.NewWindowReference.name)):(this.ResponseObject.RedirectURL=this.ResponseObject.RedirectURL+"&co=true",this.NewWindowReference=openWindow(this.ResponseObject.RedirectURL,"","scrollbars=1,resizable=1","externalJumpWindow",!0)),!1))},_popupDispose:function $$WPComp$externaljump$popupDispose(){if(this){if(this.ExternalJumpIframe&&this.ExternalJumpIframe.contentWindow||null!==this.NewWindowReference&&!this.NewWindowReference.closed){var e={message:"logout"};null!==this.NewWindowReference?this.NewWindowReference.window.postMessage(JSON.stringify(e),"*"):this.ExternalJumpIframe.contentWindow.postMessage(JSON.stringify(e),"*")}this.ContainerComponent.hide(),this._disposeTimeout=setTimeout($.proxy((function(){null===this.NewWindowReference||this.NewWindowReference.closed||closeAllWindows("externalJumpWindow"),this.ContainerComponent&&this.ContainerComponent._oldDispose()}),this),500)}},dispose:function $$WPComp$externaljump$dispose(){$afe.jq(window).off("message."+this.ComponentNumber,this.windowMsgListener),$afe.jq(window).off("resize orientationchange","",$.proxy(this._resizeIframe,this)),null!==this.ResponseObject&&this.RefreshCommunityTokenOnClose&&$$WP.CommunityUtilities.refreshCommunityLink(this.ResponseObject.Organization.OrganizationId),this.runCallback(this.callback),this.Components$Component$dispose()},runCallback:function $$WPComp$externaljump$runCallback(e){e&&this.context&&"function"==typeof e&&e.apply(this.context)}},$$WPComp.ExternalJumpPopupComponent.extend("Components.TemplateComponent");