{"version":3,"sources":["listing.ts"],"names":["jqOn","el","evt","sel","handler","addEventListener","event","t","target","this","matches","call","parentNode","handleProtectClick","e","stopPropagation","stopImmediatePropagation","handleBodyClick","document","querySelectorAll","forEach","getAttribute","setAria","handleAggToggle","attr","isOpen","toLowerCase","isTab","isPopup","list","body","classList","toggle","allTabs","tablist","closest","handleScrollClick","preventDefault","id","length","indexOf","querySelector","top","getBoundingClientRect","window","scrollY","scrollTo","behavior","bindToggles","pressed","controlled","getElementById","setAttribute","toString","buildMegaSwitch","dealerID","path","domain","fetch","baseUrl","then","o","json","dNav","listEl","panelEl","btn","pnl","currentTabNum","hasSetCurrentTabPanel","markupPanels","parts","location","pathname","split","isHybrid","filter","p","includes","markupList","category","x","markup","vehicles","vehicle","i","isGradeHybrid","isCurrentModel","title","modelgroups","grades","url","img","type","y","grade","z","isCurrentGrade","toLocaleLowerCase","carMenu","createElement","innerHTML","add","appendChild","setTimeout","adjustFixedMenuPadding","console","log","_a","sent","me","children","Array","from","total","kid","getComputedStyle","position","concat","offsetHeight","setNoStockSection","show","n","sec","setFilterTiles","u","filtersApplied","lists","itemsForAnalytics","l","libanner","lis","myItems","dataset","noFilter","urls","map","a","li","append","hasUrl","aUrl","insertBefore","push","setBannerBg","emitFilterFinished","sendListAnalytics","Event","dispatchEvent","items","pushNewVehicleListView","totals","all_vehicles","demonstrator","new_in_stock","test_drive","virtual","analyticsItems","listItem","listType","index","item_id","item_name","name","item_brand","itemBrand","item_category","itemCategory","item_category2","itemCategory2","item_category3","itemCategory3","item_category4","itemCategory4","pushECommerceList","filters","dataLayer","obj","filter_name","filter_value","value","obj2","dl0","model","vehicle_model","vehicle_grade","item_list_id","item_list_name","runWindowScripts","ls","loadScripts","pauseJwPlayers","jwplayer","jws","jwState","getState","toUpperCase","pause","bindModals","d","modal","btns","vid","b","iframe","m","modalId","styles","parseInt","getPropertyValue","replace","trim","handleResize","clearTimeout","resizeTimer","bindAnalytics","bindSelectItems","open","bindJwAnalytics","on","current","getPlaylistItem","video_title","video_url","file","handleLoad"],"mappings":"+3CAgDA,SAASA,KAAKC,EAAIC,EAAaC,EAAaC,GACxCH,EAAGI,iBAAiBH,EAAK,SAASI,GAE9B,IADA,IAAIC,EAAID,EAAME,OACPD,GAAKA,IAAME,MACVF,EAAEG,QAAQP,CAAG,GACbC,EAAQO,KAAKJ,EAAGD,CAAK,EAEzBC,EAAIA,EAAEK,UAEd,CAAC,CACL,CACA,SAASC,mBAAmBC,GAC3BA,EAAEC,gBAAe,EACjBD,EAAEE,yBAAwB,CAC3B,CACA,SAASC,gBAAgBH,GACcI,SAASC,iBAAiB,yCAAyC,EACpGC,QAAQ,SAASnB,GACjBA,EAAGoB,aAAa,eAAe,GAAMP,EAAEN,OAA6Ba,aAAa,eAAe,GAEpGC,QADsCJ,SAASC,iBAAiB,kBAAoBlB,EAAGoB,aAAa,eAAe,EAAI,GAAG,EAC5G,eAAgB,CAAA,CAAK,CACpC,CAAC,CACF,CACA,SAASE,gBAAgBT,GACxB,IAAMb,EAAKQ,KACLe,EAAOvB,EAAGoB,aAAa,cAAc,EAAI,eAAiBpB,EAAGoB,aAAa,eAAe,EAAI,gBAAkB,GAE/GI,EAA+B,SADxBxB,EAAGoB,aAAaG,CAAI,GAAK,IAClBE,YAAW,EAEzBC,EAA8B,QADvB1B,EAAGoB,aAAa,MAAM,GAAK,IACrBK,YAAW,EAExBE,EAAiC,SADzB3B,EAAGoB,aAAa,eAAe,GAAK,IAC5BK,YAAW,EAC3BG,EAAgCX,SAASC,iBAAiB,kBAAoBlB,EAAGoB,aAAa,eAAe,EAAI,GAAG,EAEtHM,GAASF,IAGTG,GACHV,SAASY,KAAKC,UAAUC,OAAO,wBAAyB,CAACP,CAAM,EAE5DE,IAEGM,EAA+CC,OAD/CA,EAAUjC,EAAGkC,QAAQ,gBAAgB,GACiB,KAAA,EAAPD,EAASf,iBAAiB,YAAY,IAChFG,QAAQW,EAAST,EAAM,CAAA,CAAK,EAExCF,QAAQO,EAAML,EAAM,CAACC,CAAM,EAC5B,CACA,SAASW,kBAAkBtB,GAC1BA,EAAEuB,eAAc,EAChB,IAAIC,EAAK7B,KAAKY,aAAa,MAAM,EAC7B,CAACiB,GAAMA,EAAGC,OAAS,GAAK,GAAKD,EAAGE,QAAQ,GAAG,IAC3CvC,EAAKiB,SAASuB,cAAcH,CAAE,KAG9BI,EAAMzC,EAAG0C,sBAAqB,EAAGD,IAAME,OAAOC,QAClDD,OAAOE,SAAS,CACfJ,IAAKA,EACLK,SAAU,Q,CACV,EACF,CACA,SAASC,cACRhD,KAAKkB,SAAU,QAAS,6BAA8BK,eAAe,EACrEvB,KAAKkB,SAAU,QAAS,uBAAwBL,kBAAkB,EAClEb,KAAKkB,SAAU,QAAS,0BAA2BkB,iBAAiB,EACpEpC,KAAKkB,SAAU,QAAS,OAAQD,eAAe,CAChD,CACA,SAASK,QAAQO,EAA+BL,EAAcyB,GAC1DpB,EAAKT,QAAQ,SAASnB,GAClB,IAAMqC,EAAKrC,EAAGoB,aAAa,eAAe,GAAK,GACzC6B,EAAaZ,EAAGC,OAASrB,SAASiC,eAAeb,CAAE,EAAI,KAC7Dd,GAAQvB,EAAGmD,aAAa5B,EAAMyB,EAAQI,SAAQ,EAAG3B,YAAW,CAAE,EAC9DwB,GAAcA,EAAWE,aAAa,eAAe,CAAEH,GAASI,SAAQ,EAAG3B,YAAW,CAAE,CAC5F,CAAC,CACL,CACA,SAAe4B,gBAAgBC,EAAkBC,EAAcC,G,0GAGpD,MAAA,CAAA,EAAMC,MAAMC,+DAAwCJ,CAAQ,EAAEK,KAAK,SAAAC,GAAK,OAAAA,EAAEC,KAAI,CAAN,CAAQ,EAAEF,KAAK,SAACG,GACjG,IA4DOC,EACAC,EASCC,EACAC,EAvEJC,EAAgB,CAAC,EACjBC,EAAwB,CAAA,EACxBC,EAAe,GACbC,EAAQC,SAASC,SAASC,MAAM,GAAG,EACnCC,EAAW,CAAC,CAACJ,EAAMK,OAAO,SAAAC,GAAK,OAAAA,EAAEC,SAAS,QAAQ,CAAnB,CAAoB,EAAEvC,OAkDvDwC,GAhDJhB,EAAK3C,QAAQ,SAAS4D,EAA+BC,GACpD,IAAIC,EAAS,OACbF,EAASG,SAAS/D,QAAQ,SAASgE,EAAyCC,GAC3E,IAKQC,EALJC,EAAiBhB,EAAMO,SAASM,EAAQI,MAAM9D,YAAW,CAAE,EAC3DD,EAAS8D,GAAkB,CAAClB,GAO7B5C,EALC2D,EAAQK,YAAYlD,QACnB6C,EAAQK,YAAY,GAAGC,OAAOnD,SAC3B+C,EAAgB,CAAC,GAAKF,EAAQK,YAAY,GAAGC,OAAO,GAAGC,IAAInD,QAAQ,QAAQ,EAC7EmC,GAAYW,GACfC,EAAiB,CAAA,EAKhB9D,KAIH2C,EAAgBa,EAChBZ,EAAwB,CAAA,GASzBa,GAPAA,GAAU,8BAAgCzD,EAAS,YAAc,IAAM,uIAEsBA,EAAS,OAAS,SAAW,mCAAqCwD,EAAI,IAAMI,EAAI,2BAC7JD,EAAQQ,IAAM,uBACpBR,EAAQI,MAAQ,0CAGhB,sBAAwB/D,EAAS,QAAU,QAAU,gDAAkDwD,EAAI,IAAMI,EAAI,KAC/HD,EAAQK,YAAYrE,QAAQ,SAASyE,EAAoDC,GAExFZ,GADAA,GAAU,4BACA,OAASW,EAAKL,MAAQ,QAChCK,EAAKH,OAAOtE,QAAQ,SAAS2E,EAA8DC,GAC1F,IAAMC,EAAiB1B,EAAMO,SAASiB,EAAMP,MAAMU,kBAAiB,CAAE,EACrEhB,GAAU,oBAAsBzB,EAASsC,EAAMJ,IAAY,2BAA6BJ,GAAkBU,EAAkB,SAAW,IAAM,MAAQF,EAAMP,OAAsBJ,EAAQI,OAAS,MACnM,CAAC,EACDN,GAAU,QACX,CAAC,EAEDA,GAAU,aACX,CAAC,EAIDZ,GADAY,EAAS,2DAA6DD,GAAKb,EAAgB,QAAU,QAAU,2BAA6Ba,EAAI,MAFhJC,GAAU,SAEsJ,QAEjK,CAAC,EAEgB,IAIXiB,GAHNpC,EAAK3C,QAAQ,SAAS4D,EAA+BC,GACpDF,GAAc,8DAAgEE,GAAKb,EAAgB,OAAS,SAAW,sCAAwCa,EAAI,wBAA0BD,EAASQ,MAAQ,gBAC/M,CAAC,EACetE,SAASiC,eAAe,cAAc,GAClDgD,IACGnC,EAAS9C,SAASkF,cAAc,IAAI,EACpCnC,EAAU/C,SAASkF,cAAc,KAAK,EAE5CpC,EAAOqC,UAAYtB,EACnBf,EAAOjC,UAAUuE,IAAI,kBAAkB,EACvCtC,EAAOZ,aAAa,OAAQ,SAAS,EACrCa,EAAQoC,UAAY/B,EACpBL,EAAQlC,UAAUuE,IAAI,oBAAoB,EAErCrC,EAAQxB,cAAc,WAAW,IAC/ByB,EAAMF,EAAOvB,cAAc,yCAAyC,EAE1E0B,OADMA,EAAMF,EAAQxB,cAAc,eAAe,IACjD0B,EAAKf,aAAa,cAAe,OAAO,EACxCc,MAAAA,GAAAA,EAAKd,aAAa,gBAAiB,MAAM,GAG1C+C,EAAQI,YAAYvC,CAAM,EAC1BmC,EAAQI,YAAYtC,CAAO,GAE5BuC,WAAWC,uBAAwB,GAAG,CACvC,CAAC,EAAO,MAAC,SAAC3F,GAET,OADA4F,QAAQC,IAAI,QAAQ7F,CAAC,EACd,IACR,CAAC,G,OApFE,MAAA,CAAA,EAAO8F,EAAAC,KAAA,E,MAsFX,SAASJ,yBACRvF,SAASC,iBAAiB,iBAAiB,EAAEC,QAAQ,SAAS0F,GAG7D,IAFA,IAAMC,EAAWC,MAAMC,KAAKH,EAAGC,QAAQ,EACnCG,EAAQ,EACH7B,EAAI,EAAGA,EAAI0B,EAASxE,OAAQ8C,CAAC,GAAG,CACxC,IAAM8B,EAAMJ,EAAS1B,GAEF,SADR+B,iBAAiBD,CAAG,EACxBE,WACNF,EAAI/D,aAAa,QAAS,QAAAkE,OAAQJ,EAAK,KAAA,CAAK,EAC5CA,GAAUC,EAAoBI,a,CAGhCT,EAAG1D,aAAa,QAAS,gBAAAkE,OAAgBJ,EAAK,KAAA,CAAK,CACpD,CAAC,CACF,CACA,SAASM,kBAAkBC,GACdvG,SAASC,iBAAiB,iCAAiC,EACnEC,QAAQ,SAASsG,GACdC,EAAMD,EAAEvF,QAAQ,kBAAkB,EACxCwF,GAAOA,EAAI5F,UAAUC,OAAO,cAAe,CAACyF,CAAI,CACjD,CAAC,CACF,CACA,SAASG,eAAeC,EAAkBC,GACzC,IAAMC,EAAQ7G,SAASC,iBAAiB,eAAe,EACjD6G,EAAoC,GAC1CD,EAAM3G,QAAQ,SAAC6G,GACd,IAGMC,EAGAC,EAqBAR,EA3BAS,EAA0B,GAEf,KAAA,IADLH,EAAuBI,QAAQC,WAErCJ,EAAWD,EAAExF,cAAc,sBAAsB,KAEjD8F,EAAOV,EAAEtF,OAASsF,EAAIb,MAAMC,KAAKgB,EAAE9G,iBAAiB,GAAG,CAAC,EAAEqH,IAAI,SAAAC,GAAK,OAAAA,EAAEpH,aAAa,MAAM,CAArB,CAAsB,EAAEuD,OAAO,SAAA6D,GAAK,MAAA,CAAC,CAACA,CAAF,CAAG,GAC1GN,EAAMF,EAAE9G,iBAAiB,eAAe,GAC1CC,QAAQ,SAAAsH,GACXT,EAAEU,OAAOD,CAAE,CACZ,CAAC,EACDH,EAAKnH,QAAQ,SAAAyG,GACZM,EAAI/G,QAAQ,SAACsH,EAAGrD,GACf,IAAIuD,EAAS,CAAA,EACKF,EAAGvH,iBAAiB,SAAS,EACrCC,QAAQ,SAAAqH,GACXI,EAAOJ,EAAEpH,aAAa,MAAM,GAAK,GACnCwG,GAAKgB,GAAQA,EAAK/D,SAAS+C,CAAC,IAC/Be,EAAS,CAAA,EAEX,CAAC,EACGA,IACHX,EAAEa,aAAaJ,EAAIR,CAAQ,EAC3BF,EAAkBe,KAAKL,CAAE,EACzBN,EAAQW,KAAKL,CAAE,EAEjB,CAAC,CACF,CAAC,EACKf,EAAMM,EAAE9F,QAAQ,kBAAkB,IACjCwF,EAAI5F,UAAUC,OAAO,cAAe,CAACoG,EAAQ7F,MAAM,CAC3D,CAAC,EACDiE,WAAW,WACVwC,YAAW,EACXC,mBAAkB,CACnB,EAAE,EAAE,EACJC,kBAAkBpB,EAAgBE,CAAiB,CACpD,CACA,SAASiB,qBACR,IAAM/I,EAAM,IAAIiJ,MAAM,gBAAgB,EACtCjI,SAASkI,cAAclJ,CAAG,CAC3B,CACA,SAASgJ,kBAAkBpB,EAA6CuB,GACvEC,uBAAuBxB,CAAc,EACrC,IAAMyB,EAAmC,CACxCC,aAAc,EACdC,aAAc,EACdC,aAAc,EACdC,WAAY,EACZC,QAAS,C,EAEJC,EAAiD,GACvDR,EAAMjI,QAAQ,SAAC0I,GACd,IACM9F,EAAS/D,EAAGkC,QAAQ,kBAAkB,EACtC4H,EAAW/F,GAASA,EAAOqE,QAAQ0B,UAAiB,GAC1DF,EAAed,KAAK,CACnBiB,MAAO/J,EAAGoI,QAAQ2B,OAAS,YAC3BC,QAAShK,EAAGoI,QAAQ/F,IAAM,YAC1B4H,UAAWjK,EAAGoI,QAAQ8B,MAAQ,YAC9BC,WAAYnK,EAAGoI,QAAQgC,WAAa,YACpCC,cAAerK,EAAGoI,QAAQkC,cAAgB,YAC1CC,eAAgBvK,EAAGoI,QAAQoC,eAAiB,YAC5CC,eAAgBzK,EAAGoI,QAAQsC,eAAiB,YAC5CC,eAAgB3K,EAAGoI,QAAQwC,eAAiB,W,CAC5C,EACDd,GAAYR,EAAOQ,EAAS,GAC5BR,EAAOC,YAAY,EACpB,CAAC,EACDsB,kBAAkBjB,EAAgBN,CAAM,CACzC,CACA,SAASD,uBAAuByB,GAC/B,IAAMC,EAAapI,OAAeoI,WAAa,GACzCC,EAAW,CAChB3K,MAAO,uB,EAEJyK,EAAQxI,SACX0I,EAAIF,QAAUA,EAAQvC,IAAI,SAAC3E,GAC1B,MAAO,CACNqH,YAAarH,EAAEsG,KACfgB,aAActH,EAAEuH,K,CAElB,CAAC,GAEFJ,EAAUjC,KAAKkC,CAAG,CACnB,CACA,SAASH,kBAAkBzB,EAAuCE,GACjE,IAMM8B,EANAL,EAAapI,OAAeoI,WAAa,GACzCM,EAAMN,EAAUpG,OAAO,SAAAf,GAAK,MAAW,yBAAXA,EAAEvD,KAAF,CAAkC,EAC/DgL,EAAI/I,SAEHgJ,EAAQD,EAAI,GAAGE,cACfzF,EAAQuF,EAAI,GAAGG,cACfJ,EAAO,CACZ/K,MAAO,iBACPoL,aAAc,OAAApE,OAAOiE,EAAK,GAAA,EAAAjE,OAAIvB,CAAK,EACnC4F,eAAgB,kBAAArE,OAAkBiE,EAAK,KAAA,EAAAjE,OAAMvB,CAAK,EAClDsD,MAAOA,EACPE,OAAQ,CACPC,aAAcD,EAAOC,aAAanG,SAAQ,EAC1CoG,aAAcF,EAAOE,aAAapG,SAAQ,EAC1CqG,aAAcH,EAAOG,aAAarG,SAAQ,EAC1CsG,WAAYJ,EAAOI,WAAWtG,SAAQ,EACtCuG,QAASL,EAAOK,QAAQvG,SAAQ,C,GAGlC2H,EAAUjC,KAAKsC,CAAI,EACpB,CACA,SAASO,mBAER,IADA,IAAMC,EAAMjJ,OAAekJ,aAAe,GACjCzG,EAAI,EAAGA,GAAKwG,EAAGtJ,OAAQ,EAAE8C,EACb,YAAhB,OAAOwG,EAAGxG,IACbwG,EAAGxG,GAAE,CAGR,CACA,SAAS0G,iBACL,GAAwC,KAAA,IAA5BnJ,OAAeoJ,UAA6BpJ,OAAeoJ,SAEnE,IADA,IAAIC,EAAM/K,SAASC,iBAAiB,WAAW,EACtCkE,EAAI,EAAGA,GAAK4G,EAAI1J,OAAQ,EAAE8C,EAAE,CACjC,IAAI6G,EAAWtJ,OAAeoJ,SAASC,EAAI5G,EAAE,EAAE8G,SAAQ,EAAGC,YAAW,EACtD,WAAXF,GAAmC,aAAXA,GACvBtJ,OAAeoJ,SAASC,EAAI5G,EAAE,EAAEgH,MAAK,C,CAItD,CACA,SAASC,aACWpL,SAASC,iBAAiB,wBAAwB,EAC1DC,QAAQ,SAASyD,GAC3BA,EAAExE,iBAAiB,QAAS,SAASS,GACpCA,EAAEC,gBAAe,CAClB,CAAC,CACF,CAAC,EACiBG,SAASC,iBAAiB,sBAAsB,EACxDC,QAAQ,SAASmL,GAC1BA,EAAElM,iBAAiB,QAAS,SAASS,GACpCA,EAAEuB,eAAc,EAChB,IACImK,EADK/L,KACM0B,QAAQ,eAAe,EAClCG,EAFK7B,KAEGY,aAAa,IAAI,EACzBoL,EAAOvL,SAASC,iBAAiB,kBAAoBmB,EAAK,GAAG,EAU7DoK,GATJF,EAAMpJ,aAAa,cAAe,MAAM,EACxCqJ,EAAKrL,QAAQ,SAASuL,GACrBA,EAAEvJ,aAAa,gBAAiB,OAAO,CACxC,CAAC,EACDlC,SAASY,KAAKsB,aAAa,kBAAmB,OAAO,EAGrD2I,eAAc,EAXLtL,KAaIU,iBAAiB,OAAO,GAIjCyL,GAHAF,EAAInK,QACPmK,EAAI,GAAGL,MAAK,EAfJ5L,KAiBOU,iBAAiB,QAAQ,GACrCyL,EAAOrK,QACVqK,EAAOxL,QAAQ,SAASiE,GACvBA,EAAEjC,aAAa,WAAYiC,EAAEhE,aAAa,KAAK,CAAC,EAChDgE,EAAEjC,aAAa,MAAO,EAAE,CACzB,CAAC,CAEH,CAAC,CACF,CAAC,EACclC,SAASC,iBAAiB,iBAAiB,EACnDC,QAAQ,SAASyL,GACvBA,EAAExM,iBAAiB,QAAS,WAC3B,IAIKuM,EAHDE,EADKrM,KACQY,aAAa,eAAe,EACzCmL,EAAQtL,SAASiC,eAAe2J,CAAO,EACvCN,KACCI,EAASJ,EAAM/J,cAAc,QAAQ,IAC3B,IAAMmK,EAAOvL,aAAa,KAAK,GAC5CuL,EAAOxJ,aAAa,MAAOwJ,EAAOvL,aAAa,UAAU,GAAK,EAAE,EANzDZ,KAQL2C,aAAa,gBAAiB,MAAM,EACvCoJ,EAAMpJ,aAAa,cAAe,OAAO,EACzClC,SAASY,KAAKsB,aAAa,kBAAmB,MAAM,EAEtD,CAAC,CACF,CAAC,CACF,CACA,SAAS4F,cAEI9H,SAASC,iBAAiB,gDAAgD,EAClFC,QAAQ,SAAS6J,GAEd8B,EAASnK,OAAOwE,iBADN6D,CAC6B,EAC9B+B,SAASD,EAAOE,iBAAiB,iBAAiB,EAAEC,QAAQ,OAAO,EAAE,EAAEA,QAAQ,KAAK,EAAE,EAAEC,KAAI,CAAE,CAE9G,CAAC,CAEF,CACA,SAASC,eACRC,aAAczK,OAAe0K,WAAW,EACvC1K,OAAe0K,YAAc9G,WAAW,WACxCwC,YAAW,CACZ,EAAE,GAAG,CACN,CACA,SAASuE,gBACRC,gBAAe,CAChB,CACA,SAASA,kBACR,IAAMxC,EAAapI,OAAeoI,WAAa,GACjC9J,SAASC,iBAAiB,uBAAuB,EAEzDC,QAAQ,SAASb,GACtBA,EAAEF,iBAAiB,QAAS,SAASS,GACpCA,EAAEuB,eAAc,EAChB,IAAMsD,EAAMlF,KAAKY,aAAa,MAAM,GAAK,GACnCb,EAASC,KAAKY,aAAa,QAAQ,GAAK,QACxCqH,EAAKjI,KAAK0B,QAAQ,eAAe,EACjCoJ,EAAQ7C,EAAGL,QAAQoC,eAAiB,GACpC1E,EAAQ2C,EAAGL,QAAQsC,eAAiB,GAC1CK,EAAUjC,KAAK,CACdzI,MAAO,cACPoL,aAAc,OAAApE,OAAOiE,EAAK,GAAA,EAAAjE,OAAIvB,CAAK,EACnC4F,eAAgB,kBAAArE,OAAkBiE,EAAK,KAAA,EAAAjE,OAAMvB,CAAK,EAClDsD,MAAO,CACN,CACCW,MAAOtB,EAAGL,QAAQ2B,OAAS,YAC3BC,QAASvB,EAAGL,QAAQ/F,IAAM,YAC1B4H,UAAWxB,EAAGL,QAAQ8B,MAAQ,YAC9BC,WAAY,SACZE,cAAe5B,EAAGL,QAAQkC,cAAgB,YAC1CC,eAAgB9B,EAAGL,QAAQoC,eAAiB,YAC5CC,eAAgBhC,EAAGL,QAAQsC,eAAiB,W,GAG9C,EACDnE,WAAW,WACV5D,OAAO6K,KAAK9H,EAAKnF,CAAM,CACxB,EAAE,GAAG,CACN,CAAC,CACF,CAAC,CACF,CACA,SAASkN,kBAC+B,KAAA,IAA3B9K,OAAeoJ,WAC3BtF,QAAQC,IAAI,mBAAmB,EAC9B/D,OAAeoJ,SAAQ,EAAG2B,GAAG,OAAQ,WACrCjH,QAAQC,IAAI,WAAW,EACvB,IAAMiH,EAAWhL,OAAeoJ,SAAQ,EAAG6B,gBAAe,EACzDjL,OAAeoI,UAAUjC,KAAK,CAC9BzI,MAAO,cACPwN,YAAaF,EAAQpI,MACrBuI,UAAWH,EAAQI,I,CACnB,CACF,CAAC,EACApL,OAAeoJ,SAAQ,EAAG2B,GAAG,WAAY,WACzCjH,QAAQC,IAAI,eAAe,EAC3B,IAAMiH,EAAWhL,OAAeoJ,SAAQ,EAAG6B,gBAAe,EACzDjL,OAAeoI,UAAUjC,KAAK,CAC9BzI,MAAO,iBACPwN,YAAaF,EAAQpI,MACrBuI,UAAWH,EAAQI,I,CACnB,CACF,CAAC,EACF,CACA,SAASC,aACRjF,YAAW,EACXhG,YAAW,EACXsJ,WAAU,EACViB,cAAa,EAEb3B,iBAAgB,CACjB,CACChJ,OAAe0K,YAAc,EAC9B1K,OAAOvC,iBAAiB,OAAQ4N,UAAU,EAC1CrL,OAAOvC,iBAAiB,SAAU+M,YAAY,EAC9CxK,OAAOvC,iBAAiB,oBAAqB+M,YAAY","file":"listing.js","sourcesContent":[" interface INavCategoryApiItemVehicleItemModelGroupItemGradeItem \r\n{\r\n\ttitle: string,\r\n\turl: string,\r\n\timg: string,\r\n\tbuy: boolean\r\n} \r\n interface INavCategoryApiItemVehicleItemModelGroupItem \r\n{\r\n\ttitle: string,\r\n\turl: string | null,\r\n\tgrades: Array \r\n} \r\n interface INavCategoryApiItemVehicleItem \r\n{\r\n\ttitle: string,\r\n\turl: string,\r\n\timg: string,\r\n\tmodelgroups: Array\r\n}\r\n interface INavCategoryApiItem\r\n{\r\n\ttitle: string,\r\n\tvehicles: Array\r\n}\r\ninterface IFilterAnalyticsItem {\r\n\tname: string,\r\n\tvalue: string\r\n}\r\n\r\ninterface IECommerceAnalyticsItem {\r\n\tindex: string, //\"@@POSITION@@\",\r\n\titem_id: string, //\"@@VEHICLEMATERIALCODE@@\",\r\n\titem_name: string, //\"@@VEHICLEDESCRIPTION@@\",\r\n\titem_brand: string,\r\n\titem_category: string, //\"New Vehicles\",\r\n\titem_category2: string, //\"@@VEHICLEMODEL@@\",\r\n\titem_category3: string, //\"@@VEHICLEGRADE@@\",\r\n\titem_category4: string, //\"@@VEHICLETYPE@@\",\r\n}\r\ninterface IECommerceAnalyticsTotal {\r\n\tall_vehicles: number, \r\n\tdemonstrator: number,\r\n\tnew_in_stock: number,\r\n\ttest_drive: number,\r\n\tvirtual: number,\r\n}\r\n\r\nfunction jqOn(el, evt: string, sel: string, handler: Function){\r\n el.addEventListener(evt, function(event){\r\n let t = event.target;\r\n while (t && t !== this){\r\n if (t.matches(sel)){\r\n handler.call(t, event);\r\n }\r\n t = t.parentNode;\r\n }\r\n });\r\n}\r\nfunction handleProtectClick(e: MouseEvent){\r\n\te.stopPropagation();\r\n\te.stopImmediatePropagation();\r\n}\r\nfunction handleBodyClick(e: MouseEvent){\r\n\tconst btns: NodeListOf = document.querySelectorAll(\"[aria-pressed=true][data-popup-dismiss]\");\r\n\tbtns.forEach(function(el){\r\n\t\tif (el.getAttribute('aria-controls') == (e.target as HTMLButtonElement).getAttribute('aria-controls')) return;\r\n\t\tconst list: NodeListOf = document.querySelectorAll(\"[aria-controls=\" + el.getAttribute(\"aria-controls\") + \"]\");\r\n\t\tsetAria(list, 'aria-pressed', false);\r\n\t});\r\n}\r\nfunction handleAggToggle(e: MouseEvent){\r\n\tconst el = this;\r\n\tconst attr = el.getAttribute(\"aria-pressed\") ? 'aria-pressed' : el.getAttribute(\"aria-selected\") ? 'aria-selected' : '';\r\n\tconst open = el.getAttribute(attr) || '';\r\n\tconst isOpen = open.toLowerCase() == \"true\";\r\n\tconst role = el.getAttribute(\"role\") || '';\r\n\tconst isTab = role.toLowerCase() == \"tab\";\r\n\tconst popup = el.getAttribute(\"aria-haspopup\") || '';\r\n\tconst isPopup = popup.toLowerCase() == \"true\";\r\n\tconst list: NodeListOf = document.querySelectorAll(\"[aria-controls=\" + el.getAttribute(\"aria-controls\") + \"]\");\r\n\r\n\tif (isTab && isOpen){\r\n\t\treturn;\r\n\t}\r\n\tif (isPopup){\r\n\t\tdocument.body.classList.toggle(\"agg-disable-scrolling\", !isOpen);\r\n\t}\r\n\tif (isTab){\r\n\t\tconst tablist = el.closest(\"[role=tablist]\");\r\n\t\tconst allTabs: NodeListOf | undefined = tablist?.querySelectorAll(\"[role=tab]\");\r\n\t\tallTabs && setAria(allTabs, attr, false);\r\n\t}\r\n\tsetAria(list, attr, !isOpen);\r\n}\r\nfunction handleScrollClick(e: MouseEvent){\r\n\te.preventDefault();\r\n\tvar id = this.getAttribute(\"href\");\r\n\tif (!id || id.length < 2 || 0 != id.indexOf('#')) return;\r\n\tvar el = document.querySelector(id);\r\n\tif (!el) return;\r\n\r\n\tvar top = el.getBoundingClientRect().top + window.scrollY;\r\n\twindow.scrollTo({\r\n\t\ttop: top,\r\n\t\tbehavior: \"smooth\"\r\n\t});\t\r\n}\r\nfunction bindToggles(): void {\r\n\tjqOn(document, 'click', '.agg-toggle[aria-controls]', handleAggToggle);\r\n\tjqOn(document, 'click', '[data-popup-protect]', handleProtectClick);\r\n\tjqOn(document, 'click', \"a.agg-scroll[href^='#']\", handleScrollClick);\r\n\tjqOn(document, 'click', 'body', handleBodyClick);\r\n}\r\nfunction setAria(list: NodeListOf, attr: string, pressed: boolean): void {\r\n list.forEach(function(el) {\r\n const id = el.getAttribute(\"aria-controls\") || '';\r\n const controlled = id.length ? document.getElementById(id) : null;\r\n attr && el.setAttribute(attr, pressed.toString().toLowerCase());\r\n controlled && controlled.setAttribute(\"aria-hidden\", (!pressed).toString().toLowerCase());\r\n });\r\n}\r\nasync function buildMegaSwitch(dealerID: number, path: string, domain: string): Promise {\r\n\tconst baseUrl = 'https://stagingapp.toyotainventory.com.au/';\r\n\r\n return await fetch(baseUrl + \"api/NavCategory?dealerid=\" + dealerID).then(o => o.json()).then((dNav: Array) => {\r\n\t\tlet currentTabNum = -1;\r\n\t\tlet hasSetCurrentTabPanel = false;\r\n\t\tlet markupPanels = '';\r\n\t\tconst parts = location.pathname.split('/');\r\n\t\tconst isHybrid = !!parts.filter(p => p.includes('hybrid')).length;\r\n\r\n\t\tdNav.forEach(function(category: INavCategoryApiItem, x: number){\r\n\t\t\tlet markup = '
    ';\r\n\t\t\tcategory.vehicles.forEach(function(vehicle: INavCategoryApiItemVehicleItem, i: number){\r\n\t\t\t\tlet isCurrentModel = parts.includes(vehicle.title.toLowerCase());\r\n\t\t\t\tlet isOpen = isCurrentModel && !hasSetCurrentTabPanel;\r\n\r\n\t\t\t\tif (vehicle.modelgroups.length){\r\n\t\t\t\t\tif (vehicle.modelgroups[0].grades.length){\r\n\t\t\t\t\t\tconst isGradeHybrid = -1 != vehicle.modelgroups[0].grades[0].url.indexOf('hybrid');\r\n\t\t\t\t\t\tif (isHybrid != isGradeHybrid){\r\n\t\t\t\t\t\t\tisCurrentModel = false;\r\n\t\t\t\t\t\t\tisOpen = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (isOpen){\r\n\t\t\t\t\t// this is to ensure only one nav is open and it's the first one found. This is mostly because of hybrid category having the same urls.\r\n\t\t\t\t\t// currentVehicleNum = i;\r\n\t\t\t\t\t// hasSetCurrentVehicleNum = true;\r\n\t\t\t\t\tcurrentTabNum = x;\r\n\t\t\t\t\thasSetCurrentTabPanel = true;\r\n\t\t\t\t}\r\n\t\t\t\tmarkup += '
  • \\\r\n\t\t\t\t
    \\\r\n\t\t\t\t\t\\\r\n\t\t\t\t
    ';\r\n\t\t\t\tmarkup += '
    ';\r\n\t\t\t\tvehicle.modelgroups.forEach(function(type: INavCategoryApiItemVehicleItemModelGroupItem, y: number){\r\n\t\t\t\t\tmarkup += '
    ';\r\n\t\t\t\t\tmarkup += '

    ' + type.title + '

    ';\r\n\t\t\t\t\ttype.grades.forEach(function(grade: INavCategoryApiItemVehicleItemModelGroupItemGradeItem, z: number) {\r\n\t\t\t\t\t\tconst isCurrentGrade = parts.includes(grade.title.toLocaleLowerCase());\r\n\t\t\t\t\t\tmarkup += '' + (grade.title ? grade.title : vehicle.title) + '';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tmarkup += '
    ';\r\n\t\t\t\t});\r\n\t\t\t\tmarkup += \"
    \"\r\n\t\t\t\tmarkup += '
  • ';\r\n\t\t\t});\r\n\t\t\tmarkup += '
'\r\n\r\n\t\t\tmarkup = '
' + markup + '
';\r\n\t\t\tmarkupPanels += markup;\r\n\t\t});\r\n\r\n\t\tlet markupList = '';\r\n\t\tdNav.forEach(function(category: INavCategoryApiItem, x: number) {\r\n\t\t\tmarkupList += '
  • ';\r\n\t\t});\r\n\t\tconst carMenu = document.getElementById('nvi-car-menu');\r\n\t\tif (carMenu){\r\n\t\t\tconst listEl = document.createElement('ul');\r\n\t\t\tconst panelEl = document.createElement('div');\r\n\r\n\t\t\tlistEl.innerHTML = markupList;\r\n\t\t\tlistEl.classList.add('nvi-cars-tablist');\r\n\t\t\tlistEl.setAttribute('role', 'tablist');\r\n\t\t\tpanelEl.innerHTML = markupPanels;\r\n\t\t\tpanelEl.classList.add('nvi-cars-tabpanels');\r\n\t\t\t\r\n\t\t\tif (!panelEl.querySelector('.original')){\r\n\t\t\t\tconst btn = listEl.querySelector('.nvi-cars-tablist button[aria-controls]');\r\n\t\t\t\tconst pnl = panelEl.querySelector('[aria-hidden]');\r\n\t\t\t\tpnl?.setAttribute('aria-hidden', 'false');\r\n\t\t\t\tbtn?.setAttribute('aria-selected', 'true');\r\n\t\t\t}\r\n\r\n\t\t\tcarMenu.appendChild(listEl);\r\n\t\t\tcarMenu.appendChild(panelEl);\r\n\t\t}\r\n\t\tsetTimeout(adjustFixedMenuPadding, 200);\r\n\t}).catch((e) => {\r\n\t\tconsole.log('error',e)\r\n\t\treturn null;\r\n\t});\r\n}\r\nfunction adjustFixedMenuPadding(): void {\r\n\tdocument.querySelectorAll(\".nvi-fixed-menu\").forEach(function(me){\r\n\t\tconst children = Array.from(me.children);\r\n\t\tlet total = 0;\r\n\t\tfor (let i = 0; i < children.length; i++){\r\n\t\t\tconst kid = children[i];\r\n\t\t\tconst cs = getComputedStyle(kid);\r\n\t\t\tif (cs.position == \"fixed\") {\r\n\t\t\t\tkid.setAttribute('style', `top: ${total}px;`);\r\n\t\t\t\ttotal += (kid as HTMLElement).offsetHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t\tme.setAttribute('style', `padding-top: ${total}px;`);\r\n\t});\r\n}\r\nfunction setNoStockSection(show: boolean): void {\r\n\tconst nos = document.querySelectorAll('.tb-list-section-inner-no-stock');\r\n\tnos.forEach(function(n){\r\n\t\tconst sec = n.closest('.tb-list-section');\r\n\t\tsec && sec.classList.toggle('tb-no-items', !show);\r\n\t});\r\n}\r\nfunction setFilterTiles(u: Array, filtersApplied: Array): void {\r\n\tconst lists = document.querySelectorAll('.tb-list-list');\r\n\tconst itemsForAnalytics: Array = [];\r\n\tlists.forEach((l) => {\r\n\t\tconst myItems: Array = [];\r\n\t\tconst nf = (l as HTMLUListElement).dataset.noFilter;\r\n\t\tif (typeof nf != 'undefined') return;\r\n\t\tconst libanner = l.querySelector('.tb-list-item-banner');\r\n\t\tif (!libanner) return;\r\n\t\tconst urls = u.length ? u : Array.from(l.querySelectorAll('a')).map(a => a.getAttribute('href')).filter(a => !!a);\r\n\t\tconst lis = l.querySelectorAll('.tb-list-item');\r\n\t\tlis.forEach(li => {\r\n\t\t\tl.append(li);\r\n\t\t});\r\n\t\turls.forEach(u => {\r\n\t\t\tlis.forEach((li,i) => {\r\n\t\t\t\tlet hasUrl = false;\r\n\t\t\t\tconst liAnchors = li.querySelectorAll('a[href]');\r\n\t\t\t\tliAnchors.forEach(a => {\r\n\t\t\t\t\tconst aUrl = a.getAttribute('href') || '';\r\n\t\t\t\t\tif (u && aUrl && aUrl.includes(u)){\r\n\t\t\t\t\t\thasUrl = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (hasUrl){\r\n\t\t\t\t\tl.insertBefore(li, libanner);\r\n\t\t\t\t\titemsForAnalytics.push(li);\r\n\t\t\t\t\tmyItems.push(li);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\tconst sec = l.closest('.tb-list-section');\r\n\t\tsec && sec.classList.toggle('tb-no-items', !myItems.length);\r\n\t});\r\n\tsetTimeout(function(){\r\n\t\tsetBannerBg();\r\n\t\temitFilterFinished();\r\n\t},10);\r\n\tsendListAnalytics(filtersApplied, itemsForAnalytics);\r\n}\r\nfunction emitFilterFinished(): void {\r\n\tconst evt = new Event('filterFinished');\r\n\tdocument.dispatchEvent(evt);\r\n}\r\nfunction sendListAnalytics(filtersApplied: Array, items: Array){\r\n\tpushNewVehicleListView(filtersApplied);\r\n\tconst totals: IECommerceAnalyticsTotal = {\r\n\t\tall_vehicles: 0, \r\n\t\tdemonstrator: 0,\r\n\t\tnew_in_stock: 0,\r\n\t\ttest_drive: 0,\r\n\t\tvirtual: 0,\r\n\t};\r\n\tconst analyticsItems: Array = [];\r\n\titems.forEach((listItem) => {\r\n\t\tconst el = (listItem as HTMLElement);\r\n\t\tconst listEl = el.closest('[data-list-type]') as HTMLElement;\r\n\t\tconst listType = listEl ? listEl.dataset.listType || '' : '';\r\n\t\tanalyticsItems.push({\r\n\t\t\tindex: el.dataset.index || '(not set)',\r\n\t\t\titem_id: el.dataset.id || '(not set)',\r\n\t\t\titem_name: el.dataset.name || '(not set)',\r\n\t\t\titem_brand: el.dataset.itemBrand || '(not set)',\r\n\t\t\titem_category: el.dataset.itemCategory || '(not set)',\r\n\t\t\titem_category2: el.dataset.itemCategory2 || '(not set)',\r\n\t\t\titem_category3: el.dataset.itemCategory3 || '(not set)',\r\n\t\t\titem_category4: el.dataset.itemCategory4 || '(not set)',\r\n\t\t});\r\n\t\tlistType && totals[listType]++;\r\n\t\ttotals.all_vehicles++;\r\n\t});\r\n\tpushECommerceList(analyticsItems, totals);\r\n}\r\nfunction pushNewVehicleListView(filters: Array){\r\n\tconst dataLayer = (window as any).dataLayer || [];\r\n\tconst obj: any = {\r\n\t\tevent: \"new_vehicle_list_view\"\r\n\t};\r\n\tif (filters.length){\r\n\t\tobj.filters = filters.map((o) => {\r\n\t\t\treturn {\r\n\t\t\t\tfilter_name: o.name,\r\n\t\t\t\tfilter_value: o.value\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n\tdataLayer.push(obj);\r\n}\r\nfunction pushECommerceList(items: Array, totals: IECommerceAnalyticsTotal){\r\n\tconst dataLayer = (window as any).dataLayer || [];\r\n\tconst dl0 = dataLayer.filter(o => o.event == 'new_vehicle_list_view');\r\n\tif (!dl0.length) return;\r\n\r\n\tconst model = dl0[0].vehicle_model;\r\n\tconst grade = dl0[0].vehicle_grade;\r\n\tconst obj2 = {\r\n\t\tevent: \"view_item_list\",\r\n\t\titem_list_id: `nvi_${model}_${grade}`, \r\n\t\titem_list_name: `New Vehicles - ${model} - ${grade}`,\r\n\t\titems: items,\r\n\t\ttotals: {\r\n\t\t\tall_vehicles: totals.all_vehicles.toString(), \r\n\t\t\tdemonstrator: totals.demonstrator.toString(),\r\n\t\t\tnew_in_stock: totals.new_in_stock.toString(),\r\n\t\t\ttest_drive: totals.test_drive.toString(),\r\n\t\t\tvirtual: totals.virtual.toString(),\r\n\t\t}\r\n\t};\r\n\tdataLayer.push(obj2);\r\n}\r\nfunction runWindowScripts(){\r\n\tconst ls = (window as any).loadScripts || [];\r\n\tfor (let i = 0; i != ls.length; ++i){\r\n\t\tif (typeof ls[i] == 'function'){\r\n\t\t\tls[i]();\r\n\t\t}\r\n\t}\r\n}\r\nfunction pauseJwPlayers(){\r\n if (typeof (window as any).jwplayer !== \"undefined\" && (window as any).jwplayer) {\r\n var jws = document.querySelectorAll('.jwplayer');\r\n for (var i = 0; i != jws.length; ++i){\r\n var jwState = (window as any).jwplayer(jws[i]).getState().toUpperCase();\r\n if (jwState == \"PLAYING\" || jwState == \"BUFFERING\"){\r\n (window as any).jwplayer(jws[i]).pause();\r\n }\r\n }\r\n }\r\n}\r\nfunction bindModals(): void {\r\n\tconst protecteds = document.querySelectorAll('[data-modal-protected]');\r\n\tprotecteds.forEach(function(p){\r\n\t\tp.addEventListener('click', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t});\r\n\tconst dismisses = document.querySelectorAll('[data-modal-dismiss]');\r\n\tdismisses.forEach(function(d){\r\n\t\td.addEventListener('click', function(e){\r\n\t\t\te.preventDefault();\r\n\t\t\tvar me = this;\r\n\t\t\tvar modal = me.closest(\"[role=dialog]\");\r\n\t\t\tvar id = me.getAttribute(\"id\");\r\n\t\t\tvar btns = document.querySelectorAll(\"[data-modal-id=\" + id + \"]\");\r\n\t\t\tmodal.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\tbtns.forEach(function(b){\r\n\t\t\t\tb.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t\t});\r\n\t\t\tdocument.body.setAttribute(\"data-modal-open\", \"false\");\r\n\t\t\t// $('body').trigger('resize');\r\n\t\t\t\r\n\t\t\tpauseJwPlayers();\r\n\t\t\r\n\t\t\tvar vid = me.querySelectorAll(\"video\");\r\n\t\t\tif (vid.length) {\r\n\t\t\t\tvid[0].pause();\r\n\t\t\t}\r\n\t\t\tvar iframe = me.querySelectorAll(\"iframe\");\r\n\t\t\tif (iframe.length) {\r\n\t\t\t\tiframe.forEach(function(i){\r\n\t\t\t\t\ti.setAttribute('data-src', i.getAttribute('src'));\r\n\t\t\t\t\ti.setAttribute('src', '');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\tconst modals = document.querySelectorAll('[data-modal-id]');\r\n\tmodals.forEach(function(m){\r\n\t\tm.addEventListener('click', function(){\r\n\t\t\tvar me = this;\r\n\t\t\tvar modalId = me.getAttribute(\"data-modal-id\");\r\n\t\t\tvar modal = document.getElementById(modalId);\r\n\t\t\tif (modal) {\r\n\t\t\t\tvar iframe = modal.querySelector(\"iframe\");\r\n\t\t\t\tif (iframe && '' == iframe.getAttribute('src')){\r\n\t\t\t\t\tiframe.setAttribute('src', iframe.getAttribute('data-src') || '');\r\n\t\t\t\t}\r\n\t\t\t\tme.setAttribute(\"aria-expanded\", \"true\");\r\n\t\t\t\tmodal.setAttribute(\"aria-hidden\", \"false\");\r\n\t\t\t\tdocument.body.setAttribute(\"data-modal-open\", \"true\");\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\nfunction setBannerBg()\r\n{\r\n\tconst els = document.querySelectorAll('.tb-list-item-banner .tb-list-item-content > *');\r\n\tels.forEach(function(obj){\r\n\t\tconst anchor = (obj as HTMLElement);\r\n\t\tconst styles = window.getComputedStyle(anchor);\r\n\t\tconst bgSize = parseInt(styles.getPropertyValue('background-size').replace('auto','').replace('px','').trim());\r\n\t\t// anchor.classList.toggle('tb-top', !isNaN(bgSize) && anchor.offsetHeight > bgSize);\r\n\t});\r\n\t\r\n}\r\nfunction handleResize(): void {\r\n\tclearTimeout((window as any).resizeTimer);\r\n\t(window as any).resizeTimer = setTimeout(function(){\r\n\t\tsetBannerBg();\r\n\t},250);\t\r\n}\r\nfunction bindAnalytics(){\r\n\tbindSelectItems();\r\n}\r\nfunction bindSelectItems(){\r\n\tconst dataLayer = (window as any).dataLayer || [];\r\n\tconst tiles = document.querySelectorAll('.tb-list-item a[href]');\r\n\r\n\ttiles.forEach(function(t){\r\n\t\tt.addEventListener('click', function(e: Event){\r\n\t\t\te.preventDefault();\r\n\t\t\tconst url = this.getAttribute('href') || '';\r\n\t\t\tconst target = this.getAttribute('target') || '_self';\r\n\t\t\tconst li = this.closest('.tb-list-item');\r\n\t\t\tconst model = li.dataset.itemCategory2 || '';\r\n\t\t\tconst grade = li.dataset.itemCategory3 || '';\r\n\t\t\tdataLayer.push({\r\n\t\t\t\tevent: \"select_item\",\r\n\t\t\t\titem_list_id: `nvi_${model}_${grade}`, \r\n\t\t\t\titem_list_name: `New Vehicles - ${model} - ${grade}`,\r\n\t\t\t\titems: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tindex: li.dataset.index || '(not set)',\r\n\t\t\t\t\t\titem_id: li.dataset.id || '(not set)',\r\n\t\t\t\t\t\titem_name: li.dataset.name || '(not set)',\r\n\t\t\t\t\t\titem_brand: \"Toyota\",\r\n\t\t\t\t\t\titem_category: li.dataset.itemCategory || '(not set)',\r\n\t\t\t\t\t\titem_category2: li.dataset.itemCategory2 || '(not set)',\r\n\t\t\t\t\t\titem_category3: li.dataset.itemCategory3 || '(not set)'\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t});\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\twindow.open(url, target);\r\n\t\t\t},100);\r\n\t\t});\r\n\t});\r\n}\r\nfunction bindJwAnalytics(): void {\r\n\tif (typeof (window as any).jwplayer == 'undefined') return;\r\n\tconsole.log('bindJwAnalytics 1');\r\n\t(window as any).jwplayer().on('play', function() {\r\n\t\tconsole.log('jw play 1');\r\n\t\tconst current = (window as any).jwplayer().getPlaylistItem();\r\n\t\t(window as any).dataLayer.push({\r\n\t\t\tevent: \"video_start\",\r\n\t\t\tvideo_title: current.title,\r\n\t\t\tvideo_url: current.file\r\n\t\t})\r\n\t});\r\n\t(window as any).jwplayer().on('complete', function() {\r\n\t\tconsole.log('jw complete 1');\r\n\t\tconst current = (window as any).jwplayer().getPlaylistItem();\r\n\t\t(window as any).dataLayer.push({\r\n\t\t\tevent: \"video_complete\",\r\n\t\t\tvideo_title: current.title,\r\n\t\t\tvideo_url: current.file\r\n\t\t})\r\n\t});\r\n}\r\nfunction handleLoad(): void {\r\n\tsetBannerBg();\r\n\tbindToggles();\r\n\tbindModals();\r\n\tbindAnalytics();\r\n\t// bindJwAnalytics();\r\n\trunWindowScripts();\r\n}\r\n(window as any).resizeTimer = 0;\r\nwindow.addEventListener('load', handleLoad);\r\nwindow.addEventListener('resize', handleResize);\r\nwindow.addEventListener('orientationchange', handleResize);"]}