{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./cartridges/app_bc/cartridge/client/default/js/singleBoutique.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/util.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/boutiques/singleBoutique.js","webpack:///./cartridges/app_bc/cartridge/client/default/js/boutiques/_commonBoutique.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","processInclude","require","$","document","ready","_typeof","iterator","constructor","include","keys","forEach","commonBoutique","telephonLink","on","e","boutiqueID","this","attr","boutiqueName","dataLayer","push","event","eventCategory","eventAction","eventLabel","stopPropagation","bookAppointment","singleBoutiques","url","data","ajax","method","countryCode","success","createMap","marker","note","undefined","addClass","noBorderNote","resizeOnTablet","window","mapfill","galleryStroke","width","css","display","visibility","hasClass","removeClass","switchMobile","galleryFill","mapStroke","focus","scaledSize","iconHover","markers","stores","initIconHover","isMobile","google","maps","Size","isInfoWindowOpen","infoWindow","map","getMap","cleanMarker","length","setMap","j","pop","infowindowContent","singleBoutique","contentString","closeLabel","val","sartoriaName","city","strokeClose","image","isTablet","showMore","appointmentLink","bookAppointmentLink","bookLabel","address","stateCode","postalCode","country","phone","storeHours","addEventListener","boutiqueid","dataset","ID","infobox","open","close","boutiquesResult","streetView","center","lat","lng","location","bounds","boutiques","Map","getElementById","zoom","styles","featureType","elementType","stylers","saturation","lightness","hue","Geocoder","geocode","componentRestrictions","results","status","GeocoderStatus","OK","geometry","setCenter","fitBounds","latlng","storeLocation","position","boutiqueImage","address1","urlSingleBoutique","more","store","Marker","icon","addListener","href","addListenerOnce","each","btn","setMarkersMobile","infowindow","InfoWindow","content","eq","removeAttr","pressed","filter","$shortcutsDialog","hide","parent","find","trigger","one","dialog","onMapLoaded","setMarkers","getStreetView","getVisible","mapElement","observer","MutationObserver","mList","ob","target","getAttribute","disconnect","setAttribute","querySelector","backBtn","replaceWith","outerHTML","replace","observe","attributes","childList","subtree"],"mappings":"aACE,IAAIA,EAAmB,CAAC,EAGxB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EACAC,GAAG,EACHH,QAAS,CAAC,GAUX,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,OACf,CAIAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,GAEhE,EAGAZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,GACvD,EAOArB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,EAAM,EAAEC,KAAK,KAAMD,IAC9I,OAAOF,CACR,EAGAzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,OAAG,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,CACR,EAGAZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EAAW,EAGpH/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,I,oCChFrD,IAAIC,EAAiBC,EAAQ,GAE7BC,EAAEC,UAAUC,OAAM,WACdJ,EAAeC,EAAQ,KAC3B,G,6BCNa,SAAAI,EAAA5B,GAAA,OAAA4B,EAAA,mBAAAtB,QAAA,iBAAAA,OAAAuB,SAAA,SAAA7B,GAAA,cAAAA,CAAA,WAAAA,GAAA,OAAAA,GAAA,mBAAAM,QAAAN,EAAA8B,cAAAxB,QAAAN,IAAAM,OAAAa,UAAA,gBAAAnB,CAAA,EAAA4B,EAAA5B,EAAA,CAEbV,EAAOD,QAAU,SAAU0C,GACA,mBAAZA,EACPA,IAC0B,WAAnBH,EAAOG,IACd9B,OAAO+B,KAAKD,GAASE,SAAQ,SAAUnB,GACP,mBAAjBiB,EAAQjB,IACfiB,EAAQjB,IAEhB,GAER,C,mCCXA,IAAIoB,EAAiBV,EAAQ,IAQ7BlC,EAAOD,QAAU,CACb8C,aAAc,WACVV,EAAEC,UAAUU,GAAG,QAAS,0BAA0B,SAASC,GACvD,IAAIC,EAAab,EAAEc,MAAMC,KAAK,WAC1BC,EAAehB,EAAEc,MAAMC,KAAK,aAChCE,UAAUC,KAAK,CACXC,MAAO,eACPC,cAAe,2BACfC,YAAa,SACbC,WAAY,OACZN,aAAcA,EAAe,IAAMH,IAEvCD,EAAEW,iBACN,GACJ,EACAC,gBAAiB,WACbxB,EAAEC,UAAUU,GAAG,QAAS,wCAAwC,SAASC,GACrE,IAAIC,EAAab,EAAEc,MAAMC,KAAK,WAC1BC,EAAehB,EAAEc,MAAMC,KAAK,aAChCE,UAAUC,KAAK,CACXC,MAAO,eACPC,cAAe,oBACfC,YAAa,uBACbC,WAAY,uBACZN,aAAcA,EAAe,IAAMH,IAEvCI,UAAUC,KAAK,CACXC,MAAO,eACPC,cAAe,2BACfC,YAAa,SACbC,WAAY,cACZN,aAAcA,EAAe,IAAMH,IAEvCD,EAAEW,iBACN,GACJ,EACAE,gBAAiB,WACbzB,EAAEC,UAAUC,OAAM,WACd,IAAIwB,EAAM1B,EAAE,8BAA8B2B,KAAK,aAC3Cd,EAAab,EAAE,8BAA8B2B,KAAK,cAGtD3B,EAAE4B,KAAK,CACHF,IAAKA,EACLG,OAAQ,MACRF,KAAM,CACFG,YANU,KAOVjB,WAAYA,GAEhBkB,QAAS,SAAUJ,GACflB,EAAeuB,UAAUL,EAAKM,OATjB,KADH,MA9C9B,SAAsBN,GAClB,IAAIO,EAAOP,EAAKM,OAAO,GAAGC,KACd,MAARA,QAAyBC,IAATD,GAA+B,KAATA,GACtClC,EAAE,qBAAqBoC,SAAS,6BAExC,CAoDoBC,CAAaV,EACjB,GAER,GACJ,EACAW,eAAgB,WACZtC,EAAEuC,QAAQ5B,GAAG,UAAU,WACnB,IAAI6B,EAAUxC,EAAE,oBAAoB2B,KAAK,YACrCc,EAAgBzC,EAAE,oBAAoB2B,KAAK,iBAC3C3B,EAAEc,MAAM4B,QAAU,QAAU1C,EAAEc,MAAM4B,QAAU,UAC9C1C,EAAE,kCAAkC2C,IAAI,CAAEC,QAAS,OAAQC,WAAY,WACvE7C,EAAE,QAAQ2C,IAAI,CAAEC,QAAS,QAASC,WAAY,YAC1C7C,EAAE,WAAW8C,SAAS,eACtB9C,EAAE,WAAWoC,SAAS,aACtBpC,EAAE,WAAW+C,YAAY,aACzB/C,EAAE,iBAAiBe,KAAK,aAAcyB,GACtCxC,EAAE,oBAAoBe,KAAK,aAAc0B,IAGrD,GACJ,EAGAO,aAAc,WACV,IAAIP,EAAgBzC,EAAE,oBAAoB2B,KAAK,iBAC3CsB,EAAcjD,EAAE,oBAAoB2B,KAAK,eACzCuB,EAAYlD,EAAE,oBAAoB2B,KAAK,cACvCa,EAAUxC,EAAE,oBAAoB2B,KAAK,YACzC3B,EAAEC,UAAUU,GAAG,QAAS,WAAW,WAC1BX,EAAE,WAAW8C,SAAS,eACvB9C,EAAE,kCAAkC2C,IAAI,CAAEC,QAAS,OAAQC,WAAY,WACvE7C,EAAE,QAAQ2C,IAAI,CAAEC,QAAS,QAASC,WAAY,YAC9C7C,EAAE,WAAWoC,SAAS,aACtBpC,EAAE,WAAW+C,YAAY,aACzB/C,EAAE,iBAAiBe,KAAK,aAAcyB,GACtCxC,EAAE,oBAAoBe,KAAK,aAAc0B,IAG7CzC,EAAE,0BAA0B,GAAGmD,OACnC,IACAnD,EAAEC,UAAUU,GAAG,QAAS,WAAW,WAC1BX,EAAE,WAAW8C,SAAS,eACvB9C,EAAE,kCAAkC2C,IAAI,CAAEC,QAAS,QAASC,WAAY,YACxE7C,EAAE,QAAQ2C,IAAI,CAAEC,QAAS,OAAQC,WAAY,WAC7C7C,EAAE,WAAWoC,SAAS,aACtBpC,EAAE,WAAW+C,YAAY,aACzB/C,EAAE,oBAAoBe,KAAK,aAAckC,GACzCjD,EAAE,iBAAiBe,KAAK,aAAcmC,IAG1ClD,EAAE,kCAAkCmD,OACxC,GACJ,E,8BC9GJ,IAEIC,EACAC,EAHAC,EAAU,GACVC,EAAS,GAIb,SAASC,IACaJ,EAAlBb,OAAOkB,SAAwB,IAAIC,OAAOC,KAAKC,KAAK,GAAI,IAAmB,IAAIF,OAAOC,KAAKC,KAAK,GAAI,IACpGP,EAAY,CACR3B,IAAK1B,EAAE,QAAQ2B,KAAK,aACpByB,WAAYA,EAEpB,CA+NA,SAASS,EAAiBC,GACtB,IAAIC,EAAMD,EAAWE,SACrB,OAAQD,OACZ,CA8CA,SAASE,IAGL,IAFA,IAAIC,EAASZ,EAAQY,OAEZpG,EAAI,EAAGA,EAAIoG,EAAQpG,IACxBwF,EAAQxF,GAAGqG,OAAO,MAEtB,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQE,IACxBd,EAAQe,KAEhB,CAEA,SAASC,EAAkB3C,EAAM4C,GAC7B,IACIC,EADAC,EAAazE,EAAE,mBAAmB0E,MAoBtC,GAlBIH,IACAC,EAAgB,qJAEsD7C,EAAKgD,aAAehD,EAAKgD,aAAehD,EAAKiD,MAFnG,gFAG+DH,EAH/D,gFAKU9C,EAAKkD,YALf,wKAW8BlD,EAAKmD,MAAM,GAXzC,uDAiBhBP,GAAkBhC,OAAOwC,SAAU,CAClB/E,EAAE,+BAA+B2B,KAAK,WACvC3B,EAAE,+BAA+B2B,KAAK,WAEtD6C,EAAgB,qJAEsD7C,EAAKgD,aAAehD,EAAKgD,aAAehD,EAAKiD,MAFnG,gFAG+DH,EAH/D,gFAKU9C,EAAKkD,YALf,wKAW8BlD,EAAKmD,MAAM,GAXzC,qDAgBpB,CACA,IAAKP,IAAmBhC,OAAOkB,SAAU,CACrC,IAAIuB,EAAW,YAAcrD,EAAKD,IAAM,0CAA4CC,EAAKqD,SAAW,KAAOrD,EAAKgD,cAAgBhD,EAAKiD,MAAQ,KAAOjD,EAAKqD,SAAW,OAChKC,EAAkB,YAActD,EAAKuD,oBAAsB,oCAAsCvD,EAAKwD,UAAY,OAElHF,EADAtD,EAAKuD,oBACa,YAAcvD,EAAKuD,oBAAsB,oCAAsCvD,EAAKwD,UAAY,OAEhG,GAEtBX,EAAgB,4HAEkD7C,EAAKgD,aAAehD,EAAKgD,aAAehD,EAAKiD,MAF/F,gFAG2DH,EAH3D,gFAKM9C,EAAKkD,YALX,kLAY0BlD,EAAKmD,MAAM,GAZrC,mHAgBenD,EAAKyD,QAhBpB,+BAiBezD,EAAK0D,UAAY,IAAM1D,EAAK2D,WAAa,KAAO3D,EAAK4D,QAjBpE,gCAkBc5D,EAAK6D,MAlBnB,gCAmBc7D,EAAK8D,WAAa,OAAST,EAAWC,EAnBpD,0BAwBpB,CACA,OAAOT,CACX,CArWAjC,OAAOmD,iBAAiB,mBAAoBlC,GACtB,oBAAXE,QACPF,IAiQJxD,EAAEC,UAAUU,GAAG,QAAS,qBAAqB,WAEzC,IADA,IAAIgF,EAAa7E,KAAK8E,QAAQD,WACrBvB,EAAI,EAAGA,EAAId,EAAQY,OAAQE,IAC5Bd,EAAQc,GAAGyB,KAAOF,EAClBrC,EAAQc,GAAG0B,QAAQC,KAAKhC,IAAKT,EAAQc,IAErCd,EAAQc,GAAG0B,QAAQE,MAAMjC,IAAKT,EAAQc,GAGlD,IA2FAvG,EAAOD,QAAU,CACboE,UAhWJ,SAAmBiE,EAAiB1B,EAAgBzC,GAChD,IACIiC,EACAmC,EAFAC,EAAS,CAAEC,IAAK,UAAWC,IAAK,WAGpC9C,EAAS,GACT,IASQ+C,EAAUC,EATdC,EAAY,GACZP,IAAiBO,EAAYP,GAC5B1B,GAiBD4B,EAAS,CAAEC,IAAKI,EAAU,GAAGlD,QAAQ8C,IAAKC,IAAKG,EAAU,GAAGlD,QAAO,MACnES,EAAM,IAAIL,OAAOC,KAAK8C,IAAIxG,SAASyG,eAAe,OAAQ,CACtDC,KAAM,GACNR,OAAQA,EACRS,OAAQ,CAAC,CAAEC,YAAa,iBAAkBC,YAAa,MAAOC,QAAS,CAAC,CAAEC,WAAY,UAAa,CAAEH,YAAa,0BAA2BC,YAAa,MAAOC,QAAS,CAAC,CAAElE,WAAY,SAAY,CAAEgE,YAAa,YAAaC,YAAa,MAAOC,QAAS,CAAC,CAAEC,YAAa,KAAO,CAAEC,UAAW,IAAM,CAAEpE,WAAY,QAAW,CAAEgE,YAAa,MAAOC,YAAa,MAAOC,QAAS,CAAC,CAAEC,YAAa,KAAO,CAAEC,UAAW,MAAQ,CAAEpE,WAAY,SAAY,CAAEgE,YAAa,OAAQC,YAAa,MAAOC,QAAS,CAAC,CAAEC,WAAY,UAAa,CAAEH,YAAa,eAAgBC,YAAa,MAAOC,QAAS,CAAC,CAAElE,WAAY,gBAAmB,CAAEgE,YAAa,gBAAiBC,YAAa,MAAOC,QAAS,CAAC,CAAEE,UAAW,QAAW,CAAEJ,YAAa,aAAcC,YAAa,MAAOC,QAAS,CAAC,CAAEE,UAAW,QAAW,CAAEJ,YAAa,UAAWC,YAAa,MAAOC,QAAS,CAAC,CAAEC,YAAa,KAAO,CAAEnE,WAAY,gBAAmB,CAAEgE,YAAa,QAASC,YAAa,WAAYC,QAAS,CAAC,CAAEG,IAAK,WAAa,CAAED,WAAY,IAAM,CAAED,YAAa,MAAS,CAAEH,YAAa,QAASC,YAAa,SAAUC,QAAS,CAAC,CAAEE,WAAY,IAAM,CAAED,YAAa,YApB3lCjD,EAAM,IAAIL,OAAOC,KAAK8C,IAAIxG,SAASyG,eAAe,OAAQ,CACtDC,KAAM,EACNR,OAAQA,EACRS,OAAQ,CAAC,CAAEC,YAAa,iBAAkBC,YAAa,MAAOC,QAAS,CAAC,CAAEC,WAAY,UAAa,CAAEH,YAAa,0BAA2BC,YAAa,MAAOC,QAAS,CAAC,CAAElE,WAAY,SAAY,CAAEgE,YAAa,YAAaC,YAAa,MAAOC,QAAS,CAAC,CAAEC,YAAa,KAAO,CAAEC,UAAW,IAAM,CAAEpE,WAAY,QAAW,CAAEgE,YAAa,MAAOC,YAAa,MAAOC,QAAS,CAAC,CAAEC,YAAa,KAAO,CAAEC,UAAW,MAAQ,CAAEpE,WAAY,SAAY,CAAEgE,YAAa,OAAQC,YAAa,MAAOC,QAAS,CAAC,CAAEC,WAAY,UAAa,CAAEH,YAAa,eAAgBC,YAAa,MAAOC,QAAS,CAAC,CAAElE,WAAY,gBAAmB,CAAEgE,YAAa,gBAAiBC,YAAa,MAAOC,QAAS,CAAC,CAAEE,UAAW,QAAW,CAAEJ,YAAa,aAAcC,YAAa,MAAOC,QAAS,CAAC,CAAEE,UAAW,QAAW,CAAEJ,YAAa,UAAWC,YAAa,MAAOC,QAAS,CAAC,CAAEC,YAAa,KAAO,CAAEnE,WAAY,gBAAmB,CAAEgE,YAAa,QAASC,YAAa,WAAYC,QAAS,CAAC,CAAEG,IAAK,WAAa,CAAED,WAAY,IAAM,CAAED,YAAa,MAAS,CAAEH,YAAa,QAASC,YAAa,SAAUC,QAAS,CAAC,CAAEE,WAAY,IAAM,CAAED,YAAa,WAE5kC,IAAItD,OAAOC,KAAKwD,UAEtBC,QAAQ,CAAEC,sBAAuB,CAAE9B,QAASzD,KAAiB,SAAUwF,EAASC,GACjFA,IAAW7D,OAAOC,KAAK6D,eAAeC,KACtCnB,EAAWgB,EAAQ,GAAGI,SAASpB,SAC/BC,EAASe,EAAQ,GAAGI,SAASnB,OAC7BxC,EAAI4D,UAAUrB,GACdvC,EAAI6D,UAAUrB,GAEtB,KASJ,IAAK,IAAIzI,EAAI,EAAGA,EAAI0I,EAAUtC,OAAQpG,IAAK,CACvC,IAAI+J,EAAS,CAAEzB,IAAKI,EAAU1I,GAAGwF,QAAQ8C,IAAKC,IAAKG,EAAU1I,GAAGwF,QAAO,MACnEwE,EAAgB,CAChBjC,GAAIW,EAAU1I,GAAG+H,GACjBkC,SAAUF,EACVjD,KAAM4B,EAAU1I,GAAG8G,KACnBE,MAAO0B,EAAU1I,GAAGkK,cACpBnD,YAAa2B,EAAU1I,GAAG+G,YAC1BO,QAASoB,EAAU1I,GAAGmK,SACtBvG,IAAK8E,EAAU1I,GAAGoK,kBAClB7C,UAAWmB,EAAU1I,GAAGuH,UACxBC,WAAYkB,EAAU1I,GAAGwH,WACzBC,QAASiB,EAAU1I,GAAGyH,QACtBC,MAAOgB,EAAU1I,GAAG0H,MACpBC,WAAYe,EAAU1I,GAAG2H,WACzBT,SAAUwB,EAAU1I,GAAGqK,KACvBjD,oBAAqBsB,EAAU1I,GAAGoH,sBAAuB,EACzDC,UAAWqB,EAAU1I,GAAGqH,YAAa,EACrCR,aAAc6B,EAAU1I,GAAG6G,aAAe6B,EAAU1I,GAAG6G,aAAe,MAE1EpB,EAAOrC,KAAK4G,EAChB,CACKvF,OAAOkB,SAqKhB,SAA0BM,EAAKQ,EAAgBiC,GAC3CvC,IACA,IAAK,IAAInG,EAAI,EAAGA,EAAIyF,EAAOW,SAAUpG,EAAG,CACpC,IAAIsK,EAAQ7E,EAAOzF,GACfmE,EAAS,IAAIyB,OAAOC,KAAK0E,OAAO,CAChCxC,GAAIuC,EAAMvC,GACVkC,SAAUK,EAAML,SAChBhE,IAAKA,EACLuE,KAAMjF,EACNuB,KAAMwD,EAAMxD,KACZE,MAAOsD,EAAMJ,cACbnD,YAAauD,EAAMvD,YACnBnD,IAAK0G,EAAM1G,MAEf4B,EAAQpC,KAAKe,GACRsC,GACDb,OAAOC,KAAKxC,MAAMoH,YAAYtG,EAAQ,QAAU,SAAUA,EAAQnE,GAC9D,OAAO,WACHyE,OAAO+D,SAASkC,KAAOlF,EAAQxF,GAAG4D,GACtC,CACJ,CAJgD,CAI7CO,EAAQnE,GAEnB,CAGA4F,OAAOC,KAAKxC,MAAMsH,gBAAgB1E,EAAK,eAAe,WAClD/D,EAAE,oCAAoCe,KAAK,CAAE,cAAe,OAAQ,UAAa,UACjFf,EAAE,2BAA2B0I,MAAK,SAAC5K,EAAG6K,GAClC3I,EAAE2I,GAAK5H,KAAK,aAAcyF,EAAU1I,GAAGO,KAC3C,GACJ,GACJ,CAjMQuK,CAAiB7E,EAAKQ,EAAgBiC,GAyB9C,SAAoBzC,EAAKQ,EAAgBiC,GAErCvC,IACA,IAAK,IAAInG,EAAI,EAAGA,EAAIyF,EAAOW,SAAUpG,EAAG,CACpC,IAAIsK,EAAQ7E,EAAOzF,GACfmE,EAAS,IAAIyB,OAAOC,KAAK0E,OAAO,CAChCxC,GAAIuC,EAAMvC,GACVkC,SAAUK,EAAML,SAChBhE,IAAKA,EACLuE,KAAMjF,EACNuB,KAAMwD,EAAMxD,KACZE,MAAOsD,EAAMtD,MAAM,GACnBD,YAAauD,EAAMvD,cAEnBgE,EAAa,IAAInF,OAAOC,KAAKmF,WAAW,CACxCC,QAASzE,EAAkB8D,EAAO7D,KAEtCtC,EAAO6D,QAAU+C,EACjBvF,EAAQpC,KAAKe,GAEbyB,OAAOC,KAAKxC,MAAMoH,YAAYtG,EAAQ,QAAU,SAAUA,EAAQnE,GAC9D,OAAO,WAEHkC,EAAE,+BAA+B+C,YAAY,yBAG7C,IAAK,IAAIqB,EAAI,EAAGA,EAAId,EAAQY,OAAQE,IAC5BtG,IAAMsG,GAAGd,EAAQc,GAAG0B,QAAQE,MAAMjC,GAE1C/D,EAAE,2BAA2Be,KAAK,gBAAgB,SAG9C8C,EAAiBP,EAAQxF,GAAGgI,UAC5BxC,EAAQxF,GAAGgI,QAAQE,MAAMjC,EAAKT,EAAQxF,IACtCkC,EAAE,gBAAkBsD,EAAQxF,GAAG+H,IAAI9C,YAAY,yBAC/C/C,EAAE,2BAA2BgJ,GAAGlL,GAAGiD,KAAK,gBAAiB,WAEzDuC,EAAQxF,GAAGgI,QAAQC,KAAKhC,EAAKT,EAAQxF,IACrCkC,EAAE,gBAAkBsD,EAAQxF,GAAG+H,IAAIzD,SAAS,yBAC5CpC,EAAE,2BAA2BgJ,GAAGlL,GAAGiD,KAAK,gBAAiB,QAEjE,CACJ,CAtBgD,CAsB7CkB,EAAQnE,IAEX4F,OAAOC,KAAKxC,MAAMoH,YAAYxE,EAAK,QAAU,SAASA,EAAKjG,GACvD,OAAO,WACHwF,EAAQxF,GAAGgI,QAAQE,MAAMjC,GACzB/D,EAAE,+BAA+B+C,YAAY,yBAC7C/C,EAAE,2BAA2BgJ,GAAGlL,GAAGiD,KAAK,gBAAgB,QAC5D,CACJ,CAN6C,CAM1CgD,EAAKjG,IAGR4F,OAAOC,KAAKxC,MAAMoH,YAAYM,EAAY,WAAa,SAASA,EAAY/K,GACxE,OAAO,WACHkC,EAAE,uBAAuBW,GAAG,SAAS,WACjC2C,EAAQxF,GAAGgI,QAAQE,MAAMjC,GACzB/D,EAAE,+BAA+B+C,YAAY,yBAC7C/C,EAAE,2BAA2BgJ,GAAGlL,GAAGiD,KAAK,gBAAiB,QAC7D,GACJ,CACJ,CARuD,CAQpD8H,EAAY/K,GACnB,CAGA4F,OAAOC,KAAKxC,MAAMsH,gBAAgB1E,EAAK,eAAe,YAK1D,SAAqByC,GAEjBxG,EAAE,oCAAoCe,KAAK,MAAOf,EAAE,0BAA0B0E,OAG9E1E,EAAE,0BAA0BiJ,WAAW,SAASlI,KAAK,CACjD,aAAcf,EAAE,8BAA8B0E,MAC9C,eAAgB,UAEpB1E,EAAEC,UAAUU,GAAG,QAAS,+BAA+B,WACnD,IAAIuI,EAAUlJ,EAAEc,MAAMC,KAAK,gBAC3Bf,EAAEc,MAAMC,KAAK,eAA4B,UAAZmI,EAAsB,OAAS,QAChE,IAGAlJ,EAAE,gDACGmJ,QAAO,WAAa,OAA2B,IAApBnJ,EAAEc,MAAM4B,OAAe,IAClD3B,KAAK,CACF,cAAe,OACf,SAAY,OAIpBf,EAAE,2BAA2B0I,MAAK,SAAC5K,EAAG6K,GAClC3I,EAAE2I,GAAK5H,KAAK,CACR,gBAAiB,QACjB,aAAcyF,EAAU1I,GAAGO,MAEnC,IAGA2B,EAAEC,UAAUU,GAAG,SAAS,SAASC,GAC7B,GAAc,WAAVA,EAAEvB,IAAkB,CACpB,IAAI+J,EAAmBpJ,EAAE,uCACrBoJ,EAAiBlF,OACjBkF,EAAiBC,OAAOC,SAASD,QAGjCrJ,EAAE,iDAAiDe,KAAK,gBAAiB,SACzEf,EAAE,qDAAqDuJ,KAAK,wBAAwBC,QAAQ,SAEpG,CACJ,IAGAxJ,EAAE,iBAAiBe,KAAK,WAAY,KAGpCf,EAAEC,UAAUwJ,IAAI,QAAS,iDAAiD,WACtE,IAAMC,EAAS1J,EAAE,+BACjBA,EAAE0J,GAAQH,KAAK,oBAAoBxI,KAAK,KAAM,4BAC9Cf,EAAE0J,GAAQ3I,KAAK,CACX,KAAQ,SACR,aAAc,OACd,kBAAmB,4BAE3B,IAGAf,EAAE,uCAAuCiJ,WAAW,WACxD,CAhEQU,CAAYnD,EAChB,GACJ,CA/FQoD,CAAW7F,EAAKQ,EAAgBiC,GAKpCN,EAAanC,EAAI8F,gBACjBnG,OAAOC,KAAKxC,MAAMsH,gBAAgBvC,EAAY,mBAAmB,WAC7D,GAAIA,EAAW4D,aAAc,CACzB,IAAMC,EAAa9J,SAASyG,eAAe,OACrCsD,EAAW,IAAIC,kBAAiB,SAACC,EAAOC,GAC1C,IAAK,IAAIrM,EAAI,EAAGA,EAAIoM,EAAMhG,OAAQpG,IAC9B,GAA8C,eAA1CoM,EAAMpM,GAAGsM,OAAOC,aAAa,SAA2B,CAExDF,EAAGG,aACHJ,EAAMpM,GAAGsM,OAAOG,aAAa,aAAcvK,EAAE,2BAA2B0E,OACxEwF,EAAMpM,GAAGsM,OAAOI,cAAc,OAAOD,aAAa,MAAOvK,EAAE,2BAA2B0E,OACtF,IAAI+F,EAAUzK,EAAE,kCAChByK,EAAQ1J,KAAK,aAAcf,EAAE,6BAA6Be,KAAK,eAC/D0J,EAAQC,YAAYD,EAAQ,GAAGE,UAAUC,QAAQ,OAAQ,WACzD,KACJ,CAER,IACAZ,EAASa,QAAQd,EAAY,CAAEe,YAAY,EAAOC,WAAW,EAAMC,SAAS,GAChF,CACJ,GACJ,E","file":"singleBoutique.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 299);\n","'use strict';\n\nvar processInclude = require('./util');\n\n$(document).ready(function () {\n processInclude(require('./boutiques/singleBoutique'));\n});\n","'use strict';\n\nmodule.exports = function (include) {\n if (typeof include === 'function') {\n include();\n } else if (typeof include === 'object') {\n Object.keys(include).forEach(function (key) {\n if (typeof include[key] === 'function') {\n include[key]();\n }\n });\n }\n};\n","'use strict';\nvar commonBoutique = require('./_commonBoutique');\n\nfunction noBorderNote(data) {\n var note = data.marker[0].note;\n if (note != null && note !== undefined && note !== '') {\n $('.js-noBorder-note').addClass('cc-boutique-noBorderBottom');\n }\n}\nmodule.exports = {\n telephonLink: function() {\n $(document).on('click', '.js-telephone-boutique', function(e) {\n var boutiqueID = $(this).attr('data-id');\n var boutiqueName = $(this).attr('data-name');\n dataLayer.push({\n event: 'custom_event',\n eventCategory: 'boutique locator service',\n eventAction: 'detail',\n eventLabel: 'call',\n boutiqueName: boutiqueName + '–' + boutiqueID\n });\n e.stopPropagation();\n });\n },\n bookAppointment: function() {\n $(document).on('click', '.js-book-appointment-single-boutique', function(e) {\n var boutiqueID = $(this).attr('data-id');\n var boutiqueName = $(this).attr('data-name');\n dataLayer.push({\n event: 'custom_event',\n eventCategory: 'exclusive-service',\n eventAction: 'store-locator-detail',\n eventLabel: 'boutique-appointment',\n boutiqueName: boutiqueName + '–' + boutiqueID\n });\n dataLayer.push({\n event: 'custom_event',\n eventCategory: 'boutique locator service',\n eventAction: 'detail',\n eventLabel: 'appointment',\n boutiqueName: boutiqueName + '–' + boutiqueID\n });\n e.stopPropagation();\n });\n },\n singleBoutiques: function () {\n $(document).ready(function () {\n var url = $('.cc-singleBoutique-details').data('getmarker');\n var boutiqueID = $('.cc-singleBoutique-details').data('boutiqueid');\n var countryCode = null;\n var singleBoutique = true;\n $.ajax({\n url: url,\n method: 'GET',\n data: {\n countryCode: countryCode,\n boutiqueID: boutiqueID\n },\n success: function (data) {\n commonBoutique.createMap(data.marker, singleBoutique, countryCode);\n noBorderNote(data);\n }\n });\n });\n },\n resizeOnTablet: function() {\n $(window).on('resize', function () {\n var mapfill = $('.js-map .cc-icon').data('mapsfill');\n var galleryStroke = $('.js-img .cc-icon').data('gallerystroke');\n if ($(this).width() > 767.98 && $(this).width() < 1199.98) {\n $('.cc-images-only-mobile-visible').css({ display: 'none', visibility: 'hidden' });\n $('#map').css({ display: 'block', visibility: 'visible' });\n if ($('.js-img').hasClass('cc-active')) {\n $('.js-map').addClass('cc-active');\n $('.js-img').removeClass('cc-active');\n $('.cc-maps-icon').attr('xlink:href', mapfill);\n $('.cc-gallery-icon').attr('xlink:href', galleryStroke);\n }\n }\n });\n },\n\n // cambio visuale da mappa ad immagine\n switchMobile: function () {\n var galleryStroke = $('.js-img .cc-icon').data('gallerystroke');\n var galleryFill = $('.js-img .cc-icon').data('galleryfill');\n var mapStroke = $('.js-map .cc-icon').data('mapsstroke');\n var mapfill = $('.js-map .cc-icon').data('mapsfill');\n $(document).on('click', '.js-map', function () {\n if (!$('.js-map').hasClass('cc-active')) {\n $('.cc-images-only-mobile-visible').css({ display: 'none', visibility: 'hidden' });\n $('#map').css({ display: 'block', visibility: 'visible' });\n $('.js-map').addClass('cc-active');\n $('.js-img').removeClass('cc-active');\n $('.cc-maps-icon').attr('xlink:href', mapfill);\n $('.cc-gallery-icon').attr('xlink:href', galleryStroke);\n }\n // accessibility: transfer focus on the map\n $('#map div[tabindex=\"0\"]')[0].focus();\n });\n $(document).on('click', '.js-img', function () {\n if (!$('.js-img').hasClass('cc-active')) {\n $('.cc-images-only-mobile-visible').css({ display: 'block', visibility: 'visible' });\n $('#map').css({ display: 'none', visibility: 'hidden' });\n $('.js-img').addClass('cc-active');\n $('.js-map').removeClass('cc-active');\n $('.cc-gallery-icon').attr('xlink:href', galleryFill);\n $('.cc-maps-icon').attr('xlink:href', mapStroke);\n }\n // accessibility: transfer focus on image\n $('.cc-images-only-mobile-visible').focus();\n });\n }\n};\n","'use strict';\n\nvar markers = [];\nvar stores = [];\nvar scaledSize;\nvar iconHover;\n\nfunction initIconHover() {\n window.isMobile ? scaledSize = new google.maps.Size(35, 50) : scaledSize = new google.maps.Size(45, 70);\n iconHover = {\n url: $('#map').data('urlmarker'),\n scaledSize: scaledSize\n };\n}\n\nwindow.addEventListener('DOMContentLoaded', initIconHover);\nif (typeof google !== 'undefined') {\n initIconHover();\n}\n\n// boutiques sono gli ogetti store del B.M\n// singleBoutique è un boleano che ci indica se siamo sul singolo store o nella lista\n// country code\nfunction createMap(boutiquesResult, singleBoutique, countryCode) {\n var center = { lat: 43.082654, lng: 12.274691 };\n var map;\n var streetView;\n stores = [];\n var boutiques = [];\n if (boutiquesResult) boutiques = boutiquesResult;\n if (!singleBoutique) {\n map = new google.maps.Map(document.getElementById('map'), {\n zoom: 4,\n center: center,\n styles: [{ featureType: 'administrative', elementType: 'all', stylers: [{ saturation: '-100' }] }, { featureType: 'administrative.province', elementType: 'all', stylers: [{ visibility: 'off' }] }, { featureType: 'landscape', elementType: 'all', stylers: [{ saturation: -100 }, { lightness: 65 }, { visibility: 'on' }] }, { featureType: 'poi', elementType: 'all', stylers: [{ saturation: -100 }, { lightness: '50' }, { visibility: 'off' }] }, { featureType: 'road', elementType: 'all', stylers: [{ saturation: '-100' }] }, { featureType: 'road.highway', elementType: 'all', stylers: [{ visibility: 'simplified' }] }, { featureType: 'road.arterial', elementType: 'all', stylers: [{ lightness: '30' }] }, { featureType: 'road.local', elementType: 'all', stylers: [{ lightness: '40' }] }, { featureType: 'transit', elementType: 'all', stylers: [{ saturation: -100 }, { visibility: 'simplified' }] }, { featureType: 'water', elementType: 'geometry', stylers: [{ hue: '#ffff00' }, { lightness: -15 }, { saturation: -97 }] }, { featureType: 'water', elementType: 'labels', stylers: [{ lightness: -25 }, { saturation: -100 }] }]\n });\n var geocoder = new google.maps.Geocoder();\n var location, bounds;\n geocoder.geocode({ componentRestrictions: { country: countryCode } }, function (results, status) {\n if (status === google.maps.GeocoderStatus.OK) {\n location = results[0].geometry.location;\n bounds = results[0].geometry.bounds;\n map.setCenter(location);\n map.fitBounds(bounds);\n }\n });\n } else {\n center = { lat: boutiques[0].markers.lat, lng: boutiques[0].markers.long };\n map = new google.maps.Map(document.getElementById('map'), {\n zoom: 18,\n center: center,\n styles: [{ featureType: 'administrative', elementType: 'all', stylers: [{ saturation: '-100' }] }, { featureType: 'administrative.province', elementType: 'all', stylers: [{ visibility: 'off' }] }, { featureType: 'landscape', elementType: 'all', stylers: [{ saturation: -100 }, { lightness: 65 }, { visibility: 'on' }] }, { featureType: 'poi', elementType: 'all', stylers: [{ saturation: -100 }, { lightness: '50' }, { visibility: 'off' }] }, { featureType: 'road', elementType: 'all', stylers: [{ saturation: '-100' }] }, { featureType: 'road.highway', elementType: 'all', stylers: [{ visibility: 'simplified' }] }, { featureType: 'road.arterial', elementType: 'all', stylers: [{ lightness: '30' }] }, { featureType: 'road.local', elementType: 'all', stylers: [{ lightness: '40' }] }, { featureType: 'transit', elementType: 'all', stylers: [{ saturation: -100 }, { visibility: 'simplified' }] }, { featureType: 'water', elementType: 'geometry', stylers: [{ hue: '#ffff00' }, { lightness: -15 }, { saturation: -97 }] }, { featureType: 'water', elementType: 'labels', stylers: [{ lightness: -25 }, { saturation: -100 }] }]\n });\n }\n for (var i = 0; i < boutiques.length; i++) {\n var latlng = { lat: boutiques[i].markers.lat, lng: boutiques[i].markers.long };\n var storeLocation = {\n ID: boutiques[i].ID,\n position: latlng,\n city: boutiques[i].city,\n image: boutiques[i].boutiqueImage,\n strokeClose: boutiques[i].strokeClose,\n address: boutiques[i].address1,\n url: boutiques[i].urlSingleBoutique,\n stateCode: boutiques[i].stateCode,\n postalCode: boutiques[i].postalCode,\n country: boutiques[i].country,\n phone: boutiques[i].phone,\n storeHours: boutiques[i].storeHours,\n showMore: boutiques[i].more,\n bookAppointmentLink: boutiques[i].bookAppointmentLink || false,\n bookLabel: boutiques[i].bookLabel || false,\n sartoriaName: boutiques[i].sartoriaName ? boutiques[i].sartoriaName : null\n };\n stores.push(storeLocation);\n }\n if (!window.isMobile) {\n setMarkers(map, singleBoutique, boutiques);\n } else {\n setMarkersMobile(map, singleBoutique, boutiques);\n }\n // accessibility: disable compass button\n streetView = map.getStreetView();\n google.maps.event.addListenerOnce(streetView, 'visible_changed', function() {\n if (streetView.getVisible()) {\n const mapElement = document.getElementById('map');\n const observer = new MutationObserver((mList, ob) => {\n for (var i = 0; i < mList.length; i++) {\n if (mList[i].target.getAttribute('class') === 'gm-compass') {\n // compass element added to the DOM\n ob.disconnect();\n mList[i].target.setAttribute('aria-label', $('#js-gmaps-compass-label').val());\n mList[i].target.querySelector('img').setAttribute('alt', $('#js-gmaps-compass-label').val());\n var backBtn = $('div.gm-iv-back-icon-background');\n backBtn.attr('aria-label', $('.cc-close-button > button').attr('aria-label'));\n backBtn.replaceWith(backBtn[0].outerHTML.replace(/div/g, 'button'));\n break;\n }\n }\n });\n observer.observe(mapElement, { attributes: false, childList: true, subtree: true });\n }\n });\n}\nfunction setMarkers(map, singleBoutique, boutiques) {\n // Adds markers to the map.\n cleanMarker();\n for (var i = 0; i < stores.length; ++i) {\n var store = stores[i];\n var marker = new google.maps.Marker({\n ID: store.ID,\n position: store.position,\n map: map,\n icon: iconHover,\n city: store.city,\n image: store.image[0],\n strokeClose: store.strokeClose\n });\n var infowindow = new google.maps.InfoWindow({\n content: infowindowContent(store, singleBoutique)\n });\n marker.infobox = infowindow;\n markers.push(marker);\n\n google.maps.event.addListener(marker, 'click', (function (marker, i) {\n return function () {\n // remove class active\n $('.cc-single-boutiques-result').removeClass('cc-active-live-search');\n\n // Close all other infoboxes\n for (var j = 0; j < markers.length; j++) {\n if (i !== j) markers[j].infobox.close(map);\n }\n $('#map div[role=\"button\"]').attr('aria-expanded','false');\n\n // Open correct info box and toggle aria-expanded\n if (isInfoWindowOpen(markers[i].infobox)) {\n markers[i].infobox.close(map, markers[i]);\n $('.js-boutique-' + markers[i].ID).removeClass('cc-active-live-search');\n $('#map div[role=\"button\"]').eq(i).attr('aria-expanded', 'false');\n } else {\n markers[i].infobox.open(map, markers[i]);\n $('.js-boutique-' + markers[i].ID).addClass('cc-active-live-search');\n $('#map div[role=\"button\"]').eq(i).attr('aria-expanded', 'true');\n }\n };\n })(marker, i));\n // close infowindow when tap in to map\n google.maps.event.addListener(map, 'click', (function(map, i) {\n return function() {\n markers[i].infobox.close(map);\n $('.cc-single-boutiques-result').removeClass('cc-active-live-search');\n $('#map div[role=\"button\"]').eq(i).attr('aria-expanded','false');\n };\n })(map, i));\n\n // close infowindow when click on x\n google.maps.event.addListener(infowindow, 'domready', (function(infowindow, i) {\n return function() {\n $('.cc-boutiques-close').on('click', function () {\n markers[i].infobox.close(map);\n $('.cc-single-boutiques-result').removeClass('cc-active-live-search');\n $('#map div[role=\"button\"]').eq(i).attr('aria-expanded', 'false');\n });\n };\n })(infowindow, i));\n }\n\n // accessibility for google maps\n google.maps.event.addListenerOnce(map, 'tilesloaded', function() {\n onMapLoaded(boutiques); // timeout breaks js when user change filter fast\n });\n}\n\nfunction onMapLoaded(boutiques) {\n // add alt text to marker images\n $('div#map div[role=\"button\"] > img').attr('alt', $('#js-gmaps-marker-label').val());\n\n // fix fullscreen button\n $('.gm-fullscreen-control').removeAttr('title').attr({\n 'aria-label': $('#js-gmaps-fullscreen-label').val(),\n 'aria-pressed': 'false'\n });\n $(document).on('click', '#map .gm-fullscreen-control', function() {\n var pressed = $(this).attr('aria-pressed');\n $(this).attr('aria-pressed', pressed === 'false' ? 'true' : 'false');\n });\n\n // hide second keyboard shortcuts button\n $('.gm-style button[title=\"Keyboard shortcuts\"]')\n .filter(function() { return $(this).width() === 0; })\n .attr({\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n\n // add boutique names labels to markers\n $('#map div[role=\"button\"]').each((i, btn) => {\n $(btn).attr({\n 'aria-expanded': 'false',\n 'aria-label': boutiques[i].name\n });\n });\n\n // close the keyboard modal by pressing ESC\n $(document).on('keyup', function(e) {\n if (e.key === 'Escape') {\n var $shortcutsDialog = $('.uNGBb-dialog-view--content:visible');\n if ($shortcutsDialog.length) {\n $shortcutsDialog.hide().parent().hide();\n } else {\n // close boutique info dialog\n $('#map div[role=\"button\"][aria-expanded=\"true\"]').attr('aria-expanded', 'false');\n $('.gm-style-iw.gm-style-iw-c[role=\"dialog\"]:visible').find('#js-close-infowindow').trigger('click');\n }\n }\n });\n\n // make pegman button reachable with keyboard\n $('#map .gm-svpc').attr('tabindex', '0');\n\n // set aria attributes for keyboard shortcuts dialog\n $(document).one('click', '.gmnoprint button[title=\"Keyboard shortcuts\"]', () => {\n const dialog = $('.uNGBb-dialog-view--content');\n $(dialog).find('h2:first-of-type').attr('id', 'keyboard_shortcuts_title');\n $(dialog).attr({\n 'role': 'dialog',\n 'aria-modal': 'true',\n 'aria-labelledby': 'keyboard_shortcuts_title'\n });\n });\n\n // remove inactive div from focus sequence\n $('#map [tabindex=0][aria-label=\"Map\"]').removeAttr('tabindex');\n}\n\nfunction isInfoWindowOpen(infoWindow) {\n var map = infoWindow.getMap();\n return (map !== null && typeof map !== 'undefined');\n}\n\nfunction setMarkersMobile(map, singleBoutique, boutiques) {\n cleanMarker();\n for (var i = 0; i < stores.length; ++i) {\n var store = stores[i];\n var marker = new google.maps.Marker({\n ID: store.ID,\n position: store.position,\n map: map,\n icon: iconHover,\n city: store.city,\n image: store.boutiqueImage,\n strokeClose: store.strokeClose,\n url: store.url\n });\n markers.push(marker);\n if (!singleBoutique) {\n google.maps.event.addListener(marker, 'click', (function (marker, i) {\n return function () {\n window.location.href = markers[i].url;\n };\n })(marker, i));\n }\n }\n\n // accessibility: add labels to markers\n google.maps.event.addListenerOnce(map, 'tilesloaded', function() {\n $('div#map div[role=\"button\"] > img').attr({ 'aria-hidden': 'true', 'focusable': 'false' });\n $('#map div[role=\"button\"]').each((i, btn)=> {\n $(btn).attr('aria-label', boutiques[i].name);\n });\n });\n}\n\n$(document).on('click', '.js-active-search', function () {\n var boutiqueid = this.dataset.boutiqueid;\n for (var j = 0; j < markers.length; j++) {\n if (markers[j].ID === boutiqueid) {\n markers[j].infobox.open(map, markers[j]);\n } else {\n markers[j].infobox.close(map, markers[j]);\n }\n }\n});\n\nfunction cleanMarker() {\n var length = markers.length;\n\n for (var i = 0; i < length; i++) {\n markers[i].setMap(null);\n }\n for (var j = 0; j < length; j++) {\n markers.pop();\n }\n}\n\nfunction infowindowContent(data, singleBoutique) {\n var closeLabel = $('#js-close-label').val();\n var contentString;\n if (singleBoutique) {\n contentString = '
' + data.address + ', ' +\n '
' + data.stateCode + ' ' + data.postalCode + ', ' + data.country + '
' +\n '' + data.phone + '
' +\n '' + data.storeHours + '
' + showMore + appointmentLink +\n '