"use strict";function _toConsumableArray(n){if(Array.isArray(n)){for(var t=0,i=Array(n.length);t<n.length;t++)i[t]=n[t];return i}return Array.from(n)}function _classCallCheck(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}function MapMarker(n,t,i,r,u,f){function v(){$(".card-content").each(function(n,t){var i=$(t),r=i.siblings(".card-content-button");i.outerHeight()<250&&r.css("display","none")})}var e=null,l=null,o={},s,c;(o.position=new google.maps.LatLng(n.lat,n.long),o.map=t,o.optimized=!1,o.title=n.location.index+1+". "+n.name,n.icon&&n.icon.url!==window.location.origin&&(o.icon=n.icon),isNaN(n.location.regionRadius))||(s={strokeColor:"#E85431",strokeOpacity:1,strokeWeight:1,fillColor:"#E85431",fillOpacity:.22},s.map=t,s.center=new google.maps.LatLng(n.lat,n.long),s.radius=1e3*n.location.regionRadius,l=new google.maps.Circle(s));e=new google.maps.Marker(o);f&&(i.extend(e.position),t.fitBounds(i));var y="NA"!==n.location.distance?n.location.distance+" km":"Distance Not Available",p="true"===n.location.displayDistance?'<div class="location-card-distance">'+y+"<\/div>":"",w=""!==n.location.cardIcon?'<div class="location-card-icon">\n            <img src='+n.location.cardIcon+' alt="location type icon">\n        <\/div>':"",b=""!==n.location.address?'<div class="location-card-address">'+n.location.address+"<\/div>":"",k=""!==n.location.specialty?'<div class="location-card-specialty">'+n.location.specialty+"<\/div>":"",a=$('article[data-name="'+n.location.name+'"]').find(".service-item"),d=a.length?'<div class="location-card-service-list">\n            '+[].concat(_toConsumableArray(a)).map(function(n){return'\n                <div class="service-item-wrapper">\n                    <i class="fas fa-check check-icon"><\/i>\n                    <div class="service-item">\n                        '+n.innerText+"\n                    <\/div>\n                <\/div>\n            "}).join("")+"\n        <\/div>":"",g=""!==n.location.website?'<a class="location-card-website" aria-label="go to contractor website"\n            href="'+n.location.website+'" target="_blank">\n            <div class="website-text">Website<\/div>\n            <i class="fas fa-chevron-right"><\/i>\n        <\/a>':"",nt=""!==n.location.address&&"True"===n.location.displayDirectionLink?'<a class="location-card-direction" href="http://maps.google.com/?q='+n.location.address+'"\n            aria-label=" Get Directions to '+n.location.name+'" target="_blank">\n            <div class="directions-text">Directions<\/div>\n            <i class="fas fa-chevron-right"><\/i>\n        <\/a>':"",tt="true"===n.location.hasRebate?'<a class="location-card-rebate" id="location-card-rebate-'+n.location.index+'" aria-label="see rebates for this location"\n            title="see rebates for this location-card" href="">\n            <div class="rebate-icon">\n                <i class="fas fa-plus"><\/i>\n                <i class="fas fa-minus"><\/i>\n            <\/div>\n            <div class="rebate-text">Offers<\/div>\n        <\/a>':"",it=""!==n.location.email?'<a class="location-card-email" href="mailto:'+n.location.email+'" aria-label="" target="_blank">\n            <div class="email-text">\n                Email\n            <\/div>\n            <i class="fas fa-chevron-right"><\/i>\n        <\/a>':"",rt=""!==n.location.cardContent?'\n        <div class="card-content card-content-closed">'+n.location.cardContent+'<\/div>\n        <button class="card-content-button btn btn-light">+ Read More<\/button>\n    ':"",ut='\n            <div class="location-info-window">\n                <div class="location-card-distance-phone-icon-wrapper">\n                    '+p+'\n                    <a class="location-card-phone" href="tel:'+n.location.phone+'">'+n.location.phone+"<\/a>\n                    "+w+'\n                <\/div>\n                <div class="location-card-name">'+n.name+"<\/div>\n                "+b+"\n                "+k+"\n                "+d+"\n                "+rt+'\n                <div class="location-card-cta">\n                    '+tt+"\n                    "+g+"\n                    "+nt+"\n                    "+it+'\n                <\/div>\n\n                <div class="location-rebate-details">\n                    '+n.location.rebateDetail+"\n                <\/div>\n                \n            <\/div>\n        ",h=new google.maps.InfoWindow({content:ut});u.push(h);e.addListener("click",function(){for(var i=0;i<u.length;i++)u[i].close();"ShowPopUp"===n.location.mapIconBehavior?h.open(t,e):"ScrollToListing"===n.location.mapIconBehavior&&$("html, body").animate({scrollTop:$(".cards").offset().top},"1000");r(n.location)});google.maps.event.addListener(h,"closeclick",function(){$(".location-card-item.enable-on-map.active").removeClass("active")});this.closeWindow=function(){$(".location-card-item.enable-on-map.active").removeClass("active");for(var n=0;n<u.length;n++)u[n].close()};this.openWindow=function(){for(var i=0;i<u.length;i++)u[i].close();"ShowPopUp"===n.location.mapIconBehavior?h.open(t,e):"ScrollToListing"===n.location.mapIconBehavior&&$("html, body").animate({scrollTop:$(".cards").offset().top},"1000")};this.clearMarkersAndCircles=function(){e.setMap(null);isNaN(n.location.regionRadius)||l.setMap(null)};c=void 0;c=google.maps.event.addListener(h,"domready",function(){v();n.location.isForContractorMap||"true"===n.location.hasRebate&&($("#location-card-rebate-"+n.location.index).click(function(n){n.preventDefault();$(this).parent().siblings(".location-rebate-details").toggle();$(this).children().children(".fa-minus").toggle();$(this).children().children(".fa-plus").toggle()}),$("#location-card-rebate-"+n.location.index).focusin(function(){$(this).keypress(function(n){13==n.keyCode&&($(this).parent().siblings(".location-rebate-details").toggle(),$(this).children().children(".fa-minus").toggle(),$(this).children().children(".fa-plus").toggle())})}));google.maps.event.removeListener(c)})}function MapMarkerContractor(n,t,i,r,u,f,o){function nt(){$(".card-content").each(function(n,t){var i=$(t),r=i.siblings(".card-content-button");i.outerHeight()<250&&r.css("display","none")})}function v(n,t){t.preventDefault();var i=n.closest(".other-locations-offers-expanders-parents");i.find(".location-rebate-details").toggle();i.find(".location-other-locations-details").hide();i.find(".other-locations-icon").find(".fa-minus").hide();i.find(".other-locations-icon").find(".fa-plus").show();n.find(".fa-minus").toggle();n.find(".fa-plus").toggle()}function y(n,t){t.preventDefault();var i=n.closest(".other-locations-offers-expanders-parents");i.find(".location-other-locations-details").toggle();i.find(".location-rebate-details").hide();i.find(".rebate-icon").children(".fa-minus").hide();i.find(".rebate-icon").children(".fa-plus").show();n.find(".fa-minus").toggle();n.find(".fa-plus").toggle()}var s=null,p=null,h={},c,a;(h.position=new google.maps.LatLng(n.lat,n.long),h.map=t,h.optimized=!1,h.title=n.location.index+1+". "+n.name,n.icon&&n.icon.url!==window.location.origin&&(h.icon=n.icon),isNaN(n.location.regionRadius))||(c={strokeColor:"#E85431",strokeOpacity:1,strokeWeight:1,fillColor:"#E85431",fillOpacity:.22},c.map=t,c.center=new google.maps.LatLng(n.lat,n.long),c.radius=1e3*n.location.regionRadius,p=new google.maps.Circle(c));s=new google.maps.Marker(h);f&&(i.extend(s.position),t.fitBounds(i));var tt=function(){return"NA"!==n.location.distance?n.location.distance+" km":"Distance Not Available"}(),it=function(){return n.location.displayDistance?'<div class="location-card-distance">'+tt+"<\/div>":""}(),rt=function(){return""!==n.location.cardIcon?'<div class="location-card-icon">\n                        <img src='+n.location.cardIcon+' alt="location type icon">\n                    <\/div>':""}(),ut=function(){return""!==n.location.address?'<div class="location-card-address">'+n.location.address+"<\/div>":""}(),ft=function(){return""!==n.location.specialty?'<div class="location-card-specialty">'+n.location.specialty+"<\/div>":""}(),w=$('article[data-name="'+n.location.name+'"]').find(".service-item"),et=function(){return w.length?'<div class="location-card-service-list">\n                        '+[].concat(_toConsumableArray(w)).map(function(n){return'\n                            <div class="service-item-wrapper">\n                                <i class="fas fa-check check-icon"><\/i>\n                                <div class="service-item">\n                                    '+n.innerText+"\n                                <\/div>\n                            <\/div>\n                        "}).join("")+"\n                    <\/div>":""}(),ot=function(){return""!==n.location.website?'<a class="location-card-website" aria-label="go to contractor website"\n                        href="'+n.location.website+'" target="_blank">\n                        <div class="website-text">Website<\/div>\n                        <i class="fas fa-chevron-right"><\/i>\n                    <\/a>':""}(),st=function(){return""!==n.location.address&&"True"===n.location.displayDirectionLink?'<a class="location-card-direction" href="http://maps.google.com/?q='+n.location.address+'"\n                aria-label=" Get Directions to '+n.location.name+'" target="_blank">\n                <div class="directions-text">Directions<\/div>\n                <i class="fas fa-chevron-right"><\/i>\n            <\/a>':""}(),b=function(){return"true"===n.location.hasRebate?'<a class="location-card-rebate" id="location-card-rebate-'+n.location.index+'" aria-label="see rebates for this location"\n                        title="see rebates for this location-card" href="">\n                        <div class="rebate-icon">\n                            <i class="fas fa-plus"><\/i>\n                            <i class="fas fa-minus"><\/i>\n                        <\/div>\n                        <div class="rebate-text">Offers<\/div>\n                    <\/a>':""}(),ht=function(){return""!==n.location.email?'<a class="location-card-email" href="mailto:'+n.location.email+'" aria-label="" target="_blank">\n                        <div class="email-text">\n                            Email\n                        <\/div>\n                        <i class="fas fa-chevron-right"><\/i>\n                    <\/a>':""}(),ct=function(){return"True"===n.location.isForContractorMap?'<form class="location-card-check">\n                        <label class="location-card-check-label">\n                            <input class="location-card-check-input" type="checkbox" data-salesforceid="'+n.location.salesforceId+'">\n                            Select Contractor\n                        <\/label>\n                    <\/form>':""}(),lt=function(){return""!==n.location.cardContent?'\n                    <div class="card-content card-content-closed">'+n.location.cardContent+'<\/div>\n                    <button class="card-content-button btn btn-light">+ Read More<\/button>\n                   ':""}(),k=function(){return n.location.isForContractorMap&&null!==n.location.otherLocations&&n.location.otherLocations.length>0?'\n                    <a class="location-card-other-locations" id="location-card-other-locations-'+n.location.index+'" href="">\n                        <div class="other-locations-icon">\n                            <i class="fas fa-plus"><\/i>\n                            <i class="fas fa-minus"><\/i>\n                        <\/div>\n                        <div class="location-other-locations-text">Other Locations<\/div>\n                    <\/a>\n                    ':""}(),at=function(){return n.location.isForContractorMap&&""!==k||""!==b?'<div class="other-locations-offers-expanders">\n                        '+k+"\n                        "+b+"\n                    <\/div>":""}(),vt=function(){return n.location.isForContractorMap&&null!==n.location.otherLocations&&n.location.otherLocations.length?'<div class="other-location-card-items">\n                        '+[].concat(_toConsumableArray(n.location.otherLocations)).map(function(t){return'\n                            <a href="#" class="other-location-card-item-map"\n                                data-salesforceId="'+n.location.salesforceId+'"\n                                data-id="'+t.Id+'"\n                                data-long="'+t.Longitude+'"\n                                data-lat="'+t.Latitude+'">\n                                '+t.DisplayName.join("")+"\n                            <\/a>\n                        "}).join("")+"\n                    <\/div>":""}(),d=function(){return n.location.isForContractorMap&&null!==n.location.otherLocations&n.location.otherLocations.length>0?'<div class="location-other-locations-details">\n                        '+vt+"\n                    <\/div>":""}(),g=function(){return n.location.isForContractorMap?'\n                <div class="location-rebate-details">\n                    '+n.location.rebateDetail+"\n                <\/div>\n            ":""}(),yt=function(){return!n.location.isForContractorMap||""===d&&""===g?"":'\n                    <div class="other-locations-offers-details">\n                        '+d+"\n                        "+g+"\n                    <\/div>\n                    "}(),pt=function(){return n.location.isForContractorMap&&""!==n.location.phone?'\n                    <a class="location-card-phone" href="tel:'+n.location.phone+'" target="_blank">\n                        <div class="phone-text">'+n.location.phone+'<\/div>\n                        <i class="fas fa-chevron-right"><\/i>\n                    <\/a>\n                    ':""}(),l=new google.maps.InfoWindow({content:function(){return'\n            <div class="location-info-window">\n                <div class="location-card-distance-phone-icon-wrapper">\n                    '+ct+'\n                    <div class="location-card-distance-icon-wrapper">\n                        '+it+"\n                        "+rt+'\n                    <\/div>\n                <\/div>\n                <div class="location-card-name">'+n.name+"<\/div>\n                "+ut+"\n                "+ft+"\n                "+et+"\n                "+lt+'\n                <div class="other-locations-offers-expanders-parents">\n                    '+at+"\n                    "+yt+'\n                <\/div>\n                <div class="location-card-cta">\n                    '+ot+"\n                    "+st+"\n                    "+ht+"\n                    "+pt+"\n                <\/div>\n                \n            <\/div>\n        "}()});u.push(l);s.addListener("click",function(){var k=o.filter(function(t){return t.getSalesforceId()===n.location.salesforceId}),h=!0,a=!1,v=void 0,y,i,b,f,e;try{for(i=o[Symbol.iterator]();!(h=(y=i.next()).done);h=!0)y.value.getMarker().setVisible(!1)}catch(n){a=!0;v=n}finally{try{!h&&i.return&&i.return()}finally{if(a)throw v;}}var c=!0,p=!1,w=void 0;try{for(f=k[Symbol.iterator]();!(c=(b=f.next()).done);c=!0)b.value.getMarker().setVisible(!0)}catch(n){p=!0;w=n}finally{try{!c&&f.return&&f.return()}finally{if(p)throw w;}}for(e=0;e<u.length;e++)u[e].close();"ShowPopUp"===n.location.mapIconBehavior?l.open(t,s):"ScrollToListing"===n.location.mapIconBehavior&&$("html, body").animate({scrollTop:$(".cards").offset().top},"1000");r(n.location)});google.maps.event.addListener(l,"closeclick",function(){var u,t;$(".location-card-item.enable-on-map.active").removeClass("active");var n=!0,i=!1,r=void 0;try{for(t=o[Symbol.iterator]();!(n=(u=t.next()).done);n=!0)u.value.getMarker().setVisible(!0)}catch(n){i=!0;r=n}finally{try{!n&&t.return&&t.return()}finally{if(i)throw r;}}});a=void 0;a=google.maps.event.addListener(l,"domready",function(){nt();"true"===n.location.hasRebate&&($("#location-card-rebate-"+n.location.index).click(function(n){v($(this),n)}),$("#location-card-rebate-"+n.location.index).focusin(function(){$(this).keypress(function(n){13===e.keyCode&&v($(this),n)})}));void 0!==n.location.otherLocations&&n.location.otherLocations.length>0&&($("#location-card-other-locations-"+n.location.index).click(function(n){y($(this),n)}),$("#location-card-other-locations-"+n.location.index).focusin(function(){$(this).keypress(function(n){13===e.keyCode&&y($(this),n)})}));google.maps.event.removeListener(a)});this.getMarker=function(){return s};this.closeWindow=function(){$(".location-card-item.enable-on-map.active").removeClass("active");for(var n=0;n<u.length;n++)u[n].close()};this.openWindow=function(){for(var i=0;i<u.length;i++)u[i].close();"ShowPopUp"===n.location.mapIconBehavior?l.open(t,s):"ScrollToListing"===n.location.mapIconBehavior&&$("html, body").animate({scrollTop:$(".cards").offset().top},"1000")};this.getSalesforceId=function(){return n.location.salesforceId};this.clearMarkersAndCircles=function(){s.setMap(null);isNaN(n.location.regionRadius)||p.setMap(null)}}var _createClass=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),LoginDropdown=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){var n=$("header.siteHeader .toggle-loggedin-dropdown > li");n&&(n.click(function(){$(".login-dropdown",this).stop().slideToggle()}),n.focus(function(){$(this).keydown(function(n){13==n.keyCode&&$(".login-dropdown",this).stop().slideToggle()})}))}()}}]),n}(),Menu=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function n(n){$("header.siteHeader").hasClass("searchOpen")||(n.addClass("active"),n.siblings().removeClass("active"),$("header.siteHeader").removeClass("menuOpen"),0!=n.find("li.tier3").length&&($("header.siteHeader").addClass("menuOpen"),$("body,html").addClass("preventScroll"),$(".s-content").addClass("preventScroll")))}function i(n){n.closest("li").removeClass("active");$("header.siteHeader").removeClass("menuOpen");$("body,html").removeClass("preventScroll");$(".s-content").removeClass("preventScroll")}function t(){$("header.siteHeader nav.mainMenu li.tier1").removeClass("active");$("header.siteHeader").removeClass("menuOpen");$("header.siteHeader.searchOpen").length>0?($("body,html").addClass("preventScroll"),$(".s-content").addClass("preventScroll")):($("body,html").removeClass("preventScroll"),$(".s-content").removeClass("preventScroll"))}!function(){var r=$("header.siteHeader nav.mainMenu li.tier1");$("header.siteHeader .megaMenu");r.on("mouseover",function(){$(window).width()>991.98&&n($(this))}).on("mouseleave",function(){i($(".megaMenu",this))});r.find("a").focus(function(){$(window).width()>991.98&&n($(this).closest("li.tier1"))});$(".searchButton").focus(function(){t()});$(".searchButton, .utilityNav, .logo").mouseover(function(){t()})}()}}]),n}(),MobileMenu=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){$("button.MobileMenuBtn").click(function(n){n.preventDefault();$(this).closest(".headerRow").toggleClass("mobileOpen")});$(".mainMenu li.tier1 a svg").click(function(n){n.preventDefault();$(this).closest("li").toggleClass("open")});$(".mainMenu li.tier2 a svg").click(function(n){n.preventDefault();$(this).closest("li.tier2").toggleClass("open2")})}(),function(){$(".mainMenu li.tier1").each(function(){0==$(this).children(".megaMenu").length&&$(this).addClass("noChildren")})}(),function(){$(".mainMenu li.tier1 li.tier2").each(function(){0==$(this).children("ul").length&&$(this).addClass("noChildren")})}(),function(){$(".toggleLogin").click(function(){$(this).closest(".manageAccount").find(".loginBox").slideToggle(500)})}()}}]),n}(),ToggleSearch=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){$("#toggleSearch").click(function(){$("section.search").slideToggle();$("header.siteHeader").toggleClass("searchOpen");$("header.siteHeader.searchOpen").length>0?($("body,html").addClass("preventScroll"),$(".s-content").addClass("preventScroll")):($("body,html").removeClass("preventScroll"),$(".s-content").removeClass("preventScroll"))});$(document).on("click",function(n){0===$(n.target).closest("section.search").length&&0===$(n.target).closest("#toggleSearch").length&&($("section.search").slideUp(),$("header.siteHeader").removeClass("searchOpen"),$("body,html").removeClass("preventScroll"),$(".s-content").removeClass("preventScroll"))})}()}}]),n}(),StickyHeader=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){function e(){return t.outerWidth()-n.outerWidth()+"px"}var n=$('header.siteHeader:not(".ami")'),t=$(".s-content header .utilityNav:not(.mobile)"),s=$(".utilityNav .logo"),u=$("header.siteHeader .menu-header").offset().top,h=u-39,f=0,o=$("body").attr("class"),r=window,i=!1;void 0!==o&&-1!=o.indexOf("scrollContainer")&&(r=$(".s-content"),i=!0);$(r).scrollTop()>h&&(n.addClass("sticky"),i&&t.css("padding-right",e()),$(r).scrollTop());$(r).scroll(function(){var o,r=$(this).scrollTop();s.position().top;o=$(".alertBanner").length>0?$(".alertBanner").height():$(".utilityNav").offset().top;u=$("header.siteHeader .menu-header").offset().top;r>f?r<o?(n.removeClass("sticky"),i&&t.css("padding-right","0")):r>o&&r!=o&&(n.addClass("sticky"),i&&t.css("padding-right",e())):r<f&&r<u&&(n.removeClass("sticky"),i&&t.css("padding-right","0"));0==r&&0==o&&(n.removeClass("sticky"),i&&t.css("padding-right","0"));f=r})}()}}]),n}(),Footer=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){$(".openMenu").click(function(){$("html, body").stop().animate({scrollTop:0},500,"linear");$("header.siteHeader .headerRow").addClass("mobileOpen")});$(".backToTop").click(function(){return $("html, body").stop().animate({scrollTop:0},500,"linear"),!1})}()}}]),n}(),FormLabelAnimation=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){$(".form-label-animation input").each(function(){""!==$(this)[0].value&&void 0!==$(this)[0].value?$(this).parents(".field").addClass("not-empty"):$(this).parents(".field").removeClass("not-empty")});$(document).on("blur",".form-label-animation input",function(){""!==$(this)[0].value&&void 0!==$(this)[0].value?$(this).parents(".field").addClass("not-empty"):$(this).parents(".field").removeClass("not-empty")});$(".form-label-animation input").focus(function(){$(this).parents(".field").addClass("active")});$(".form-label-animation input").focusout(function(){$(this).parents(".field").removeClass("active")})}}]),n}(),Cookie=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){$(".cookie-modal a").click(function(n){n.preventDefault();$(".cookie-modal").fadeOut(500)})}}]),n}(),StorageHelper=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"storeItem",value:function(n,t){this.localStorageIsSupported()&&localStorage.setItem(n,t)}},{key:"getItem",value:function(n){if(this.localStorageIsSupported())return localStorage.getItem(n)}},{key:"setCookie",value:function(n,t,i){var r=new Date,u;r.setTime(r.getTime()+864e5*i);u="expires="+r.toUTCString();document.cookie=n+"="+t+";"+u+";path=/"}},{key:"getCookie",value:function(n){for(var t,r=n+"=",u=document.cookie.split(";"),i=0;i<u.length;i++){for(t=u[i];" "===t.charAt(0);)t=t.substring(1);if(0===t.indexOf(r))return t.substring(r.length,t.length)}return""}},{key:"localStorageIsSupported",value:function(){var n=window.sessionStorage;try{return n.setItem("test","1"),n.removeItem("test"),!0}catch(n){return!1}}}]),n}(),_storageKey="text_sizer_value",TextSizer=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){var n=this;$(".text-size-increase").on("click",function(t){t.preventDefault();n.increaseFontSize()});$(".text-size-decrease").on("click",function(t){t.preventDefault();n.decreaseFontSize()});this.getSetting()}},{key:"increaseFontSize",value:function(){var n=$("html");n.hasClass("text-large")?(n.removeClass("text-large"),n.addClass("text-larger"),this.saveSetting("text-larger")):n.hasClass("text-larger")?(n.removeClass("text-larger"),n.addClass("text-largest"),this.saveSetting("text-largest")):n.hasClass("text-largest")||(n.addClass("text-large"),this.saveSetting("text-large"))}},{key:"decreaseFontSize",value:function(){var n=$("html");n.hasClass("text-large")?(n.removeClass("text-large"),localStorage.removeItem(_storageKey)):n.hasClass("text-larger")?(n.removeClass("text-larger"),n.addClass("text-large"),this.saveSetting("text-large")):n.hasClass("text-largest")&&(n.removeClass("text-largest"),n.addClass("text-larger"),this.saveSetting("text-larger"))}},{key:"saveSetting",value:function(n){StorageHelper.storeItem(_storageKey,n)}},{key:"getSetting",value:function(){var n=StorageHelper.getItem(_storageKey);n&&$("html").addClass(n)}}]),n}(),GoogleSearch=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function e(){var n=o.value;""!==n?t(n):console.log("You must enter a search query.")}function t(n){var t=u;t+=""+n;$.get(t,function(n){r(n)})}function i(n,t){var i=u;i+=n+"&start="+t;$.get(i,function(n){r(n)});$("html, body").stop().animate({scrollTop:0},500,"linear")}function r(t){var o,r,c,u,l;n.innerHTML="";var a=t.items,f=t.queries,s=f.request[0].searchTerms,h=f.request[0].startIndex,v=h+f.request[0].count-1,e=document.createElement("h2");(e.classList="searchResults",a)?(e.textContent="Results "+h+" - "+v+" for "+s,n.appendChild(e),a.forEach(function(t){var r=document.createElement("div"),i=document.createElement("a"),u=document.createElement("ul"),o=document.createElement("li"),f=document.createElement("div"),e=document.createElement("div");r.classList="resultListingItem";i.classList="resultPath";u.classList="resultTitle";f.classList="resultBlurb";e.classList="resultPath";i.href=t.link;o.innerHTML=t.htmlTitle;f.innerHTML=t.htmlSnippet;e.innerText=t.link;u.appendChild(o);i.appendChild(u);i.appendChild(f);i.appendChild(e);r.appendChild(i);n.appendChild(r)}),o=document.createElement("div"),(o.classList="pagination",f.previousPage)&&(r=document.createElement("button"),c=document.createElement("i"),c.classList="fas fa-angle-left",r.appendChild(c),r.classList="google-prev-page-button",r.title="Previous page.",o.appendChild(r),r.onclick=function(){i(s,h-10)}),f.nextPage&&(u=document.createElement("button"),l=document.createElement("i"),l.classList="fas fa-angle-right",u.appendChild(l),u.classList="google-next-page-button",u.title="Next page.",o.appendChild(u),u.onclick=function(){i(s,h+10)}),n.appendChild(o)):(e.textContent="No results found for: "+s,n.appendChild(e))}var u="https://www.googleapis.com/customsearch/v1?key=AIzaSyCNSPYDxgYItb9lep79luHWTl9nsgt8MZU&cx=005219114797210820456:zryz9xgqowt&q=",o=document.querySelector("input.google-search-input"),f=document.querySelector("button.google-search-button"),n=document.querySelector(".container.google-results-container");(void 0!=f&&f.addEventListener("click",function(n){n.stopPropagation();n.preventDefault();e()}),"/search"===window.location.pathname&&window.location.search)&&t(function(n){n=n.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i=new RegExp("[\\?&]"+n+"=([^&#]*)"),t=i.exec(location.search);return null===t?"":decodeURIComponent(t[1].replace(/\+/g," "))}("q"))}}]),n}(),MainContentHeight=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){var i=$("header.siteHeader").outerHeight(!0),r=$("footer.siteFooter").outerHeight(!0),n=0,t;$(".alertBanner").length&&$(".alertBanner").each(function(){n+=$(this).outerHeight(!0)});t=i+r+n;$("#content").css("min-height","calc(100vh - "+t+"px)")}}]),n}(),TabbedContent=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function n(){var n=$(window).width();$(".tabbedContent").each(function(){var t=this.id;n>991.98?($("#"+t+" .tabs a").first().addClass("active"),$("#"+t+" .contentSection .block").first().addClass("active")):($("#"+t+" .tabs a").removeClass("active"),$("#"+t+" .contentSection .block").removeClass("active"))})}!function(){$(window).width();$(".tabbedContent").each(function(){var n=this.id;$("#"+n+" .contentSection .block").each(function(){var t=$(this).attr("data-tabName"),i=$(this).attr("data-id");$("#"+n+"  .tabs").append('<a class="tab" data-id="'+i+'">'+t+'<svg class="arrow-right"><use href="/library/img/icons-global/icons.svg#arrow-right"><\/use><\/svg><\/a>')});$("#"+n+" .contentSection .block").each(function(){var n=$(this).attr("data-tabName"),t=$(this).attr("data-id");$(this).find(".accordionToggle").append('<a class="tab" data-id="'+t+'">'+n+'<svg class="arrow-right"><use href="/library/img/icons-global/icons.svg#arrow-right"><\/use><\/svg><svg class="arrow-down"><use href="/library/img/icons-global/icons.svg#arrow-down"><\/use><\/svg><\/a>')})})}();n(),function(){$("a.tab").click(function(){var i,t,n;$(window).width()>991.98?(i=$(this).attr("data-id"),t=$(this).closest(".tabbedContent").find('.contentSection .block[data-id="'+i+'"]'),$(this).addClass("active"),$(this).siblings().removeClass("active"),t.addClass("active"),t.siblings().removeClass("active")):(n=$(this).closest(".block"),$(this).toggleClass("active"),n.siblings().find(".tab").removeClass("active"),n.toggleClass("active"),n.siblings().removeClass("active"))})}(),function(){var t=$(window).width();$(window).resize(function(){$(window).width()!=t&&n()})}()}}]),n}(),Alert=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function t(n,t){document.cookie=n+"="+t+";path=/"}function i(n){for(var t,r=n+"=",u=document.cookie.split(";"),i=0;i<u.length;i++){for(t=u[i];" "==t.charAt(0);)t=t.substring(1);if(0==t.indexOf(r))return t.substring(r.length,t.length)}return""}function n(){var n=i("closedAlert");return""!=n&&n}!function(){"true"==n()&&$(".alertBanner").removeClass("expanded");$(".alertBanner .headline").click(function(){$(".alertBanner").hasClass("expanded")?($(".alertBanner").removeClass("expanded"),0==n()&&t("closedAlert","true")):$(".alertBanner").addClass("expanded")})}()}}]),n}(),ResponsiveTables=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){$(document).ready(function(){$(".tableStack").cardtable()})}}]),n}(),Inputmasking=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){$('.dateFormat input[type="text"]').inputmask("9999/99/99",{alias:"datetime",inputFormat:"yyyy/mm/dd",placeholder:"yyyy/mm/dd"});$('.phoneFormat input[type="tel"]').inputmask("(999) 999-9999")}}]),n}(),ListStyling=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){var n=$(".list");n.length&&n.each(function(){$("ul li",this).each(function(){$(this).has("a").length&&$("span.fa-li",this).css("color","#005FAA")})})}}]),n}(),DatePicker=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){$('.dateFormat input[type="text"]').datepicker({dateFormat:"yy/mm/dd",duration:400,showMonthAfterYear:!0})}}]),n}(),AnimateNumbers=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function n(n){for(;/(\d+)(\d{3})/.test(n.toString());)n=n.toString().replace(/(\d+)(\d{3})/,"$1,$2");return n}$(".count-up-number").each(function(){var t=$(this),i=$(this).attr("data-animate-start"),r=$(this).attr("data-animate-end");$({Counter:i}).animate({Counter:r},{duration:3e3,easing:"swing",step:function(i){t.text(n(Math.floor(i)))}})})}}]),n}(),Tooltipster=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){$(".tooltip-icon").tooltipster({trigger:"hover",animation:"grow",theme:["tooltipster-gems"],repositionOnScroll:!0});$(".tooltip-solar-calc").tooltipster({trigger:"hover",animation:"grow",theme:["tooltipster-solar-calc"],repositionOnScroll:!0,maxWidth:186,touchDevices:!0})}}]),n}(),MobileAccordion=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){$(".mobileAccordion .accordionTitle").click(function(){$(this).closest(".mobileAccordion").toggleClass("closed")})}()}}]),n}(),Accordion=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){var n=$(".accordion .accordionTitle");n.click(function(){$(this).closest(".accordion").toggleClass("closed")});n.focus(function(){$(this).keypress(function(n){13==n.keyCode&&$(this).closest(".accordion").toggleClass("closed")})})}()}}]),n}(),FAQlisting=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function n(){var f=$("section.faqListing .stickyNav .navWrapper li a"),e=$(".faqListing .content"),r=$(window).scrollTop(),n=[];f.each(function(){var t=$(this).attr("href"),r=parseInt(e.find(t).offset().top),i={name:""+t,top:""+r};-1===n.indexOf(i)&&n.push(i)});for(var t=0,u=0,i="",t=0;t<n.length;t++)u=n[t].top,r<n[0].top?i=n[0].name:r>=u-30&&(i=n[t].name),$('.faqListing .navWrapper a[href="'+i+'"]').closest("li").addClass("active").siblings().removeClass("active")}!function(){var t=$("section.faqListing .stickyNav"),i=$("section.faqListing").position();t.length>0&&($(window).scrollTop()>i.top&&t.addClass("floating"),n(),$(window).scroll(function(){$(this).scrollTop()>i.top&&$(window).width()>991.98?t.addClass("floating"):(t.removeClass("floating"),t.find("li").removeClass("active").first().addClass("active"));n()}))}(),function(){$("section.faqListing .navWrapper a").click(function(n){n.preventDefault();$(this).closest("li").addClass("active").siblings().removeClass("active");$("html, body").animate({scrollTop:$($.attr(this,"href")).offset().top-30},500);$(this).blur()})}()}}]),n}(),FAQaccordion=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){$(".faqAccordion .question").click(function(){$(this).closest(".item").toggleClass("open")});$(".faqAccordion .question").focusin(function(){$(this).keypress(function(n){13==n.keyCode&&$(this).closest("li").toggleClass("open")})})}()}}]),n}(),EmailVerification=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function n(n,t,i){0==$(".invalid-feedback").length&&(n.append('<div class="invalid-feedback" style="display:block;">Email addresses do not match.<\/div>'),t.append('<div class="invalid-feedback" style="display:block;">Email addresses do not match.<\/div>'),i.after('<div class="invalid-feedback" style="display:block;text-align:right;clear:right;">Email addresses do not match.<\/div>'))}function t(){$(".invalid-feedback").remove()}!function(){var f=$(".confirmEmail1"),e=$(".confirmEmail2"),i=$('.confirmEmail1 input[type="email"]'),r=$('.confirmEmail2 input[type="email"]'),u=$('button[type="submit"]');i.focusout(function(){i.val()==r.val()?t():n(f,e,u)});r.focusout(function(){i.val()==r.val()?t():n(f,e,u)});$(document).on("click",u,function(){if(i.val()!=r.val())return n(f,e,u),!1;t()})}()}}]),n}(),SameAsService=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function n(){var n=$('.service-address-1 input[type="text"]'),t=$('.service-address-2 input[type="text"]'),i=$('.service-apartment-number input[type="text"]'),r=$('.service-apartment input[type="text"]'),u=$('.service-city input[type="text"]'),f=$('.service-province input[type="text"]'),e=$('.service-country input[type="text"]'),o=$('.service-postal-code input[type="text"]'),s=$('.billing-street-address-1 input[type="text"]'),h=$('.billing-street-address-2 input[type="text"]'),c=$('.billing-apartment-number input[type="text"]'),l=$('.billing-apartment input[type="text"]'),a=$('.billing-city input[type="text"]'),v=$('.billing-province input[type="text"]'),y=$('.billing-country input[type="text"]'),p=$('.billing-postal-code input[type="text"]');0!=n.length&&0!=s.length&&s.val(n.val());0!=t.length&&0!=h.length&&h.val(t.val());0!=i.length&&0!=c.length&&c.val(i.val());0!=r.length&&0!=l.length&&l.val(r.val());0!=u.length&&0!=a.length&&a.val(u.val());0!=f.length&&0!=v.length&&v.val(f.val());0!=e.length&&0!=y.length&&y.val(e.val());0!=o.length&&0!=p.length&&p.val(o.val())}!function(){var t=$('.same-as-service input[type="checkbox"]');0!=t.length&&t.change(function(){1==$(this).prop("checked")&&n()})}()}}]),n}(),CharacterCount=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){function t(n){n.on("input",function(){var i=$(this).attr("maxlength"),r=n.siblings(".text-muted"),t=$(this).val().length;r.html("("+t+"/"+i+" characters)");t>=i?(r.html('<span class="error">('+t+"/"+i+" characters)<\/span>"),$(this).val($(this).val().substr(0,t-1))):r.html("("+t+"/"+i+" characters)")})}var n=$("[maxlength]");n.length&&n.each(function(){var n=$(this).attr("maxlength"),i=$(this).siblings(".text-muted"),r=$(this).val().length;i.html("("+r+"/"+n+" characters)");t($(this))})}}]),n}(),FeaturedVideos=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){!function(){$("[data-fancybox]").fancybox()}()}}]),n}(),BatteryOutageCalculator=function(){function n(){_classCallCheck(this,n);this.wrapper=$(".battery-outage-calculator");this.currentSection="intro";this.selectedDevices=[];this.teslaBattery_kWh=parseFloat($(".tesla-battery").attr("data-energy"));this.sunvergeBattery_kWh=parseFloat($(".sunverge-battery").attr("data-energy"));this.teslaBattery_qty=1;this.sunvergeBattery_qty=2;this.teslaPrice=3e3;this.sunvergePrice=4200}return _createClass(n,[{key:"bind",value:function(){var n=this;$(".battery-outage-cta").on("click",function(t){n.viewDeviceSection(t)});$(".device-btn").on("click",function(t){n.deviceHandler(t)});$("#resetSelection").on("click",function(t){n.resetSelections(t)});$("#viewResults").on("click",function(t){n.viewResultsSection(t)});$("#multipleDeviceMinus").on("click",function(t){n.multipleDeviceMinus(t)});$("#multipleDevicePlus").on("click",function(t){n.multipleDevicePlus(t)});$(".change-battery-quantity").on("click",function(t){n.changeBatteries(t)});$(".battery-minus").on("click",function(t){n.multipleBatteryMinus(t)});$(".battery-plus").on("click",function(t){n.multipleBatteryPlus(t)});$(".battery-open").on("click",function(t){n.toggleBatteryOpen(t)});$(".print-battery-calc-results").on("click",function(){n.handlePrintResult()});this.handlePrintResult();$(window).on("resize",function(){"results"==n.currentSection&&n.setResultTextHeight()})}},{key:"viewIntroSection",value:function(){}},{key:"viewDeviceSection",value:function(n){n.preventDefault();"intro"===this.currentSection&&($('section[aria-label="Battery Outage Calculator: Introduction"]').addClass("d-none"),$('section[aria-label="Battery Outage Calculator: Device Selection"]').removeClass("d-none"),this.currentSection="deviceSelection",$("body,html").scrollTop($(".battery-outage-calculator").offset().top))}},{key:"viewResultsSection",value:function(n){n.preventDefault();"deviceSelection"===this.currentSection&&($('section[aria-label="Battery Outage Calculator: Introduction"]').addClass("d-none"),$('section[aria-label="Battery Outage Calculator: Device Selection"]').addClass("d-none"),$('section[aria-label="Battery Outage Calculator: Results"]').removeClass("d-none"),this.currentSection="results",$(".tesla-hour-count").text(this.calculateDurationOfBackup("tesla")),$(".sunverge-hour-count").text(this.calculateDurationOfBackup("sunverge")),$("body,html").scrollTop($(".battery-outage-calculator").offset().top),this.setResultTextHeight(),this.renderBatteryInfo("tesla"),this.renderBatteryInfo("sunverge"),$('[data-toggle="tooltip"]').tooltip())}},{key:"setResultTextHeight",value:function(){var t=$(".battery-info"),n;t.css("min-height","0px");n=0;t.each(function(){var t=$(this).outerHeight();(!n||t>n)&&(n=t)});t.css("min-height",n+"px")}},{key:"addDevice",value:function(n){var i=n.attr("data-id"),r=parseFloat(n.attr("data-energy")),u=parseInt(n.attr("data-quantity")),t;n.find(".fa-check-circle").removeClass("d-none");t={id:i,value:r,quantity:u||1};this.selectedDevices.push(t)}},{key:"removeDevice",value:function(n){n.find(".fa-check-circle").addClass("d-none");this.selectedDevices.splice(this.selectedDevices.findIndex(function(t){return t.id==n.attr("data-id")}),1)}},{key:"deviceHandler",value:function(n){var t=$(n.currentTarget);if("true"===t.attr("data-multiple"))return this.modalHandler(t),!0;t.toggleClass("selected");t.hasClass("selected")?this.addDevice(t):this.removeDevice(t);this.selectedDevices.length?$("#device-result-controls").show():$("#device-result-controls").hide();t.blur()}},{key:"modalHandler",value:function(n){var r=this,t=n.attr("data-name"),i=n.attr("data-quantity");$(".save-multiple").off();parseInt(i)>1?$("#multipleCount").text(i):$("#multipleCount").text("1");$("#multiple-device-title").html("How many "+t+" in your house?");$(".save-multiple").html("Save "+t);$(".save-multiple").on("click",function(t){r.saveMultipleDevices(t,n)});$("#deviceModal").modal()}},{key:"multipleDevicePlus",value:function(n){n.preventDefault();var t=parseInt($("#multipleCount").text());t++;$("#multipleDeviceMinus").addClass("button-blue");$("#multipleCount").text(t.toString())}},{key:"multipleDeviceMinus",value:function(n){n.preventDefault();var t=parseInt($("#multipleCount").text());t<1?t=0:t--;0===t&&$("#multipleDeviceMinus").removeClass("button-blue");$("#multipleCount").text(t.toString())}},{key:"saveMultipleDevices",value:function(n,t){var i,r,u;n.preventDefault();i=$("#multipleCount").text();t.hasClass("selected")?"0"===i?(this.removeDevice(t),t.find("p").text(t.attr("data-name")),t.attr("data-quantity",i),t.removeClass("selected")):(t.find("p").text(i+" "+t.attr("data-name")),t.attr("data-quantity",i),r=this.selectedDevices.findIndex(function(n){return n.id==t.attr("data-id")}),u=this.selectedDevices[r],u.quantity=parseInt(i)):"0"===i?t.attr("data-quantity",i):(t.attr("data-quantity",i),t.find("p").prepend(i+" "),t.toggleClass("selected"),this.addDevice(t));$("#deviceModal").modal("hide");this.selectedDevices.length?$("#device-result-controls").show():$("#device-result-controls").hide()}},{key:"resetMultipleDevices",value:function(n){n.each(function(){$(this).attr("data-quantity",0);$(this).find("p").text($(this).attr("data-name"))});console.log(n)}},{key:"resetSelections",value:function(){this.selectedDevices=[];$(".selected").removeClass("selected");$(".fa-check-circle").addClass("d-none");$("#device-result-controls").hide();var n=$('*[data-multiple="true"]');this.resetMultipleDevices(n)}},{key:"calculateDurationOfBackup",value:function(n){var u="tesla"==n?this.teslaBattery_kWh:this.sunvergeBattery_kWh,f="tesla"==n?this.teslaBattery_qty:1,i=0,r,t;return this.selectedDevices.forEach(function(n){i+=(n.value||0)*(n.quantity||1)}),r=u*f/(i+1),t=24*r,(t%1>0?t.toFixed(1):t)+" hours"}},{key:"renderBatteryInfo",value:function(n){var u=this.calculateDurationOfBackup(n),i="tesla"==n?this.teslaPrice*this.teslaBattery_qty:this.sunvergePrice,f=i/120,e="$"+i.toLocaleString()+" or $"+f.toLocaleString()+"/month (for 10 years)",o="tesla"==n?this.teslaBattery_kWh*this.teslaBattery_qty:this.sunvergeBattery_kWh,r="tesla"==n?this.teslaBattery_qty:this.sunvergeBattery_qty,s="."+n+"-battery",t=$(s);t.find(".hour-count").text(u);t.find(".battery-count").text(r);t.find(".change-battery-quantity").attr("data-quantity",r);t.find(".price").find(".info").find("p").text(e);t.find(".energy").find(".info").find("p").text(o.toFixed(1)+"kWh");$("#batteryModal").modal("hide")}},{key:"changeBatteries",value:function(n){var u=this,f=$(n.currentTarget),t=f.attr("data-battery"),r="tesla"==t?this.teslaBattery_qty:this.sunvergeBattery_qty,i;$("#batteryCount").attr("src","/ResourcePackages/ST/library/img/calculators/nsp_battcalc_icons/battery_"+r+".svg");$("#batteryCount").attr("data-quantity",r);i=parseInt($("#batteryCount").attr("data-quantity"));4===i?($(".battery-plus").find("svg").find("path").css("fill","#E2E2E2"),$(".battery-minus").find("svg").find("path").css("fill","#054AAA")):1===i?($(".battery-plus").find("path").css("fill","#054AAA"),$(".battery-minus").find("path").css("fill","#E2E2E2")):($(".battery-minus").find("svg").find("path").css("fill","#054AAA"),$(".battery-plus").find("path").css("fill","#054AAA"));$("#batteryCount").attr("alt",i+" Batteries Selected");$(".save-multiple-batteries").off();$(".save-multiple-batteries").on("click",function(n){u.saveMultipleBatteries(n,t)});$(".battery-plus").attr("data-battery",t);$(".battery-minus").attr("data-battery",t);$("#batteryModal").modal()}},{key:"multipleBatteryPlus",value:function(n){n.preventDefault();var i=$(n.currentTarget).attr("data-battery"),t=parseInt($("#batteryCount").attr("data-quantity"));switch(t>=4?t=4:($(".battery-minus").find("svg").find("path").css("fill","#054AAA"),t++),4===t&&$(".battery-plus").find("svg").find("path").css("fill","#E2E2E2"),i){case"sunverge":this.sunvergeBattery_qty=t;break;case"tesla":this.teslaBattery_qty=t;break;default:return!1}$("#batteryCount").attr("data-quantity",t);$("#batteryCount").attr("src","/ResourcePackages/ST/library/img/calculators/nsp_battcalc_icons/battery_"+t+".svg");$("#batteryCount").attr("alt",t+" Batteries Selected")}},{key:"multipleBatteryMinus",value:function(n){n.preventDefault();var i=$(n.currentTarget).attr("data-battery"),t=parseInt($("#batteryCount").attr("data-quantity"));switch(t<=1?t=1:($(".battery-plus").find("path").css("fill","#054AAA"),t--),1===t&&$(".battery-minus").find("path").css("fill","#E2E2E2"),i){case"sunverge":this.sunvergeBattery_qty=t;break;case"tesla":this.teslaBattery_qty=t;break;default:return!1}$("#batteryCount").attr("data-quantity",t);$("#batteryCount").attr("src","/ResourcePackages/ST/library/img/calculators/nsp_battcalc_icons/battery_"+t+".svg");$("#batteryCount").attr("alt",t+" Batteries Selected")}},{key:"saveMultipleBatteries",value:function(n,t){n.preventDefault();this.renderBatteryInfo(t)}},{key:"toggleBatteryOpen",value:function(n){var t=$(n.currentTarget);t.find(".battery-open-plus").toggleClass("fa-plus");t.find(".battery-open-plus").toggleClass("fa-minus");t.siblings(".battery-fields").toggleClass("opened")}},{key:"handlePrintResult",value:function(){$(".print-battery-calc-results").on("click",function(n){n.preventDefault();$("body").addClass("battery-calc-print");window.print();window.onafterprint=function(){$("body").removeClass("battery-calc-print")}})}}],[{key:"init",value:function(){$(".battery-outage-calculator")&&(new n).bind()}}]),n}(),ChartPeakPower=function(){function n(){_classCallCheck(this,n);this.peakPower=$(".chart-peak-power:visible");this.capacity=this.peakPower.data("available-capacity");this.currentLoad="";this.forecastPeakLoad="";this.yesterdaysPeakLoad="";this.capacityHTML=this.peakPower.find(".capacity .value");this.loadBarItems=this.peakPower.find(".load-bar-item");this.currentLoadHTML=this.peakPower.find('.load-bar-item[data-load-type="current-load"]');this.forecastedLoadHTML=this.peakPower.find('.load-bar-item[data-load-type="forecasted-peak-Load"]');this.YesterdaysLoadHTML=this.peakPower.find('.load-bar-item[data-load-type="yesterdays-peak-load"]');this.lastUpdated="";this.lastUpdatedHTML=this.peakPower.find(".last-updated .updated-text");this.apiPath=window.location.href.indexOf("localhost:300")>-1||window.location.href.indexOf("nspower-html")>-1?"/library/api/todaysPower/PeakPower.json":"/api/todayspower/peakpower";this.peakPower.length&&!this.peakPower.hasClass("initialized")&&this.init()}return _createClass(n,[{key:"init",value:function(){this.callPeakAPI()}},{key:"callPeakAPI",value:function(){var n=this;$.ajax({dataType:"json",url:this.apiPath,data:{get_param:"value"}}).done(function(t){n.processData(t);n.setBarPercentages(t);n.peakPower.addClass("initialized")}).fail(function(n,t,i){console.log("There was a problem retrieving Wind Data.  "+t+": "+i)})}},{key:"processData",value:function(n){this.currentLoad=n.CurrentLoad;this.forecastPeakLoad=n.TodaysPeak;this.yesterdaysPeakLoad=n.YesterdaysPeak;this.lastUpdated=n.LastUpdated;this.capacityHTML.text(this.capacity+"MW");this.currentLoadHTML.attr("data-load",this.currentLoad).find(".load-value .value-number").text(this.currentLoad);this.forecastedLoadHTML.attr("data-load",this.forecastPeakLoad).find(".load-value .value-number").text(this.forecastPeakLoad);this.YesterdaysLoadHTML.attr("data-load",this.yesterdaysPeakLoad).find(".load-value .value-number").text(this.yesterdaysPeakLoad);this.lastUpdatedHTML.html(this.lastUpdated)}},{key:"setBarPercentages",value:function(){var n=this;this.loadBarItems.each(function(){var r=$(this).attr("data-load"),t=r/n.capacity*100,i;($(this).find(".bar-wrapper .fill-color").css("width",t+"%"),t<=20)&&(i=$(this).find(".value"),$(this).addClass("under-20-percent"),i.appendTo($(this)))})}}]),n}(),ChartTodaysPower=function(){function n(){_classCallCheck(this,n);this.chartData=[];this.chartObject=[];this.browserWidth=$(window).width();this.forecastPower=$(".chart-forecast-power:visible");this.todaysPowerWrapper=$(".chart-todays-power:visible");this.todaysPowerChart=this.todaysPowerWrapper.find(".c3-todays-power-chart");this.todaysPowerChartID=this.todaysPowerChart.attr("id");this.chartTabs=this.todaysPowerWrapper.find(".chart-tab-titles li");this.chartTabContent=this.todaysPowerWrapper.find(".chart-content");this.energyPercentBarsWrapper=this.todaysPowerWrapper.find(".energy-percentage-bars");this.energyPercentBars=this.energyPercentBarsWrapper.find(".bar-item");this.energyPercentBarsHoverEle=this.energyPercentBars.find(".bar-wrapper");this.activeTabID="";this.lastUpdated="";this.lastUpdatedHTML=this.todaysPowerWrapper.find(".last-updated .updated-text");this.apiPath=window.location.href.indexOf("localhost:300")>-1||window.location.href.indexOf("nspower-html")>-1?"/library/api/todaysPower/TodaysPower.json":"/api/todayspower/powermix";this.rightNowIndex=0;this.yearToDateIndex=1;this.historicalIndex=2;this.SolidFuelIndex=0;this.naturalGasIndex=1;this.biomassIndex=2;this.hydroIndex=3;this.windIndex=4;this.importsIndex=5;this.renewablesPercentage="";this.wind="";this.windCoverage="";this.hydroTidal="";this.hydroTidalCoverage="";this.naturalGasOil="";this.naturalGasOilCoverage="";this.biomass="";this.biomassCoverage="";this.solidFuel="";this.solidFuelCoverage="";this.imports="";this.importsCoverage="";this.other="";this.otherCoverage="";this.todaysPowerWrapper.length&&!this.todaysPowerWrapper.hasClass("initialized")&&this.init()}return _createClass(n,[{key:"init",value:function(){var n=this;this.forecastPower.length?(this.processData(),this.forecastPower.addClass("initialized")):(this.openFirstChartTab(),this.callTodaysPowerAPI(),this.chartTabs.on("click",function(t){n.toggleChartTab(t)}),this.chartTabs.on("keypress",function(t){13==t.keyCode&&n.toggleChartTab(t)}));this.energyPercentBarsHoverEle.on("mouseover",function(t){n.percentageBarHover(t)}).on("mouseleave",function(t){n.percentageBarHoverOut(t);n.setBarPercentages()});this.checkChartWidth()}},{key:"callTodaysPowerAPI",value:function(){var n=this;$.ajax({dataType:"json",url:this.apiPath,data:{get_param:"value"}}).done(function(t){n.chartData.push(t);n.processData();n.todaysPowerWrapper.addClass("initialized")}).fail(function(n,t,i){console.log("There was a problem retrieving Wind Data.  "+t+": "+i)})}},{key:"processData",value:function(){this.grabChartData();this.setBarPercentages();this.createDonutChart()}},{key:"openFirstChartTab",value:function(){this.chartTabs.first().addClass("active").attr("aria-expanded",!0);this.getActiveTabID()}},{key:"getActiveTabID",value:function(){this.activeTabID=this.todaysPowerWrapper.find(".chart-tab-titles li.active").data("tab")}},{key:"grabChartData",value:function(){var n="";this.forecastPower.length?(this.renewablesPercentage=this.forecastPower.attr("data-renewables-percentage"),this.wind=this.forecastPower.attr("data-wind-percent"),this.windCoverage=this.forecastPower.attr("data-wind-coverage"),this.hydroTidal=this.forecastPower.attr("data-hydro-percent"),this.hydroTidalCoverage=this.forecastPower.attr("data-hydro-coverage"),this.naturalGasOil=this.forecastPower.attr("data-natural-gas-percent"),this.naturalGasOilCoverage=this.forecastPower.attr("data-natura-gas-coverage"),this.biomass=this.forecastPower.attr("data-biomass-percent"),this.biomassCoverage=this.forecastPower.attr("data-biomass-coverage"),this.solidFuel=this.forecastPower.attr("data-solid-fuel-percent"),this.solidFuelCoverage=this.forecastPower.attr("data-solid-fuel-coverage"),this.imports=this.forecastPower.attr("data-other-percent"),this.importsCoverage=this.forecastPower.attr("data-other-coverage"),this.other=this.forecastPower.attr("data-other-percent"),this.otherCoverage=this.forecastPower.attr("data-other-coverage")):("todaysPower_rightNow"==this.activeTabID?n=this.rightNowIndex:"todaysPower_YearToDate"==this.activeTabID?n=this.yearToDateIndex:"todaysPowerBackIn2007"==this.activeTabID&&(n=this.historicalIndex),this.renewablesPercentage=Math.round(this.chartData[0][n].Renewables),this.wind=Math.round(this.chartData[0][n].Data[this.windIndex].Percentage),this.windCoverage=this.chartData[0][n].Data[this.windIndex].Coverage,this.hydroTidal=Math.round(this.chartData[0][n].Data[this.hydroIndex].Percentage),this.hydroTidalCoverage=this.chartData[0][n].Data[this.hydroIndex].Coverage,this.naturalGasOil=Math.round(this.chartData[0][n].Data[this.naturalGasIndex].Percentage),this.naturalGasOilCoverage=this.chartData[0][n].Data[this.naturalGasIndex].Coverage,this.biomass=Math.round(this.chartData[0][n].Data[this.biomassIndex].Percentage),this.biomassCoverage=this.chartData[0][n].Data[this.biomassIndex].Coverage,this.solidFuel=Math.round(this.chartData[0][n].Data[this.SolidFuelIndex].Percentage),this.solidFuelCoverage=this.chartData[0][n].Data[this.SolidFuelIndex].Coverage,this.imports=Math.round(this.chartData[0][n].Data[this.importsIndex].Percentage),this.importsCoverage=this.chartData[0][n].Data[this.importsIndex].Coverage,this.lastUpdated=this.chartData[0][this.rightNowIndex].LastUpdated,this.lastUpdatedHTML.html(this.lastUpdated))}},{key:"setBarPercentages",value:function(){this.energyPercentBarsWrapper.find(".bar-item.wind").attr("data-percentage",this.wind).find(".percentage .value").text(this.wind);this.energyPercentBarsWrapper.find(".bar-item.hydro-tidal").attr("data-percentage",this.hydroTidal).find(".percentage .value").text(this.hydroTidal);this.energyPercentBarsWrapper.find(".bar-item.natural-gas").attr("data-percentage",this.naturalGasOil).find(".percentage .value").text(this.naturalGasOil);this.energyPercentBarsWrapper.find(".bar-item.biomass").attr("data-percentage",this.biomass).find(".percentage .value").text(this.biomass);this.energyPercentBarsWrapper.find(".bar-item.solid-fuel").attr("data-percentage",this.solidFuel).find(".percentage .value").text(this.solidFuel);this.energyPercentBarsWrapper.find(".bar-item.imports").attr("data-percentage",this.imports).find(".percentage .value").text(this.imports);this.energyPercentBarsWrapper.find(".bar-item.other").attr("data-percentage",this.other).find(".percentage .value").text(this.other);this.energyPercentBars.each(function(){var t=$(this).attr("data-percentage"),n=$(this).find(".fill-color");n.css("width",t+"%");t<10?n.addClass("hide-icon"):n.removeClass("hide-icon")})}},{key:"toggleChartTab",value:function(n){$(n.currentTarget).attr("data-tab");this.chartTabs.removeClass("active").attr("aria-expanded",!1);this.chartTabContent.removeClass("active");$(n.currentTarget).addClass("active").attr("aria-expanded",!0);this.getActiveTabID();this.grabChartData();this.setBarPercentages();this.updateChart()}},{key:"createDonutChart",value:function(){var n=this,i="",t;i=n.forecastPower.length?[["Wind",n.wind],["Hydro",n.hydroTidal],["Natural Gas",n.naturalGasOil],["Biomass",n.biomass],["Solid Fuel",n.solidFuel],["Imports",n.imports],["Other",n.other]]:[["Wind",n.wind],["Hydro",n.hydroTidal],["Natural Gas",n.naturalGasOil],["Biomass",n.biomass],["Solid Fuel",n.solidFuel],["Imports",n.imports]];t=36;n.todaysPowerWrapper.closest(".homepage-todays-power").length&&(t=20);this.chartObject=c3.generate({bindto:"#"+n.todaysPowerChartID,data:{type:"donut",columns:i,selection:{enabled:!0},onclick:function(t){n.chartHover(t)},onmouseover:function(t){n.chartHover(t)},onmouseout:function(t){n.chartMouseOut(t)}},donut:{title:"",width:t,padAngle:".01",label:{show:!1}},color:{pattern:["#6BA23F","#084272","#666666","#005FAA","#F2D568","#062941","#0099CC"]},legend:{show:!1},tooltip:{show:!1},onresized:function(){n.browserWidth=n.getBrowserWidth();n.resizeChart();n.checkChartWidth()}});n.addDefaultRenewables();n.resizeChart()}},{key:"addDefaultRenewables",value:function(){var n=this;$("#"+this.todaysPowerChartID+" .c3-chart-arcs-title").length||d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs-title").attr("dy","0em");$("#"+this.todaysPowerChartID+" .c3-chart .middle-donut-color").length||d3.select("#"+this.todaysPowerChartID+" .c3-chart").insert("circle",":first-child").attr("class","middle-donut-color").attr("cx",this.chartObject.internal.width/2).attr("cy",this.chartObject.internal.height/2-this.chartObject.internal.margin.top).attr("r",this.chartObject.internal.innerRadius);$("#"+this.todaysPowerChartID+" .c3-chart-arcs .default-renewables-wrapper").length||(d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs").append("g").attr("class","default-renewables-wrapper"),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .default-renewables-wrapper").append("g").attr("class","default-renewables-percentage"),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .default-renewables-percentage").append("image").attr("xlink:href","/library/img/greater-than-icon.svg").attr("text-anchor","middle").attr("class","icon").attr("transform",function(){var t=void 0,i=void 0;return n.todaysPowerChart.outerWidth()<=500?(t=-85,i=-25):(t=-145,i=-55),"translate("+t+","+i+")"}),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .default-renewables-percentage").append("text").text(this.renewablesPercentage+"%").attr("class","data-renewables-percent").attr("text-anchor","middle").attr("dy","0em").attr("dx",".3em"),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .default-renewables-wrapper").append("text").text("renewables").attr("class","data-renewables-subheading").attr("text-anchor","middle").attr("dy","1.5em").attr("dx","0em"))}},{key:"updateChart",value:function(){this.chartObject.load({columns:[["Wind",this.wind],["Hydro",this.hydroTidal],["Natural Gas",this.naturalGasOil],["Biomass",this.biomass],["Solid Fuel",this.solidFuel],["Imports",this.imports]]});$("#"+this.todaysPowerChartID+" .c3-chart-arcs .data-renewables-percent").text(this.renewablesPercentage+"%")}},{key:"resizeChart",value:function(){var n=this,t=void 0;t=this.todaysPowerChart.outerWidth(!0);this.todaysPowerChart.outerHeight(!0);n.chartObject.resize({width:t,height:t});this.chartObject.flush();d3.select("#"+this.todaysPowerChartID+" .c3-chart .middle-donut-color").attr("cx",this.chartObject.internal.width/2).attr("cy",this.chartObject.internal.height/2-this.chartObject.internal.margin.top).attr("r",this.chartObject.internal.innerRadius);d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .default-renewables-percentage .icon").attr("transform",function(){var t=void 0,i=void 0;return n.todaysPowerChart.outerWidth()<=500?(t=-85,i=-25):(t=-145,i=-55),"translate("+t+","+i+")"});n.todaysPowerChart.outerWidth()<=500&&(d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details .category-icon").attr("width",50).attr("height",50).attr("transform",function(){return"translate(-25,-85)"}),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details .category-coverage-subheading").attr("dy","3em"),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details .category-icon").attr("width",50).attr("height",50).attr("transform",function(){return"translate(-25,-85)"}),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details .category-coverage-subheading").attr("dy","3em"))}},{key:"chartHover",value:function(n){var e=n.id.replace(/\s+/g,"-").toLowerCase(),t,i;if(this.todaysPowerWrapper.addClass(e),d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .default-renewables-wrapper").remove(),t=0,i="","Wind"==n.id?(t=this.addCommasToNumber(parseInt(this.windCoverage)),i="/library/img/icon_wind.svg"):"Hydro"==n.id?(t=this.addCommasToNumber(parseInt(this.hydroTidalCoverage)),i="/library/img/icon_hydro.svg"):"Natural Gas"==n.id?(t=this.addCommasToNumber(parseInt(this.naturalGasOilCoverage)),i="/library/img/icon_oil.svg"):"Biomass"==n.id?(t=this.addCommasToNumber(parseInt(this.biomassCoverage)),i="/library/img/icon_bio.svg"):"Solid Fuel"==n.id?(t=this.addCommasToNumber(parseInt(this.solidFuelCoverage)),i="/library/img/icon_coal.svg"):"Imports"==n.id?(t=this.addCommasToNumber(parseInt(this.importsCoverage)),i="/library/img/icon_import.svg"):"Other"==n.id&&(t=this.addCommasToNumber(parseInt(this.importsCoverage)),i="/library/img/icon_other.svg"),$("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details").length)$("#"+this.todaysPowerChartID+" .c3-chart-arcs .chart-category-title").text(n.id+" "+n.value+"%"),$("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-coverage-value").text(t);else{d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs").append("g").attr("class","category-details");var r=void 0,u=void 0,f=void 0;this.todaysPowerChart.outerWidth()<=500?(r=40,u=-25,f=-80):(r=75,u=-35,f=-125);d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details").append("image").attr("xlink:href",i).attr("width",r).attr("height",r).attr("text-anchor","middle").attr("class","category-icon").attr("transform",function(){return"translate("+u+","+f+")"});d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details").append("text").text(n.id+" "+n.value+"%").attr("class","chart-category-title").attr("text-anchor","middle").attr("dy","0em").attr("dx","0em");d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details").append("text").text(t).attr("class","category-coverage-value").attr("text-anchor","middle").attr("dy","1.2em").attr("dx","0em");d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details").append("text").text("homes").attr("class","category-coverage-subheading").attr("text-anchor","middle").attr("dy","3.5em").attr("dx","0em")}}},{key:"chartMouseOut",value:function(n){var t=n.id.replace(/\s+/g,"-").toLowerCase();this.todaysPowerWrapper.removeClass(t);d3.select("#"+this.todaysPowerChartID+" .c3-chart-arcs .category-details").remove();this.addDefaultRenewables()}},{key:"percentageBarHover",value:function(n){var i=$(n.currentTarget).closest(".bar-item").attr("class"),t="";i.indexOf("wind")>=0?(this.todaysPowerWrapper.addClass("wind"),this.chartObject.focus("Wind"),t=this.chartObject.data.shown("Wind")):i.indexOf("hydro")>=0?(this.todaysPowerWrapper.addClass("hydro"),this.chartObject.focus("Hydro"),t=this.chartObject.data.shown("Hydro")):i.indexOf("natural-gas")>=0?(this.todaysPowerWrapper.addClass("natural-gas"),this.chartObject.focus("Natural Gas"),t=this.chartObject.data.shown("Natural Gas")):i.indexOf("biomass")>=0?(this.todaysPowerWrapper.addClass("biomass"),this.chartObject.focus("Biomass"),t=this.chartObject.data.shown("Biomass")):i.indexOf("solid-fuel")>=0?(this.todaysPowerWrapper.addClass("solid-fuel"),this.chartObject.focus("Solid Fuel"),t=this.chartObject.data.shown("Solid Fuel")):i.indexOf("imports")>=0?(this.todaysPowerWrapper.addClass("imports"),this.chartObject.focus("Imports"),t=this.chartObject.data.shown("Imports")):i.indexOf("other")>=0&&(this.todaysPowerWrapper.addClass("other"),this.chartObject.focus("Other"),t=this.chartObject.data.shown("Other"));this.chartHover(t[0].values[0])}},{key:"percentageBarHoverOut",value:function(n){var i=$(n.currentTarget).closest(".bar-item").attr("class"),t="";i.indexOf("wind")>=0?(this.todaysPowerWrapper.removeClass("wind"),t=this.chartObject.data.shown("Wind")):i.indexOf("hydro")>=0?(this.todaysPowerWrapper.removeClass("hydro"),t=this.chartObject.data.shown("Hydro")):i.indexOf("natural-gas")>=0?(this.todaysPowerWrapper.removeClass("natural-gas"),t=this.chartObject.data.shown("Natural Gas")):i.indexOf("biomass")>=0?(this.todaysPowerWrapper.removeClass("biomass"),t=this.chartObject.data.shown("Biomass")):i.indexOf("solid-fuel")>=0?(this.todaysPowerWrapper.removeClass("solid-fuel"),t=this.chartObject.data.shown("Solid Fuel")):i.indexOf("imports")>=0?(this.todaysPowerWrapper.removeClass("imports"),t=this.chartObject.data.shown("Imports")):i.indexOf("other")>=0&&(this.todaysPowerWrapper.removeClass("other"),t=this.chartObject.data.shown("Other"));this.chartObject.revert();this.chartMouseOut(t[0].values[0])}},{key:"addCommasToNumber",value:function(n){var t=n.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")}},{key:"getBrowserWidth",value:function(){return $(window).outerWidth(!0)}},{key:"checkChartWidth",value:function(){this.todaysPowerChart.outerWidth()<=500?this.todaysPowerChart.addClass("small-chart"):this.todaysPowerChart.removeClass("small-chart")}}]),n}(),ChartRenewables=function(){function n(){_classCallCheck(this,n);this.renewablesWrapper=$(".chart-renewables:visible");this.renewablesChart=this.renewablesWrapper.find(".c3-renewables-chart");this.renewablesChartID=this.renewablesChart.attr("id");this.chartLegendItems=this.renewablesWrapper.find(".chart-legend ul li");this.data=[];this.renewablesWrapper.length&&!this.renewablesWrapper.hasClass("initialized")&&this.init()}return _createClass(n,[{key:"init",value:function(){this.getData()}},{key:"getData",value:function(){var n=this;this.chartLegendItems.each(function(){var t=$(this),i={year:t.find(".year").html(),percent:t.find(".percentage").html().split("%",1),Coverage:t.find(".homes").html(),desc:t.find(".data-description").html()};n.data.push(i)});n.processData(this.data)}},{key:"processData",value:function(n){var u=this,i=n.map(function(n){return n.year}),r,t;i.unshift("years");r=n.map(function(n){return n.percent});r.unshift("percentages");t=[];$.each(i,function(){t.push(0)});t.unshift("yearValues");u.generateLineChart(i,r,t)}},{key:"generateLineChart",value:function(n,t,i){var r=this;c3.generate({bindto:"#"+r.renewablesChartID,data:{type:"line",x:"years",columns:[n,t,i],labels:{show:!0,format:function(n){return n+"%"},position:"top"}},legend:{hide:!0},axis:{x:{padding:{left:".4",right:".5"}},y:{labels:!1}},grid:{y:{show:!1}},point:{show:!0,r:15,focus:{expand:{enabled:!1}}},tooltip:{show:!1}});r.adjustTooltips()}},{key:"adjustTooltips",value:function(){$(".chart-renewables .c3-texts-percentages .c3-text").each(function(){var n=$(this).css("transform");$(this).attr("transform",n)})}}]),n}(),ChartWindGeneration=function(){function n(){_classCallCheck(this,n);this.windChartWrapper=$(".chart-wind-generation:visible");this.windChart=this.windChartWrapper.find(".c3-wind-chart");this.chartData=[];this.chartObject=[];this.windChartID=this.windChart.attr("id");this.lowestValueHTML=this.windChartWrapper.find(".low-high-box .low .value .num");this.highestValueHTML=this.windChartWrapper.find(".low-high-box .high .value .num");this.highestValueDateHTML=this.windChartWrapper.find(".low-high-box .high .date");this.lowestValueDateHTML=this.windChartWrapper.find(".low-high-box .low .date");this.maxWindChartLabelHTML=this.windChartWrapper.find(".max-wind-value");this.peakLow=0;this.peakHigh=0;this.peakLowIndex="";this.peakHighIndex="";this.peakLowDate="";this.peakHighDate="";this.apiPath=window.location.href.indexOf("localhost:300")>-1||window.location.href.indexOf("nspower-html")>-1?"/library/api/todaysPower/Hourly_Wind.json":"/api/todayspower/windgeneration";this.windChart.length&&!this.windChartWrapper.hasClass("initialized")&&this.init()}return _createClass(n,[{key:"init",value:function(){this.callWindAPI()}},{key:"callWindAPI",value:function(){var n=this;$.ajax({type:"GET",url:this.apiPath,data:{get_param:"value"},dataType:"json"}).done(function(t){if(n.windChartWrapper.addClass("initialized"),!t)return n.windChart.html('<div class="error">No Wind Data Found<\/div>'),console.log("no data found"),!1;n.processData(t);n.chartData.push(t)}).fail(function(n,t,i){console.log("There was a problem retrieving Wind Data.  "+t+": "+i)})}},{key:"processData",value:function(n){var t=this,r=[],i,u,f;$.each(n.HourlyWind,function(n,t){var f=t.Datetime,i=f.replace(/-/g,"/"),u;i=i.replace(":"," ");u=new Date(i);r.push(u)});r.unshift("days");i=[];$.each(n.HourlyWind,function(n,r){i.push(r.Wind);1==r.IsMax&&(t.peakHighIndex=n);1==r.IsMin&&(t.peakLowIndex=n)});i.unshift("windValues");t.peakLow=n.Peaks.Low.Wind;u=n.Peaks.Low.Datetime;t.peakLowDate=t.formatPeakDate(u);t.peakHigh=n.Peaks.High.Wind;f=n.Peaks.High.Datetime;t.peakHighDate=t.formatPeakDate(f);t.maxWindChartLabelHTML.text(t.peakHigh);t.lowestValueHTML.text(t.peakLow);t.highestValueHTML.text(t.peakHigh);t.lowestValueDateHTML.text(t.peakLowDate);t.highestValueDateHTML.text(t.peakHighDate);t.generatewindChart(r,i,n)}},{key:"generatewindChart",value:function(n,t,i){var r=this,u="30 Day High: "+r.peakHigh+"MW";this.chartObject=c3.generate({bindto:"#"+r.windChartID,data:{x:"days",xFormat:"%a %b %d %Y %H:%M:%S",type:"area",columns:[t,n]},zoom:{enabled:!0},legend:{hide:!0},axis:{x:{type:"timeseries",legend:!1,tick:{rotate:90,multiline:!1,count:16,format:"%b %e"}},y:{max:r.peakHigh+50,min:r.peakLow-15,padding:{bottom:0},tick:{format:function(n){return n+"MW"}}},y2:{show:!1}},grid:{y:{show:!0,lines:[{value:r.peakHigh,text:u,"class":"grid-high-line"}]}},tooltip:{grouped:!1,contents:function(n){var t=n[0].index,c=n[0].value,f="",e=!1,u="",s='<div class="wind"><span class="label"><\/span> '+c+'<span class="mw">MW<\/span><\/div>',h,o;return t==r.peakLowIndex&&(u='<div class="peak tooltip-header">30 Day Low<\/div>',f=i.Peaks.Low.Datetime,e=!0),t==r.peakHighIndex&&(u='<div class="peak tooltip-header">30 Day High<\/div>',f=i.Peaks.High.Datetime,e=!0),h=r.formatPeakDate(f),o='<div class="date">'+h+"<\/div>",e?'<div class="tooltip-wrapper" data-index="'+t+'">'+u+s+o+"<\/div>":'<div class="tooltip-wrapper" data-index="'+t+'" style="display: none !important;">'+u+s+o+"<\/div>"}},point:{show:!1,r:5},padding:{bottom:20},onrendered:function(){d3.selectAll("#"+r.windChartID+" .c3-circle").style("opacity",function(n){return n.index==r.peakHighIndex||n.index==r.peakLowIndex?1:0})}})}},{key:"getYear",value:function(n){return n.split("-")[0]}},{key:"getMonth",value:function(n){var i=n.split("-"),r=i[1],t=[];return t["01"]="Jan",t["02"]="Feb",t["03"]="Mar",t["04"]="Apr",t["05"]="May",t["06"]="Jun",t["07"]="Jul",t["08"]="Aug",t["09"]="Sep",t[10]="Oct",t[11]="Nov",t[12]="Dec",t[r]}},{key:"getDay",value:function(n){return n.split("-")[2]}},{key:"formatPeakDate",value:function(n){var i=n.split(" "),t=i[0],r=i[1],u=this.getYear(t);return this.getMonth(t)+" "+this.getDay(t)+", "+u+" | "+r}}]),n}(),TodaysPowerTabs=function(){function n(){_classCallCheck(this,n);this.tabTitles=$(".todays-power-tabs .page-tabs-titles li");this.tabContent=$(".todays-power-tabs .page-tabs-content");this.helperBox=$(".todays-power-tab-helper-box");this.closeHelperBoxBtn=$(".todays-power-tab-helper-box .close-btn");this.tabTitles.length&&this.init()}return _createClass(n,[{key:"init",value:function(){var n=this;this.showHelperBox();$(window).resize(this.showHelperBox);this.OpenFirstTabContent();this.tabTitles.on("click",function(t){n.togglePageTab(t)});this.tabTitles.on("keypress",function(t){13==t.keyCode&&n.togglePageTab(t)});this.closeHelperBoxBtn.on("click",function(t){t.preventDefault();n.closeHelperBox()})}},{key:"showHelperBox",value:function(){var n=$(".todays-power-tab-helper-box");if("true"===StorageHelper.getItem("helperBoxClosed"))return n.hide(),void $("body").removeClass("helper-box-showing");$(window).outerWidth(!0)<767.98?($("body").addClass("helper-box-showing"),n.show()):($("body").removeClass("helper-box-showing"),n.hide())}},{key:"closeHelperBox",value:function(){StorageHelper.storeItem("helperBoxClosed",!0);this.helperBox.fadeOut(300);$("body").removeClass("helper-box-showing")}},{key:"OpenFirstTabContent",value:function(){this.tabTitles.first().addClass("active").attr("aria-expanded",!0);this.tabContent.first().addClass("active").slideDown(300)}},{key:"togglePageTab",value:function(n){var t=this,i=$(n.currentTarget).attr("data-tab");this.tabTitles.removeClass("active").attr("aria-expanded",!1);this.tabContent.removeClass("active").slideUp(300);$(n.currentTarget).addClass("active").attr("aria-expanded",!0);$('.todays-power-tabs .page-tabs-content[data-tab="'+i+'"]').addClass("active").slideDown(300,function(){$("html, body").animate({scrollTop:$(".todays-power-tabs").offset().top-50},"slow");AnimateNumbers.main();t.checkForCharts()})}},{key:"checkForCharts",value:function(){var n=$(".c3-wind-chart:visible"),t=$(".c3-renewables-chart:visible"),i=$(".chart-peak-power:visible"),r=$(".chart-todays-power:visible");n.length&&new ChartWindGeneration;t.length&&new ChartRenewables;i.length&&new ChartPeakPower;r.length&&new ChartTodaysPower}}]),n}(),ChartEnergySourcesMap=function(){function n(){_classCallCheck(this,n);this.energySources=$(".chart-energy-sources-map");this.filters=this.energySources.find(".legend li a");this.mapImages=this.energySources.find(".site-locations-map img");this.energySources.length&&this.init()}return _createClass(n,[{key:"init",value:function(){var n=this;this.filters.hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});this.filters.on("click",function(t){t.preventDefault();n.toggleFilters(t)})}},{key:"toggleFilters",value:function(n){var t=this,i=$(n.currentTarget);i.blur().toggleClass("active").closest("li").toggleClass("active");i.removeClass("hover");this.mapImages.each(function(){var n=$(this).attr("data-map");t.energySources.find('.legend li[data-map="'+n+'"]').hasClass("active")?$(this).addClass("active"):$(this).removeClass("active")});0==t.energySources.find(".legend li.active").length&&t.mapImages.addClass("active")}}]),n}(),GoogleMap=function(){function n(t){_classCallCheck(this,n);this.locations=t.locations||[];this.container=t.container||"#not_available";this.map=t.map;this.mapBounds=t.map.getBounds()||null;this.center=t.center||null;this.markers=[];this.onMarkerClick=t.onMarkerClick||function(){};this.allInfoWindows=[];this.searchedLocation=t.searchedLocation;this.searchedMarker=null;this.initialLoad=t.initialLoad}return _createClass(n,[{key:"main",value:function(){var n=this,t,e,i,o;if(this.container=document.querySelector(this.container),this.container){this.initialLoad&&(this.mapBounds=new google.maps.LatLngBounds);this.searchedLocation.boundaries?(this.mapBounds=this.searchedLocation.boundaries,this.map.fitBounds(this.mapBounds),this.map.getZoom()>13&&this.map.setZoom(13)):this.searchedLocation.location&&(this.map.setCenter(this.searchedLocation.location),this.map.setZoom(8));t=void 0;0==this.locations.length&&this.initialLoad?t=google.maps.event.addListener(this.map,"idle",function(){n.map.setZoom(7);n.map.setCenter(new google.maps.LatLng(parseFloat(45.163512),parseFloat(-63.199957)));google.maps.event.removeListener(t)}):0==this.locations.length&&this.searchedLocation.position?t=google.maps.event.addListener(this.map,"idle",function(){n.map.setZoom(13);google.maps.event.removeListener(t)}):this.initialLoad&&(t=google.maps.event.addListener(this.map,"idle",function(){n.map.fitBounds(n.mapBounds);n.initialLoad&&n.map.getZoom()>13&&n.map.setZoom(13);google.maps.event.removeListener(t)}));var r=!0,u=!1,f=void 0;try{for(i=this.locations[Symbol.iterator]();!(r=(e=i.next()).done);r=!0)o=e.value,this.makeMarker(o,this.allInfoWindows,this.initialLoad)}catch(n){u=!0;f=n}finally{try{!r&&i.return&&i.return()}finally{if(u)throw f;}}this.linkMarker(this.markers,this.map)}}},{key:"FullWidthMain",value:function(){var n=this,t,e,i,o;if(this.container=document.querySelector(this.container),this.container){this.initialLoad&&(this.mapBounds=new google.maps.LatLngBounds);t=void 0;t=0!=this.locations.length||this.center?google.maps.event.addListener(this.map,"idle",function(){n.map.fitBounds(n.mapBounds);n.initialLoad&&n.map.getZoom()>13&&n.map.setZoom(13);google.maps.event.removeListener(t)}):google.maps.event.addListener(this.map,"idle",function(){n.map.setZoom(7);n.map.setCenter(new google.maps.LatLng(parseFloat(45.163512),parseFloat(-63.199957)));google.maps.event.removeListener(t)});var r=!0,u=!1,f=void 0;try{for(i=this.locations[Symbol.iterator]();!(r=(e=i.next()).done);r=!0)o=e.value,this.makeMarker(o,this.allInfoWindows,this.initialLoad)}catch(n){u=!0;f=n}finally{try{!r&&i.return&&i.return()}finally{if(u)throw f;}}}}},{key:"ContractorMain",value:function(){var n=this,t,e,i,o;if(this.container=document.querySelector(this.container),this.container){this.initialLoad&&(this.mapBounds=new google.maps.LatLngBounds);this.searchedLocation.boundaries?(this.mapBounds=this.searchedLocation.boundaries,this.map.fitBounds(this.mapBounds),this.map.getZoom()>13&&this.map.setZoom(13)):this.searchedLocation.location&&(this.map.setCenter(this.searchedLocation.location),this.map.setZoom(8));t=void 0;0===this.locations.length&&this.initialLoad?t=google.maps.event.addListener(this.map,"idle",function(){n.map.setZoom(7);n.map.setCenter(new google.maps.LatLng(parseFloat(45.163512),parseFloat(-63.199957)));google.maps.event.removeListener(t)}):0===this.locations.length&&this.searchedLocation.position?t=google.maps.event.addListener(this.map,"idle",function(){n.map.setZoom(13);google.maps.event.removeListener(t)}):this.initialLoad&&(t=google.maps.event.addListener(this.map,"idle",function(){n.map.fitBounds(n.mapBounds);n.initialLoad&&n.map.getZoom()>13&&n.map.setZoom(13);google.maps.event.removeListener(t)}));var r=!0,u=!1,f=void 0;try{for(i=this.locations[Symbol.iterator]();!(r=(e=i.next()).done);r=!0)o=e.value,this.makeMarkerContractor(o,this.allInfoWindows,this.initialLoad)}catch(n){u=!0;f=n}finally{try{!r&&i.return&&i.return()}finally{if(u)throw f;}}this.linkMarkerContractor(this.markers,this.map)}}},{key:"linkMarkerContractor",value:function(n,t){var i=[],u=!0,f=!1,e=void 0,o,r,s;try{for(r=this.locations[Symbol.iterator]();!(u=(o=r.next()).done);u=!0)s=o.value,i.push(s.id)}catch(n){f=!0;e=n}finally{try{!u&&r.return&&r.return()}finally{if(f)throw e;}}$("article.enable-on-map .location-card-info-action").unbind("click");$("article.enable-on-map .location-card-info-action").bind("click",function(r){var v,f,s,w,e,b;r.preventDefault();var u=$(this).closest("article.enable-on-map:visible"),c=i.indexOf(u.attr("data-id")),k=u.attr("data-salesforceid"),d=n.filter(function(n){return n.getSalesforceId()===k});$("article.active").removeClass("active");var o=!0,l=!1,a=void 0;try{for(f=n[Symbol.iterator]();!(o=(v=f.next()).done);o=!0)s=v.value,s.closeWindow(),s.getMarker().setVisible(!1)}catch(n){l=!0;a=n}finally{try{!o&&f.return&&f.return()}finally{if(l)throw a;}}var h=!0,y=!1,p=void 0;try{for(e=d[Symbol.iterator]();!(h=(w=e.next()).done);h=!0)w.value.getMarker().setVisible(!0)}catch(n){y=!0;p=n}finally{try{!h&&e.return&&e.return()}finally{if(y)throw p;}}u.hasClass("active")?n[c].closeWindow():n[c].openWindow();u.toggleClass("active");b=new google.maps.LatLng(u[0].dataset.lat,u[0].dataset.lng);t.panTo(b)});$(".other-location-card-item").unbind("click");$(".other-location-card-item").bind("click",function(r){var v,f,s,w,e,b;r.preventDefault();var u=$(this),k=u.attr("data-salesforceid"),d=n.filter(function(n){return n.getSalesforceId()===k}),c=i.indexOf($(this).attr("data-id"));$(".other-location-card-item.active").removeClass("active");var o=!0,l=!1,a=void 0;try{for(f=n[Symbol.iterator]();!(o=(v=f.next()).done);o=!0)s=v.value,s.closeWindow(),s.getMarker().setVisible(!1)}catch(n){l=!0;a=n}finally{try{!o&&f.return&&f.return()}finally{if(l)throw a;}}var h=!0,y=!1,p=void 0;try{for(e=d[Symbol.iterator]();!(h=(w=e.next()).done);h=!0)w.value.getMarker().setVisible(!0)}catch(n){y=!0;p=n}finally{try{!h&&e.return&&e.return()}finally{if(y)throw p;}}u.hasClass("active")?n[c].closeWindow():n[c].openWindow();u.toggleClass("active");b=new google.maps.LatLng(u[0].dataset.lat,u[0].dataset.lng);t.panTo(b)});$(".contractor-map .other-location-card-item-map").unbind("click");$(".contractor-map").on("click",".other-location-card-item-map",function(){var l,r,o,y,u,p;event.preventDefault();var f=$(this),w=i.indexOf($(this).attr("data-id")),b=f.attr("data-salesforceid"),k=n.filter(function(n){return n.getSalesforceId()===b});$(".other-location-card-item.active").removeClass("active");var e=!0,h=!1,c=void 0;try{for(r=n[Symbol.iterator]();!(e=(l=r.next()).done);e=!0)o=l.value,o.closeWindow(),o.getMarker().setVisible(!1)}catch(n){h=!0;c=n}finally{try{!e&&r.return&&r.return()}finally{if(h)throw c;}}var s=!0,a=!1,v=void 0;try{for(u=k[Symbol.iterator]();!(s=(y=u.next()).done);s=!0)y.value.getMarker().setVisible(!0)}catch(n){a=!0;v=n}finally{try{!s&&u.return&&u.return()}finally{if(a)throw v;}}n[w].openWindow();p=new google.maps.LatLng(f.attr("data-lat"),f.attr("data-long"));t.panTo(p)})}},{key:"makeMarkerContractor",value:function(n,t,i){var u=null,r=void 0;n.markerIcon?(r={url:n.markerIcon,scaledSize:new google.maps.Size(40*n.markerImageRatio,40)},isNaN(n.regionRadius)||(r.anchor=new google.maps.Point(20*n.markerImageRatio,20),r.origin=new google.maps.Point(0,0)),u=new MapMarkerContractor({name:n.name,icon:r,lat:n.position.lat,long:n.position.lng,location:n},this.map,this.mapBounds,this.onMarkerClick,t,i,this.markers),this.markers.push(u)):(u=new MapMarker({name:n.name,icon:r,lat:n.position.lat,long:n.position.lng,location:n},this.map,this.mapBounds,this.onMarkerClick,t,i,this.markers),this.markers.push(u))}},{key:"linkMarker",value:function(n,t){var u=[],r=!0,f=!1,e=void 0,o,i,s;try{for(i=this.locations[Symbol.iterator]();!(r=(o=i.next()).done);r=!0)s=o.value,u.push(s.name)}catch(n){f=!0;e=n}finally{try{!r&&i.return&&i.return()}finally{if(f)throw e;}}$("article.enable-on-map .location-card-info-action").unbind("click");$("article.enable-on-map .location-card-info-action").bind("click",function(i){var r,e,c,f,l;i.preventDefault();r=$(this).closest("article.enable-on-map:visible");e=u.indexOf($(this).find(".location-card-name")[0].innerText);$("article.active").removeClass("active");var o=!0,s=!1,h=void 0;try{for(f=n[Symbol.iterator]();!(o=(c=f.next()).done);o=!0)c.value.closeWindow()}catch(n){s=!0;h=n}finally{try{!o&&f.return&&f.return()}finally{if(s)throw h;}}r.hasClass("active")?n[e].closeWindow():n[e].openWindow();r.toggleClass("active");l=new google.maps.LatLng(r[0].dataset.lat,r[0].dataset.lng);t.panTo(l)})}},{key:"makeMarker",value:function(n,t,i){var u=null,r=void 0;n.markerIcon?(r={url:n.markerIcon,scaledSize:new google.maps.Size(40*n.markerImageRatio,40)},isNaN(n.regionRadius)||(r.anchor=new google.maps.Point(20*n.markerImageRatio,20),r.origin=new google.maps.Point(0,0)),u=new MapMarker({name:n.name,icon:r,lat:n.position.lat,long:n.position.lng,location:n},this.map,this.mapBounds,this.onMarkerClick,t,i,this.markers),this.markers.push(u)):(u=new MapMarker({name:n.name,icon:r,lat:n.position.lat,long:n.position.lng,location:n},this.map,this.mapBounds,this.onMarkerClick,t,i,this.markers),this.markers.push(u))}},{key:"closeInfoWindows",value:function(){var n=!0,i=!1,r=void 0,u,t;try{for(t=this.markers[Symbol.iterator]();!(n=(u=t.next()).done);n=!0)u.value.closeWindow()}catch(n){i=!0;r=n}finally{try{!n&&t.return&&t.return()}finally{if(i)throw r;}}}},{key:"clearMarkersAndCircles",value:function(){for(var n=0;n<this.markers.length;n++)this.markers[n].clearMarkersAndCircles();this.markers=[]}}]),n}(),Locations=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"displayLocations",value:function(n){function it(n){var t=void 0;navigator.geolocation?navigator.geolocation.getCurrentPosition(function(i){t=i;n(t)},function(){b(!0);n(t)}):(b(!1),n(t))}function a(n){return n*Math.PI/180}function rt(n,t,i,r){var f=a(i-n),e=a(r-t),u;return n=a(n),i=a(i),u=Math.sin(f/2)*Math.sin(f/2)+Math.sin(e/2)*Math.sin(e/2)*Math.cos(n)*Math.cos(i),12742*Math.atan2(Math.sqrt(u),Math.sqrt(1-u))}function b(n){n?window.alert("Error: The Geolocation service failed or blocked by the user."):window.alert("Error: Your browser doesn't support geolocation.");$(".location-distance-inaccurate").hide()}function p(){at.length&&w.length&&($(".enable-on-map.active").removeClass("active"),nt?(s.sort(function(n,t){return n.name>t.name?1:t.name>n.name?-1:0}),t.sort(function(n,t){return n.name>t.name?1:t.name>n.name?-1:0})):tt&&(s.sort(function(n,t){return n.name<t.name?1:t.name<n.name?-1:0}),t.sort(function(n,t){return n.name<t.name?1:t.name<n.name?-1:0})),l.closeInfoWindows(),l.clearMarkersAndCircles(),l=new GoogleMap({locations:t,container:"#"+o+"-power-map",map:r,initialLoad:!1,onMarkerClick:function(n){$("article.active").removeClass("active");$('[data-name="'+n.name+'"]').addClass("active enable-on-map").show();$(".location-listings").scrollTop($(".location-listings").scrollTop()+($('[data-name="'+n.name+'"]').offset().top-$(".location-listings").offset().top));var t=new google.maps.LatLng(n.position.lat,n.position.lng);r.panTo(t)},searchedLocation:u}),l.main())}function v(){f();var n=$(".location-card-item.enable-on-map:visible");n&&n.length?$(".location-no-results-text").hide():$(".location-no-results-text").show()}function ut(){if($("#"+o+"-city-postal-search").length){var n=0,t=0,i=0,r=0;$(".location-card-item").each(function(){if($(this).attr("data-lat")&&$(this).attr("data-lat")){var u=parseFloat($(this).attr("data-lat")),f=parseFloat($(this).attr("data-lng"));(!n||u<n)&&(n=u);(!t||u>t)&&(t=u);(!r||f>r)&&(r=f);(!i||f<i)&&(i=f)}});var e=new google.maps.LatLng(n,i),s=new google.maps.LatLng(t,r),h=new google.maps.LatLngBounds(e,s),c={bounds:h,strictBounds:!1,componentRestrictions:{country:"CA"}},f=new google.maps.places.Autocomplete(document.getElementById(o+"-city-postal-search"),c);f.addListener("place_changed",function(){var n=f.getPlace();n.geometry&&(d=n.geometry.location.lat(),g=n.geometry.location.lng(),u={},u.position=new google.maps.LatLng(d,g),u.boundaries=n.geometry.viewport,u.location=n.geometry.location,p(),v())});ft(document.getElementById(o+"-city-postal-search"))}}function ft(n){function t(t,r){if("keydown"==t){var u=r;r=function(t){var r=$(".pac-item-selected").length>0,i;13!=t.which||r||(i=$.Event("keydown",{keyCode:40,which:40}),u.apply(n,[i]));u.apply(n,[t])}}i.apply(n,[t,r])}var i=n.addEventListener?n.addEventListener:n.attachEvent;n.addEventListener?n.addEventListener=t:n.attachEvent&&(n.attachEvent=t)}function f(){if(window.innerWidth>991.98){var n=0,t=$(".location-card-item.enable-on-map:visible").length;0===t?n=8:($(".location-card-item.enable-on-map:visible").each(function(){n+=$(this).outerHeight(!0)}),n-=8*(t-1));$(".heading-search").height()>.5*$(window).height()?($(".heading-search").height(.5*$(window).height()),$(".heading-search").css("overflow","auto")):$(".heading-search").height("auto");$("section.utilityNav").length?($(".cards").height($(window).height()-$("section.utilityNav").height()),$(".location-listings").css("height",Math.min($(window).height()-$("section.utilityNav").outerHeight()-$(".heading-search").outerHeight(),n))):($(".cards").height($(window).height()),$(".location-listings").css("height",Math.min($(window).height()-$(".heading-search").outerHeight(),n)))}else $(".cards").height("auto"),$(".location-listings").height("auto")}function k(){for(var i=r.getBounds(),n=0;n<t.length;n++)i.contains(new google.maps.LatLng(t[n].position.lat,t[n].position.lng))?$('[data-name="'+t[n].name+'"]:visible').length||$('[data-name="'+t[n].name+'"]').toggle():$('[data-name="'+t[n].name+'"]:visible').length&&$('[data-name="'+t[n].name+'"]').toggle();v();u={}}function et(){$(".location-card-info .location-card-cta .location-card-rebate").click(function(n){n.preventDefault();$(this).parent().siblings(".location-rebate-details").toggle();$(this).children().children(".fa-minus").toggle();$(this).children().children(".fa-plus").toggle();f()})}function ot(){$(".card-content").each(function(n,t){var i=$(t),r=i.siblings(".card-content-button");i.outerHeight()<250&&r.css("display","none")})}function st(){$(".power-map-locations-wrapper").on("click",".card-content-button",function(n){n.preventDefault();var i=$(this),t=i.prev();"+ Read More"===i.text()?i.text("- Read Less"):i.text("+ Read More");t.hasClass("card-content-opened")?(t.removeClass("card-content-opened"),t.addClass("card-content-closed")):t.hasClass("card-content-closed")&&(t.removeClass("card-content-closed"),t.addClass("card-content-opened"));f()})}function ht(){$(".power-map-locations-wrapper .refine-search-wrapper").click(function(n){n.preventDefault();$(this).toggleClass("blue");$(".refine-search-filters").toggleClass("hidden");$(".refine-search-icon .fa-minus").toggle();$(".refine-search-icon .fa-plus").toggle();f()});var n="offers";null!==$(".power-map-locations-wrapper").attr("data-rebateFilterText")&&""!==$(".power-map-locations-wrapper").attr("data-rebateFilterText")&&(n=$(".power-map-locations-wrapper").attr("data-rebateFilterText").toLowerCase());$(".power-map-locations-wrapper .filter").click(function(t){var r,u;(t.preventDefault(),$(this).toggleClass("selected"),$(this).hasClass("selected"))?($(this)[0].innerText.toLowerCase()===n?c=!0:i.push($(this)[0].innerText.toLowerCase()),e()):$(this)[0].innerText.toLowerCase()===n?(c=!1,e()):(r=i.indexOf($(this)[0].innerText.toLowerCase()),-1!==r&&(i.splice(r,1),e()));($(".power-map-locations-wrapper .filter").hasClass("selected")?$(".power-map-locations-wrapper .clear-custom-filters-wrapper").removeClass("hidden"):$(".power-map-locations-wrapper .clear-custom-filters-wrapper").addClass("hidden"),f(),i.length>0||c)?(u=c?i.length+1:i.length,$(".power-map-locations-wrapper .refine-search-wrapper .refine-search-text span").html("("+u+")")):0===i.length&&$(".power-map-locations-wrapper .refine-search-wrapper .refine-search-text span").html("")});$(".power-map-locations-wrapper .clear-custom-filters-wrapper").click(function(n){n.preventDefault();$(".power-map-locations-wrapper .filter").removeClass("selected");$(this).addClass("hidden");$(".location-card-item").css("display","flex");i=[];c=!1;e();$(".power-map-locations-wrapper .refine-search-wrapper .refine-search-text span").html("")})}function ct(){$(".power-map-checkbox .checkbox").click(function(n){n.preventDefault();$(this).toggleClass("selected");var t=$(this).attr("id");$(this).hasClass("selected")?(h.push(t.toLowerCase()),e()):(h=h.filter(function(n){return n!==t.toLowerCase()}),e());$(".power-map-checkbox .checkbox").hasClass("selected")?$(".clear-checkbox-filters-wrapper").removeClass("hidden"):$(".clear-checkbox-filters-wrapper").addClass("hidden");f()});$(".power-map-locations-wrapper .clear-checkbox-filters-wrapper").click(function(n){n.preventDefault();$(".power-map-checkbox .checkbox").removeClass("selected");$(this).addClass("hidden");$(".location-card-item").css("display","flex");h=[];e()})}function e(){t=s;$(".location-card-item").each(function(){var r=this,u=$(this).attr("data-availableServices").split(",").map(function(n){return n.toLowerCase()}),f=$(this).attr("data-type"),n=!0;h.length&&(n=h.indexOf(f.toLowerCase())>-1);n&&(i.length&&(n=i.every(function(n){return-1!==u.indexOf(n)})),c&&"false"===$(this).attr("data-hasRebate")&&(n=!1));n?$(this).css("display","flex"):(t=t.filter(function(n){return n.name!==$(r).attr("data-name")}),$(this).css("display","none"))});p();k()}var u={},s=[],t=[],i=[],h=[],c=!1,d=void 0,g=void 0,y=void 0,l=void 0,nt=!1,tt=!1,w=$(".location-card-item"),o=$(".power-map-locations-wrapper").attr("data-widgetId"),lt=Array.from(w),at=$("#"+o+"-power-map"),r=new google.maps.Map(document.getElementById(o+"-power-map"),{disableDefaultUI:!0,zoomControl:!0,gestureHandling:"cooperative",mapTypeId:$("section.power-map-locations-wrapper").attr("data-mapType")});f();r.setZoom(7);r.setCenter(new google.maps.LatLng(parseFloat(45.163512),parseFloat(-63.199957)));google.maps.event.addListenerOnce(r,"idle",function(){function i(n){n.preventDefault();var t=lt.sort(f);n.data.desc?t.reverse().forEach(function(n){$(".power-map-locations-wrapper .location-listings").append(n)}):t.forEach(function(n){$(".power-map-locations-wrapper .location-listings").append(n)});tt=n.data.desc;nt=!n.data.desc;u={};p();v()}function f(n,t){return n.dataset.name<t.dataset.name?-1:n.dataset.name>t.dataset.name?1:0}$(".power-map-locations-wrapper .sort-icon.sort-ascending").click({desc:!1},i);$(".power-map-locations-wrapper .sort-icon.sort-descending").click({desc:!0},i);ht();ot();et();st();ct();it(function(i){w.each(function(t){var r,f,e,u;y={lat:$(this).attr("data-lat"),lng:$(this).attr("data-lng")};r=void 0;i&&(r=rt(y.lat,y.lng,i.coords.latitude,i.coords.longitude));f=$(this).attr("data-markerIcon");e=n.find(function(n){return n.src===f});(s.push({index:t,markerImageRatio:e.ratio,position:y,name:$(this).attr("data-name"),type:$(this).attr("data-type"),distance:r?r.toFixed(1):"NA",phone:$(this).find(".location-card-phone").text(),markerIcon:f,cardIcon:$(this).attr("data-cardIcon"),address:$(this).attr("data-address"),displayDistance:$(this).attr("data-displayDistance"),specialty:$(this).find(".location-card-specialty").text(),hasRebate:$(this).attr("data-hasRebate"),rebateDetail:$(this).find(".location-rebate-details").text(),website:$(this).attr("data-website"),regionRadius:parseFloat($(this).attr("data-regionRadius")),cardContent:$(this).attr("data-cardContent"),mapIconBehavior:$(this).attr("data-mapIconBehavior"),displayDirectionLink:$(this).attr("data-displayDirectionLink"),isForContractorMap:$(this).attr("data-isForContractorMap"),salesforceId:$(this).attr("data-salesforceId"),email:$(this).attr("data-email")}),"true"===$(this).attr("data-displayDistance"))&&(u=$(this).find(".location-card-info .location-card-distance"),null!==u&u.length>0&&(u.innerHTML=r?r.toFixed(1)+" km":"Distance Not Available"))});t=s;l=new GoogleMap({locations:s,container:"#"+o+"-power-map",map:r,initialLoad:!0,onMarkerClick:function(n){$("article.active").removeClass("active");$('[data-name="'+n.name+'"]').addClass("active enable-on-map").show();$(".location-listings").scrollTop($(".location-listings").scrollTop()+($('[data-name="'+n.name+'"]').offset().top-$(".location-listings").offset().top));var t=new google.maps.LatLng(n.position.lat,n.position.lng);r.panTo(t)},searchedLocation:u});l.main();ut();r.addListener("idle",k);t.length||v();r.panBy(1e3,0)})})}}]),n}(),LocationsFullWidth=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"displayLocations",value:function(n){function l(n){var t=void 0;navigator.geolocation?navigator.geolocation.getCurrentPosition(function(i){t=i;n(t)},function(){h(!0);n(t)}):(h(!1),n(t))}function e(n){return n*Math.PI/180}function a(n,t,i,r){var f=e(i-n),o=e(r-t),u;return n=e(n),i=e(i),u=Math.sin(f/2)*Math.sin(f/2)+Math.sin(o/2)*Math.sin(o/2)*Math.cos(n)*Math.cos(i),12742*Math.atan2(Math.sqrt(u),Math.sqrt(1-u))}function h(n){n?window.alert("Error: The Geolocation service failed or blocked by the user."):window.alert("Error: Your browser doesn't support geolocation.");$(".location-distance-inaccurate").hide()}function s(){0===f?$(".location-no-results-text").show():$(".location-no-results-text").hide();c()}function v(){if($("#"+i+"-city-postal-search").length){var n=0,r=0,f=0,e=0;$(".location-card-item").each(function(){if($(this).attr("data-lat")&&$(this).attr("data-lat")){var t=parseFloat($(this).attr("data-lat")),i=parseFloat($(this).attr("data-lng"));(!n||t<n)&&(n=t);(!r||t>r)&&(r=t);(!e||i>e)&&(e=i);(!f||i<f)&&(f=i)}});var h=new google.maps.LatLng(n,f),c=new google.maps.LatLng(r,e),l=new google.maps.LatLngBounds(h,c),a={bounds:l,strictBounds:!1,componentRestrictions:{country:"CA"}},o=new google.maps.places.Autocomplete(document.getElementById(i+"-city-postal-search"),a);o.addListener("place_changed",function(){var n=o.getPlace();n.geometry&&(b=n.geometry.location.lat(),k=n.geometry.location.lng(),n.geometry.viewport?t.fitBounds(n.geometry.viewport):n.geometry.location&&(t.setCenter(n.geometry.location),t.setZoom(8)),s());u.closeInfoWindows()});y(document.getElementById(i+"-city-postal-search"))}}function y(n){function t(t,r){if("keydown"==t){var u=r;r=function(t){var r=$(".pac-item-selected").length>0,i;13!=t.which||r||(i=$.Event("keydown",{keyCode:40,which:40}),u.apply(n,[i]));u.apply(n,[t])}}i.apply(n,[t,r])}var i=n.addEventListener?n.addEventListener:n.attachEvent;n.addEventListener?n.addEventListener=t:n.attachEvent&&(n.attachEvent=t)}function c(){var n=$("section.utilityNav").length?$("section.utilityNav").height():0,t=$(".full-width-map-search-panel").length?$(".full-width-map-search-panel").height():0;$("#"+i+"-full-width-map").height($(window).height()-n-t);$("#"+i+"-full-width-map").height()<300&&$("#"+i+"-full-width-map").height(300)}function p(){var i=t.getBounds(),n;for(f=0,n=0;n<r.length;n++)i.contains(new google.maps.LatLng(r[n].position.lat,r[n].position.lng))&&(f+=1);f===r.length?($(".reset-zoom").hide(),$(".reset-zooom-wrapper").length&&$(".reset-zooom-wrapper").hide()):($(".reset-zoom").show(),$(".reset-zooom-wrapper").length&&$(".reset-zooom-wrapper").show());s()}function w(){$(".power-map-full-width-locations-wrapper").on("click",".card-content-button",function(n){n.preventDefault();var i=$(this),t=i.prev();"+ Read More"===i.text()?i.text("- Read Less"):i.text("+ Read More");t.hasClass("card-content-opened")?(t.removeClass("card-content-opened"),t.addClass("card-content-closed")):t.hasClass("card-content-closed")&&(t.removeClass("card-content-closed"),t.addClass("card-content-opened"))})}var r=[],b=void 0,k=void 0,o=void 0,u=void 0,f=0,d=$(".location-card-item"),g="true"===$(".power-map-full-width-locations-wrapper").attr("data-zoomAllowed"),nt="true"===$(".power-map-full-width-locations-wrapper").attr("data-panAllowed")?"cooperative":"none",i=$(".power-map-full-width-locations-wrapper").attr("data-widgetId"),t=new google.maps.Map(document.getElementById(i+"-full-width-map"),{disableDefaultUI:!0,zoomControl:g,gestureHandling:nt,mapTypeId:$("section.power-map-full-width-locations-wrapper").attr("data-mapType")});t.setZoom(7);t.setCenter(new google.maps.LatLng(parseFloat(45.163512),parseFloat(-63.199957)));google.maps.event.addListenerOnce(t,"idle",function(){l(function(e){d.each(function(t){var i,f,s,u;o={lat:$(this).attr("data-lat"),lng:$(this).attr("data-lng")};i=void 0;e&&(i=a(o.lat,o.lng,e.coords.latitude,e.coords.longitude));f=$(this).attr("data-markerIcon");s=n.find(function(n){return n.src===f});(r.push({index:t,markerImageRatio:s.ratio,position:o,name:$(this).attr("data-name"),type:$(this).attr("data-type"),distance:i?i.toFixed(1):"NA",phone:$(this).find(".location-card-phone").text(),markerIcon:f,cardIcon:$(this).attr("data-cardIcon"),address:$(this).attr("data-address"),displayDistance:$(this).attr("data-displayDistance"),specialty:$(this).find(".location-card-specialty").text(),hasRebate:$(this).attr("data-hasRebate"),rebateDetail:$(this).find(".location-rebate-details").text(),website:$(this).attr("data-website"),regionRadius:parseFloat($(this).attr("data-regionRadius")),cardContent:$(this).attr("data-cardContent"),mapIconBehavior:$(this).attr("data-mapIconBehavior"),displayDirectionLink:$(this).attr("data-displayDirectionLink"),isForContractorMap:$(this).attr("data-isForContractorMap"),salesforceId:$(this).attr("data-salesforceId"),email:$(this).attr("data-email")}),"true"===$(this).attr("data-displayDistance"))&&(u=$(this).find(".location-card-info .location-card-distance"),null!==u&u.length>0&&(u.innerHTML=i?i.toFixed(1)+" km":"Distance Not Available"))});f=r.length;u=new GoogleMap({locations:r,container:"#"+i+"-full-width-map",map:t,initialLoad:!0,onMarkerClick:function(n){var i=new google.maps.LatLng(n.position.lat,n.position.lng);t.panTo(i)},searchedLocation:{}});u.FullWidthMain();v();t.addListener("idle",p);r.length||s();c();t.panBy(1e3,0)});w();$(".reset-zoom").click(function(n){n.preventDefault();u.closeInfoWindows();u.clearMarkersAndCircles();$("#"+i+"-city-postal-search").val("");u=new GoogleMap({locations:r,container:"#"+i+"-full-width-map",map:t,initialLoad:!0,onMarkerClick:function(n){var i=new google.maps.LatLng(n.position.lat,n.position.lng);t.panTo(i)},searchedLocation:{}});u.FullWidthMain()})})}}]),n}(),LocationsContractorMap=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"displayLocations",value:function(n){$(".contractor-map").each(function(t,i){function ot(n){var t=void 0;navigator.geolocation?navigator.geolocation.getCurrentPosition(function(i){t=i;n(t)},function(){nt(!0);n(t)}):(nt(!1),n(t))}function y(n){return n*Math.PI/180}function st(n,t,i,r){var f=y(i-n),e=y(r-t),u;return n=y(n),i=y(i),u=Math.sin(f/2)*Math.sin(f/2)+Math.sin(e/2)*Math.sin(e/2)*Math.cos(n)*Math.cos(i),12742*Math.atan2(Math.sqrt(u),Math.sqrt(1-u))}function nt(n){n?window.alert("Error: The Geolocation service failed or blocked by the user."):window.alert("Error: Your browser doesn't support geolocation.");$(".location-distance-inaccurate").hide()}function k(){fi.length&&g.length&&($(".enable-on-map.active").removeClass("active"),ut?(c.sort(function(n,t){return n.name>t.name?1:t.name>n.name?-1:0}),r.sort(function(n,t){return n.name>t.name?1:t.name>n.name?-1:0})):ft&&(c.sort(function(n,t){return n.name<t.name?1:t.name<n.name?-1:0}),r.sort(function(n,t){return n.name<t.name?1:t.name<n.name?-1:0})),v.closeInfoWindows(),v.clearMarkersAndCircles(),v=new GoogleMap({locations:r,container:"#"+e+"-power-map",map:f,initialLoad:!1,onMarkerClick:function(n){$("article.active").removeClass("active");$('[data-name="'+n.name+'"]').addClass("active enable-on-map").show();$(".location-listings").scrollTop($(".location-listings").scrollTop()+($('[data-name="'+n.name+'"]').offset().top-$(".location-listings").offset().top));var t=new google.maps.LatLng(n.position.lat,n.position.lng);f.panTo(t)},searchedLocation:s}),v.ContractorMain())}function p(){o();var n=$("article.location-card-item.enable-on-map:visible");n&&n.length?$(".location-no-results-text").hide():$(".location-no-results-text").show()}function ht(){if($("#"+e+"-city-postal-search").length){var n=0,t=0,i=0,r=0;$(".location-card-item").each(function(){if($(this).attr("data-lat")&&$(this).attr("data-lat")){var u=parseFloat($(this).attr("data-lat")),f=parseFloat($(this).attr("data-lng"));(!n||u<n)&&(n=u);(!t||u>t)&&(t=u);(!r||f>r)&&(r=f);(!i||f<i)&&(i=f)}});var f=new google.maps.LatLng(n,i),o=new google.maps.LatLng(t,r),h=new google.maps.LatLngBounds(f,o),c={bounds:h,strictBounds:!1,componentRestrictions:{country:"CA"}},u=new google.maps.places.Autocomplete(document.getElementById(e+"-city-postal-search"),c);u.addListener("place_changed",function(){var n=u.getPlace();n.geometry&&(it=n.geometry.location.lat(),rt=n.geometry.location.lng(),s={},s.position=new google.maps.LatLng(it,rt),s.boundaries=n.geometry.viewport,s.location=n.geometry.location,k(),p())});ct(document.getElementById(e+"-city-postal-search"))}}function ct(n){function t(t,r){if("keydown"==t){var u=r;r=function(t){var r=$(".pac-item-selected").length>0,i;13!=t.which||r||(i=$.Event("keydown",{keyCode:40,which:40}),u.apply(n,[i]));u.apply(n,[t])}}i.apply(n,[t,r])}var i=n.addEventListener?n.addEventListener:n.attachEvent;n.addEventListener?n.addEventListener=t:n.attachEvent&&(n.attachEvent=t)}function o(){var n=0,i=$("article.location-card-item.enable-on-map:visible").length,t;0===i?n=8:($("article.location-card-item.enable-on-map:visible").each(function(){n+=$(this).outerHeight(!0)}),n-=8*(i-1));$(".heading-search").height()>.5*$(window).height()?($(".heading-search").height(.5*$(window).height()),$(".heading-search").css("overflow","auto")):$(".heading-search").height("auto");t=$(".contact-contractors").length?$(".contact-contractors").outerHeight():0;$("section.utilityNav").length?($(".cards").height($(window).height()-$("section.utilityNav").height()),$(".location-listings").css("height",Math.min($(window).height()-$("section.utilityNav").outerHeight()-$(".heading-search").outerHeight()-t,n))):($(".cards").height($(window).height()),$(".location-listings").css("height",Math.min($(window).height()-$(".heading-search").outerHeight()-t,n)))}function tt(){for(var e,t,o=f.getBounds(),i=[],u=[],n=0;n<r.length;n++)o.contains(new google.maps.LatLng(r[n].position.lat,r[n].position.lng))?i.push(r[n].salesforceId):u.push(r[n].salesforceId);for(e=0;e<i.length;e++)$('article.location-card-item.enable-on-map[data-salesforceid="'+i[e]+'"]').show();for(t=0;t<u.length;t++)i.includes(u[t])||$('article.location-card-item.enable-on-map[data-salesforceid="'+u[t]+'"]').hide();p();s={}}function lt(){$(".location-card-info .location-card-rebate").click(function(n){n.preventDefault();$(this).closest(".other-locations-offers-expanders-parents").find(".location-other-locations-details").hide();$(this).closest(".other-locations-offers-expanders-parents").find(".location-rebate-details").toggle();$(this).children().children(".fa-minus").toggle();$(this).children().children(".fa-plus").toggle();$(this).parent().find(".other-locations-icon").children(".fa-minus").hide();$(this).parent().find(".other-locations-icon").children(".fa-plus").show();o()})}function at(){$(".card-content").each(function(n,t){var i=$(t),r=i.siblings(".card-content-button");i.outerHeight()<250&&r.css("display","none")})}function vt(){$(".power-map-locations-wrapper").on("click",".card-content-button",function(n){n.preventDefault();var i=$(this),t=i.prev();"+ Read More"===i.text()?i.text("- Read Less"):i.text("+ Read More");t.hasClass("card-content-opened")?(t.removeClass("card-content-opened"),t.addClass("card-content-closed")):t.hasClass("card-content-closed")&&(t.removeClass("card-content-closed"),t.addClass("card-content-opened"));o()})}function yt(){$(".power-map-locations-wrapper .refine-search-wrapper").click(function(n){n.preventDefault();$(this).toggleClass("blue");$(".refine-search-filters").toggleClass("hidden");$(".refine-search-icon .fa-minus").toggle();$(".refine-search-icon .fa-plus").toggle();o()});var n="offers";null!==$(".power-map-locations-wrapper").attr("data-rebatefiltertext")&&""!==$(".power-map-locations-wrapper").attr("data-rebatefiltertext")&&(n=$(".power-map-locations-wrapper").attr("data-rebatefiltertext").toLowerCase());$(".power-map-locations-wrapper .filter").click(function(t){var i,r;(t.preventDefault(),$(this).toggleClass("selected"),$(this).hasClass("selected"))?($(this)[0].innerText.toLowerCase()===n?a=!0:u.push($(this)[0].innerText.toLowerCase()),h()):$(this)[0].innerText.toLowerCase()===n?(a=!1,h()):(i=u.indexOf($(this)[0].innerText.toLowerCase()),-1!==i&&(u.splice(i,1),h()));($(".power-map-locations-wrapper .filter").hasClass("selected")?$(".power-map-locations-wrapper .clear-custom-filters-wrapper").removeClass("hidden"):$(".power-map-locations-wrapper .clear-custom-filters-wrapper").addClass("hidden"),o(),u.length>0||a)?(r=a?u.length+1:u.length,$(".power-map-locations-wrapper .refine-search-wrapper .refine-search-text span").html("("+r+")")):0===u.length&&$(".power-map-locations-wrapper .refine-search-wrapper .refine-search-text span").html("")});$(".power-map-locations-wrapper .clear-custom-filters-wrapper").click(function(n){n.preventDefault();$(".power-map-locations-wrapper .filter").removeClass("selected");$(this).addClass("hidden");$(".location-card-item").css("display","flex");u=[];a=!1;h();$(".power-map-locations-wrapper .refine-search-wrapper .refine-search-text span").html("")})}function pt(){$(".power-map-checkbox .checkbox").click(function(n){n.preventDefault();$(this).toggleClass("selected");var t=$(this).attr("id");$(this).hasClass("selected")?(l.push(t.toLowerCase()),h()):(l=l.filter(function(n){return n!==t.toLowerCase()}),h());$(".power-map-checkbox .checkbox").hasClass("selected")?$(".clear-checkbox-filters-wrapper").removeClass("hidden"):$(".clear-checkbox-filters-wrapper").addClass("hidden");o()});$(".power-map-locations-wrapper .clear-checkbox-filters-wrapper").click(function(n){n.preventDefault();$(".power-map-checkbox .checkbox").removeClass("selected");$(this).addClass("hidden");$(".location-card-item").css("display","flex");l=[];h()})}function h(){r=c;$(".location-card-item").each(function(){var t=this,i=$(this).attr("data-availableServices").split(",").map(function(n){return n.toLowerCase()}),f=$(this).attr("data-type"),n=!0;l.length&&(n=l.indexOf(f.toLowerCase())>-1);n&&(u.length&&(n=u.every(function(n){return-1!==i.indexOf(n)})),a&&"false"===$(this).attr("data-hasRebate")&&(n=!1));n?$(this).css("display","flex"):(r=r.filter(function(n){return n.name!==$(t).attr("data-name")}),$(this).css("display","none"))});k();tt()}function w(n){var t=n.prop("checked"),i=n.data("salesforceid");$('input[data-salesforceid="'+i+'"]').each(function(n,i){$(i).prop("checked",t)})}function wt(){$(".location-alert").alert("close");$(".location-listings").prepend('\n                        <div class="rounded-0 alert alert-danger alert-dismissible location-alert text-center sticky-top" style="z-index: 1;" role="alert" data-dismiss="alert">\n                            You can only choose up to 3 contractors.\n                            <button type="button" class="close" data-dismiss="alert" aria-label="Close">\n                                <span aria-hidden="true">&times;<\/span>\n                            <\/button>\n                        <\/div>');$(".alert").delay(4e3).slideUp(200,function(){$(this).alert("close")})}function bt(){kt();dt()}function kt(){var n=$(".location-card-check-input-left-panel:checked").closest(".location-card-info").find(".location-card-name");$(".selected-contractors-overview").empty();n.each(function(n,t){var r=$(t).text(),i=$('<div class="form-check selected-contractor"><\/div>').appendTo(".selected-contractors-overview");$('<input class="form-check-input" type="checkbox", value="" checked>').appendTo(i);$('<label class="form-check-label selected-contractor-label">'+r+"<\/label>").appendTo(i)})}function dt(){$(".contact-selected-contractors-button").removeClass("button-muted");$(".contact-selected-contractors-button").addClass("button-activated")}function gt(){$(".contact-selected-contractors-button").addClass("button-muted");$(".contact-selected-contractors-button").removeClass("button-activated")}function ni(){var r=$(".location-card-check-input-left-panel:checked").closest(".location-card-info").find(".location-card-name"),n=[];r.each(function(t,i){var r=$(i).data("sfid");n.push(r)});var u=$(".contact-contractor-form").attr("data-formUrl"),t=["&control102942776=","&control102942786=","&control102942787="],i=u;$.each(n,function(r){if(i+=""+t[r]+n[r],r===t.length)return!1});$("#"+e+"-contact-form").remove();$('\n\t\t\t\t<iframe\n\t\t\t\t\tallowTransparency="true"\n\t\t\t\t\tstyle="min-height:300px; height:60vh; overflow:auto;"\n\t\t\t\t\twidth="100%"\n\t\t\t\t\tid="'+e+'-contact-form"\n\t\t\t\t\tname="'+e+'-contact-form"\n\t\t\t\t\tmarginwidth="0"\n\t\t\t\t\tmarginheight="0"\n\t\t\t\t\tframeborder="0"\n\t\t\t\t\tsrc="'+i+'">\n\t\t\t\t<\/iframe>').appendTo(".modal-content")}function ti(){var t=$(".location-card-check-input:checked"),n=[];return t.each(function(t,i){-1===$.inArray($(i).attr("data-salesforceid"),n)&&n.push($(i).data("salesforceid"))}),n.length}var d=$(i),e=$(".contractor-map > .power-map-locations-wrapper").attr("data-widgetId"),s={},c=[],r=[],u=[],l=[],a=!1,it=void 0,rt=void 0,b=void 0,v=void 0,ut=!1,ft=!1,g=d.find(".location-card-item"),ii=d.find(".other-location-card-item"),ri=g.add(ii),ui=Array.from(g),fi=d.find(".contact-contractor-map"),f=new google.maps.Map(document.getElementById(e+"-power-map"),{disableDefaultUI:!0,zoomControl:!0,gestureHandling:"cooperative",mapTypeId:$("section.power-map-locations-wrapper").attr("data-mapType")}),et;o();f.setZoom(7);f.setCenter(new google.maps.LatLng(parseFloat(45.163512),parseFloat(-63.199957)));google.maps.event.addListenerOnce(f,"idle",function(){function t(n){n.preventDefault();var t=ui.sort(i);n.data.desc?t.reverse().forEach(function(n){$(".power-map-locations-wrapper .location-listings").append(n)}):t.forEach(function(n){$(".power-map-locations-wrapper .location-listings").append(n)});ft=n.data.desc;ut=!n.data.desc;s={};k();p()}function i(n,t){return n.dataset.name<t.dataset.name?-1:n.dataset.name>t.dataset.name?1:0}$(".power-map-locations-wrapper .sort-icon.sort-ascending").click({desc:!1},t);$(".power-map-locations-wrapper .sort-icon.sort-descending").click({desc:!0},t);yt();pt();at();lt();vt();ot(function(t){ri.each(function(i){var r,f,e,u;b={lat:$(this).attr("data-lat"),lng:$(this).attr("data-lng")};r=void 0;t&&(r=st(b.lat,b.lng,t.coords.latitude,t.coords.longitude));f=$(this).attr("data-markerIcon");e=n.find(function(n){return n.src===f});(c.push({index:i,markerImageRatio:e.ratio,position:b,name:$(this).attr("data-name"),type:$(this).attr("data-type"),distance:r?r.toFixed(1):"NA",phone:$(this).attr("data-phone"),markerIcon:f,cardIcon:$(this).attr("data-cardIcon"),address:$(this).attr("data-address"),displayDistance:$(this).attr("data-displayDistance"),specialty:$(this).find(".location-card-specialty").text(),hasRebate:$(this).attr("data-hasRebate"),rebateDetail:$(this).attr("data-rebatedetails"),website:$(this).attr("data-website"),regionRadius:parseFloat($(this).attr("data-regionRadius")),cardContent:$(this).attr("data-cardContent"),mapIconBehavior:$(this).attr("data-mapIconBehavior"),displayDirectionLink:$(this).attr("data-displayDirectionLink"),isForContractorMap:$(this).attr("data-isForContractorMap"),salesforceId:$(this).attr("data-salesforceId"),id:$(this).attr("data-id"),email:$(this).attr("data-email"),otherLocations:JSON.parse($(this).attr("data-otherlocations"))}),"true"===$(this).attr("data-displayDistance"))&&(u=$(this).find(".location-card-info .location-card-distance"),null!==u&u.length>0&&(u.innerHTML=r?r.toFixed(1)+" km":"Distance Not Available"))});r=c;v=new GoogleMap({locations:c,container:"#"+e+"-power-map",map:f,initialLoad:!0,onMarkerClick:function(n){$("article.active").removeClass("active");$('[data-name="'+n.name+'"]').addClass("active enable-on-map").show();$(".location-listings").scrollTop($(".location-listings").scrollTop()+($('[data-name="'+n.name+'"]').offset().top-$(".location-listings").offset().top));var t=new google.maps.LatLng(n.position.lat,n.position.lng);f.panTo(t)},searchedLocation:s});v.ContractorMain();ht();f.addListener("idle",tt);r.length||p();f.panBy(1e3,0)})});et=new MutationObserver(function(){$(".location-info-window").length&&$("input[data-salesforceid]").each(function(n,t){$('input[data-salesforceid="'+$(t).data("salesforceid")+'"]').each(function(n,i){$(i).prop("checked",$(t).prop("checked"))})})});$(".contact-contractor-map").each(function(){et.observe(this,{childList:!0,subtree:!0})});$(document).on("change",".location-card-check-input",function(){event.preventDefault();w($(this));var n=ti();n>3?(wt(),$(this).prop("checked",!1),w($(this))):0===n?(w($(this)),gt()):n>0&&n<=3&&(w($(this)),bt())});$(".contact-selected-contractors-button").on("click",function(){ni()}),function(){$(".location-card-info .location-card-other-locations").click(function(n){n.preventDefault();$(this).closest(".other-locations-offers-expanders-parents").find(".location-other-locations-details").toggle();$(this).closest(".other-locations-offers-expanders-parents").find(".location-rebate-details").hide();$(this).children().children(".fa-minus").toggle();$(this).children().children(".fa-plus").toggle();$(this).parent().find(".rebate-icon").children(".fa-minus").hide();$(this).parent().find(".rebate-icon").children(".fa-plus").show();o()})}()})}}]),n}(),Custom=function(){function n(){_classCallCheck(this,n)}return _createClass(n,null,[{key:"main",value:function(){if(LoginDropdown.main(),Menu.main(),MobileMenu.main(),ToggleSearch.main(),StickyHeader.main(),Footer.main(),Cookie.main(),FormLabelAnimation.main(),($(".text-size-increase").length||$(".text-size-decrease").length)&&TextSizer.main(),GoogleSearch.main(),MainContentHeight.main(),TabbedContent.main(),Alert.main(),ResponsiveTables.main(),Inputmasking.main(),ListStyling.main(),DatePicker.main(),AnimateNumbers.main(),Tooltipster.main(),MobileAccordion.main(),Accordion.main(),FAQlisting.main(),FAQaccordion.main(),EmailVerification.main(),SameAsService.main(),CharacterCount.main(),FeaturedVideos.main(),BatteryOutageCalculator.init(),new TodaysPowerTabs,new ChartEnergySourcesMap,new ChartPeakPower,new ChartTodaysPower,new ChartWindGeneration,new ChartRenewables,$(".power-map").length||$(".full-width-map").length||$(".contact-contractor-map").length){var t=$(".location-card-item").add($(".other-location-card-item")).map(function(){return $(this).attr("data-markerIcon")}).get(),i=[].concat(_toConsumableArray(new Set(t))),n=[];i.forEach(function(t){""===t?n.push(new Promise(function(n){n({src:t,ratio:1})})):n.push(new Promise(function(n,i){var r=new Image;r.onload=function(){return n({src:t,ratio:r.naturalWidth/r.naturalHeight})};r.onerror=i;r.src=t}))});Promise.all(n).then(function(n){$(".power-map").length?new Locations.displayLocations(n):$(".contact-contractor-map").length?new LocationsContractorMap.displayLocations(n):$(".full-width-map").length&&new LocationsFullWidth.displayLocations(n)})}}}]),n}(),MainScripts=function(){Custom.main();"function"==typeof svg4everybody&&svg4everybody()}()