var triage={globals:{backButton:null,stepNumber:null,progressBar:null,container:null,data:null,qs:{},referrerContentId:null,referrerUrl:null},init:function(){this.globals.toolHeader=$(".js-data-all-triage-tool-header");this.globals.backButton=$(".js-data-all-triage-control-go-back");this.globals.stepNumber=$(".js-data-all-triage-control-step-no");this.globals.progressBar=$(".js-data-all-progress-bar");this.globals.container=$(".js-data-all-triage-output-container");var n=$(".js-data-all-triage-referrerid").val(),t=this.globals.toolHeader.data("triage-referrer-url"),i=this.getDataUri();i&&this.fetchData(i);n&&(this.globals.referrerContentId=n);t&&(this.globals.referrerUrl=t)},getDataUri:function(){var n="",t,i;return $(".js-data-all-triage-api").length&&$(".js-data-all-triage-api").val()&&(t=this.globals.toolHeader.data("triage-url"),i=$(".js-data-all-triage-api").val(),n=t+"/"+i),n},fetchData:function(n){$.ajax(n,{success:function(n){triage.globals.data=n;triage.dataLoaded()},error:function(){triage.dataLoadFailed()}})},dataLoadFailed:function(){var n=triage.globals.toolHeader.data("text-load-error")?triage.globals.toolHeader.data("text-load-error"):"Loading Error. Try refreshing the page";triage.globals.container.removeClass("xhr-loading-icon").html("").append("<p>"+n+"<\/p>")},dataLoaded:function(){var n,t,i;triage.globals.container.removeClass("xhr-loading-icon");this.triageOptionClick(this.globals.data);this.backButtonClick(this.globals.data);n=0;t=!0;t&&this.globals.toolHeader.show();$(".js-data-all-triage-start-step").val()&&(i=$(".js-data-all-triage-start-step").val(),n=triage.getTriageStepIndex(triage.globals.data,i));triage.globals.qs.lid=triage.getFromQs("lid");triage.globals.qs.cid=triage.getFromQs("cid");triage.globals.qs.rid=triage.globals.referrerContentId?triage.globals.referrerContentId:"";this.renderTriageTool(this.globals.data[n],!0)},getFromQs:function(n){var i=new RegExp("[?&]"+n+"(=([^&#]*)|&|#|$)"),t=i.exec(window.location.href);return t&&t[2]?decodeURIComponent(t[2].replace(/\+/g," ")):""},buildQs:function(n){var t="";return Object.keys(n).forEach(function(i,r){var u=r===0?"?":"&";t+=u+i+"="+n[i]}),t},renderTriageTool:function(n,t){n&&(triage.globals.container.html(""),this.renderBackButton(n.s,n.p,this.globals.referrerUrl),this.renderStepNumber(n.s,n.t),this.renderProgressBar(n.s,n.t),triage.globals.container.append(this.renderAdditionalInfo(n.ai)),triage.globals.container.append(this.renderAdditionalInfoWithFormatting(n.aiwf)),triage.globals.container.append(this.renderCustomerPrompt(n.q,n.qs)),triage.globals.container.append(this.renderTriageOptions(n)),window.mapping&&window.mapping.triage&&(n.map?($(".triage-options-list").hide(),window.mapping.triage.toggleContainer(!0),window.mapping.triage.resetFinders()):window.mapping.triage.toggleContainer(!1)),t||$(".js-data-all-triage-control-go-back").find("a").eq(0).focus())},renderBackButton:function(n,t,i){n>1?triage.globals.backButton.show().find("a").attr("href","").attr("data-triage-prev-id",t):i?triage.globals.backButton.show().find("a").attr("data-triage-prev-id","").attr("href",i):triage.globals.backButton.hide()},renderStepNumber:function(n,t){n&&t?(this.globals.stepNumber.css("visibility","visible"),this.globals.stepNumber.find(".js-data-all-triage-control-current-step").text(n),this.globals.stepNumber.find(".js-data-all-triage-control-total-steps").text(t)):this.globals.stepNumber.css("visibility","hidden")},renderProgressBar:function(n,t){var i=Math.ceil((n-1)/(t-1)*100);this.globals.progressBar.attr("aria-valuenow",i).find(".js-ui-current-progress").animate({width:i+"%"},500)},renderAdditionalInfo:function(n){return n?'<div class="additional-information">'+n+"<\/div>":""},renderAdditionalInfoWithFormatting:function(n){return n?'<div class="additional-information s-cms s-cms--small-text">'+n+"<\/div>":""},renderCustomerPrompt:function(n,t){var i=n?'<p class="tac plain customer-prompt">'+n+"<\/p>":"";return i+(t?'<p class="tac plain customer-prompt-supplementary">'+t+"<\/p>":"")},renderTriageOptions:function(n){var i=n.id,t='<ul class="plain triage-options-list">';return $.each(n.ao,function(n,r){var u=triage.getTriageOptionLink(r,i);t+="<li>";t+=u;t+="<h3>"+r.o+"<\/h3>";t+=r.h?'<p class="response-example plain"><span>'+r.h+"<\/span><\/p>":"";t+="<\/a>";t+="<\/li>"}),t+="<\/ul>"},getTriageStepIndex:function(n,t){var i=0;return $.each(n,function(n,r){r.id===t&&(i=n)}),i},getTriageOptionLink:function(n,t){var i="",r;return n?(r=n.id,$.each(triage.globals.data,function(u,f){f.id===r&&(f.a?(triage.globals.qs.stepid=t,i='<a href="'+f.a+(f.a==="/"?"":triage.buildQs(triage.globals.qs))+'" class="js-ui-all-scroll-el" data-load-scrolled-to-el="#answer">'):i='<a href="#" class="js-data-all-triage-option" data-triage-option-id="'+n.id+'">')}),i):i},triageOptionClick:function(n){$(document).on("click",".js-data-all-triage-option",function(t){t.preventDefault();var r=$(this).attr("data-triage-option-id"),i=triage.getTriageStepIndex(n,r);window.mapping&&window.mapping.triage&&window.mapping.triage.mapFinder&&window.mapping.triage.mapFinder.$component&&!window.mapping.triage.mapFinder.$component.hasClass("dom-hidden")?typeof window.mapping.triage.mapFinder.currentLocationData=="object"&&window.mapping.triage.mapFinder.getLocationId?window.mapping.triage.mapFinder.getLocationId($(this),i,triage.triageOptionClickRender):console.error("Map is missing current location data"):window.mapping&&window.mapping.triage&&window.mapping.triage.addressFinder&&window.mapping.triage.addressFinder.$component&&!window.mapping.triage.addressFinder.$component.hasClass("dom-hidden")?window.mapping.triage.addressFinder.addressList&&window.mapping.triage.addressFinder.getLocationId&&window.mapping.triage.addressFinder.addressList.length>0?window.mapping.triage.addressFinder.getLocationId($(this),i,triage.triageOptionClickRender):console.error("Address is missing current location data"):triage.triageOptionClickRender($(this),i)})},triageOptionClickRender:function(n,t){n.data("triage-querystring")&&(triage.globals.qs.lid=n.data("triage-querystring"));triage.renderTriageTool(triage.globals.data[t])},backButtonClick:function(n){$(document).on("click",".js-data-all-triage-control-go-back a",function(t){var i=$(this).attr("data-triage-prev-id"),r;i&&(t.preventDefault(),r=triage.getTriageStepIndex(n,i),triage.renderTriageTool(triage.globals.data[r]))})}};$(document).ready(function(){})