{"version":3,"file":"webpack-chunks/chunk.scripts_components_nearestDealerMap_js.f0d4cbb009f0398efb2b.js","mappings":";;;;;;;;;;AAAA,MAAMA,oBAAoB,GAAG,CAAC,MAAM;AAEhC;AACA,QAAMC,OAAO,GAAGC,CAAC,CAACC,EAAF,CAAKC,MAArB;AACA,QAAMC,OAAO,GAAGH,CAAC,CAACC,EAAF,CAAKG,MAArB;AAEA,QAAMC,WAAW,GAAG,gBAApB;AACA,MAAIC,QAAQ,GAAG,EAAf;AACA,QAAMC,SAAS,GAAG;AACdC,IAAAA,YAAY,EAAEC,SADA;AAEdC,IAAAA,oBAAoB,EAAED,SAFR;AAGdE,IAAAA,sBAAsB,EAAEF,SAHV;AAIdG,IAAAA,iBAAiB,EAAEH,SAJL;AAKdI,IAAAA,oBAAoB,EAAEJ,SALR;AAMdK,IAAAA,uBAAuB,EAAEL,SANX;AAOdM,IAAAA,iBAAiB,EAAEN,SAPL;AAQdO,IAAAA,iBAAiB,EAAEP,SARL;AASdQ,IAAAA,mBAAmB,EAAER,SATP;AAUdS,IAAAA,qBAAqB,EAAET,SAVT;AAWdU,IAAAA,uBAAuB,EAAEV;AAXX,GAAlB;AAaA,QAAMW,gBAAgB,GAAG,KAAzB;;AACA,QAAMC,iBAAiB,GAAG,CAAC,KAA3B;;AACA,MAAIC,KAAK,GAAGb,SAAZ;AACA,MAAIc,IAAI,GAAGd,SAAX;AACA,MAAIe,cAAc,GAAGf,SAArB;AACA,QAAMgB,WAAW,GAAG;AAChBC,IAAAA,SAAS,EAAEjB,SADK;AAEhBkB,IAAAA,WAAW,EAAElB,SAFG;AAGhBmB,IAAAA,YAAY,EAAEnB;AAHE,GAApB;AAKA,QAAMoB,YAAY,GAAG;AACjBC,IAAAA,MAAM,EAAE,CADS;AAEjBC,IAAAA,MAAM,EAAE,CAFS;AAGjBC,IAAAA,UAAU,EAAE,CAHK;AAIjBC,IAAAA,WAAW,EAAE;AAJI,GAArB;AAMA,QAAMC,UAAU,GAAG,CACf;AACI,mBAAe,UADnB;AAEI,eAAW,CACP;AACI,eAAS;AADb,KADO;AAFf,GADe,EASf;AACI,mBAAe,iBADnB;AAEI,eAAW,CACP;AACI,eAAS;AADb,KADO,EAIP;AACI,eAAS;AADb,KAJO;AAFf,GATe,EAoBf;AACI,mBAAe,QADnB;AAEI,eAAW,CACP;AACI,oBAAc;AADlB,KADO;AAFf,GApBe,EA4Bf;AACI,mBAAe,4BADnB;AAEI,eAAW,CACP;AACI,oBAAc;AADlB,KADO;AAFf,GA5Be,EAoCf;AACI,mBAAe,6BADnB;AAEI,eAAW,CACP;AACI,oBAAc;AADlB,KADO;AAFf,GApCe,EA4Cf;AACI,mBAAe,MADnB;AAEI,eAAW,CACP;AACI,oBAAc;AADlB,KADO;AAFf,GA5Ce,EAoDf;AACI,mBAAe,OADnB;AAEI,eAAW,CACP;AAAE,eAAS;AAAX,KADO;AAFf,GApDe,CAAnB;AA2DA,MAAIC,oBAAoB,GAAG1B,SAA3B;;AAEA,WAAS2B,iBAAT,CAA2BC,GAA3B,EAAgC;AAC5BC,IAAAA,aAAa,CAACD,GAAD,CAAb,CAAmBE,IAAnB,CACKC,QAAD,IAAc;AACVlC,MAAAA,QAAQ,GAAGkC,QAAQ,CAACC,OAApB;AACAjB,MAAAA,cAAc,GAAGgB,QAAQ,CAACE,aAA1B;AACAC,MAAAA,oBAAoB;AACpBC,MAAAA,UAAU;AACb,KANL,EAOKC,KAAD,IAAW;AAAEC,MAAAA,OAAO,CAACD,KAAR,CAAc,6CAAd,EAA6DA,KAA7D;AAAqE,KAPtF;AASH;;AAED,WAASF,oBAAT,GAAgC;AAC5B,QAAInB,cAAc,KAAKf,SAAvB,EAAkC;AAC9BqC,MAAAA,OAAO,CAACD,KAAR,CAAc,2EAAd;AACA;AACH;;AACDtC,IAAAA,SAAS,CAACG,oBAAV,CAA+BqC,SAA/B,GAA2CvB,cAAc,CAACwB,OAA1D;AACAzC,IAAAA,SAAS,CAACK,iBAAV,CAA4BmC,SAA5B,GAAwCvB,cAAc,CAACyB,IAAvD;AACA1C,IAAAA,SAAS,CAACM,oBAAV,CAA+BkC,SAA/B,GAA2CvB,cAAc,CAAC0B,OAA1D;AACA3C,IAAAA,SAAS,CAACQ,iBAAV,CAA4BoC,IAA5B,GAAmC3B,cAAc,CAAC4B,OAAlD;AACA7C,IAAAA,SAAS,CAACS,iBAAV,CAA4B+B,SAA5B,GAAwCvB,cAAc,CAAC6B,IAAvD;AACA9C,IAAAA,SAAS,CAACU,mBAAV,CAA8B8B,SAA9B,GAA0CvB,cAAc,CAAC8B,UAAzD;AACA/C,IAAAA,SAAS,CAACW,qBAAV,CAAgC6B,SAAhC,GAA4CvB,cAAc,CAAC+B,QAA3D;AAEA,QAAI/B,cAAc,CAACgC,UAAf,KAA8B,IAAlC,EACIjD,SAAS,CAACO,uBAAV,CAAkCqC,IAAlC,GACK,kCAAiC3B,cAAc,CAACgC,UAAf,CAA0BC,IAAK,EADrE;AAGJlD,IAAAA,SAAS,CAACY,uBAAV,CAAkCuC,KAAlC,CAAwCC,OAAxC,GAAkD,MAAlD;AAEApD,IAAAA,SAAS,CAACI,sBAAV,CAAiC+C,KAAjC,CAAuCE,OAAvC,GAAiD,KAAjD;AACH;;AAED,WAAShB,UAAT,GAAsB;AAElB,UAAMiB,UAAU,GAAGC,aAAa,EAAhC;AAEA,UAAMC,IAAI,GAAGC,OAAO,CAACH,UAAD,CAApB;AAEA,UAAMI,MAAM,GAAGC,iBAAiB,CAACL,UAAD,CAAhC;AAEA,UAAMM,GAAG,GAAG5C,IAAI,GAAG,IAAI6C,MAAM,CAACC,IAAP,CAAYC,GAAhB,CAAoB/D,SAAS,CAACC,YAA9B,EAA4C;AAC3DyD,MAAAA,MAD2D;AAE3DM,MAAAA,gBAAgB,EAAE,IAFyC;AAG3DC,MAAAA,eAAe,EAAE,MAH0C;AAI3DC,MAAAA,iBAAiB,EAAE,KAJwC;AAK3DC,MAAAA,MAAM,EAAExC,UALmD;AAM3D6B,MAAAA;AAN2D,KAA5C,CAAnB;;AASA,SAAK,IAAIY,CAAC,GAAG,CAAR,EAAWC,CAAC,GAAGtE,QAAQ,CAACuE,MAA7B,EAAqCF,CAAC,GAAGC,CAAzC,EAA4CD,CAAC,EAA7C,EAAiD;AAC7C,YAAMG,MAAM,GAAGxE,QAAQ,CAACqE,CAAD,CAAvB;AAEA,YAAMI,IAAI,GAAGD,MAAM,CAACE,eAAP,GACP,iCADO,GAEP,wBAFN;AAIA,YAAMC,MAAM,GAAG,IAAIb,MAAM,CAACC,IAAP,CAAYa,MAAhB,CAAuB;AAClCf,QAAAA,GADkC;AAElCgB,QAAAA,QAAQ,EAAE;AACNC,UAAAA,GAAG,EAAEN,MAAM,CAACO,QADN;AAENC,UAAAA,GAAG,EAAER,MAAM,CAACS;AAFN,SAFwB;AAMlCC,QAAAA,SAAS,EAAE,KANuB;AAOlCT,QAAAA;AAPkC,OAAvB,CAAf;AASH;AACJ;;AAED,WAASb,iBAAT,CAA2BL,UAA3B,EAAuC;AACnC,WAAOA,UAAU,IAAIhC,YAAY,CAACC,MAA3B,GACD,IAAIsC,MAAM,CAACC,IAAP,CAAYoB,MAAhB,CAAuBjE,cAAc,CAAC6D,QAAtC,EAAgD7D,cAAc,CAAC+D,SAA/D,CADC,GAED,IAAInB,MAAM,CAACC,IAAP,CAAYoB,MAAhB,CAAuBrE,gBAAvB,EAAyCC,iBAAzC,CAFN;AAGH;;AAED,QAAMqE,iBAAiB,GAAG,IAAIC,OAAJ,CAAY,UAAUC,SAAV,EAAqBC,MAArB,EAA6B;AAC/D,UAAMC,cAAc,GAAGC,YAAY,CAAC1F,WAAD,CAAnC;;AAEA,QAAIyF,cAAc,KAAKrF,SAAvB,EAAkC;AAC9BmF,MAAAA,SAAS,CAACE,cAAD,CAAT;AACH,KAFD,MAEO;AACH9F,MAAAA,CAAC,CAACgG,IAAF,CAAO;AACHC,QAAAA,GAAG,EAAE9F,OADF;AAEH+F,QAAAA,QAAQ,EAAE,MAFP;AAGHC,QAAAA,UAAU,EAAE;AAHT,OAAP,EAIGC,IAJH,CAIQ,UAAUC,IAAV,EAAgB;AACpB,cAAMhE,GAAG,GAAG;AAAEiE,UAAAA,EAAE,EAAED,IAAI,CAACC,EAAX;AAAejB,UAAAA,QAAQ,EAAEgB,IAAI,CAAChB,QAA9B;AAAwCE,UAAAA,SAAS,EAAEc,IAAI,CAACd;AAAxD,SAAZ;;AACAxF,QAAAA,OAAO,CAACwG,OAAR,CAAgBlG,WAAhB,EAA6BmG,IAAI,CAACC,SAAL,CAAepE,GAAf,CAA7B;;AACAuD,QAAAA,SAAS,CAACvD,GAAD,CAAT;AACH,OARD,EAQGqE,IARH,CAQQ,UAAU7D,KAAV,EAAiB;AACrBgD,QAAAA,MAAM,CAAChD,KAAD,CAAN;AACH,OAVD;AAWH;AACJ,GAlByB,CAA1B;;AAoBA,WAASkD,YAAT,CAAsBY,GAAtB,EAA2B;AACvB,UAAMC,SAAS,GAAG7G,OAAO,CAAC8G,OAAR,CAAgBF,GAAhB,CAAlB;;AAEA,QAAIC,SAAS,KAAKnG,SAAlB,EAA6B;AACzB,YAAM4B,GAAG,GAAGmE,IAAI,CAACM,KAAL,CAAWF,SAAX,CAAZ;AAEA,UAAIvE,GAAG,CAACgD,QAAJ,IAAgBhD,GAAG,CAACkD,SAAxB,EACI,OAAOlD,GAAP;AACP;;AAED,WAAO5B,SAAP;AACH;;AAED,WAAS6B,aAAT,CAAuBD,GAAvB,EAA4B;AACxB,UAAM4D,GAAG,GAAI,GAAExE,WAAW,CAACC,SAAU,mBAAkBW,GAAG,CAACgD,QAAS,oBAAmBhD,GAAG,CAACkD,SAAU,EAArG;AAEA,UAAMwB,OAAO,GAAG,EAAhB;AACAA,IAAAA,OAAO,CAACtF,WAAW,CAACuF,WAAb,CAAP,GAAmCvF,WAAW,CAACwF,YAA/C;AAEA,WAAO,IAAItB,OAAJ,CAAY,UAAUC,SAAV,EAAqBC,MAArB,EAA6B;AAC5C7F,MAAAA,CAAC,CAACgG,IAAF,CAAO;AACHkB,QAAAA,IAAI,EAAE,KADH;AAEHjB,QAAAA,GAFG;AAGHc,QAAAA,OAHG;AAIHI,QAAAA,OAAO,EAAG3E,QAAD,IAAc;AAAEoD,UAAAA,SAAS,CAACpD,QAAD,CAAT;AAAsB,SAJ5C;AAKHK,QAAAA,KAAK,EAAGA,KAAD,IAAW;AAAEgD,UAAAA,MAAM,CAAChD,KAAD,CAAN;AAAgB;AALjC,OAAP;AAOH,KARM,CAAP;AASH;;AAED,WAASiB,aAAT,CAAuBsD,KAAvB,EAA8B;AAC1B,QAAIC,MAAM,CAACC,UAAP,IAAqB,IAAzB,EACI,OAAOzF,YAAY,CAACI,WAApB;AAEJ,QAAIoF,MAAM,CAACC,UAAP,IAAqB,IAAzB,EACI,OAAOzF,YAAY,CAACG,UAApB;AAEJ,QAAIqF,MAAM,CAACC,UAAP,IAAqB,GAAzB,EACI,OAAOzF,YAAY,CAACE,MAApB;AAEJ,WAAOF,YAAY,CAACC,MAApB;AACH;;AAED,WAASkC,OAAT,CAAiBH,UAAjB,EAA6B;AACzB,QAAIA,UAAU,KAAKhC,YAAY,CAACI,WAAhC,EACI,OAAO,GAAP;AAEJ,QAAI4B,UAAU,KAAKhC,YAAY,CAACG,UAAhC,EACI,OAAO,GAAP;AAEJ,QAAI6B,UAAU,KAAKhC,YAAY,CAACE,MAAhC,EACI,OAAO,GAAP;AAEJ,WAAO,GAAP;AACH;;AAED,WAASwF,KAAT,GAAiB;AACb,UAAM1D,UAAU,GAAGC,aAAa,EAAhC;AAEA,UAAMG,MAAM,GAAGC,iBAAiB,CAACL,UAAD,CAAhC;;AAEAtC,IAAAA,IAAI,CAACiG,SAAL,CAAevD,MAAf;;AAEA,UAAMF,IAAI,GAAGC,OAAO,CAACH,UAAD,CAApB;;AAEAtC,IAAAA,IAAI,CAACkG,OAAL,CAAa1D,IAAb;AACH;;AAED,SAAQ2D,OAAD,IAAa;AAEhBpG,IAAAA,KAAK,GAAGoG,OAAO,CAACC,OAAR,CAAgBC,IAAxB;;AAEA,QAAItG,KAAK,KAAKb,SAAd,EAAyB;AACrBqC,MAAAA,OAAO,CAACD,KAAR,CAAc,gFAAd;AACA;AACH;;AAED,SAAK,IAAI8D,GAAT,IAAgBlF,WAAhB,EAA6B;AACzBA,MAAAA,WAAW,CAACkF,GAAD,CAAX,GAAmBe,OAAO,CAACC,OAAR,CAAgBhB,GAAhB,CAAnB;;AAEA,UAAIlF,WAAW,CAACkF,GAAD,CAAX,KAAqBlG,SAAzB,EAAoC;AAChCqC,QAAAA,OAAO,CAACD,KAAR,CACM,mEAAkE8D,GAAI,YAD5E;AAEA;AACH;AACJ;;AAED,SAAK,IAAIA,GAAT,IAAgBpG,SAAhB,EAA2B;AACvBA,MAAAA,SAAS,CAACoG,GAAD,CAAT,GAAiBkB,QAAQ,CAACC,cAAT,CAAyB,GAAEnB,GAAI,IAAGrF,KAAM,EAAxC,CAAjB;;AAEA,UAAIf,SAAS,CAACoG,GAAD,CAAT,KAAmB,IAAvB,EAA6B;AACzB7D,QAAAA,OAAO,CAACD,KAAR,CACM,wEAAuE8D,GAAI,IAAGrF,KAAM,GAD1F;AAEH;AACJ;;AAEDoE,IAAAA,iBAAiB,CAACnD,IAAlB,CACKC,QAAD,IAAc;AAAEJ,MAAAA,iBAAiB,CAACI,QAAD,CAAjB;AAA8B,KADlD,EAEKK,KAAD,IAAW;AAAEC,MAAAA,OAAO,CAACD,KAAR,CAAc,kDAAd,EAAkEA,KAAlE;AAA2E,KAF5F;AAKAwE,IAAAA,MAAM,CAACU,gBAAP,CAAwB,QAAxB,EAAmCC,KAAD,IAAW;AACzC,UAAI7F,oBAAoB,KAAK1B,SAA7B,EACIwH,YAAY,CAAC9F,oBAAD,CAAZ;AAEJA,MAAAA,oBAAoB,GAAG+F,UAAU,CAAC,MAAM;AAAEX,QAAAA,KAAK;AAAK,OAAnB,EAAqB,GAArB,CAAjC;AACH,KALD;AAMH,GAvCD;AAwCH,CA9S4B,GAA7B;;AAgTA,+DAAe,MAAMG,OAAN,IAAiB;AAAE;AAC9B;;AACA5H,EAAAA,oBAAoB,CAAC4H,OAAD,CAApB;AACH,CAHD","sources":["webpack://selectrucks/./scripts/components/nearestDealerMap.js"],"sourcesContent":["const showNearestDealerMap = (() => {\n\n    // $.tb is under ~/scripts/app/_config.js and is loaded under ~/scripts/site.js\n    const _cookie = $.tb.cookie;\n    const _geoUrl = $.tb.geoUrl;\n\n    const _cookieName = 'deviceLocation';\n    let _dealers = [];\n    const _elements = {\n        mapContainer: undefined,\n        nearestCenterAddress: undefined,\n        nearestCenterContainer: undefined,\n        nearestCenterCity: undefined,\n        nearestCenterCountry: undefined,\n        nearestCenterDirections: undefined,\n        nearestCenterLink: undefined,\n        nearestCenterName: undefined,\n        nearestCenterPostal: undefined,\n        nearestCenterProvince: undefined,\n        nearestLoadingContainer: undefined\n    };\n    const _globalCenterLat = 40.58;\n    const _globalCenterLong = -98.35;\n    let _guid = undefined;\n    let _map = undefined;\n    let _nearestDealer = undefined;\n    const _properties = {\n        dealerApi: undefined,\n        tokenHeader: undefined,\n        tokenRequest: undefined,\n    };\n    const _screenTypes = {\n        mobile: 1,\n        tablet: 2,\n        midDesktop: 3,\n        fullDesktop: 4\n    };\n    const _mapStyles = [\n        {\n            \"elementType\": \"geometry\",\n            \"stylers\": [\n                {\n                    \"color\": \"#f7f7f7\"\n                }\n            ]\n        },\n        {\n            \"elementType\": \"geometry.stroke\",\n            \"stylers\": [\n                {\n                    \"color\": \"#838383\"\n                },\n                {\n                    \"width\": 0.5\n                }\n            ]\n        },\n        {\n            \"elementType\": \"labels\",\n            \"stylers\": [\n                {\n                    \"visibility\": \"off\"\n                }\n            ]\n        },\n        {\n            \"featureType\": \"administrative.land_parcel\",\n            \"stylers\": [\n                {\n                    \"visibility\": \"off\"\n                }\n            ]\n        },\n        {\n            \"featureType\": \"administrative.neighborhood\",\n            \"stylers\": [\n                {\n                    \"visibility\": \"off\"\n                }\n            ]\n        },\n        {\n            \"featureType\": \"road\",\n            \"stylers\": [\n                {\n                    \"visibility\": \"off\"\n                }\n            ]\n        },\n        {\n            \"featureType\": \"water\",\n            \"stylers\": [\n                { \"color\": \"#ededed\" }\n            ]\n        }\n    ];\n    let _windowResizeTimeout = undefined;\n\n    function displayMapDealers(geo) {\n        getMapDealers(geo).then(\n            (response) => {\n                _dealers = response.dealers;\n                _nearestDealer = response.nearestDealer;\n                displayNearestDealer();\n                displayMap();\n            },\n            (error) => { console.error('showNearestDealerMap -> displayMapDealers()', error) }\n        );\n    }\n\n    function displayNearestDealer() {\n        if (_nearestDealer === undefined) {\n            console.error('showNearestDealerMap -> displayNearestDealer: _nearestDealer is undefined');\n            return;\n        }\n        _elements.nearestCenterAddress.innerHTML = _nearestDealer.address;\n        _elements.nearestCenterCity.innerHTML = _nearestDealer.city;\n        _elements.nearestCenterCountry.innerHTML = _nearestDealer.country;\n        _elements.nearestCenterLink.href = _nearestDealer.urlName;\n        _elements.nearestCenterName.innerHTML = _nearestDealer.name;\n        _elements.nearestCenterPostal.innerHTML = _nearestDealer.postalCode;\n        _elements.nearestCenterProvince.innerHTML = _nearestDealer.province;\n\n        if (_nearestDealer.mapAddress !== null)\n            _elements.nearestCenterDirections.href =\n                `https://www.google.com/maps/?q=${_nearestDealer.mapAddress.link}`;\n\n        _elements.nearestLoadingContainer.style.display = 'none';\n\n        _elements.nearestCenterContainer.style.opacity = '1.0';\n    }\n\n    function displayMap() {\n\n        const screenType = getScreenType();\n\n        const zoom = getZoom(screenType);\n\n        const center = getCenterPosition(screenType);\n\n        const map = _map = new google.maps.Map(_elements.mapContainer, {\n            center,\n            disableDefaultUI: true,\n            gestureHandling: 'none',\n            keyboardShortcuts: false,\n            styles: _mapStyles,\n            zoom\n        });\n\n        for (let i = 0, l = _dealers.length; i < l; i++) {\n            const dealer = _dealers[i];\n\n            const icon = dealer.isNearestDealer\n                ? '/images/map-marker-selected.png'\n                : '/images/map-marker.svg';\n\n            const marker = new google.maps.Marker({\n                map,\n                position: {\n                    lat: dealer.latitude,\n                    lng: dealer.longitude\n                },\n                clickable: false,\n                icon\n            });\n        }\n    }\n\n    function getCenterPosition(screenType) {\n        return screenType == _screenTypes.mobile\n            ? new google.maps.LatLng(_nearestDealer.latitude, _nearestDealer.longitude)\n            : new google.maps.LatLng(_globalCenterLat, _globalCenterLong);\n    }\n\n    const getClientLocation = new Promise(function (fnResolve, fnFail) {\n        const deviceLocation = getGeoCookie(_cookieName);\n\n        if (deviceLocation !== undefined) {\n            fnResolve(deviceLocation);\n        } else {\n            $.ajax({\n                url: _geoUrl,\n                dataType: 'json',\n                localCache: true\n            }).done(function (data) {\n                const geo = { ip: data.ip, latitude: data.latitude, longitude: data.longitude };\n                _cookie.setItem(_cookieName, JSON.stringify(geo));\n                fnResolve(geo);\n            }).fail(function (error) {\n                fnFail(error);\n            });\n        }\n    });\n\n    function getGeoCookie(key) {\n        const geoCookie = _cookie.getItem(key);\n\n        if (geoCookie !== undefined) {\n            const geo = JSON.parse(geoCookie);\n\n            if (geo.latitude && geo.longitude)\n                return geo;\n        }\n\n        return undefined;\n    }\n\n    function getMapDealers(geo) {\n        const url = `${_properties.dealerApi}?clientLatitude=${geo.latitude}&clientLongitude=${geo.longitude}`;\n\n        const headers = {};\n        headers[_properties.tokenheader] = _properties.tokenrequest;\n\n        return new Promise(function (fnResolve, fnFail) {\n            $.ajax({\n                type: 'GET',\n                url,\n                headers,\n                success: (response) => { fnResolve(response); },\n                error: (error) => { fnFail(error); }\n            });\n        });\n    }\n\n    function getScreenType(width) {\n        if (window.innerWidth >= 2100)\n            return _screenTypes.fullDesktop;\n\n        if (window.innerWidth >= 1024)\n            return _screenTypes.midDesktop;\n\n        if (window.innerWidth >= 768)\n            return _screenTypes.tablet;\n\n        return _screenTypes.mobile;\n    }\n\n    function getZoom(screenType) {\n        if (screenType === _screenTypes.fullDesktop)\n            return 4.5;\n\n        if (screenType === _screenTypes.midDesktop)\n            return 4.0;\n\n        if (screenType === _screenTypes.tablet)\n            return 3.5;\n\n        return 6.0;\n    }\n\n    function reset() {\n        const screenType = getScreenType();\n\n        const center = getCenterPosition(screenType);\n\n        _map.setCenter(center);\n\n        const zoom = getZoom(screenType);\n\n        _map.setZoom(zoom);\n    }\n\n    return (element) => {\n\n        _guid = element.dataset.guid;\n\n        if (_guid === undefined) {\n            console.error('showNearestDealerMap -> constructor: Missing or invalid dataset-guid attribute');\n            return;\n        }\n\n        for (let key in _properties) {\n            _properties[key] = element.dataset[key];\n\n            if (_properties[key] === undefined) {\n                console.error\n                    (`showNearestDealerMap -> constructor: Missing or invalid dataset-${key} attribute`);\n                return;\n            }\n        }\n\n        for (let key in _elements) {\n            _elements[key] = document.getElementById(`${key}-${_guid}`);\n\n            if (_elements[key] === null) {\n                console.error\n                    (`showNearestDealerMap -> constructor: Missing element with the id of \"${key}-${_guid}\"`);\n            }\n        }\n\n        getClientLocation.then(\n            (response) => { displayMapDealers(response); },\n            (error) => { console.error('showNearestDealerMap -> getClientLocation(error)', error); }\n        );\n\n        window.addEventListener('resize', (event) => {\n            if (_windowResizeTimeout !== undefined)\n                clearTimeout(_windowResizeTimeout);\n\n            _windowResizeTimeout = setTimeout(() => { reset(); }, 500);\n        });\n    };\n})();\n\nexport default async element => { // nearest-dealer-map\n    'use strict';\n    showNearestDealerMap(element);\n}\n\n"],"names":["showNearestDealerMap","_cookie","$","tb","cookie","_geoUrl","geoUrl","_cookieName","_dealers","_elements","mapContainer","undefined","nearestCenterAddress","nearestCenterContainer","nearestCenterCity","nearestCenterCountry","nearestCenterDirections","nearestCenterLink","nearestCenterName","nearestCenterPostal","nearestCenterProvince","nearestLoadingContainer","_globalCenterLat","_globalCenterLong","_guid","_map","_nearestDealer","_properties","dealerApi","tokenHeader","tokenRequest","_screenTypes","mobile","tablet","midDesktop","fullDesktop","_mapStyles","_windowResizeTimeout","displayMapDealers","geo","getMapDealers","then","response","dealers","nearestDealer","displayNearestDealer","displayMap","error","console","innerHTML","address","city","country","href","urlName","name","postalCode","province","mapAddress","link","style","display","opacity","screenType","getScreenType","zoom","getZoom","center","getCenterPosition","map","google","maps","Map","disableDefaultUI","gestureHandling","keyboardShortcuts","styles","i","l","length","dealer","icon","isNearestDealer","marker","Marker","position","lat","latitude","lng","longitude","clickable","LatLng","getClientLocation","Promise","fnResolve","fnFail","deviceLocation","getGeoCookie","ajax","url","dataType","localCache","done","data","ip","setItem","JSON","stringify","fail","key","geoCookie","getItem","parse","headers","tokenheader","tokenrequest","type","success","width","window","innerWidth","reset","setCenter","setZoom","element","dataset","guid","document","getElementById","addEventListener","event","clearTimeout","setTimeout"],"sourceRoot":""}