window.Adviserly=window.Adviserly||{},window.Adviserly.Plugins=window.Adviserly.Plugins||{},function(e){function t(t,i,s,r,o,n){Adviserly.Plugins.Plugin.call(this,t,e.AppName,i,"",s,r,o,n)}e.AppName="Choose Your Adviser Plugin",t.prototype=Object.create(Adviserly.Plugins.Plugin.prototype),t.prototype.load=function(e){this.debug&&console.log("loading widget: pick-your-adviser, baseUrl: "+this.baseUrl+", config: "+JSON.stringify(this.config)),this.config.hasOwnProperty("anchorInsert")||(this.config.anchorInsert="beforeend"),this.config.hasOwnProperty("adviserSelectorWidgetId")&&(this.adviserSelectorWidgetId=this.config.adviserSelectorWidgetId),e()},t.prototype.unload=function(){},t.prototype.loadAnchor=function(e,t){this.eAnchor=e;var i=new XMLHttpRequest,s=this;i.onload=function(){this.status>=400?console.log("widget response status: ",this.status,"error: ",this.responseText):(s.debug,s.sendHitPageView("/"),s.insertWidgetHtml(this.responseText),s.loadAdviserSelector(null,null)),t()};var r={widgetId:this.context.configurationId,profileFilterId:this.currentFilterId},o=window.Adviserly.Plugins.formatQS(r),n=this.baseUrl+"/widget/embedded/pick-your-adviser?"+o;i.open("GET",n),i.responseText="text/html",i.send()},t.prototype.unloadAnchor=function(e){},t.prototype.allowMultipeAnchors=function(){return!1},t.prototype.insertWidgetHtml=function(e){var t=this.config.anchorInsert;this.eAnchor.insertAdjacentHTML(t,e);var i=this;this.pxFilm=0,this.eWidget=this.eAnchor.parentElement.querySelector(".aly-pya"),this.eWidget.setAttribute("data-name",this.config.name),this.eWidget.setAttribute("data-type",this.config.type),this.eProfileFilterSelect=this.eWidget.querySelector(".advisers-filter-ddl"),this.eProfileFilterSelect&&this.eProfileFilterSelect.addEventListener("change",function(e){var t=e.target.value;i.loadAdviserSelector(t,null),i.sendHitEvent("Plugin Navigation","Change Team / Filter","Changed advisers filter to: "+t)}),this.eAdvisersLink=this.eWidget.querySelector(".advisers-link"),this.eAdvisersLink.addEventListener("click",function(){i.sendHitEvent("Team Connect","Go To Team List","Clicked to view more advisers"),window.open(i.baseUrl,"_blank").focus()}),this.eAdviserSelector=this.eWidget.querySelector(".aly-pya-adviser-selector-host"),window.addEventListener("message",function(e){i.handleWindowMessage(e)})},t.prototype.getCurrentFilterName=function(){return this.eProfileFilterSelect&&-1!==this.eProfileFilterSelect.selectedIndex?this.eProfileFilterSelect.options[this.eProfileFilterSelect.selectedIndex].innerText:"NA"},t.prototype.refreshFilterSelect=function(){var e=this.eProfileFilterSelect.querySelector('[value="'+this.currentFilterId+'"]');e&&(e.selected=!0)},t.prototype.validateLayout=function(){this.refreshFilterSelect()},t.prototype.handleWindowMessage=function(e){if(e&&e.data){var t=e.data;if("string"==typeof t)try{t=JSON.parse(t)}catch(e){}var i=t.messageId;if("string"==typeof i){var s=t.message;if(this.debug&&console.log("pya received. message id: "+i),e.source==this.eAdviserSelector.contentWindow)switch(i){case"adviser-selector.list-loading":break;case"adviser-selector.list-loaded":this.currentFilterId=s.filterId,this.currentSort=s.sort,this.adviserSelectorState="loaded",this.refreshLayout();break;case"adviser-selector.card-loaded":break;case"adviser-selector.connect-with":this.connectWithAdviser(s.adviserHandle,s.cardIndex,s.cardBoundingClientRect);break;case"adviser-selector.view-profile":this.viewProfile(s.adviserHandle,s.cardIndex);break;case"adviser-selector.list-change":this.updateAdviserList(s.adviserList);break;case"adviser-selector.focus-change":this.focusedAdviserHandle=s.adviserHandle;break;default:console.log("no handler for adviser selector message id: "+i)}else if(this.pAdviserConnect&&e.source==this.pAdviserConnect.messageWindow)switch(i){case"adviser-connect.canceled":case"adviser-connect.adviser-contact.finished":this.closeAdviserConnect();break;default:console.log("no handler for adviser contact message id: "+i)}}}},t.prototype.updateAdviserList=function(e){this.adviserList=e},t.prototype.sendAdviserSelectorMessage=function(e,t){this.debug&&console.log("pya sent. message id: "+e),window.Adviserly.Plugins.sendMessage(this.eAdviserSelector.contentWindow,e,t)},t.prototype.connectWithAdviser=function(e,t,i){this.debug&&console.log("try to connect with adviser handle: "+e+", coords: "+JSON.stringify(i));var s=this.eAdviserSelector.getBoundingClientRect(),r={left:i.left+s.left,top:i.top+s.top,width:i.width,height:i.height},o=this.getCurrentFilterName(),n={siteHandle:this.appKey,host:{webDomain:document.location.host,appName:this.context.name,appVersion:this.context.version,appPath:"/adviser-connect"},adviserContact:{adviserHandle:e,teamName:o,audience:"adviser"}},d={connectContext:n},a=window.Adviserly.Plugins.formatQS(d),l=window.Adviserly.cUrlSdk+"/apps/adviser-connect/adviser-contact?"+a,c={initialPosition:r,initialSize:r,initialClasses:["adviserly-popup__max-size-90pc"],transitionClasses:["adviserly-transform__fade-in"],finalPosition:{left:"",top:""},finalSize:{width:600,height:900},finalClasses:["shadow","opaque","adviserly-popup__centered","adviserly-popup__max-size-90pc"],positionDelay:400};this.sendHitEvent("Adviser Connect","Open Connect Wizard","Adviser connect opened for adviser: "+e,t,e),this.pAdviserConnect=window.Adviserly.Plugins.openPopupFrame("adviser-connect",l,c),this.pAdviserConnect.data=d},t.prototype.viewProfile=function(e,t){},t.prototype.closeAdviserConnect=function(){window.Adviserly.Plugins.closePopupFrame("adviser-connect"),this.pAdviserConnect&&(this.sendHitEvent("Adviser Connect","Close Connect Wizard","Adviser connect closed for "+this.pAdviserConnect.data.adviserHandle,null,this.pAdviserConnect.data.adviserHandle),this.pAdviserConnect=null)},t.prototype.loadAdviserSelector=function(e,t){if("loaded"==this.adviserSelectorState){var i={profileFilterId:e,namedSort:t};this.sendAdviserSelectorMessage("adviser-selector.change-list",i)}else{var s={hostAppName:this.context.name,hostAppVersion:this.context.version,hostAppPath:"/adviser-selector",widgetId:this.adviserSelectorWidgetId,orientation:"horizontal",profileFilterId:e,namedSort:t},r=window.Adviserly.Plugins.formatQS(s),o=this.baseUrl+"/widget/framed/adviser-selector?"+r;this.eAdviserSelector.src=o}},e.create=function(e,i,s,r,o,n){var d=new t(e,i,s,r,o,n);return window.Adviserly.Plugins["pick-your-adviser"][s]=d,d}}(window.Adviserly.Plugins["pick-your-adviser"]=window.Adviserly.Plugins["pick-your-adviser"]||{});