(function(n){"use strict";function u(n){n+="=";for(var i=document.cookie.split(/;\s*/),t=i.length-1;t>=0;t--)if(!i[t].indexOf(n))return i[t].replace(n,"")}var t=u("website#lang"),f="en-us",r,i;t!=null&&t!=="en"&&(f=t);r=window.HA!=null&&window.HA.hawaiianAppDeps!=null?window.HA.hawaiianAppDeps:[];i=n.module("hawaiianApp",["ng.shims.placeholder","ngSanitize","oc.lazyLoad","haConfigModule","haUtilsModule","haGlobalsModule","haFavoritesService","HaFavoriteModule","haDraggableModule","haErrorsModule","haKeyboardModule","noClickFocusModule","haWindowEventsModule","haLocalizeNameModule","haLocalizeDateModule","haAlertModule","haGlobalAlertModule","haGlobalMessageModule","haErrorPageModule","haModalService","haUserService","haGlobalHeaderModule","haGlobalFooterModule","haHeaderSearchModule","ui.mask","ui.keypress","ui.bootstrap.pagination","hmTouchEvents","ngTouch","ngAnimate","duScroll","haSitecoreModule","haScopeModule","haViewModelModule","ui.bootstrap.tabs","ui.bootstrap.accordion","haMinisiteModule","haEqualHeightModule","haPrimaryNavAccountMenuModule","haPrimaryNavAlertsModule","haMobileService","haFormNativeappLinkSmsModule","haButtonSpinnerModule","haLoadingSpinnerModule"].concat(r));i.config(["$logProvider","$sceProvider","$anchorScrollProvider","$provide","$ocLazyLoadProvider",function(n,t,i,r,u){var f=window.location.search.indexOf("debug")>=0,e=window.location.hostname.indexOf("local")===0;n.debugEnabled(f||e);t.enabled(!1);i.disableAutoScrolling();u.config({debug:f||e,events:!1,modules:[{name:"haGoogleMapModule",files:["/Scripts/app/components/ha-google-map.js"]},{name:"haShareButtonModule",files:["/Scripts/app/components/ha-share-button.js"]},{name:"haDocsModule",files:["/Scripts/app/controllers/ha-docs.js"]},{name:"haCartrawlerOneWayFormsModule",files:["/Scripts/app/controllers/ha-cartrawler-oneway-forms.js"]}]});r.decorator("ngModelDirective",["$delegate",function(n){var t=n[0],i=t.controller;return t.controller=["$scope","$element","$attrs","$injector",function(n,t,r,u){var f=r.name,e;f!=null&&f.indexOf("{{")>-1&&(e=u.get("$interpolate"),r.$set("name",e(f)(n)));u.invoke(i,this,{$scope:n,$element:t,$attrs:r})}],n}]);r.decorator("formDirective",["$delegate",function(n){var t=n[0],i=t.controller;return t.controller=["$scope","$element","$attrs","$injector",function(n,t,r,u){var f=r.name||r.ngForm,e;f!=null&&f.indexOf("{{")>-1&&(e=u.get("$interpolate"),r.$set("name",e(f)(n)));u.invoke(i,this,{$scope:n,$element:t,$attrs:r})}],n}])}]);i.run(["$q","$rootScope","$location","$anchorScroll","haModal","haGlobals","haUtils","haMobileSvc","haConfig",function(t,i,r,u,f,e,o,s,h){function c(){r.hash()&&u()}typeof Promise=="undefined"&&(window.Promise=function(n){var i=t.defer();return n(function(n){i.resolve(n)},function(n){i.reject(n)}),i.promise},Promise.resolve=function(n){return new Promise(function(t){t(n)})},Promise.reject=t.reject,Promise.all=t.all);i.haModal=f;c();i.$on("$locationChangeSuccess",function(){c()});e(["$langCode","$language"],function(n,t){h.setLanguageCode(n);i.$language=t});i.constructor.prototype.getMediaImage=function(n){return o.getImageFromSiteCoreString(n)};i.getTemplateUrl=h.getTemplateUrl;i.getRazorTemplateUrl=h.getRazorTemplateUrl;i.getImgUrl=h.getImgUrl;i.csrf=window.tokens;i.moment=moment;i.isMobile=s.determineIsMobile();n.element(window).bind("resize",function(){i.isMobile=s.determineIsMobile();i.$apply()})}])})(angular),function(n){"use strict";n.module("haGlobalFooterModule",[]).directive("haGlobalFooter",["$rootScope",function(n){return{restrict:"A",scope:!0,link:function(){$(".back-to-top").click(function(){n.isMobile||(window.scrollTo({top:0,behavior:"smooth"}),$("#skipToContent").focus());n.isMobile&&window.scrollTo(0,0)})},controller:["$scope",function(n){function i(){for(var t=[],n,r=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),i=0;i<r.length;i+=1)n=r[i].split("="),t.push(n[0]),t[n[0]]=n[1];return t}var t=i();t.subscriptionflag&&t.subscriptionflag==="1"&&(n.ShowFooterHeaderAlert=!0,n.FooterErrorType="error",n.FooterHeaderMessage="Error Occured");n.Date=new Date}]}}])}(angular),function(n){"use strict";n.module("haGlobalHeaderModule",["haGlobalHeaderAPI"]).directive("haGlobalHeader",["$timeout","haModal","$http","$rootScope",function(t,i,r,u){return{restrict:"A",scope:!0,link:function(i,r){function f(n,r){if(n){o.css({bottom:0,visibility:"visible"});$(".navtray-content-inner.active").removeClass("active");var u=$(".navtray-content-inner--"+r);$(".nav-overflow").css("max-height",s);i.primaryNavtrayIsOpen=!0;i.currentSection=r;t(function(){u.addClass("active");$(".nav-pane").css("opacity","1")},120)}else o.css({bottom:0,transition:"bottom .2s ease-in"}),i.primaryNavtrayIsOpen=!1,i.currentSection=null,$(".nav-overflow").css("max-height","0"),$(".nav-pane").css("opacity","0"),t(function(){o.css({visibility:"hidden"})},200)}function e(n){i.regionSelectMenuIsOpen=n;n||$(".region.link").focus()}function h(n){var r=$(".nav-pane."+i.currentSection),u=$(".nav-pane."+n);r.css("opacity","1");i.currentSection=n;t(function(){u.css("opacity","1")},90)}var o=r.find("[ha-primary-nav-tray]"),s="185px";if(i.skipToContent=function(){$('[role="main"] :tabbable:first').focus()},i.toggleNavigation=function(r){i.primaryNavtrayIsOpen?i.currentSection===r?f(!1):h(r):f(!0,r);r==="book"&&(u.user.isExpertBookingOptIn||t(function(){n.element("[ha-global-header]").find('a[href^="/Book/ExpertBooking"]').addClass("ng-hide")},0))},i.toggleRegion=function(){i.regionSelectMenuIsOpen?e(!1):e(!0)},i.$root.isMobile)i.$watch("mobileMenus",function(n){n.menuOpen||n.myAcctOpen?$('.ha-global-footer, section[role="main"]').hide():$('.ha-global-footer, section[role="main"]').show()},!0);else{$("html").on("click",function(n){var r=$.grep($(n.target).parents(),function(n){return $(n).hasClass("nav-overflow")}).length>0;!i.primaryNavtrayIsOpen||r||$(n.target).hasClass("ha-nav")||t(function(){f(!1)});i.regionSelectMenuIsOpen&&!$(n.target).closest(".parent").hasClass("region")&&t(function(){e(!1)})});$("body").delegate("a:not(.ha-nav.nav-li-inner, .nav-pane a)","focus",function(){i.primaryNavtrayIsOpen&&t(function(){f(!1)})}).delegate("a:not(.region)","focus",function(){i.regionSelectMenuIsOpen&&t(function(){e(!1)})});$("body").on("keyup",function(n){if(n.keyCode===27&&(n.preventDefault(),i.regionSelectMenuIsOpen&&t(function(){e(!1)}),i.primaryNavtrayIsOpen)){var r=$(document.activeElement).parent().attr("class").split(" ")[1];["book","manage","airline","island"].indexOf(r)>-1&&$(".ha-nav."+r).focus();t(function(){f(!1)})}});$("#skipToContent").focus(function(){$(this).removeClass("sr-only")}).blur(function(){$(this).addClass("sr-only")});$(".nav-pane").removeClass("init")}},controller:["$scope","$rootScope","haUser","haFavorites","haGlobals","haGlobalHeaderAPI",function(n,t,i,r,u,f){t.user&&$.extend(t.user,{accountType:sessionStorage.getItem("accType"),haMiles:sessionStorage.getItem("haMiles")});n.mobileMenus={myAcctOpen:!1,menuOpen:!1};t.corpAccTypes=["C","R","W","A"];t.individualAccTypes=["B","D","E","H","I","O","P","S","T","V","Z"];n.logout=function(){i.logout();sessionStorage.clear()};var o,s,h,e;i.updateUser();r.updateFavorites();u("enableUSSite",function(n){o=n==="True"});u("enableAUSite",function(n){s=n==="True"});u("enableNZSite",function(n){h=n==="True"});u("sitecoreContextId",function(n){e=n});u(["isLoggedIn","acctType","acctNo","isExpertBookingOptIn","haMilesEliteStatus"],function(n,i,r,u,f){t.isLoggedIn=n;t.user&&$.extend(t.user,{accountType:i,haMiles:r,isExpertBookingOptIn:u,haMilesEliteStatus:f})});n.navSelectCountry=function(n){f.selectCountry(n,e).success(function(n){n!==null&&n!==""&&(window.location.href=n.RedirectUrl)},function(n){window.alert(n)})}}]}}])}(angular),function(n){"use strict";n.module("haHeaderSearchModule",[]).directive("haHeaderSearch",["haModal","$http",function(n,t){return{restrict:"A",scope:!0,link:function(i){function r(t){t?($("#searchModalTemplate .search-textarea").removeAttr("id"),n({id:"SearchModel",backdrop:!1,scope:i,size:"modal-size",template:$("#searchModalTemplate"),cancel:{fn:function(){i.searchModalIsOpen=!1}}}),$("#searchModalTemplate .search-textarea").attr("id","help-search"),$("#searchModalTemplate").attr("role","dialog")):(i.$modalCancel(),$(".nav-utility-li--search > a").focus());i.searchModalIsOpen=t}i.search=function(){i.searchText?($(".search-submit-btn").removeClass("disabled"),$(".search-submit-btn > .sr-only").css("display","none")):($(".search-submit-btn").addClass("disabled"),$(".search-submit-btn > .sr-only").css("display","block"))};i.submitSearch=function(){if(!i.searchText)return!1;t({url:"/search-results",method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},data:$.param({searchText:i.searchText})}).then(function(){window.location.href="/search-results"})};i.toggleSearch=function(){i.searchModalIsOpen?r(!1):r(!0)}}}}])}(angular),function(n){"use strict";var t=n.module("haMinisiteModule",[]);t.directive("haMinisite",["$rootScope","haConfig",function(){return{restrict:"A",scope:{},link:function(){}}}])}(angular),function(n){"use strict";var t=n.module("haMinisiteModule");t.directive("haMinisiteCarousel",["$rootScope","haConfig",function(){return{restrict:"A",scope:!0,link:function(n,t){var i=$(".slides .slides-inner",t),r=$(".slides .slides-inner .slide",t),u,f;n.slidecount=r.length;u=n.slidecount*100+"%";f=100/n.slidecount+"%";i.css("width",u);r.css("width",f);n.currentslidenum=0;n.captionvisible=!1;n.toggleCaption=function(){n.captionvisible=!n.captionvisible};n.goToSlide=function(t){if(t<0||t>n.slidecount-1)return!1;n.currentslidenum=t;i.animate({marginLeft:"-"+100*t+"%"},1e3)};n.prevSlide=function(){n.goToSlide(n.currentslidenum-1)};n.nextSlide=function(){n.goToSlide(n.currentslidenum+1)}}}}])}(angular),function(n){"use strict";var t=n.module("haMinisiteModule");t.directive("haMinisiteCrossfader",["$rootScope","haConfig",function(){return{restrict:"A",scope:!0,link:function(n,t){var o=$(".slides .slides-inner",t),u=$(".slides .slides-inner .slide",t),f=u.length,i,r,e;n.captionvisible=!1;n.toggleCaption=function(){n.captionvisible=!n.captionvisible};f>1&&(i=0,e=function(){r=u.filter("[data-slide-num="+i+"]");r.fadeOut("400",function(){r.remove().appendTo(o).attr("style","");i=i==f-1?0:i+1})},setInterval(function(){e()},2500))}}}])}(angular),function(n){"use strict";var t=n.module("haMinisiteModule");t.directive("haMinisiteLargefeature",["$rootScope","haConfig",function(){return{restrict:"A",scope:!0,link:function(n){n.captionvisible=!1;n.toggleCaption=function(){n.captionvisible=!n.captionvisible}}}}])}(angular),function(n){"use strict";var t=n.module("haMinisiteModule");t.directive("haMinisiteMenu",["$rootScope","haConfig",function(){return{restrict:"A",scope:!1,link:function(n){var f=$(window),h=$("html"),e=$("body"),o=$(".ha-global-header"),t=$("[ha-minisite] [ha-minisite-menu] #menu-toggle"),c=$("span",t),s=$("[ha-minisite] [ha-minisite-menu] #menu-dropdown"),i=$("[ha-minisite] section"),r,u;n.menu=[];r="";$.each(i,function(t,i){var u=$(i).attr("data-name");$(i).attr("data-section-index",t);n.menu.push({name:u,hidden:u==""});u!=""?r=u:$(i).attr("data-name",r)});n.currentsection=0;n.currentsectionname="";n.menuvisible=!1;n.toggleMenu=function(t){t.preventDefault();t.stopPropagation();n.menuvisible=!n.menuvisible};e.click(function(){n.menuvisible=!1;n.$apply()});n.scrollTo=function(t,r){r.preventDefault();r.stopPropagation();n.menuvisible=!1;n.currentsection=t;var u=i.filter("[data-section-index="+t+"]");h.add(e).animate({scrollTop:u.offset().top},"slow")};u=function(){$.each(i,function(i,r){var e=parseInt(t.css("top")),u=f.scrollTop(),h=$(r).offset().top+$(r).outerHeight()-e-u,c=o.offset().top+o.outerHeight()-u;return c<=0?(s.addClass("stickied"),t.addClass("stickied")):(s.removeClass("stickied"),t.removeClass("stickied")),h>=0?(n.currentsection=i,i==0?(n.menuindicatorvisible=!1,n.currentsectionname=""):(n.menuindicatorvisible=!0,n.currentsectionname=$(r).attr("data-name")),!1):void 0})};u();f.scroll(function(){u();n.$apply()})}}}])}(angular),function(n){"use strict";var t=n.module("haMinisiteModule");t.directive("haMinisiteSlider",["$rootScope","haConfig",function(){return{restrict:"A",scope:!1,link:function(n,t){var o=$(window),r=$("body"),p=$(".modal .modal-inner"),i=$(".tiles .tiles-inner",t),u=$(".tiles .tiles-inner .tile",t),y=$(".scrollbar",t),s=$(".scrollbar .handle",t),h=u.length,c,l,a,f,v,e;o.load(function(){c=u.first().width();l=parseInt(u.first().css("margin-left"));a=parseInt(u.first().css("margin-right"));f=h*c+(h-1)*a+l*2;v=s.width();i.css("width",f)});i.scope().updateDraggableSettings({axis:"x",drag:function(){var n=parseInt(i.css("left")),t=f-o.width();if(n>0)return i.css("left","0px"),!1;if(n<t*-1)return i.css("left","-"+t+"px"),!1;var r=Math.abs(n/t),u=y.width(),e=u-v,h=e*r;s.css("margin-left",h+"px")}});e=function(t){t.keyCode===27&&(n.hideTileDetail(),n.$apply())};n.viewTileDetail=function(t){r.addClass("modal-active");n.modalcontent=$(t.currentTarget).siblings(".modal-content").html();n.modalvisible=!0;r.bind("keydown",e)};n.hideTileDetail=function(){r.removeClass("modal-active");n.modalcontent="";n.modalvisible=!1;r.unbind("keydown",e)}}}}])}(angular),function(n){"use strict";var t=n.module("haMinisiteModule");t.directive("haMinisiteShowcaseVideo",[function(){return{restrict:"A",scope:!0,link:function(n){var i=$(window),t=$(".video-autoplay"),r=t.map(function(){return $(this)[0]});n.IsVideoReadys=[];t.each(function(t){n.IsVideoReadys[t]=!1});n.setVideoReady=function(t){n.IsVideoReadys[t]=!0};i.scroll(function(){var i=$(window).height()/3,r=$(window).scrollTop()+i,u=r+i;t.each(function(t){var i=$(this).offset().top,f=r;i+$(this).outerHeight(!0)>=f&&i<=u&&this.paused&&n.IsVideoReadys[t]&&this.readyState>=2&&this.play()})});t.each(function(t){$(this).on("mouseover",function(){this.paused&&n.IsVideoReadys[t]&&this.readyState>=2&&this.play()})});t.each(function(t){$(this).on("canplaythrough",n.setVideoReady(t))});t.each(function(){this.addEventListener("ended",function(){this.paused||this.pause()})})}}}])}(angular),function(n){"use strict";var t;try{t=n.module("haFormNativeappLinkSmsModule")}catch(i){t=n.module("haFormNativeappLinkSmsModule",["haHttpService","haGeoDataModule"])}t.directive("haFormNativeappLinkSms",["$q","haGlobals","haHttpService","haGeoDataSvc",function(t,i,r,u){var f=function(t,f,e){t.IsCountryDataReady=!1;u.getCountries().then(function(i){t.countries=i;n.extend(t,{countryCodeData:u.getPhoneCountryCodes()});t.phoneRegexByCC=function(n){var t=u.lookupCountryByCode(n);return t!=null?u.getPhoneNumberRegex(t.Key):/.*/};t.phoneCountryCodeByCC=function(n){var i=t.countries.filter(function(t){if(t.IsoCode===n)return t});return i.length===1?i[0].PhoneCountryCode:""};t.IsCountryDataReady=!0},function(){!t.form||$(t.form).hide()});$(document).ready(function(){t.isModal||(t.form=$("#"+e.formName),t.msgSent=f.find(".msgSent"),t.msgFailed=f.find(".msgFailed"))});t.recipient={};t.recipient.CountryCode="USA";i("defaultCountryCode",function(n){t.recipient.CountryCode=n});t.recipient.Number="";t.formNativeappLinkSmsSubmit=function(){t.isModal&&!t.form&&(t.form=$("#"+e.formName),t.msgSent=f.find(".msgSentModal"),t.msgFailed=f.find(".msgFailedModal"));t.sendSmsRequest().success(function(){$(t.msgSent).fadeIn("slow");setTimeout(function(){$(t.msgSent).fadeOut("slow")},5e3);t.isSubmitted=!1}).error(function(){$(t.msgFailed).fadeIn("slow");setTimeout(function(){$(t.msgFailed).fadeOut("slow")},5e3);t.isSubmitted=!1})};t.isSubmitted=!1;t.sendSmsRequest=function(){t.isSubmitted=!0;var n=t.form[0].elements,i="+"+$(n.PhoneCountryCode).val()+$(n.PhoneNumber).val().replace(/\D/g,""),u=$(n.area).val();return r.POST("/api/v2/shared/TextAppLink",{phone:i,area:u})}};return{restrict:"A",scope:!0,link:f}}])}(angular),function(n){"use strict";var t=n.module("haFavoritesService",[]);t.service("haFavorites",["$rootScope",function(n){var i=[{title:"Waimoku Falls Trail",photo:"/Content/assets/common/images/demo-nav-wishlist1.jpg",location:"Haleakala National Park"}],t={updateFavorites:function(){return n.favorites=i,t}};return t}])}(angular),function(n){"use strict";var t=n.module("haGlobalsModule",[]);t.factory("haGlobals",["$window",function(t){return function(i,r,u){if(i=[].concat(i),u=!!u,i.length!==0&&r!=null){var o=[],f=!1,e=!0;n.forEach(i,function(n){var i=typeof t[n]!="undefined"&&t[n]!==null;f=f||i;e=e&&i;o.push(t[n])});(u&&e||!u&&f)&&r.apply(null,o)}}}])}(angular),function(n){"use strict";n.module("haHttpService",[]).factory("requestedWithInterceptor",["$location","$rootScope",function(n,t){return{request:function(n){return/\/\//.test(n.url)||(n.headers["X-Requested-With"]="XMLHttpRequest",n.headers.csrf=t.csrf),n},response:function(n){if(n&&n.data&&n.data.ErrorType){if(n.data.ErrorType==="TabError"){window.location.href="/book/error?ErrorType=TabError";return}if(n.data.ErrorType==="SessionTimeOut"){window.location.href="/book/error?ErrorType=SessionTimeOut";return}}return n}}}]).factory("sessionLostInterceptor",["$q","$rootScope",function(n,t){return{responseError:function(i){return i&&i.status===401&&t.$broadcast("$sessionLostEvent"),n.reject(i)}}}]).config(["$httpProvider",function(n){n.interceptors.push("requestedWithInterceptor");n.interceptors.push("sessionLostInterceptor")}]).factory("haHttpService",["$log","$http","$q",function(t,i,r){return{GET:function(n,r){return r=r||{},typeof t.debug=="function"&&t.debug("GET "+n),i.get(n,r).error(function(i,r){t.warn("["+r+"] GET "+n,i)})},GETPARALLEL:function(t){var u=r.defer(),f=[];return n.forEach(t,function(n){f.push(i.get(n))}),r.all(f).then(function(n){u.resolve(n)},function(){u.reject()}),u.promise},POST:function(n,r,u){return u=u||{},typeof t.debug=="function"&&t.debug("POST "+n),i.post(n,r,u).error(function(i,r){t.warn("["+r+"] POST "+n,i)})},PUT:function(n,r,u){return u=u||{},typeof t.debug=="function"&&t.debug("PUT "+n),i.put(n,r,u).error(function(i,r){t.warn("["+r+"] PUT "+n,i)})},DELETE:function(n,r){return r=r||{},typeof t.debug=="function"&&t.debug("DELETE "+n),i["delete"](n,r).error(function(i,r){t.warn("["+r+"] DELETE "+n)})}}}]).directive("form",["$rootScope",function(n){return{restrict:"E",link:function(t,i){i.length&&n.csrf&&i.append($('<input type="hidden" name="__RequestVerificationToken" value="'+$('body > [name="__RequestVerificationToken"]').val()+'" />'))}}}])}(angular),function(n){"use strict";var t=n.module("haModalService",[]);t.factory("haModal",["$document","$compile","$rootScope","haConfig","$controller","$timeout",function(t,i,r,u,f,e){function s(t,u,s){var d=n.element('<div class="ha-loading-spinner fixed"><div><div><\/div><\/div><\/div>'),w,ft,et,c,ot,st;o.append(d);var y=$(document.activeElement),p=window.pageYOffset,g=!1,nt=!1;n.isObject(t)?(s=u,u=t):u.templateUrl=t;u=n.extend({},h,u);w=u.id?' id="'+u.id+'" ':"";document.body.dispatchEvent(new CustomEvent("ModalOpened",{detail:u.id}));r.$broadcast("cancelTooltip");var tt=function(){return u.template?n.isString(u.template)?u.template:u.template.html():"<div ng-include=\"'"+u.templateUrl+"'\"><\/div>"}(),l="",v="",it=u.modalLock;it?(l=n.element('<div class="ha-modal '+u.modalClass+' fade"'+w+' tabindex="0"><div class="modalContainer modalLock '+u.size+'">'+tt+"<\/div><\/div>"),v=n.element('<div class="modal-backdrop">')):(l=n.element('<div class="ha-modal '+u.modalClass+' fade"'+w+' tabindex="0"><div class="modalContainer '+u.size+'"><a class="close-modal-icon" ng-click="$modalCancel()" href="" role="button"><i class="close ha-icon icon-close"><\/i><span class="sr-only" scs-text="forms.close"><\/span><\/a>'+tt+"<\/div><\/div>"),v=n.element('<div class="modal-backdrop" ng-click="$modalCancel($event)">'));var a,b,ht=function(){a=$(l[0]).find(":focusable");b=$(l[0]).find("input[type=text], input[type=email], textarea, select");b.length>0?$("html").hasClass("lte-ie9")||$(b[0]).focus():r.isMobile||$(a[0]).focus()},ct=function(){var n=c.$watch(function(){return l.find(".modalContainer").height()},function(t){if(t!==0){var i=l.find(".modalContainer"),r=i.outerHeight()/-2;i.css({top:"50%","margin-top":r});n()}})},rt=function(n){if(n.keyCode===9){a=$(l[0]).find(":focusable").get();var t=document.activeElement===a[0],i=document.activeElement===a[a.length-1];n.shiftKey&&t?(n.preventDefault(),a[a.length-1].focus()):!n.shiftKey&&i&&(n.preventDefault(),a[0].focus())}},ut=function(n){n.keyCode!==27||it||($(document.activeElement).blur(),c.$modalCancel(n))},k=function(){nt||(nt=!0,o.unbind("keydown",ut),o.unbind("keydown",rt),v.removeClass("fade in"),l.removeClass("in"),e(function(){if(l.remove(),o.removeClass("modal-active"),r.modalsopen--,r.modalsopen==0&&(r.modalactive=!1),r.isMobile&&!g){var n=parseFloat($("body").css("margin-top"));p=n*-1;$("body").css({"margin-top":0});window.scrollTo(0,p)}u.backdrop&&v.remove()},300))};o.bind("keydown",ut);o.bind("keydown",rt);c=u.scope||r.$new();u.extendScope&&n.extend(c,u.extendScope);r.modalsopen?r.modalsopen++:r.modalsopen=1;r.modalactive=!0;c.$defaultContent=u.defaultContent;c.$title=u.title;c.$modalClose=k;c.$on("$modalCancel",function(n,t){t&&t.length?t===u.id&&c.$modalClose():c.$modalClose()});c.$on("$modalOpened",function(n,t){t&&t.length&&t!==u.id&&(g=!0)});c.$modalCancel=function(n){var t=l.find(".modalContainer"),i;n&&n.type==="click"&&($.contains(t[0],n.target)||t.is(n.target)||!$.contains(document,n.target))||(i=u.cancel.fn||k,c.$modalClose(),e(function(){c.$emit("haModalClosed",u.id);!r.isMobile&&y&&y[0]&&y[0].tagName!=="g"&&y.focus()},300),i.call(this))};c.$modalSuccess=function(){var n=u.success.fn||k;n.call(this);c.$modalClose()};c.$modalSuccessLabel=u.success.label;c.$modalCancelLabel=u.cancel.label;u.controller&&(et=n.extend({$scope:c},s),ft=f(u.controller,et),l.contents().data("$ngControllerController",ft));r.$on("closeModal",function(){c.$modalCancel()});i(l)(c);i(v)(c);o.append(l);o.addClass("modal-active");r.isMobile&&(ot=parseFloat($("body").css("margin-top")),ot>=0&&$("body").css({"margin-top":p*-1}),l.find(".modal-header").length&&(st=l.find(".modal-header").outerHeight(),l.find(".modal-main").css({paddingTop:st})));r.$broadcast("$modalOpened",u.id);u.backdrop&&(o.append(v),e(function(){v.addClass("fade in")},0));$(".ha-modal").on("click",function(n){n.stopPropagation();$(n.target).hasClass("ha-modal")&&!u.modalLock&&c.$modalCancel()});return e(function(){l.addClass("in");d.addClass("ng-hide");ht();u.callback&&u.callback(l);!r.isMobile&&u.verticalCenter&&ct();r.isMobile&&u.mobileVerticalCenter&&l.addClass("mobile-vertical-center")},100),c}var h={id:null,template:null,templateUrl:null,title:"Default Title",backdrop:!0,success:{label:"OK",fn:null},cancel:{label:"Close",fn:null},controller:null,backdropClass:"modal-backdrop",defaultContent:null,modalClass:"modal",modalLock:!1,size:"",verticalCenter:!1,mobileVerticalCenter:!1},o=t.find("body");return s.openPriceCalendar=function(n,t,i){var r={id:"FlexiblePriceView",backdrop:"true",extendScope:{legs:n,adults:t||1,children:i||0}};s(u.getTemplateUrl("/Book/FlightSearch/ha-flexible-price-modal.html"),r)},window.haModal=s,s}])}(angular),function(n){"use strict";var t=n.module("haUserService",[]);t.service("haUser",["$rootScope",function(n){var i={firstName:"John",lastName:"Doe",photo:"/Content/assets/common/images/demo-nav-account-pic-icon.jpg",haMiles:"14552",upcomingTrips:[{departTime:1386375432426,arriveTime:1386375432426,flights:[123,456,789],onTime:!0},{departTime:1386375432426,arriveTime:1386375432426,flights:[123,456,789],onTime:!0}],savedTrips:[{tripName:"Trip to Maui",tripType:"Package",tripLink:"#",newPrice:!1,savedDate:1386375432426,departDate:1386375432426,returnDate:1386375432426,otherPassengers:["Charlie Becket","Mako Becket","Brad Becket"]},{tripName:"Trip to Honolulu",tripType:"Package",tripLink:"#",newPrice:!0,savedDate:1386375432426,departDate:1386375432426,returnDate:1386375432426,otherPassengers:["Charlie Becket"]},{tripName:"Trip to Big Island",tripType:"Package",tripLink:"#",newPrice:!0,savedDate:1386375432426,departDate:1386375432426,returnDate:1386375432426,otherPassengers:["Charlie Becket","Brad Becket"]}],eCerts:[{title:"30% Off",subtitle:"Mainland to Hawaii Islands",travelStart:1386375432426,travelEnd:1386375432426,bookBy:1386375432426}]},t={updateUser:function(){return n.user=i,t},logout:function(){return delete n.user,t}};return t.updateUser(),t}])}(angular),function(n){"use strict";String.prototype.format||(String.prototype.format=function(){var n=arguments;return this.replace(/{(\d+)}/g,function(t,i){return typeof n[i]!="undefined"?n[i]:t})});var t=n.module("haUtilsModule",["haViewModelModule"]);t.factory("haUtils",["$rootScope","$log","$window","$locale","haViewModelSvc",function(t,i,r,u,f){function c(){var n,t=/([^&=]+)=?([^&]*)/g,i=window.location.search.substring(1);for(o={};n=t.exec(i);)o[s(n[1])]=s(n[2])}function s(n){return decodeURIComponent(n.replace(/\+/g," "))}function h(t){var r=null,i=t.split("|"),u;return i.length===6&&(r={FlightSearchSegmentList:[],FlightQueryTypeId:parseInt(i[1]),AdultCount:parseInt(i[2]),ChildCount:parseInt(i[3]),InfantCount:parseInt(i[4]),IsRefundable:i[5]==="true"?!0:!1},u=i[0].split("+"),n.forEach(u,function(n){var t=n.split("=");t.length===4&&r.FlightSearchSegmentList.push({DepartureDate:t[0],OriginCityCode:t[1],DestinationCityCode:t[2],IsMiles:t[3]==="true"?!0:!1})})),r}var e={debounce:function(n,t,i){var r;return function(){function e(){i||n.apply(u,f);r=null}var u=this,f=arguments;r?clearTimeout(r):i&&n.apply(u,f);r=setTimeout(e,t||100)}},safeApply:function(n,i){if(typeof n.$id!="number"&&typeof i=="function")throw new Error("safeApply expects a scope and a function.");var r=t.$$phase;r==="$apply"||r==="$digest"?i():n.$apply(i)},closestInArray:function(n,t){var r,u=Infinity,i,f;for(i in n)f=Math.abs(n[i]-t),Math.abs(n[i]-t)<u&&(u=f,r=n[i]);return r},getChildrenPositions:function(n,t){var r=n.get(0).getBoundingClientRect().left,i=[];return t.each(function(){i.push(this.getBoundingClientRect().left-r)}),i},indexOf:function(n,t){if(!n||!t)return-1;for(var i=0;i<n.length;i++)if(n[i]===t)return i;return-1},inIframe:function(){try{return r.self!==r.top}catch(n){return!0}},isNumber:function(n){return!isNaN(parseFloat(n))&&isFinite(n)},leftPad:function(n,t){for(var i=n+"";i.length<t;)i="0"+i;return i},objRef:function(n,t){t=t.split(".");for(var i=0;i<t.length;i++){if(!n||n[t[i]]===undefined)return undefined;n=n[t[i]]}return n},objSet:function(n,t,i){for(t=t.split(".");t.length>1;)n=n[t.shift()];return n[t.shift()]=i,i},readCookie:function(n){n+="=";for(var i=document.cookie.split(/;\s*/),t=i.length-1;t>=0;t--)if(!i[t].indexOf(n))return i[t].replace(n,"")},getFlightQueryModelCookie:function(){var n=this.readCookie("FlightQueryModelCookie2"),t;return n!==undefined&&(i.debug("FlightQueryModelCookie2: Found"),n=decodeURIComponent(n),t=h(n),t)?t:(i.debug("FlightQueryModelCookie2: null"),null)},getFlightQueryModelRecentCookie:function(){var t=this.readCookie("FlightQueryModelRecentCookie2"),r,u;return t!==undefined&&(i.debug("getFlightQueryModelCookie2: Found"),t=decodeURIComponent(t),r=[],u=t.split(","),n.forEach(u,function(n){var t=h(n);t&&r.push(t)}),r.length>0)?r:(i.debug("getFlightQueryModelCookie2: null"),null)},getReshopFlightQueryModelCookie:function(){var n=this.readCookie("ReshopFlightQueryModelCookie");return n!==undefined?(n=decodeURIComponent(n),JSON.parse(n)):null},isEN:function(){var t=n.element("body");return t.hasClass("en")||t.hasClass("en-au")||t.hasClass("en-nz")||t.hasClass("en-us")},isJP:function(){return n.element("body").hasClass("ja-jp")},isKR:function(){return n.element("body").hasClass("ko-kr")},isCN:function(){return n.element("body").hasClass("zh-cn")},isTW:function(){return n.element("body").hasClass("zh-tw")},ensureRootScope:function(){return t.HA||(t.HA={})},ensureScope:function(n,t){return t[n]||(t[n]={})},isLocalDev:function(){return r.location.hostname.indexOf("local")===0},attachNgModelAttrToScopeAsVM:function(n,t,i){t.ngModel!=null&&t.$observe("ngModel",function(t){t!=null&&n.$watch(t,function(t){t!=null&&(n.VM=t,i!=null&&i(n.VM))})})},attachViewModelToScopeAsVM:function(n,t,i){return f.get(t).then(function(t){n.VM==null&&(n.VM=t);n.VM!=null&&i!=null&&i(n.VM)})},attachPartialVM:function(n,t,i,r,u){t.ngModel!=null?e.attachNgModelAttrToScopeAsVM(n,t,u):i!=null?e.attachViewModelToScopeAsVM(n,i,u):(n.VM=r||{},u!=null&&u(n.VM))},getImageFromSiteCoreString:function(n){var i=$(n),r=i.attr("mediapath"),t;return r?[HA.cdn,"/~/media",r,".ashx"].join(""):(t=i.attr("src"),t?[HA.cdn,"/",t].join(""):void 0)},getImageObjectFromSiteCoreString:function(n){var t=$(n),i=t.attr("mediapath"),r=t.attr("alt"),u=t.attr("width"),f=t.attr("height");return{src:[HA.cdn,"/~/media",i,".ashx"].join(""),alt:r,width:u,height:f}},webtrends:{token:function(n){var t=r.$pageName.replace(" ",""),i=r.$langCode.substr(-2);return["HAWAIIANAIR",i,n,t].join("_")},tokenV2:function(n){var t=r.$langCode.substr(-2);return["HAWAIIAN-",t,".TPS.BRAND.",n].join("")}},parseLegs:function(n){return n&&n.split(",").map(function(n){var t=/([A-Za-z]{3})-?([A-Za-z]{3})?[ +-]?(\d\d\d\d-\d\d-\d\d)?/.exec(n);if(t)return{origin:{code:t[1].toUpperCase()},destination:{code:t[2].toUpperCase()},departDate:t[3]&&moment(t[3],"YYYY-MM-DD").toDate()}})},splitUrl:function(n){var i={url:n,params:[]},t;return n&&(t=n.split("?"),t.length>1&&(i={url:t[0],params:t[1].split("&")})),i},querystring:function(n){return o||c(),o[n]},createQueryString:function(t,i,r){var u=[],e,f;if(n.forEach(t,function(n,t){u.push(t+"="+encodeURI(n))}),i&&(e=encodeURI(this.createCarRentalQuery(i)),e&&u.push("supplierBenefits="+e)),r)for(f=0;f<r.length;f++)u.push(r[f]);return"?"+u.join("&")},createCarRentalQuery:function(t){var i=[];return n.forEach(t,function(t,r){n.forEach(t,function(n,t){n&&i.push(r+"|"+t+"|"+n)})}),i.join(",")},getLocale:function(n){var t="";switch(n){case"ja-jp":t="jp";break;case"zh-cn":t="zh";break;case"zh-tw":t="zh_hk";break;case"ko-kr":t="ko";break;default:t="en"}return t},localStorageSet:function(n,t){r.localStorage&&r.localStorage.setItem(n,t)},localStorageGet:function(n){var t;return r.localStorage&&(t=r.localStorage[n]),t?t:null},injectScriptDependency:function(t,i){var r=n.element(document.createElement("script"));r.attr("charset","utf-8");r.attr("src",i);t.prepend(r)},formatDynamicString:function(n,t){if(n)return n.replace(/({\d})/g,function(n){if(n)return t[n.replace(/{/,"").replace(/}/,"")]})},checkForInfant:function(n){for(var i=!1,t=0;t<n.Travellers.length;t++)n.Travellers[t].Type=="INF"&&(i=!0);return i},checkIfTicketedInfant:function(n){for(var t,r=!1,i=0;i<n.Travellers.length;i++)for(t=0;t<n.Tickets.length;t++)n.Travellers[i].Type=="INF"&&n.Travellers[i].DisplayName===n.Tickets[t].TravellerName&&n.Tickets[t].ETicket.length>0&&(r=!0);return r},removeDuplicatesFromArray:function(n,t){return n.filter(function(n){return this[n[t]]?!1:this[n[t]]=!0},{})},getStandardLocale:function(){var n=u.id.split("-");return n[1]=!n[1]?"":n[1].toUpperCase(),n.join("_")},bccCapture:function(n,i,r){var l,a;try{t.isTargetBcusEligible();var u=window.location.href,f="",e="",o="",s="",h="",c="";console.log("returl",u);u.toLowerCase().indexOf("/book/pax/index#/passenger/1")!==-1?($("input[name=firstname]").length&&(e=$("input[name=firstname]").val()),$("input[name=lastname]").length&&(o=$("input[name=lastname]").val()),$("input[name='Member1']:checked").val()?$("input[name=partnerairline]").length&&(l=$("input[name=partnerairline]").val(),l.indexOf("HA")!==-1&&$("input[name=hmnumber]").length&&(c=$("input[name=hmnumber]").val())):$("input[name=email]").length&&(f=$("input[name=email]").val())):u.toLowerCase().indexOf("/book/pax/index#/contact")!==-1&&($("input[name=email]").length&&(f=$("input[name=email]").val()),$("input[name=PhoneNum0]").length&&(s=$("input[name=PhoneNum0]").val()),$("input[name=PhoneNum1]").length&&(h=$("input[name=PhoneNum1]").val()));a={cellNumber:i,campaignId:n,referrerId:r,returl:u,first:e,last:o,email:f,dayPhone:s,evePhone:h,HaMilesNumber:c};$.when(v()).done(function(){if(u.toLowerCase().indexOf("/book/payment")!==-1){sessionStorage.setItem("referrerId",r);var n=document.getElementById("formIFrame");n.contentWindow.postMessage("barclaysRequest",iframeOrigin);t.isTargetBcusEligible()}});function v(){return $.ajax({cache:!1,async:!1,type:"POST",dataType:"json",contentType:"application/json; charset=utf-8",url:window.location.origin+"/api/v2/target/BccApply/",data:JSON.stringify(a),success:function(n){window.location.href=n},error:function(n){t.isTargetBcusEligible();console.log(JSON.stringify(n));return}})}}catch(y){console.log(y.message)}},isTargetBcusEligible:function(){return $.ajax({cache:!1,async:!1,type:"GET",timeout:500,url:window.location.origin+"/api/v2/target/BccTargetEligibility/",success:function(n){t.IsBCusEligible=n===!0?!0:!1;return},error:function(n,i){console.log(JSON.stringify(n));console.log(i);t.IsBCusEligible=!1}})},isUpliftConfirmed:function(){return $.ajax({cache:!1,async:!1,type:"GET",timeout:500,url:window.location.origin+"/Book/Payment/UpliftConfirm/",success:function(n){n!=="empty"?(t.UpliftOrderId=n,t.isUpliftConfirmed=!0):t.isUpliftConfirmed=!1;return},error:function(n,i){console.log(JSON.stringify(n));console.log(i);t.isUpliftConfirmed=!1}})}},o;return t.constructor.prototype.isEN=e.isEN,t.constructor.prototype.isJP=e.isJP,t.constructor.prototype.isKR=e.isKR,t.constructor.prototype.isCN=e.isCN,t.constructor.prototype.isTW=e.isTW,e}])}(angular),function(n){"use strict";var t=n.module("haConfigModule",[]);t.factory("haConfig",[function(){var r="/templates/",o="/sitecoreresources/",i="en-US",u=[{com:"en"},{"co.jp":"ja-jp"},{"co.kr":"ko-kr"},{"com.cn":"zh-cn"},{"com.tw":"zh-tw"},{"com.au":"en-au"},{"co.nz":"en-nz"}],t=location.host.split("."),f=t.length<4||!isNaN(parseInt(t[0],10))?"com":t[2]+"."+t[3],s=u.map(function(n){return typeof n[f]!="undefined"}).indexOf(!0),n=HA.cdn.html&&HA.cdn.js&&HA.cdn.css&&HA.cdn.img?"?sc_lang="+u[s][f]:"",e=window.ver;return HA.cdn.isOldIE&&(HA.cdn.html=HA.cdnDynamic=""),{getTemplateUrl:function(n){return n?[HA.cdn.html,r,n.replace(/^\/|\/$/g,""),"?ver=",e].join(""):""},getTemplateUrlWithInclude:function(n){return"<div ng-include=\"'"+this.getTemplateUrl(n)+"'\"><\/div>"},getRazorTemplateUrl:function(t){t+=n;var i=(~t.indexOf("?")?"&":"?")+"ver="+e;return t?[HA.cdn.html,r,t.replace(/^\/|\/$/g,""),i].join(""):""},getImgUrl:function(t){if(/^http/i.test(t)||/^\/\//i.test(t))return t;var i=n;return/\?/gi.test(t)&&n&&(i="&"+n.substring(1)),t?[HA.cdn.img,"/",t.replace(/^\/|\/$/g,""),i].join(""):""},getSitecoreResourceUrl:function(t){return t?[HA.cdnDynamic,o,t.replace(/^\/|\/$/g,""),n].join(""):""},getDynamicJsonUrl:function(t){if(/^http/i.test(t)||/^\/\//i.test(t))return t;var i=n;return/\?/gi.test(t)&&n&&(i="&"+n.substring(1)),t?[HA.cdnDynamic,"/",t.replace(/^\/|\/$/g,""),i].join(""):""},setLanguageCode:function(n){i=n;n==="en"&&(i="en-US")},getLanguageCode:function(){return i}}}])}(angular),function(n){"use strict";function o(n){return u.indexOf(n)!==-1?(u.splice(u.indexOf(n),1),!0):!1}function e(n,i,r,u){var f=t(r);/text|html|value/.test(u)?n[u==="value"?"val":u](f):(i[i.$normalize(u)]=f,n.attr(u,f));i.scsHideEmpty!==undefined&&o(r)&&n.addClass("hidden")}function s(n){return n.replace(/[A-Z]/g,function(n,t){return(t?"-":"")+n.toLowerCase()}).replace(/^[^-]+-/,"")}function r(n,t,i){return n=n.replace(/{(\d+)}/g,function(n,i){return t&&t[i]}),i&&(n=n.replace(/{([^}]+)}/g,function(n,t){return i.$eval(t)||n})),n}function h(n){if(!n[0].attributes[0])throw new Error("`scs` element must have a keys attribute");return n[0].attributes[0].name}function f(n){return console.error("SCString not found: ",n),u.push(n),"["+n+"]"}var i=n.module("haSitecoreModule",["haGlobalsModule"]),u=[],t=f;i.factory("haSitecoreStrings",["$parse","haGlobals","$q","haConfig","haHttpService",function(i,u,e,o,s){function a(n){var r=i(n.toLowerCase())(t);return typeof r=="undefined"&&f(n),!!r&&!/0|false/.test(r)&&r}function h(n){return s.GET(l(n)).then(function(i){return i.data?t[n]=i.data:Promise.reject(new Error("Invalid response data"))})}function c(n){var r=/^(\w+)(?:(?:\.|\[['"])([\w ]+))?/.exec(n);if(!r)return Promise.reject(new Error("Invalid ns_key argument: "+n));var i=r[1].toLowerCase(),u=r[2],f=t[i]?Promise.resolve(t[i]):t[i]=h(i);return f.then(function(i){return u?t(n):i})}var l=o.getSitecoreResourceUrl;return t=function(u,e){var o=i(u.toLowerCase())(t);return o&&n.isArray(e)&&(o=r(o,e)),o||f(u)},t.truthy=a,t.request=h,t.get=c,t.fetch=function(n){return typeof n!="string"?Promise.resolve(t):Promise.all(n.split(",").map(c))},u("HA",function(i){n.extend(t,i.SCStrings)}),t}]);i.factory("haSitecore",["haGlobals","haConfig","haHttpService",function(t,i,r){function u(t,i){i||(i={});t=t.toLowerCase();i.src=o("/static/images/"+t);var r=n.element("<img alt>").attr(i);return u.alt(t).then(function(n){r.attr("alt",n||"")}),["catch"](function(n){console.error(n)}),r}function e(n){return!!e[n.toLowerCase()]}var f=0,o=i.getImgUrl,s=i.getDynamicJsonUrl("sitecoreimages");return u.alt=function(t){if(t=t.toLowerCase(),f){var i=u[t];return typeof i=="undefined"?Promise.reject(new Error("Sitecore image not found: "+t)):Promise.resolve(i)}return r.GET(s).then(function(i){if(i.data){f++;n.extend(u,i.data);return}return f<3?u.alt(t):Promise.reject(new Error("Data unavailable"))})},t("HA",function(t){n.extend(e,t.SCSwitches)}),{$switch:e,$img:u}}]);["scsText","scsHtml","scsLabel","scsEyebrow","scsPlaceholder","scsErrorMessage","scsHref","scsSrc","scsDescription","scsHeader","scsValue"].forEach(function(n){var t=s(n);i.directive(n,function(){return{priority:500,link:{pre:function(i,r,u){e(r,u,u[n],t)}}}})});i.directive("i18nContent",function(){return{restrict:"A",link:function(n,i,u){var e=r(u.i18nContent,[],n),f=i.attr("format")||i.text();t.fetch(e).then(function(t){var u=i.contents(),e;if(u.length>1||u.length===1&&u[0].nodeType!==3&&u[0].nodeType!==8)return console.error("i18n-content directive can only only be applied to an element with a text node child.");e=i[0].nodeName==="INPUT"?"val":"html";i[e](f?r(f,t,n):t.join(" "))})}}});i.directive("i18nBackgroundImage",function(){return{restrict:"A",link:function(n,i,u){var f=r(u.i18nBackgroundImage,[],n);t.get(f).then(function(t){i.css("background-image",r("url('{0}')",[n.getMediaImage(t)]))})}}});i.directive("i18nSrc",function(){return{restrict:"A",link:function(n,i,u){var f=r(u.i18nSrc,[],n);t.get(f).then(function(t){i.attr("src",n.getMediaImage(t))})}}});i.directive("i18nimage",["haUtils",function(n){return{restrict:"E",replace:!0,scope:{},template:'<img ng-src="{{object.src}}" alt=""/>',link:function(i,r){var u=r.attr("key");t.get(u).then(function(t){t!=="["+u+"]"?(i.object=n.getImageObjectFromSiteCoreString(t),i.object.alt&&r.attr("alt",i.object.alt),i.object.width&&r.attr("width",i.object.width),i.object.height&&r.attr("height",i.object.height)):r.replaceWith(t)})}}}]);i.directive("i18nLink",["$window",function(n){return{restrict:"E",replace:!0,scope:{},template:"<a><\/a>",link:function(i,r){var u=r.attr("key");t.get(u).then(function(t){var i=$(t);i[0]&&(r.attr("href","http://"+(i.attr("linktype")==="internal"?n.location.host:"")+i.attr("url")),r.attr("title",i.attr("title")),r.text(i.attr("text")))})}}}]);i.directive("i18n",function(){return{restrict:"E",link:function(n,i){var u=i.attr("key")||i.attr("keys")||h(i);t.fetch(u).then(function(t){var u=i.text();i.replaceWith(u?r(u,t,n):t.join(" "))})}}});i.directive("scsAttrs",["$parse",function(t){return{link:{pre:function(i,r,u){var f=t(u.scsAttrs)(i);typeof f=="object"&&n.forEach(f,e.bind(this,r,u))}}}}]);i.run(["$rootScope","haSitecoreStrings","haSitecore",function(n,t,i){n.constructor.prototype.$scs=t;n.constructor.prototype.$switch=i.$switch;n.constructor.prototype.$img=i.$img;window.$scs=t;window.$switch=i.$switch;window.$img=i.$img}])}(angular),function(n){"use strict";var t;try{t=n.module("haViewModelModule")}catch(i){t=n.module("haViewModelModule",[])}t.factory("haViewModelSvc",["$log","$q",function(n,t){var i={},r={},u=function(t,i){n.debug("_defer",t);var u=r[t]=r[t]||[];u.push(i)},f=function(t){var u,f;if(i[t]!=null)for(u=r[t]||[];u.length>0;)n.debug("_resolve",t),f=u.pop(),f.resolve(i[t])},e=function(n,t){i[n]=t;f(n)},o=function(n){var r=t.defer();return i[n]!=null?r.resolve(i[n]):u(n,r),r.promise},s=function(n){return i[n]};return{put:e,get:o,getSync:s}}])}(angular),function(n){"use strict";var t;try{t=n.module("haMobileService")}catch(i){t=n.module("haMobileService",[])}t.service("haMobileSvc",[function(){var n=767;this.determineIsMobile=function(){return window.innerWidth>n?(window.isMobile=!1,!1):(window.isMobile=!0,!0)}}]);t.directive("haFlushFittingCol",["$rootScope",function(n){return{restrict:"A",link:function(t,i,r){if(n.isMobile){var u=0-i.offset().left;i.css({marginLeft:u,marginRight:u,width:"auto",overflow:"hidden"});r.preservepadding!=="true"&&i.css({padding:0})}}}}]);t.directive("haEqualHeightColumns",["$rootScope","$interval",function(n,t){return{restrict:"A",link:function(i,r){if(n.isMobile)var u=0,f=50,e=t(function(){r.children(":last").outerHeight()>f&&(t.cancel(e),r.children().each(function(){$(this).outerHeight()>u&&(u=$(this).outerHeight())}),r.children().each(function(){$(this).outerHeight()<u&&$(this).css("height",u)}))},50)}}}])}(angular),function(n){"use strict";var t;try{t=n.module("haGeoDataModule")}catch(i){t=n.module("haGeoDataModule",["haHttpService"])}t.factory("haGeoDataSvc",["$q","$log","$filter","$cacheFactory","haGeoDataAPI",function(n,t,i,r,u){var f=r("haGeoDataCache"),s=r("regexCache"),e=null,o="COUNTRY",h="STATES_",c="CITIES_",l="COUNTRY_PHONE_CODES";return{setCountryData:function(n){return n=i("orderBy")(n,["Sorting","DisplayName"]),f.put(o,n)},setActiveCountry:function(n){e=n},getCountries:function(){var r=o,e=f.get(r),t;return e!=null?(t=n.defer(),t.resolve(e),t.promise):u.getCountries().then(function(n){return n=i("orderBy")(n,"Sorting"),f.put(r,n)})},getStates:function(t){var r=h+t,e=f.get(r),i;return e!=null?(i=n.defer(),i.resolve(e),i.promise):u.getStates(t).then(function(n){return f.put(r,n)})},getStateAndCities:function(t,i){var e=c+t+i,o=f.get(e),r;return o!=null?(r=n.defer(),r.resolve(o),r.promise):u.getStateAndCities(t,i).then(function(n){return f.put(e,n)})},getAddressStyle:function(n){var i,r,t;if(n=n||e&&e.Key,i=f.get(o),i!=null)for(r=0;r<i.length;r++)if(t=i[r],t!=null&&t.Key===n)return t.AddressStyle||t.Iso2Code;return null},noStates:function(n){var t,i,r;if(n=n||e&&e.Key,t=f.get(o),t!=null)for(i=0;i<t.length;i++)if(r=t[i],r!=null&&r.Key===n){if(r.StateValidation==="X")return!0;break}return!1},hasPostalCode:function(n){var t,i,r;if(n=n||e&&e.Key,t=f.get(o),t!=null)for(i=0;i<t.length;i++)if(r=t[i],r!=null&&r.Key===n){if(r.PostalCodeValidation==="X")return!1;break}return!0},getPostalCodeRegex:function(n){var t,r,u,i;if(n=n||e&&e.Key,t=s.get(n)||s.put(n,{}),t.PostalCodeValidation)return t.PostalCodeValidation;if(r=f.get(o),r!=null)for(u=0;u<r.length;u++)if(i=r[u],i!=null&&i.Key===n){if(i.PostalCodeValidation!=null&&i.PostalCodeValidation!=="X")return t.PostalCodeValidation=new RegExp(i.PostalCodeValidation),t.PostalCodeValidation;break}return t.PostalCodeValidation=/.*/,t.PostalCodeValidation},getPhoneNumberRegex:function(n){var t,r,u,i;if(n=n||e&&e.Key,t=s.get(n)||s.put(n,{}),t.PhoneNumberValidation)return t.PhoneNumberValidation;if(r=f.get(o),r!=null)for(u=0;u<r.length;u++)if(i=r[u],i!=null&&i.Key===n){if(i.PhoneNumberValidation!=null)return t.PhoneNumberValidation=new RegExp(i.PhoneNumberValidation),t.PhoneNumberValidation;break}return t.PhoneNumberValidation=/.*/,t.PhoneNumberValidation},getCityRegex:function(n){var t,r,u,i;if(n=n||e&&e.Key,t=s.get(n)||s.put(n,{}),t.CityValidation)return t.CityValidation;if(r=f.get(o),r!=null)for(u=0;u<r.length;u++)if(i=r[u],i!=null&&i.Key===n){if(i.CityValidation!=null)return t.CityValidation=new RegExp(i.CityValidation),t.CityValidation;break}return t.CityValidation=/^[a-zA-Z- ]{0,30}$/,t.CityValidation},getPhoneCountryCodes:function(){var e=l,s=f.get(e),n,h,r,t;if(s!=null)return s;if(n=f.get(o),h=function(n){return n.IsoCode==="USA"?1:parseInt(n.CountryTier)===1?2:3},n=i("orderBy")(n,[h,"IsoCode"]),n!=null){for(r=[],t=0;t<n.length;t++){var u=n[t].PhoneCountryCode,c=n[t].IsoCode,a=n[t].Key;u>0&&r.push({Code:u,Key:a,Name:"+"+u,Value:c})}return f.put(e,r)}return[]},lookupCountryByCode:function(n){var r=f.get(o),t,i;if(r!=null)for(t=0;t<r.length;t++)if(i=r[t],i!=null&&i.IsoCode===n)return i;return null}}}])}(angular),function(n){"use strict";n.module("haEncryptionModule",[]).factory("haEncryptionService",["haEncryptionAPI",function(n){function i(){return"Format of data is invalid in EncryptionService."}function t(n){return n&&typeof n=="string"&&n!==""?!0:!1}return{Encrypt:function(r,u){return t(r)&&t(u)?n.encryptString(r,u):Promise.reject(i())},EncryptString:function(n,t){return this.Encrypt(n,t).then(function(n){return n.data},function(n){return console.error("Encryption Error: "+n),""})}}}])}(angular),function(n){"use strict";n.module("haUsernameAPI",["haHttpService"]).service("haUsernameAPI",["haHttpService",function(n){return{checkAvailability:function(t,i){return n.POST("/MyAccount/UserNameAvailability/UserNameAvailabilityCheck",{userName:t},{timeout:i.promise}).then(function(n){return n.data.IsSuccess||n.data.Message==="service Error"})}}}])}(angular),function(n){"use strict";var t=n.module("haGlobalHeaderAPI",["haHttpService"]);t.service("haGlobalHeaderAPI",["haHttpService",function(n){return{selectCountry:function(t,i){return n.POST("/Header/SelectCountry",{selectedCountry:t,contextItemId:i})},searchGoogle:function(t){return n.POST("/Header/NewSearch",{GoogleText:t})}}}])}(angular),function(n){"use strict";var t;try{t=n.module("haGeoDataModule")}catch(i){t=n.module("haGeoDataModule",["haHttpService"])}t.service("haGeoDataAPI",["haHttpService","haConfig",function(n,t){return{GET_COUNTRIES_URL:function(){return"/MyAccount/AccountShared/GetCountries?languagecode="+t.getLanguageCode()},getCountries:function(){return n.GET(this.GET_COUNTRIES_URL()).then(function(n){return n.data})},GET_STATES_URL:function(n){return"/MyAccount/AccountShared/GetStatesByCountry?countrykey="+n+"&languagecode="+t.getLanguageCode()},getStates:function(t){return n.GET(this.GET_STATES_URL(t)).then(function(n){return n.data})},GET_STATE_AND_CITIES_URL:function(n,i){return"/MyAccount/AccountShared/GetCityAndStateByCountryAndPostalCode?countrykey="+n+"&postalcode="+i+"&languagecode="+t.getLanguageCode()},getStateAndCities:function(t,i){return n.GET(this.GET_STATE_AND_CITIES_URL(t,i)).then(function(n){return n.data})}}}])}(angular),function(n){"use strict";n.module("haEncryptionModule").service("haEncryptionAPI",["haHttpService",function(n){var t=window.location.protocol+"//"+window.location.host+"/api/v2/Encryption";return{encryptString:function(i,r){return n.GET(t+"/String/"+i+"/"+r).success(function(n){return Promise.resolve(n)}).error(function(n){return Promise.reject(new Error(n))})}}}])}(angular),function(n){"use strict";var t=n.module("haErrorPageModule",[]);t.directive("haErrorPage",["haConfig",function(t){var i=function(){},r;i.$inject=["$scope"];r=function(u,f,e){return u.header=e.header,u.subtext=e.subtext,u.hasTransclude=n.element("[ng-transclude]").contents().length>0?!0:!1,{restrict:"A",scope:!0,link:r,controller:i,transclude:!0,templateUrl:t.getTemplateUrl("ha-error-page-base-template.html")}}}])}(angular),function(n){"use strict";var t=n.module("haGlobalMessageModule",["ngAnimate","haAlertModule"]);t.directive("haGlobalMessage",["haConfig","$timeout",function(n,t){var i=function(n,t){n.alert={type:"success",header:"",description:null};n.closeMessage=function(){n.isShown=!1};n.setAutoFade=function(){t(n.closeMessage,n.messageCloseTime)}},r;return i.$inject=["$scope","$timeout"],r=function(n,i,r){n.alert.header=r.header;n.alert.description=r.description;n.alert.type=r.type;n.isShown=!n.alert.header||n.alert.header===""?!1:!0;n.messageCloseTime=r.messageCloseTime||3e3;n.setAutoFade();n.exampleMethod=function(){return n};n.$emit("$haGlobalMessageReady");t(function(){i.children().find('[role="alert"]').focus()},300)},{restrict:"A",scope:!0,link:r,templateUrl:n.getTemplateUrl("ha-global-message-base-template.html"),controller:i}}])}(angular),function(n){"use strict";var t=n.module("haGlobalAlertModule",[]);t.directive("haGlobalAlert",["haConfig",function(n){var t=function(n){n.showAlert=!0;n.$on("$showAlert",function(){n.showAlert=!0});n.$on("$hideAlert",function(){n.showAlert=!1});n.hideAlert=function(){n.showAlert=!1}},i;return t.$inject=["$scope"],i=function(n,t,i){n.type=i.type;n.noIcon=!1;i.noicon&&(n.noIcon=!0);n.header=i.header;n.description=i.description;n.btntext=i.btntext;n.btnlink=i.btnlink;i.$observe("header",function(){n.header=i.header;n.showAlert=!0});i.$observe("type",function(){n.type=i.type;n.showAlert=!0});i.$observe("description",function(){n.description=i.description});i.$observe("noicon",function(){n.noIcon=!1;i.noicon&&(n.noIcon=!0);n.showAlert=!0});i.$observe("btntext",function(){n.btntext=i.btntext});i.$observe("btnlink",function(){n.btnlink=i.btnlink});n.$emit("$haGlobalAlertReady")},{restrict:"A",scope:!0,link:i,templateUrl:n.getTemplateUrl("ha-global-alert-base-template.html"),controller:t}}])}(angular),function(n){"use strict";var t=n.module("haAlertModule",[]);t.directive("haAlert",["$window","haConfig",function(n,t){var i=function(t){t.showAlert=!0;t.$on("$showAlert",function(n,i){i===t.alertId&&(t.showAlert=!0)});t.$on("$hideAlert",function(){t.showAlert=!1});t.hideAlert=function(){t.showAlert=!1;t.$emit("haAlertClosed",t.alertId)};t.postTealeaf=function(){n.TLT!=null&&n.TLT.logCustomEvent("HAErrorMessage",{ErrorHeader:t.header,ErrorMessage:t.description})}},r;return i.$inject=["$scope"],r=function(n,t,i){if(n.type=i.type,n.alertId=i.alertId,n.noClose=i.noClose!==undefined,n.noIcon=!!i.noicon,n.header=i.header,n.description=i.description,n.customIconClass=i.customIconClass,i.$observe("header",function(){n.header=i.header;n.showAlert=!0}),i.$observe("type",function(){n.type=i.type;n.showAlert=!0;n.type==="error"&&(n.noClose=!0)}),i.$observe("description",function(){n.description=i.description}),i.$observe("noicon",function(){n.noIcon=!!i.noicon;n.showAlert=!0}),i.$observe("customIconClass",function(){n.customIconClass=i.customIconClass}),typeof t.context!="undefined"&&n.header!==""&&typeof(t.context.offsetHeight!==undefined)&&t.context.offsetHeight!==0){if(t.find(".alert-content [ng-transclude]").children().length>0){var r=t.find(".alert-content [ng-transclude]").text().trim();t.find(".alert-hidden-content.sr-only").append('<p class="sr-only">'+r+"<\/p>")}["promo","info"].indexOf(i.type.toLowerCase())===-1&&i.disableAutofocus!=="true"&&t.find('[role="alert"]').focus();n.description!==undefined&&n.postTealeaf()}},{restrict:"A",scope:!0,link:r,transclude:!0,templateUrl:t.getTemplateUrl("ha-alert-base-template.html"),controller:i}}])}(angular),function(n){"use strict";var t=n.module("haPrimaryNavAccountMenuModule",[]);t.directive("haPrimaryNavAccountMenu",["haHttpService","haConfig","$compile","$timeout","haGlobals","$q","$rootScope",function(n,t,i,r,u,f,e){var o=function(t,o,s){function h(n){t.accountMenuIsOpen=n}function c(n){t.myTripsMenuIsOpen=n}var l,a;if(t.theme=s.theme,window.returnUrlQs!==undefined&&!e.isMobile){var v=$(".nav-primary-right-list"),y=$('a[href^="/my-account/login"]',v),p=$('a[href^="/my-account/join-hawaiianmiles"]',v);y.prop("href",y.prop("href")+window.returnUrlQs);p.prop("href",p.prop("href")+window.returnUrlQs);$scs.get("Header.SignInText").then(function(n){t.signInText=n});$scs.get("Header.JoinNowText").then(function(n){t.joinNowText=n});t.navLoggedOut=!0;return}if(l="/Header/GetMyAccountMenu/",a=f.defer(),window.onunload=function(){a.resolve()},u("areaName",function(n){n&&(l+="?area="+n)}),n.GET(l,{timeout:a.promise}).success(function(n){o.replaceWith(i(n)(t));r(function(){u(["registrationUrl"],function(n){t.$root.registrationUrl=n})},0)}).error(function(){console.error("haPrimaryNavAccountMenu ajax call to /Header/GetMyAccountMenu/ failed")}),t.toggleAccountMenu=function(){t.accountMenuIsOpen?h(!1):h(!0)},t.toggleMyTripsMenu=function(){t.myTripsMenuIsOpen?c(!1):c(!0)},!t.$root.isMobile){$("html").on("click",function(n){t.myTripsMenuIsOpen&&!$(n.target).closest(".parent").hasClass("my-trips")&&r(function(){c(!1)});t.accountMenuIsOpen&&!$(n.target).closest(".parent").hasClass("my-account")&&r(function(){h(!1)})});$("body").delegate("a:not(.my-account)","focus",function(){t.accountMenuIsOpen&&r(function(){h(!1)})}).delegate("a:not(.my-trips)","focus",function(){t.myTripsMenuIsOpen&&r(function(){c(!1)})});$("body").on("keyup",function(n){n.keyCode===27&&(n.preventDefault(),t.myTripsMenuIsOpen&&r(function(){$("a.my-trips").first().focus();c(!1)}),t.accountMenuIsOpen&&r(function(){$("a.my-account").first().focus();h(!1)}))})}};return{restrict:"A",scope:!0,link:o,templateUrl:t.getTemplateUrl("ha-primary-nav-account-menu.html")}}])}(angular),function(n){"use strict";var t=n.module("haPrimaryNavAlertsModule",[]);t.directive("haPrimaryNavAlerts",["haHttpService","$compile","$location",function(n,t,i){var r=function(r,u){var f=i.absUrl(),e=f.indexOf("?")>-1?f.split("?")[1]:"",o="/Header/GetAlerts/";e!==""&&(o+="?"+e);n.GET(o).success(function(n){u.replaceWith(t(n)(r))}).error(function(){console.error("haPrimaryNavAlerts ajax call to /Header/GetAlerts/ failed")})};return{restrict:"A",scope:!0,link:r}}])}(angular),function(n){"use strict";var t=n.module("HaFavoriteModule",[]);t.directive("haFavorite",["haConfig","haHttpService","$window","$timeout",function(t,i,r,u){var f=function(t,f,e){function s(){t.isFavorited?n.element(f).attr("title",o.titleOnString):n.element(f).attr("title",o.titleOffString)}function h(n,t){$scs.get(n).then(function(n){o[t]=n;s()})}var c="/IslandGuideFavorites/AddPlaceFavorite",l="/IslandGuideFavorites/DeletePlaceFavorite",o={titleOnString:"",titleOffString:""};t.isFavorited=e.favorited;t.placeID=e.placeId;n.element(f).attr("role","button");h("EXPLORE_SHARED.FavoriteOnText","titleOnString");h("EXPLORE_SHARED.FavoriteOffText","titleOffString");t.favorite=function(n){if(!t.working){var i={PlaceId:n};t.isFavorited?t.removeFavorite(i):t.addFavorite(i)}};t.strings=null;t.getStrings=function(n){t.strings||(t.strings={},t.strings.AddFavoriteMessageLine1=n.AddFavoriteMessageLine1,t.strings.AddFavoriteMessageLine2=n.AddFavoriteMessageLine2,t.strings.DeleteFavoriteMessageLine1=n.DeleteFavoriteMessageLine1,t.strings.DeleteFavoriteMessageLine2=n.DeleteFavoriteMessageLine2)};t.addFavorite=function(n){t.isFavorited=!0;s();t.working=!0;i.POST(c,n).success(function(n){console.log(n);t.working=!1;n.IsSuccess&&(t.isFavorited=!0,t.getStrings(n),t.addedPopover=!0,u(function(){t.addedPopover=!1},5e3))}).error(function(n){t.working=!1;n.RedirectURL&&(r.location=n.RedirectURL)})};t.removeFavorite=function(n){t.isFavorited=!1;s();i.POST(l,n).success(function(n){t.getStrings(n)}).error(function(n){n.RedirectURL&&(r.location=n.RedirectURL)})}};return{restrict:"A",scope:!0,templateUrl:t.getTemplateUrl("ha-favorite.html"),replace:!0,link:f}}])}(angular),function(n){"use strict";var t=n.module("haWindowEventsModule",[]);t.directive("body",function(){var n=function(n,t){t.on("click",function(t){n.$root.$emit("HaWindow:clicked",t)});n.$emit("$haWindowEventsReady")};return{restrict:"E",scope:!1,link:n}})}(angular),function(n){"use strict";var t=n.module("noClickFocusModule",[]);t.directive("noClickFocus",function(){var n=function(n,t){t.click(function(){t.blur()})};return{restrict:"A",scope:!1,link:n}})}(angular),function(n){"use strict";var t=n.module("haKeyboardModule",[]);t.directive("haKeyEnter",function(){return function(n,t,i){t.bind("keydown keypress",function(t){t.which===13&&(n.$apply(function(){n.$eval(i.haKeyEnter)}),t.preventDefault())})}});t.directive("haKeyUp",function(){return function(n,t,i){t.bind("keydown keypress",function(t){t.which===38&&(n.$apply(function(){n.$eval(i.haKeyUp)}),t.preventDefault())})}});t.directive("haKeyDown",function(){return function(n,t,i){t.bind("keydown keypress",function(t){t.which===40&&(n.$apply(function(){n.$eval(i.haKeyDown)}),t.preventDefault())})}})}(angular),function(n){"use strict";var t=n.module("haErrorsModule",[]),i=["haSitecoreStrings","$timeout",function(t,i){var r={editable:t.get("Forms.patternError").then(function(n){return r.editable=n}),required:t.get("Forms.requiredError").then(function(n){return r.required=n}),language:t.get("Forms.languageError").then(function(n){return r.language=n}),pattern:t.get("Forms.patternError").then(function(n){return r.pattern=n}),date:t.get("Forms.dateError").then(function(n){return r.date=n}),parse:""};return{require:["?^form","?ngModel","?^haInput"],restrict:"E",link:function(t,u,f,e){function p(n){var t;if(o||(o=n),o.attempts++,o.$submitted=!0,t=$('[name="'+o.$name+'"]'),t.addClass("submitted"),i(function(){},0),o.$invalid){var r=$(".ng-invalid:not(div):first",t),u=r.closest(".modalContainer"),f=u.size()?u:$("html,body");f.animate({scrollTop:r.offset().top-50},function(){r.focus().select()})}return o.$valid}function b(){if(!(o.$submitted||s.$touched))return!1;if(c.required)return"required";if(c.language)return"language";if(c.pattern)return"pattern";for(var n in c)if(c.hasOwnProperty(n)&&c[n])return n}function k(n){var t=l[n];return typeof t=="undefined"?(console.error('Missing "'+n+'" message for input:',u[0]),"Unknown Error"):t.then?(t.then(function(t){h.html(l[n]=t)}),"..."):l[n]}var a=u[0].name,o=e[0],s=e[1],w=e[2],v=typeof f.allowNonEnglish!="undefined",c,l,h,y;if(!o||!s||w||!u.is("[ha-errors]")){if(v||!u.is(":not([ha-errors]):not(select):not(:checkbox):not(:radio):not(:hidden):not(:submit):not(:button)"))return;u.on("keydown input",function(n){if(n.ctrlKey||n.altKey||n.shiftKey||n.metaKey)return!0;var t=$(this).val(),i=!/[^\u0000-\u007F]+/.test(t);return n.type==="input"&&!i?(u.val(t.replace(/[^\u0000-\u007F]+/g,"")),!0):i});return}if(typeof o.attempts=="undefined"){o.attempts=0;$(u[0].form).on("submit",p)}if(c=s.$error,l=n.extend({},r,t.$eval(f.haErrors||"{}")),n.version.major===1&&n.version.minor<7){u.one("blur",function(){t.$evalAsync(function(){s.$untouched=!(s.$touched=!0);u.removeClass("ng-untouched").addClass("ng-touched")})});u.addClass("ng-untouched");s.$untouched=!(s.$touched=!1);o.$validate=p.bind(u[0].form)}i(function(){h=$('em[for="'+a+'"]');h.length||(h=$("<em>").attr("for",a),u.is("[required]:radio,[required]:checkbox")?u.closest(":not(ul):not(ol):not(li):not(input)").append(h):h.insertAfter(u));y=$(document.createComment("ha-errors for="+a)).insertBefore(h);!v&&u.is(":not(select):not(:checkbox):not(:radio):not(:hidden):not(:submit):not(:button)")&&t.$watch(function(){return u.val()},function(n){n&&s.$setValidity("language",!/[^\u0000-\u007F]+/.test(n))});t.$watch(b,function(n){u.attr("aria-invalid",s.$invalid);h.text("").detach();n&&h.html(k(n)).insertAfter(y)})})}}}];t.directive("input",i);t.directive("textarea",i);t.directive("select",i)}(angular),function(n){"use strict";var t=n.module("haDraggableModule",[]);t.directive("haDraggableContainer",function(){var n=function(n,t){n.exampleMethod=function(){return t.scope()};n.$emit("$methodsBound")};return{restrict:"A",scope:!0,link:n}});t.directive("haDraggable",function(){var n=function(n,t){t.draggable({start:function(t){n.$emit("$dragStart",t)},drag:function(t){n.$emit("$dragging",t)},stop:function(t,i){n.$emit("$dragEnd",t,i)}});n.updateDraggableSettings=function(n){return t.draggable(n),t.scope()}};return{restrict:"A",scope:!0,priority:10,link:n}})}(angular),function(n){"use strict";var t=n.module("haScopeModule",[]);t.directive("haScope",[function(){return{restrict:"A",scope:!1,link:function(t,i,r){if(i[0].tagName==="SCRIPT"&&r.type==="text/ha-scope")try{var e=JSON.parse(i[0].text),f=t,u=r.haScope||null;u!=null&&(t[u]=t[u]||{},f=t[u]);n.extend(f,e)}catch(o){}}}}])}(angular),function(n){"use strict";var t;try{t=n.module("haViewModelModule")}catch(i){t=n.module("haViewModelModule",[])}t.directive("haViewModel",["$log","haViewModelSvc",function(n,t){return{restrict:"A",scope:!1,link:function(i,r,u){var f=u.haViewModel,e;if(f!=null&&r[0].tagName==="SCRIPT"&&u.type==="text/ha-view-model")try{e=JSON.parse(r[0].text);t.put(f,e)}catch(o){n.error(f,o)}}}}])}(angular),function(n){"use strict";function u(n,t,i){var r;return function(){var u=this,f=arguments,e=function(){r=null;i||n.apply(u,f)},o=i&&!r;clearTimeout(r);r=setTimeout(e,t);o&&n.apply(u,f)}}function i(n){return parseInt(getComputedStyle(n).paddingBottom.replace("px",""))||0}function r(n){return n.clientHeight-i(n)}var t=n.module("haEqualHeightModule",["ng"]);t.directive("haEqualHeightContainer",["$log","$window","$interval",function(t,f,e){return{restrict:"A",controller:["$scope",function(t){var o=[];this.register=function(n){o.push({element:n,contentHeight:r(n),paddingBottom:i(n)})};this.update=function(){var i,u,t;if(o.length!==0){for(i=0,u=0;u<o.length;u++)t=o[u],t.contentHeight=r(t.element),i=Math.max(i,t.contentHeight+t.paddingBottom);n.forEach(o,function(n){var t=i-n.contentHeight+"px";t!==n.element.style.paddingBottom&&(n.element.style.paddingBottom=t)})}};var s=u(this.update,50),h=e(s,1e3,15,!1),c=n.element(f);c.bind("resize",s);t.$on("$destroy",function(){c.unbind("resize",s);e.cancel(h);h=undefined})}]}}]);t.directive("haEqualHeight",function(){return{restrict:"A",require:"^haEqualHeightContainer",link:function(n,t,i,r){var f=t[0],u;r.register(f);u=!0;n.$watch(function(){return f.clientHeight},function(n,t){(u||n!==t)&&(u=!1,r.update())})}}})}(angular),function(n){"use strict";var t=n.module("haButtonSpinnerModule",[]);t.directive("haButtonSpinner",function(){return{template:'<span class="button-spinner"><span><span><\/span><\/span><\/span><span ng-transclude><\/span>',transclude:!0,restrict:"A",scope:{showSpinner:"="},link:function(n,t){n.$watch(function(n){return n.showSpinner},function(n){t.blur();n?(t.children(".button-spinner").css({opacity:1}),t.css({paddingLeft:60}),t.prop("disabled",!0)):(t.children(".button-spinner").css({opacity:0}),t.css({paddingLeft:30}),t.prop("disabled",!1))})}}})}(angular),function(n){"use strict";var t=n.module("haLoadingSpinnerModule",[]);t.directive("haLoadingSpinner",function(){var n=function(n,t,i){i.small!==undefined&&t.children(".ha-loading-spinner").addClass("small");i.white!==undefined&&t.children(".ha-loading-spinner").addClass("white");n.loadingText="";i.loadingText!==undefined&&(n.loadingText=i.loadingText);n.$emit("$haLoadingSpinnerReady")};return{restrict:"A",scope:!0,link:n,transclude:!0,template:'<div class="ha-loading-spinner" tabindex="0"><span class="sr-only">{{loadingText}}<\/span><div class="spin"><div><\/div><\/div><\/div>'}});t.directive("haLoadingSpinnerWithText",function(){var n=function(n){n.$emit("$haLoadingSpinnerWithTextReady")};return{restrict:"A",scope:!0,link:n,transclude:!0,template:'<div class="ha-loading-spinner-with-text" ha-reveal-on-load tabindex="0"><div class="ha-loading-spinner small"><div class="spin"><div><\/div><\/div><\/div><div class="ha-loading-text"><span ng-transclude><\/span><\/div><\/div>'}})}(angular),function(n){"use strict";var t=n.module("haLocalizeNameModule",[]);t.filter("localName",[function(){var n={en:"{{ firstName }} {{ lastName }}","en-au":"{{ firstName }} {{ lastName }}","en-nz":"{{ firstName }} {{ lastName }}","zh-cn":"{{ lastName }} {{ firstName }}","ko-kr":"{{ lastName }} {{ firstName }}","ja-jp":"{{ lastName }} {{ firstName }}","zh-tw":"{{ lastName }} {{ firstName }}"};return function(t,i,r){if(n[r]){var u=n[r].replace(/\{\{ firstName \}\}/,t);return u.replace(/\{\{ lastName \}\}/,i)}}}])}(angular),function(n){"use strict";var t=n.module("haLocalizeDateModule",[]);t.filter("localDate",["$filter",function(n){var t={en:"EEE M/d","en-au":"EEE M/d","en-nz":"EEE M/d","zh-cn":"M月d日 EEE","ko-kr":"M월 d일 EEE","ja-jp":"M月d日(EEE)","zh-tw":"M月d日 EEE"};return function(i,r){var u=new Date,f=n("date");if(t[r])return u=i instanceof Date?i:new Date(i),f(u,t[r])}}]);t.filter("localShortDate",["$filter",function(n){var t={en:"MM/dd/yyyy","en-au":"MM/dd/yyyy","en-nz":"MM/dd/yyyy","zh-cn":"yyyy/MM/dd","ko-kr":"yyyy/MM/dd","ja-jp":"yyyy/MM/dd","zh-tw":"yyyy/MM/dd"};return function(i,r){var f=new Date,e=n("date"),u;if(t[r])return i instanceof Date?f=i:/^\d{4}-\d{1,2}-\d{1,2}/gi.test(i)?(u=i.split("T")[0].split("-"),f=u.length===3?new Date(parseInt(u[0],10),parseInt(u[1],10)-1,parseInt(u[2],10)):new Date):f=new Date(i),e(f,t[r])}}]);t.filter("dateWithDayButNoYear",["$filter",function(n){var t="EEE, MMM d",i={en:"EEE, MMM d","en-au":"EEE, MMM d","en-nz":"EEE, MMM d","zh-cn":"M月d日 EEE","ko-kr":"M월 d일 EEE","ja-jp":"M月d日(EEE)","zh-tw":"M月d日 EEE"};return function(r,u){return n("date")(r,i[u]||t)}}]);t.filter("localShortDateWithMonthandDay",["$filter",function(n){var t="MMM d",i={en:"MMM d","en-au":"MMM d","en-nz":"MMM d","zh-cn":"M月d日","ko-kr":"M월 d일","ja-jp":"M月d日","zh-tw":"M月d日"};return function(r,u){return n("date")(r,i[u]||t)}}]);t.filter("localTime",["$filter",function(n){var t="hh:mma",i={en:"h:mma","en-au":"h:mma","en-nz":"h:mma","zh-cn":"H:mm","ko-kr":"H:mm","ja-jp":"H:mm","zh-tw":"H:mm"};return function(r,u){return n("date")(r,i[u]||t)}}]);t.filter("localFullDateAbbreviated",["$filter",function(n){var t="EEE MMM d,yyyy",i={en:"EEE MMM d,yyyy"};return function(r,u){return n("date")(r,i[u]||t)}}])}(angular)