{"version":3,"sources":["smartresize.js","template7-1-4-1.js","lazyload.min.js","analytics.js","bingmap-utilities.js","jquery.cookie.js","index.js","reports.js","bingmap-map.js"],"names":["$","sr","ss","debounce","func","threshold","execAsap","timeout","obj","args","arguments","clearTimeout","apply","setTimeout","jQuery","fn","time","bind","trigger","name","global","factory","exports","module","define","amd","self","Template7","len","length","template","data","instance","Template7Class","rendered","compile","t7ctx","window","Template7Context","Template7Utils","quoteSingleRexExp","quoteDoubleRexExp","isFunction","escape","string","replace","helperToSlices","shiftIndex","i","j","helperParts","trim","split","slices","part","blockQuoteRegExp","openingQuote","push","indexOf","match","hashParts","hashName","hashContent","hash","stringToBlocks","blocks","stringBlocks","block","type","content","contextName","helperSlices","helperName","isPartial","helperContext","helperHash","slice","Array","isArray","helperContent","elseContent","toSkip","foundClosed","foundElse","depth","inverseContent","parseJsVariable","expression","object","reduce","arr","JSON","stringify","variable","forEach","partName","join","parseJsParents","parents","levelsUp","parentData","parentPart","getCompileVar","ctx","Number","isFinite","parts","newDepth","dataLevel","getCompiledArguments","contextArray","test","Template7Helpers","_partial","partialName","options","p","partials","compiled","Object","keys","root","context","Error","if","call","inverse","unless","each","ret","reverse","first","last","index","key","with","delimiter","delimeter","js","execute","prop","re1","RegExp","re2","eval","js_if","condition","js_compare","Template7Options","Template7Partials","t","staticAccessors","configurable","helpers","prototype","getCompileFn","getCompileInverse","resultString","compiledArguments","level","parentsString","dynamicHelper","get","defineProperties","registerHelper","unregisterHelper","registerPartial","unregisterPartial","n","LazyLoad","assign","e","hasOwnProperty","navigator","userAgent","o","document","createElement","r","devicePixelRatio","a","elements_selector","container","thresholds","data_src","data_srcset","data_sizes","data_bg","data_bg_hidpi","data_bg_multi","data_bg_multi_hidpi","data_poster","class_applied","class_loading","class_loaded","class_error","class_entered","class_exited","unobserve_completed","unobserve_entered","cancel_on_exit","callback_enter","callback_exit","callback_applied","callback_loading","callback_loaded","callback_error","callback_finish","callback_cancel","use_native","c","s","CustomEvent","detail","createEvent","initCustomEvent","dispatchEvent","getAttribute","g","b","h","removeAttribute","setAttribute","m","E","y","A","I","L","classList","add","className","w","remove","k","llTempImage","O","_observer","unobserve","x","loadingCount","z","toLoadCount","C","children","tagName","N","M","R","llOriginalAttrs","G","src","srcset","sizes","T","D","F","parentNode","P","IMG","IFRAME","VIDEO","load","S","V","U","q","addEventListener","llEvLisnrs","H","removeEventListener","B","J","K","Q","W","style","backgroundImage","concat","X","Y","Z","HTMLImageElement","tt","isIntersecting","intersectionRatio","target","nt","et","querySelectorAll","it","ot","filter","rt","_settings","IntersectionObserver","rootMargin","update","disconnect","observe","loadAll","destroy","resetStatus","lazyLoadOptions","tw","Analytics","getParentUrl","isInIframe","parent","parentUrl","referrer","ga4","category","action","label","eventName","event","page","protocol","location","hostname","path","pathname","search","BingMap","Utilities","Math","atan2","asin","cos","sin","PI","windowDimensions","dimensions","getUrlParams","params","definitions","foundSearch","href","decodeURIComponent","val","getEntityByProperty","collection","propertyName","propertyValue","entity","getLength","layer","convertMilesToKilometers","miles","kilometers","drawCircleLineFromLocation","latitude","longitude","radius","strokeColor","strokeThickness","lat","lon","d","parseFloat","circlePoints","p2","Microsoft","Maps","Location","brng","polygon","Polyline","parseInt","strokeDashArray","drawCircleFromLocation","fillColor","Polygon","getElementDimensions","$ele","width","height","getLayerByName","layerName","map","layers","viewportDimensions","innerWidth","innerHeight","upperCaseWord","word","wordUpper","chr","toUpperCase","require","encode","config","raw","encodeURIComponent","decode","stringifyCookieValue","value","json","parseCookieValue","pluses","parse","read","converter","cookie","extend","defaults","expires","days","Date","setTime","toUTCString","domain","secure","result","cookies","l","shift","removeCookie","CulinaryShow","filterButtonOffset","_log","baseCategory","holdData","initLoadResize","activeRoute","host","reportType","basePath","baseUrl","initUgc","sec2MapContent","html","bandwangoTemplate","sec3CardsTemplate","sec5CardsTemplate","sec6CardsTemplate","sec7CardsTemplate","sec9CalloutImgTemplate","$subpanes","$pane","$paneIntro","$reportButtons","$subpaneButtons","$filterButton","$map","$intro","initializePage","CulinaryBingMap","Map","initializeButtons","updateReportType","CulinaryShowsListings","getAllReportsByRegion","on","thisId","thisIndex","thisEpisodeNumber","getReportDetails","loc","console","log","preventDefault","softResetMap","removeClass","toggleValue","_this","addClass","toggleClass","not","isChecked","hasClass","togglePushpinCluster","click","checkDestination","jsonPath","getContent","smartresize","trackResize","resize","initializeMap","report","ReportType","getPaneRecords","currentReportPane","openSubpane","subpaneId","subpane","$thisSubpane","closeSubpanes","hideReports","resetAllPanes","showReports","button","thisSubpane","attr","returnTo","dataPath","jqxhr","getJSON","processContent","fail","err","error","hero","thumbnailImageDesktop","videoUrl","logoImage","pause","play","section1","heading","description","subHeading","subHeadingDescription","cta","link","text","section2","filterMobileText","filterDesktopText","toggleTitle1","toggleTitle2","toggleTitle3","noReportsCtaText","ctaBlock","ctaText","ctaUrl","featuredModalCtaText","compiledMapContentTemplate","sec2MapHtml","categories","bandwango","contentHeader","compiledBandwangoContentTemplate","bandwangoHtml","contentList","section3","compiledCardsTemplate","sec3CardHtml","cards","slick","infinite","prevArrow","nextArrow","variableWidth","mobileFirst","responsive","breakpoint","settings","slidesToShow","slidesToScroll","section4","url","svgOverlay","backgroundImageDescription","section5","compiledDealCardsTemplate","sec5CardHtml","section6","sec6CardHtml","draggable","section7","featuredPartnerCard","partnerLogo","shortDescription","partnerCardCtaText","partnerName","longDescription","compiledPartnersTemplate","sec7CardHtml","partnerCards","section8","initializeUGC","divId","crowdriff__gallery","id","loaderUGC","getElementById","appendChild","interval","setInterval","processQueue","copy","crowdRiffId","section9","kicker","compiledCalloutImageTemplate","calloutImgHtml","calloutJsonContent","calloutImageUrlSmall","backgroundImageMobile","calloutImageUrlLarge","backgroundImageDesktop","append","videoModalTriggers","videoModal","querySelector","videoModalIframe","videoModalCloseBtn","showModal","dataset","videoId","close","contentModalTriggers","contentModal","modalTarget","closeButton","$reports","reportDetailsSSTemplate","preloaderTemplate","compiledTemplate","htmlPreloader","getReportType","ajax","success","updateEpisodeFeaturesPill","addPushpinCluster","getEpisodeData","xhr","status","updateNoEpisodeFeaturesPill","getNoEpisodeData","numberOfListings","episodeFeaturesSpan","judgeFavoriteSpan","culinaryGemSpan","tempJudgeFavData","tempCulinaryGemData","IsCulinaryGem","IsJudgeFavorite","clearDetailsShowAll","emptyReportDetails","showReportSubpane","Id","reportId","itemIndex","episodeNumber","ID","selectedReportNotRelatedToEpisodes","find","addReportDetails","selectedReport","useTemplate","jsonContent","ItemIndex","Title","Description","Url","City","State","PlaceImage","PlaceAttribute1","PlaceAttribute2","PlaceAttribute3","Latitude","Longitude","CulinaryGem","Articles","CulinaryEpisode","zoomToPin","toMapReset","breakPoints","isMobile","wasMobile","isTouch","isDisableZoom","overlay","baseZoom","mobileZoom","useZoom","lastZoomLevel","mobileDisableZooming","desktopDisableZooming","lastCenterLocation","useCenterLocation","useMinZoom","useDisableZooming","infobox","reportInfoBoxArray","toMapResetMS","isZoomingToPin","isClusteringLoaded","wisconsinMask","isPushpinActive","dataHold","noEpisodeData","episodeData","colorPinSingle","colorPinCluster","clusterLayer","desktopCenter","tabletLandscapeCenter","tabletPortraitCenter","mobileCenter","centerLocation","wiBoundsOuter","wiBounds","reportsAllBodySSTemplate","noReportsTemplate","preloaderMapTemplate","pinInfoboxSSTemplate","reportsOLOpenTemplate","reportsOLCloseTemplate","mapOptions","zoom","center","enableSearchLogo","showScalebar","showDashboard","useInertia","disableKeyboardInput","disablePanning","liteMode","getMapInit","zoomMap","addPreloaderMap","LocationRect","fromEdges","mapTypeId","MapTypeId","grayscale","maxBounds","maxZoom","minZoom","disableZooming","allowHidingLabelsOfRoad","entities","clear","loadModule","addGroundOverlay","getZoom","getCenter","Events","addHandler","viewChanged","GroundOverlay","bounds","imageUrl","rotation","insert","didChange","setView","tempData","EpisodeNumber","intIsMapReady","clearInterval","Infobox","visible","setMap","ClusterLayer","createCustomPushpins","clusteredPinCallback","createCustomClusterPushpins","callback","createPushpinList","setZIndex","gridSize","pinType","ClusterPushpin","pins","svg","pushpinOptions","icon","anchor","Point","pinLocation","pushpin","Pushpin","mouseHandler","pushpinClicked","cluster","minRadius","outlineWidth","clusterSize","containedPushpins","toString","setOptions","clusterClicked","locs","getLocation","fromLocations","padding","activeSVG","pushpinMouseover","showInfobox","pushPinMouseout","deleteReportInfoBoxes","showInfoboxByGridKey","gridKey","clusterPin","getClusterPushpinByGridKey","pinData","infoboxOptions","zIndex","offset","pinInfobox","htmlInfobox","setHtmlContent","initSlick","slickInitialized","updateSlick","destroySlick","numSlides","getDisplayedPushpins","some","item","sort","htmlBody","jsonContentBody","compiledTemplateBody","Index","seeAllBoxClone","clone","moveToMapClick","targetType","point","getX","getY","tryPixelToLocation","mapLocation","direction","newZoom","getZoomLevel","sortArray","keyArr","sortOrder","recalculateZoom","main"],"mappings":"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","file":"../bundle-culinary-show.js","sourcesContent":["(function ($, sr, ss) {\r\n\r\n // debouncing function from John Hann\r\n // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/\r\n var debounce = function (func, threshold, execAsap) {\r\n var timeout;\r\n\r\n return function debounced() {\r\n var obj = this, args = arguments;\r\n function delayed() {\r\n if (!execAsap)\r\n func.apply(obj, args);\r\n timeout = null;\r\n }\r\n\r\n if (timeout)\r\n clearTimeout(timeout);\r\n else if (execAsap)\r\n func.apply(obj, args);\r\n\r\n timeout = setTimeout(delayed, threshold || 100);\r\n };\r\n };\r\n // smartresize\r\n jQuery.fn[sr] = function (fn, time) { return fn ? this.bind('resize', debounce(fn, time)) : this.trigger(sr); };\r\n jQuery.fn[ss] = function (fn, name, time) { return fn ? this.bind('scroll.' + name, debounce(fn, time)) : this.trigger(sr); };\r\n\r\n\r\n})(jQuery, 'smartresize', 'smartscroll');","/**\r\n * Template7 1.4.1\r\n * Mobile-first HTML template engine\r\n * \r\n * http://www.idangero.us/template7/\r\n * \r\n * Copyright 2019, Vladimir Kharlampidi\r\n * The iDangero.us\r\n * http://www.idangero.us/\r\n * \r\n * Licensed under MIT\r\n * \r\n * Released on: February 5, 2019\r\n */\r\n\r\n(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n typeof define === 'function' && define.amd ? define(factory) :\r\n (global = global || self, global.Template7 = factory());\r\n }(this, function () { 'use strict';\r\n \r\n var t7ctx;\r\n if (typeof window !== 'undefined') {\r\n t7ctx = window;\r\n } else if (typeof global !== 'undefined') {\r\n t7ctx = global;\r\n } else {\r\n t7ctx = undefined;\r\n }\r\n \r\n var Template7Context = t7ctx;\r\n \r\n var Template7Utils = {\r\n quoteSingleRexExp: new RegExp('\\'', 'g'),\r\n quoteDoubleRexExp: new RegExp('\"', 'g'),\r\n isFunction: function isFunction(func) {\r\n return typeof func === 'function';\r\n },\r\n escape: function escape(string) {\r\n if ( string === void 0 ) string = '';\r\n \r\n return string\r\n .replace(/&/g, '&')\r\n .replace(//g, '>')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''');\r\n },\r\n helperToSlices: function helperToSlices(string) {\r\n var quoteDoubleRexExp = Template7Utils.quoteDoubleRexExp;\r\n var quoteSingleRexExp = Template7Utils.quoteSingleRexExp;\r\n var helperParts = string.replace(/[{}#}]/g, '').trim().split(' ');\r\n var slices = [];\r\n var shiftIndex;\r\n var i;\r\n var j;\r\n for (i = 0; i < helperParts.length; i += 1) {\r\n var part = helperParts[i];\r\n var blockQuoteRegExp = (void 0);\r\n var openingQuote = (void 0);\r\n if (i === 0) { slices.push(part); }\r\n else if (part.indexOf('\"') === 0 || part.indexOf('\\'') === 0) {\r\n blockQuoteRegExp = part.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\r\n openingQuote = part.indexOf('\"') === 0 ? '\"' : '\\'';\r\n // Plain String\r\n if (part.match(blockQuoteRegExp).length === 2) {\r\n // One word string\r\n slices.push(part);\r\n } else {\r\n // Find closed Index\r\n shiftIndex = 0;\r\n for (j = i + 1; j < helperParts.length; j += 1) {\r\n part += \" \" + (helperParts[j]);\r\n if (helperParts[j].indexOf(openingQuote) >= 0) {\r\n shiftIndex = j;\r\n slices.push(part);\r\n break;\r\n }\r\n }\r\n if (shiftIndex) { i = shiftIndex; }\r\n }\r\n } else if (part.indexOf('=') > 0) {\r\n // Hash\r\n var hashParts = part.split('=');\r\n var hashName = hashParts[0];\r\n var hashContent = hashParts[1];\r\n if (!blockQuoteRegExp) {\r\n blockQuoteRegExp = hashContent.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\r\n openingQuote = hashContent.indexOf('\"') === 0 ? '\"' : '\\'';\r\n }\r\n if (hashContent.match(blockQuoteRegExp).length !== 2) {\r\n shiftIndex = 0;\r\n for (j = i + 1; j < helperParts.length; j += 1) {\r\n hashContent += \" \" + (helperParts[j]);\r\n if (helperParts[j].indexOf(openingQuote) >= 0) {\r\n shiftIndex = j;\r\n break;\r\n }\r\n }\r\n if (shiftIndex) { i = shiftIndex; }\r\n }\r\n var hash = [hashName, hashContent.replace(blockQuoteRegExp, '')];\r\n slices.push(hash);\r\n } else {\r\n // Plain variable\r\n slices.push(part);\r\n }\r\n }\r\n return slices;\r\n },\r\n stringToBlocks: function stringToBlocks(string) {\r\n var blocks = [];\r\n var i;\r\n var j;\r\n if (!string) { return []; }\r\n var stringBlocks = string.split(/({{[^{^}]*}})/);\r\n for (i = 0; i < stringBlocks.length; i += 1) {\r\n var block = stringBlocks[i];\r\n if (block === '') { continue; }\r\n if (block.indexOf('{{') < 0) {\r\n blocks.push({\r\n type: 'plain',\r\n content: block,\r\n });\r\n } else {\r\n if (block.indexOf('{/') >= 0) {\r\n continue;\r\n }\r\n block = block\r\n .replace(/{{([#/])*([ ])*/, '{{$1')\r\n .replace(/([ ])*}}/, '}}');\r\n if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) {\r\n // Simple variable\r\n blocks.push({\r\n type: 'variable',\r\n contextName: block.replace(/[{}]/g, ''),\r\n });\r\n continue;\r\n }\r\n // Helpers\r\n var helperSlices = Template7Utils.helperToSlices(block);\r\n var helperName = helperSlices[0];\r\n var isPartial = helperName === '>';\r\n var helperContext = [];\r\n var helperHash = {};\r\n for (j = 1; j < helperSlices.length; j += 1) {\r\n var slice = helperSlices[j];\r\n if (Array.isArray(slice)) {\r\n // Hash\r\n helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1];\r\n } else {\r\n helperContext.push(slice);\r\n }\r\n }\r\n \r\n if (block.indexOf('{#') >= 0) {\r\n // Condition/Helper\r\n var helperContent = '';\r\n var elseContent = '';\r\n var toSkip = 0;\r\n var shiftIndex = (void 0);\r\n var foundClosed = false;\r\n var foundElse = false;\r\n var depth = 0;\r\n for (j = i + 1; j < stringBlocks.length; j += 1) {\r\n if (stringBlocks[j].indexOf('{{#') >= 0) {\r\n depth += 1;\r\n }\r\n if (stringBlocks[j].indexOf('{{/') >= 0) {\r\n depth -= 1;\r\n }\r\n if (stringBlocks[j].indexOf((\"{{#\" + helperName)) >= 0) {\r\n helperContent += stringBlocks[j];\r\n if (foundElse) { elseContent += stringBlocks[j]; }\r\n toSkip += 1;\r\n } else if (stringBlocks[j].indexOf((\"{{/\" + helperName)) >= 0) {\r\n if (toSkip > 0) {\r\n toSkip -= 1;\r\n helperContent += stringBlocks[j];\r\n if (foundElse) { elseContent += stringBlocks[j]; }\r\n } else {\r\n shiftIndex = j;\r\n foundClosed = true;\r\n break;\r\n }\r\n } else if (stringBlocks[j].indexOf('else') >= 0 && depth === 0) {\r\n foundElse = true;\r\n } else {\r\n if (!foundElse) { helperContent += stringBlocks[j]; }\r\n if (foundElse) { elseContent += stringBlocks[j]; }\r\n }\r\n }\r\n if (foundClosed) {\r\n if (shiftIndex) { i = shiftIndex; }\r\n if (helperName === 'raw') {\r\n blocks.push({\r\n type: 'plain',\r\n content: helperContent,\r\n });\r\n } else {\r\n blocks.push({\r\n type: 'helper',\r\n helperName: helperName,\r\n contextName: helperContext,\r\n content: helperContent,\r\n inverseContent: elseContent,\r\n hash: helperHash,\r\n });\r\n }\r\n }\r\n } else if (block.indexOf(' ') > 0) {\r\n if (isPartial) {\r\n helperName = '_partial';\r\n if (helperContext[0]) {\r\n if (helperContext[0].indexOf('[') === 0) { helperContext[0] = helperContext[0].replace(/[[\\]]/g, ''); }\r\n else { helperContext[0] = \"\\\"\" + (helperContext[0].replace(/\"|'/g, '')) + \"\\\"\"; }\r\n }\r\n }\r\n blocks.push({\r\n type: 'helper',\r\n helperName: helperName,\r\n contextName: helperContext,\r\n hash: helperHash,\r\n });\r\n }\r\n }\r\n }\r\n return blocks;\r\n },\r\n parseJsVariable: function parseJsVariable(expression, replace, object) {\r\n return expression.split(/([+ \\-*/^()&=|<>!%:?])/g).reduce(function (arr, part) {\r\n if (!part) {\r\n return arr;\r\n }\r\n if (part.indexOf(replace) < 0) {\r\n arr.push(part);\r\n return arr;\r\n }\r\n if (!object) {\r\n arr.push(JSON.stringify(''));\r\n return arr;\r\n }\r\n \r\n var variable = object;\r\n if (part.indexOf((replace + \".\")) >= 0) {\r\n part.split((replace + \".\"))[1].split('.').forEach(function (partName) {\r\n if (partName in variable) { variable = variable[partName]; }\r\n else { variable = undefined; }\r\n });\r\n }\r\n if (typeof variable === 'string') {\r\n variable = JSON.stringify(variable);\r\n }\r\n if (variable === undefined) { variable = 'undefined'; }\r\n \r\n arr.push(variable);\r\n return arr;\r\n }, []).join('');\r\n },\r\n parseJsParents: function parseJsParents(expression, parents) {\r\n return expression.split(/([+ \\-*^()&=|<>!%:?])/g).reduce(function (arr, part) {\r\n if (!part) {\r\n return arr;\r\n }\r\n \r\n if (part.indexOf('../') < 0) {\r\n arr.push(part);\r\n return arr;\r\n }\r\n \r\n if (!parents || parents.length === 0) {\r\n arr.push(JSON.stringify(''));\r\n return arr;\r\n }\r\n \r\n var levelsUp = part.split('../').length - 1;\r\n var parentData = levelsUp > parents.length ? parents[parents.length - 1] : parents[levelsUp - 1];\r\n \r\n var variable = parentData;\r\n var parentPart = part.replace(/..\\//g, '');\r\n parentPart.split('.').forEach(function (partName) {\r\n if (typeof variable[partName] !== 'undefined') { variable = variable[partName]; }\r\n else { variable = 'undefined'; }\r\n });\r\n if (variable === false || variable === true) {\r\n arr.push(JSON.stringify(variable));\r\n return arr;\r\n }\r\n if (variable === null || variable === 'undefined') {\r\n arr.push(JSON.stringify(''));\r\n return arr;\r\n }\r\n arr.push(JSON.stringify(variable));\r\n return arr;\r\n }, []).join('');\r\n },\r\n getCompileVar: function getCompileVar(name, ctx, data) {\r\n if ( data === void 0 ) data = 'data_1';\r\n \r\n var variable = ctx;\r\n var parts;\r\n var levelsUp = 0;\r\n var newDepth;\r\n if (name.indexOf('../') === 0) {\r\n levelsUp = name.split('../').length - 1;\r\n newDepth = variable.split('_')[1] - levelsUp;\r\n variable = \"ctx_\" + (newDepth >= 1 ? newDepth : 1);\r\n parts = name.split('../')[levelsUp].split('.');\r\n } else if (name.indexOf('@global') === 0) {\r\n variable = 'Template7.global';\r\n parts = name.split('@global.')[1].split('.');\r\n } else if (name.indexOf('@root') === 0) {\r\n variable = 'root';\r\n parts = name.split('@root.')[1].split('.');\r\n } else {\r\n parts = name.split('.');\r\n }\r\n for (var i = 0; i < parts.length; i += 1) {\r\n var part = parts[i];\r\n if (part.indexOf('@') === 0) {\r\n var dataLevel = data.split('_')[1];\r\n if (levelsUp > 0) {\r\n dataLevel = newDepth;\r\n }\r\n if (i > 0) {\r\n variable += \"[(data_\" + dataLevel + \" && data_\" + dataLevel + \".\" + (part.replace('@', '')) + \")]\";\r\n } else {\r\n variable = \"(data_\" + dataLevel + \" && data_\" + dataLevel + \".\" + (part.replace('@', '')) + \")\";\r\n }\r\n } else if (Number.isFinite ? Number.isFinite(part) : Template7Context.isFinite(part)) {\r\n variable += \"[\" + part + \"]\";\r\n } else if (part === 'this' || part.indexOf('this.') >= 0 || part.indexOf('this[') >= 0 || part.indexOf('this(') >= 0) {\r\n variable = part.replace('this', ctx);\r\n } else {\r\n variable += \".\" + part;\r\n }\r\n }\r\n return variable;\r\n },\r\n getCompiledArguments: function getCompiledArguments(contextArray, ctx, data) {\r\n var arr = [];\r\n for (var i = 0; i < contextArray.length; i += 1) {\r\n if (/^['\"]/.test(contextArray[i])) { arr.push(contextArray[i]); }\r\n else if (/^(true|false|\\d+)$/.test(contextArray[i])) { arr.push(contextArray[i]); }\r\n else {\r\n arr.push(Template7Utils.getCompileVar(contextArray[i], ctx, data));\r\n }\r\n }\r\n \r\n return arr.join(', ');\r\n },\r\n };\r\n \r\n /* eslint no-eval: \"off\" */\r\n \r\n var Template7Helpers = {\r\n _partial: function _partial(partialName, options) {\r\n var ctx = this;\r\n var p = Template7Class.partials[partialName];\r\n if (!p || (p && !p.template)) { return ''; }\r\n if (!p.compiled) {\r\n p.compiled = new Template7Class(p.template).compile();\r\n }\r\n Object.keys(options.hash).forEach(function (hashName) {\r\n ctx[hashName] = options.hash[hashName];\r\n });\r\n return p.compiled(ctx, options.data, options.root);\r\n },\r\n escape: function escape(context) {\r\n if (typeof context !== 'string') {\r\n throw new Error('Template7: Passed context to \"escape\" helper should be a string');\r\n }\r\n return Template7Utils.escape(context);\r\n },\r\n if: function if$1(context, options) {\r\n var ctx = context;\r\n if (Template7Utils.isFunction(ctx)) { ctx = ctx.call(this); }\r\n if (ctx) {\r\n return options.fn(this, options.data);\r\n }\r\n \r\n return options.inverse(this, options.data);\r\n },\r\n unless: function unless(context, options) {\r\n var ctx = context;\r\n if (Template7Utils.isFunction(ctx)) { ctx = ctx.call(this); }\r\n if (!ctx) {\r\n return options.fn(this, options.data);\r\n }\r\n \r\n return options.inverse(this, options.data);\r\n },\r\n each: function each(context, options) {\r\n var ctx = context;\r\n var ret = '';\r\n var i = 0;\r\n if (Template7Utils.isFunction(ctx)) { ctx = ctx.call(this); }\r\n if (Array.isArray(ctx)) {\r\n if (options.hash.reverse) {\r\n ctx = ctx.reverse();\r\n }\r\n for (i = 0; i < ctx.length; i += 1) {\r\n ret += options.fn(ctx[i], { first: i === 0, last: i === ctx.length - 1, index: i });\r\n }\r\n if (options.hash.reverse) {\r\n ctx = ctx.reverse();\r\n }\r\n } else {\r\n // eslint-disable-next-line\r\n for (var key in ctx) {\r\n i += 1;\r\n ret += options.fn(ctx[key], { key: key });\r\n }\r\n }\r\n if (i > 0) { return ret; }\r\n return options.inverse(this);\r\n },\r\n with: function with$1(context, options) {\r\n var ctx = context;\r\n if (Template7Utils.isFunction(ctx)) { ctx = context.call(this); }\r\n return options.fn(ctx);\r\n },\r\n join: function join(context, options) {\r\n var ctx = context;\r\n if (Template7Utils.isFunction(ctx)) { ctx = ctx.call(this); }\r\n return ctx.join(options.hash.delimiter || options.hash.delimeter);\r\n },\r\n js: function js(expression, options) {\r\n var data = options.data;\r\n var func;\r\n var execute = expression;\r\n ('index first last key').split(' ').forEach(function (prop) {\r\n if (typeof data[prop] !== 'undefined') {\r\n var re1 = new RegExp((\"this.@\" + prop), 'g');\r\n var re2 = new RegExp((\"@\" + prop), 'g');\r\n execute = execute\r\n .replace(re1, JSON.stringify(data[prop]))\r\n .replace(re2, JSON.stringify(data[prop]));\r\n }\r\n });\r\n if (options.root && execute.indexOf('@root') >= 0) {\r\n execute = Template7Utils.parseJsVariable(execute, '@root', options.root);\r\n }\r\n if (execute.indexOf('@global') >= 0) {\r\n execute = Template7Utils.parseJsVariable(execute, '@global', Template7Context.Template7.global);\r\n }\r\n if (execute.indexOf('../') >= 0) {\r\n execute = Template7Utils.parseJsParents(execute, options.parents);\r\n }\r\n if (execute.indexOf('return') >= 0) {\r\n func = \"(function(){\" + execute + \"})\";\r\n } else {\r\n func = \"(function(){return (\" + execute + \")})\";\r\n }\r\n return eval(func).call(this);\r\n },\r\n js_if: function js_if(expression, options) {\r\n var data = options.data;\r\n var func;\r\n var execute = expression;\r\n ('index first last key').split(' ').forEach(function (prop) {\r\n if (typeof data[prop] !== 'undefined') {\r\n var re1 = new RegExp((\"this.@\" + prop), 'g');\r\n var re2 = new RegExp((\"@\" + prop), 'g');\r\n execute = execute\r\n .replace(re1, JSON.stringify(data[prop]))\r\n .replace(re2, JSON.stringify(data[prop]));\r\n }\r\n });\r\n if (options.root && execute.indexOf('@root') >= 0) {\r\n execute = Template7Utils.parseJsVariable(execute, '@root', options.root);\r\n }\r\n if (execute.indexOf('@global') >= 0) {\r\n execute = Template7Utils.parseJsVariable(execute, '@global', Template7Context.Template7.global);\r\n }\r\n if (execute.indexOf('../') >= 0) {\r\n execute = Template7Utils.parseJsParents(execute, options.parents);\r\n }\r\n if (execute.indexOf('return') >= 0) {\r\n func = \"(function(){\" + execute + \"})\";\r\n } else {\r\n func = \"(function(){return (\" + execute + \")})\";\r\n }\r\n var condition = eval(func).call(this);\r\n if (condition) {\r\n return options.fn(this, options.data);\r\n }\r\n \r\n return options.inverse(this, options.data);\r\n },\r\n };\r\n Template7Helpers.js_compare = Template7Helpers.js_if;\r\n \r\n var Template7Options = {};\r\n var Template7Partials = {};\r\n \r\n var Template7Class = function Template7Class(template) {\r\n var t = this;\r\n t.template = template;\r\n };\r\n \r\n var staticAccessors = { options: { configurable: true },partials: { configurable: true },helpers: { configurable: true } };\r\n Template7Class.prototype.compile = function compile (template, depth) {\r\n if ( template === void 0 ) template = this.template;\r\n if ( depth === void 0 ) depth = 1;\r\n \r\n var t = this;\r\n if (t.compiled) { return t.compiled; }\r\n \r\n if (typeof template !== 'string') {\r\n throw new Error('Template7: Template must be a string');\r\n }\r\n var stringToBlocks = Template7Utils.stringToBlocks;\r\n var getCompileVar = Template7Utils.getCompileVar;\r\n var getCompiledArguments = Template7Utils.getCompiledArguments;\r\n \r\n var blocks = stringToBlocks(template);\r\n var ctx = \"ctx_\" + depth;\r\n var data = \"data_\" + depth;\r\n if (blocks.length === 0) {\r\n return function empty() { return ''; };\r\n }\r\n \r\n function getCompileFn(block, newDepth) {\r\n if (block.content) { return t.compile(block.content, newDepth); }\r\n return function empty() { return ''; };\r\n }\r\n function getCompileInverse(block, newDepth) {\r\n if (block.inverseContent) { return t.compile(block.inverseContent, newDepth); }\r\n return function empty() { return ''; };\r\n }\r\n \r\n var resultString = '';\r\n if (depth === 1) {\r\n resultString += \"(function (\" + ctx + \", \" + data + \", root) {\\n\";\r\n } else {\r\n resultString += \"(function (\" + ctx + \", \" + data + \") {\\n\";\r\n }\r\n if (depth === 1) {\r\n resultString += 'function isArray(arr){return Array.isArray(arr);}\\n';\r\n resultString += 'function isFunction(func){return (typeof func === \\'function\\');}\\n';\r\n resultString += 'function c(val, ctx) {if (typeof val !== \"undefined\" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return \"\";}\\n';\r\n resultString += 'root = root || ctx_1 || {};\\n';\r\n }\r\n resultString += 'var r = \\'\\';\\n';\r\n var i;\r\n for (i = 0; i < blocks.length; i += 1) {\r\n var block = blocks[i];\r\n // Plain block\r\n if (block.type === 'plain') {\r\n // eslint-disable-next-line\r\n resultString += \"r +='\" + ((block.content).replace(/\\r/g, '\\\\r').replace(/\\n/g, '\\\\n').replace(/'/g, '\\\\' + '\\'')) + \"';\";\r\n continue;\r\n }\r\n var variable = (void 0);\r\n var compiledArguments = (void 0);\r\n // Variable block\r\n if (block.type === 'variable') {\r\n variable = getCompileVar(block.contextName, ctx, data);\r\n resultString += \"r += c(\" + variable + \", \" + ctx + \");\";\r\n }\r\n // Helpers block\r\n if (block.type === 'helper') {\r\n var parents = (void 0);\r\n if (ctx !== 'ctx_1') {\r\n var level = ctx.split('_')[1];\r\n var parentsString = \"ctx_\" + (level - 1);\r\n for (var j = level - 2; j >= 1; j -= 1) {\r\n parentsString += \", ctx_\" + j;\r\n }\r\n parents = \"[\" + parentsString + \"]\";\r\n } else {\r\n parents = \"[\" + ctx + \"]\";\r\n }\r\n var dynamicHelper = (void 0);\r\n if (block.helperName.indexOf('[') === 0) {\r\n block.helperName = getCompileVar(block.helperName.replace(/[[\\]]/g, ''), ctx, data);\r\n dynamicHelper = true;\r\n }\r\n if (dynamicHelper || block.helperName in Template7Helpers) {\r\n compiledArguments = getCompiledArguments(block.contextName, ctx, data);\r\n resultString += \"r += (Template7Helpers\" + (dynamicHelper ? (\"[\" + (block.helperName) + \"]\") : (\".\" + (block.helperName))) + \").call(\" + ctx + \", \" + (compiledArguments && ((compiledArguments + \", \"))) + \"{hash:\" + (JSON.stringify(block.hash)) + \", data: \" + data + \" || {}, fn: \" + (getCompileFn(block, depth + 1)) + \", inverse: \" + (getCompileInverse(block, depth + 1)) + \", root: root, parents: \" + parents + \"});\";\r\n } else if (block.contextName.length > 0) {\r\n throw new Error((\"Template7: Missing helper: \\\"\" + (block.helperName) + \"\\\"\"));\r\n } else {\r\n variable = getCompileVar(block.helperName, ctx, data);\r\n resultString += \"if (\" + variable + \") {\";\r\n resultString += \"if (isArray(\" + variable + \")) {\";\r\n resultString += \"r += (Template7Helpers.each).call(\" + ctx + \", \" + variable + \", {hash:\" + (JSON.stringify(block.hash)) + \", data: \" + data + \" || {}, fn: \" + (getCompileFn(block, depth + 1)) + \", inverse: \" + (getCompileInverse(block, depth + 1)) + \", root: root, parents: \" + parents + \"});\";\r\n resultString += '}else {';\r\n resultString += \"r += (Template7Helpers.with).call(\" + ctx + \", \" + variable + \", {hash:\" + (JSON.stringify(block.hash)) + \", data: \" + data + \" || {}, fn: \" + (getCompileFn(block, depth + 1)) + \", inverse: \" + (getCompileInverse(block, depth + 1)) + \", root: root, parents: \" + parents + \"});\";\r\n resultString += '}}';\r\n }\r\n }\r\n }\r\n resultString += '\\nreturn r;})';\r\n \r\n if (depth === 1) {\r\n // eslint-disable-next-line\r\n t.compiled = eval(resultString);\r\n return t.compiled;\r\n }\r\n return resultString;\r\n };\r\n staticAccessors.options.get = function () {\r\n return Template7Options;\r\n };\r\n staticAccessors.partials.get = function () {\r\n return Template7Partials;\r\n };\r\n staticAccessors.helpers.get = function () {\r\n return Template7Helpers;\r\n };\r\n \r\n Object.defineProperties( Template7Class, staticAccessors );\r\n \r\n function Template7() {\r\n var args = [], len = arguments.length;\r\n while ( len-- ) args[ len ] = arguments[ len ];\r\n \r\n var template = args[0];\r\n var data = args[1];\r\n if (args.length === 2) {\r\n var instance = new Template7Class(template);\r\n var rendered = instance.compile()(data);\r\n instance = null;\r\n return (rendered);\r\n }\r\n return new Template7Class(template);\r\n }\r\n Template7.registerHelper = function registerHelper(name, fn) {\r\n Template7Class.helpers[name] = fn;\r\n };\r\n Template7.unregisterHelper = function unregisterHelper(name) {\r\n Template7Class.helpers[name] = undefined;\r\n delete Template7Class.helpers[name];\r\n };\r\n Template7.registerPartial = function registerPartial(name, template) {\r\n Template7Class.partials[name] = { template: template };\r\n };\r\n Template7.unregisterPartial = function unregisterPartial(name) {\r\n if (Template7Class.partials[name]) {\r\n Template7Class.partials[name] = undefined;\r\n delete Template7Class.partials[name];\r\n }\r\n };\r\n Template7.compile = function compile(template, options) {\r\n var instance = new Template7Class(template, options);\r\n return instance.compile();\r\n };\r\n \r\n Template7.options = Template7Class.options;\r\n Template7.helpers = Template7Class.helpers;\r\n Template7.partials = Template7Class.partials;\r\n \r\n return Template7;\r\n \r\n }));\r\n //# sourceMappingURL=template7.js.map","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=t||self).LazyLoad=n()}(this,(function(){\"use strict\";function t(){return(t=Object.assign||function(t){for(var n=1;n1,a={elements_selector:\".lazy\",container:e||n?document:null,threshold:300,thresholds:null,data_src:\"src\",data_srcset:\"srcset\",data_sizes:\"sizes\",data_bg:\"bg\",data_bg_hidpi:\"bg-hidpi\",data_bg_multi:\"bg-multi\",data_bg_multi_hidpi:\"bg-multi-hidpi\",data_poster:\"poster\",class_applied:\"applied\",class_loading:\"loading\",class_loaded:\"loaded\",class_error:\"error\",class_entered:\"entered\",class_exited:\"exited\",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},c=function(n){return t({},a,n)},s=function(t,n){var e,i=\"LazyLoad::Initialized\",o=new t(n);try{e=new CustomEvent(i,{detail:{instance:o}})}catch(t){(e=document.createEvent(\"CustomEvent\")).initCustomEvent(i,!1,!1,{instance:o})}window.dispatchEvent(e)},l=\"loading\",u=\"loaded\",d=\"applied\",f=\"error\",_=\"native\",g=\"data-\",v=\"ll-status\",p=function(t,n){return t.getAttribute(g+n)},b=function(t){return p(t,v)},h=function(t,n){return function(t,n,e){var i=\"data-ll-status\";null!==e?t.setAttribute(i,e):t.removeAttribute(i)}(t,0,n)},m=function(t){return h(t,null)},E=function(t){return null===b(t)},y=function(t){return b(t)===_},A=[l,u,d,f],I=function(t,n,e,i){t&&(void 0===i?void 0===e?t(n):t(n,e):t(n,e,i))},L=function(t,n){o?t.classList.add(n):t.className+=(t.className?\" \":\"\")+n},w=function(t,n){o?t.classList.remove(n):t.className=t.className.replace(new RegExp(\"(^|\\\\s+)\"+n+\"(\\\\s+|$)\"),\" \").replace(/^\\s+/,\"\").replace(/\\s+$/,\"\")},k=function(t){return t.llTempImage},O=function(t,n){if(n){var e=n._observer;e&&e.unobserve(t)}},x=function(t,n){t&&(t.loadingCount+=n)},z=function(t,n){t&&(t.toLoadCount=n)},C=function(t){for(var n,e=[],i=0;n=t.children[i];i+=1)\"SOURCE\"===n.tagName&&e.push(n);return e},N=function(t,n,e){e&&t.setAttribute(n,e)},M=function(t,n){t.removeAttribute(n)},R=function(t){return!!t.llOriginalAttrs},G=function(t){if(!R(t)){var n={};n.src=t.getAttribute(\"src\"),n.srcset=t.getAttribute(\"srcset\"),n.sizes=t.getAttribute(\"sizes\"),t.llOriginalAttrs=n}},T=function(t){if(R(t)){var n=t.llOriginalAttrs;N(t,\"src\",n.src),N(t,\"srcset\",n.srcset),N(t,\"sizes\",n.sizes)}},j=function(t,n){N(t,\"sizes\",p(t,n.data_sizes)),N(t,\"srcset\",p(t,n.data_srcset)),N(t,\"src\",p(t,n.data_src))},D=function(t){M(t,\"src\"),M(t,\"srcset\"),M(t,\"sizes\")},F=function(t,n){var e=t.parentNode;e&&\"PICTURE\"===e.tagName&&C(e).forEach(n)},P={IMG:function(t,n){F(t,(function(t){G(t),j(t,n)})),G(t),j(t,n)},IFRAME:function(t,n){N(t,\"src\",p(t,n.data_src))},VIDEO:function(t,n){!function(t,e){C(t).forEach((function(t){N(t,\"src\",p(t,n.data_src))}))}(t),N(t,\"poster\",p(t,n.data_poster)),N(t,\"src\",p(t,n.data_src)),t.load()}},S=function(t,n){var e=P[t.tagName];e&&e(t,n)},V=function(t,n,e){x(e,1),L(t,n.class_loading),h(t,l),I(n.callback_loading,t,e)},U=[\"IMG\",\"IFRAME\",\"VIDEO\"],$=function(t,n){!n||function(t){return t.loadingCount>0}(n)||function(t){return t.toLoadCount>0}(n)||I(t.callback_finish,n)},q=function(t,n,e){t.addEventListener(n,e),t.llEvLisnrs[n]=e},H=function(t,n,e){t.removeEventListener(n,e)},B=function(t){return!!t.llEvLisnrs},J=function(t){if(B(t)){var n=t.llEvLisnrs;for(var e in n){var i=n[e];H(t,e,i)}delete t.llEvLisnrs}},K=function(t,n,e){!function(t){delete t.llTempImage}(t),x(e,-1),function(t){t&&(t.toLoadCount-=1)}(e),w(t,n.class_loading),n.unobserve_completed&&O(t,e)},Q=function(t,n,e){var i=k(t)||t;B(i)||function(t,n,e){B(t)||(t.llEvLisnrs={});var i=\"VIDEO\"===t.tagName?\"loadeddata\":\"load\";q(t,i,n),q(t,\"error\",e)}(i,(function(o){!function(t,n,e,i){var o=y(n);K(n,e,i),L(n,e.class_loaded),h(n,u),I(e.callback_loaded,n,i),o||$(e,i)}(0,t,n,e),J(i)}),(function(o){!function(t,n,e,i){var o=y(n);K(n,e,i),L(n,e.class_error),h(n,f),I(e.callback_error,n,i),o||$(e,i)}(0,t,n,e),J(i)}))},W=function(t,n,e){!function(t){t.llTempImage=document.createElement(\"IMG\")}(t),Q(t,n,e),function(t,n,e){var i=p(t,n.data_bg),o=p(t,n.data_bg_hidpi),a=r&&o?o:i;a&&(t.style.backgroundImage='url(\"'.concat(a,'\")'),k(t).setAttribute(\"src\",a),V(t,n,e))}(t,n,e),function(t,n,e){var i=p(t,n.data_bg_multi),o=p(t,n.data_bg_multi_hidpi),a=r&&o?o:i;a&&(t.style.backgroundImage=a,function(t,n,e){L(t,n.class_applied),h(t,d),n.unobserve_completed&&O(t,n),I(n.callback_applied,t,e)}(t,n,e))}(t,n,e)},X=function(t,n,e){!function(t){return U.indexOf(t.tagName)>-1}(t)?W(t,n,e):function(t,n,e){Q(t,n,e),S(t,n),V(t,n,e)}(t,n,e)},Y=[\"IMG\",\"IFRAME\"],Z=function(t){return t.use_native&&\"loading\"in HTMLImageElement.prototype},tt=function(t,n,e){t.forEach((function(t){return function(t){return t.isIntersecting||t.intersectionRatio>0}(t)?function(t,n,e,i){h(t,\"entered\"),L(t,e.class_entered),w(t,e.class_exited),function(t,n,e){n.unobserve_entered&&O(t,e)}(t,e,i),I(e.callback_enter,t,n,i),function(t){return A.indexOf(b(t))>=0}(t)||X(t,e,i)}(t.target,t,n,e):function(t,n,e,i){E(t)||(L(t,e.class_exited),function(t,n,e,i){e.cancel_on_exit&&function(t){return b(t)===l}(t)&&\"IMG\"===t.tagName&&(J(t),function(t){F(t,(function(t){D(t)})),D(t)}(t),function(t){F(t,(function(t){T(t)})),T(t)}(t),w(t,e.class_loading),x(i,-1),m(t),I(e.callback_cancel,t,n,i))}(t,n,e,i),I(e.callback_exit,t,n,i))}(t.target,t,n,e)}))},nt=function(t){return Array.prototype.slice.call(t)},et=function(t){return t.container.querySelectorAll(t.elements_selector)},it=function(t){return function(t){return b(t)===f}(t)},ot=function(t,n){return function(t){return nt(t).filter(E)}(t||et(n))},rt=function(t,e){var o=c(t);this._settings=o,this.loadingCount=0,function(t,n){i&&!Z(t)&&(n._observer=new IntersectionObserver((function(e){tt(e,t,n)}),function(t){return{root:t.container===document?null:t.container,rootMargin:t.thresholds||t.threshold+\"px\"}}(t)))}(o,this),function(t,e){n&&window.addEventListener(\"online\",(function(){!function(t,n){var e;(e=et(t),nt(e).filter(it)).forEach((function(n){w(n,t.class_error),m(n)})),n.update()}(t,e)}))}(o,this),this.update(e)};return rt.prototype={update:function(t){var n,o,r=this._settings,a=ot(t,r);z(this,a.length),!e&&i?Z(r)?function(t,n,e){t.forEach((function(t){-1!==Y.indexOf(t.tagName)&&(t.setAttribute(\"loading\",\"lazy\"),function(t,n,e){Q(t,n,e),S(t,n),h(t,_)}(t,n,e))})),z(e,0)}(a,r,this):(o=a,function(t){t.disconnect()}(n=this._observer),function(t,n){n.forEach((function(n){t.observe(n)}))}(n,o)):this.loadAll(a)},destroy:function(){this._observer&&this._observer.disconnect(),et(this._settings).forEach((function(t){delete t.llOriginalAttrs})),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var n=this,e=this._settings;ot(t,e).forEach((function(t){O(t,n),X(t,e,n)}))}},rt.load=function(t,n){var e=c(n);X(t,e)},rt.resetStatus=function(t){m(t)},n&&function(t,n){if(n)if(n.length)for(var e,i=0;e=n[i];i+=1)s(t,e);else s(t,n)}(rt,window.lazyLoadOptions),rt}));\n","var tw = tw || {};\r\ntw.Analytics = function () {\r\n\r\n var _log = false;\r\n\r\n var ga4 = function (category, action, label, eventName = 'onclick') {\r\n if (_log) console.group('tw.Analytics.ga4()');\r\n if (_log) console.log('category: ', category);\r\n if (_log) console.log('action: ', action);\r\n if (_log) console.log('label: ', label);\r\n if (_log) console.log('eventName: ', eventName);\r\n if (_log) console.groupEnd();\r\n\r\n var options = {\r\n event: eventName,\r\n category: category,\r\n action: action,\r\n label: label,\r\n page: { \r\n protocol: window.location.protocol,\r\n hostname: window.location.hostname,\r\n path: window.location.pathname,\r\n search: window.location.search\r\n }\r\n };\r\n\r\n var parentUrl = getParentUrl();\r\n if(parentUrl){\r\n options['referrer'] = parentUrl;\r\n //console.log('tw.Analytics.parentUrl:', parentUrl);\r\n }\r\n\r\n window['dataLayer'].push(options);\r\n if (_log) console.log('tw.Analytics.window[dataLayer]:', window['dataLayer']);\r\n\r\n }\r\n\r\n\r\n /**\r\n * Gets parent url if is in an iframe\r\n * @returns \r\n */\r\n var getParentUrl = function () {\r\n var isInIframe = (parent !== window),\r\n parentUrl = null;\r\n \r\n if (isInIframe) {\r\n parentUrl = document.referrer;\r\n }\r\n if (_log) console.log('tw.Analytics.getParentUrl.isInIframe:', isInIframe, '=', parentUrl);\r\n\r\n return parentUrl;\r\n }\r\n\r\n return {\r\n ga4: ga4\r\n }\r\n\r\n}();","var BingMap = BingMap || {};\r\nBingMap.Utilities = function () {\r\n\t//console.log('bingmap-utilities.js');\r\n\r\n\tvar _log = false,\r\n\t\twindowDimensions = { 'width': 0, 'height': 0 },\r\n\t\tdimensions = { 'width': 0, 'height': 0 };\r\n\r\n\tvar viewportDimensions = function () {\r\n\t\twindowDimensions.width = window.innerWidth;\r\n\t\twindowDimensions.height = window.innerHeight;\r\n\t\tif (_log) console.log('windowDimensions:', windowDimensions);\r\n\t}\r\n\r\n\tvar getElementDimensions = function ($ele) {\r\n\t\tdimensions.width = $ele.width();\r\n\t\tdimensions.height = $ele.height();\r\n\t\tif (_log) console.log('dimensions: ', dimensions);\r\n\t\treturn dimensions;\r\n\t}\r\n\r\n\tvar upperCaseWord = function (word) {\r\n\t\t//if (_log) console.log('upperCaseWord: ', word);\r\n\t\tvar wordUpper = word.replace(/^\\w/, function (chr) {\r\n\t\t\treturn chr.toUpperCase();\r\n\t\t});\r\n\t\treturn wordUpper;\r\n\t}\r\n\r\n\tvar spaceToHyphenateString = function (str) {\r\n\t\tvar newstr = str.replace(/\\s+/g, '-');//.toLowerCase();\r\n\t\treturn newstr;\r\n\t\t//console.log(newstr);\r\n\t}\r\n\r\n\r\n\r\n\t/**\r\n\t * Get URL parameters\r\n\t * @param {*} prop \r\n\t */\r\n\tvar getUrlParams = function (prop) {\r\n\t\tif (_log) console.group('getUrlParams()');\r\n\t\tif (_log) console.log('prop:', prop);\r\n\t\tif (_log) console.log('window.location.href.indexOf(?):', window.location.href.indexOf('?'));//window.search isn't working for some reason.\r\n\t\t\r\n\t\tvar params = {},\r\n\t\t\tsearch = null,\r\n\t\t\tdefinitions = null,\r\n\t\t\tfoundSearch = window.location.href.indexOf('?') > -1 ? true : false;\r\n\r\n\t\tif(!foundSearch){\r\n\t\t\t//console.log('search is empty');\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tsearch = decodeURIComponent(window.location.href.slice(window.location.href.indexOf('?') + 1));\r\n\t\tdefinitions = search.split('&');\r\n\r\n\t\tif (definitions != null) {\r\n\t\t\tdefinitions.forEach(function (val, key) {\r\n\t\t\t\tvar parts = val.split('=', 2);\r\n\t\t\t\tparams[parts[0]] = parts[1];\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (_log) console.log('search:', search);\r\n\t\tif (_log) console.log('definitions:', definitions);\r\n\t\tif (_log) console.log('params:', params);\r\n\t\tif (_log) console.groupEnd();\r\n\r\n\t\treturn (prop && prop in params) ? params[prop] : params;\r\n\t}\r\n\r\n\r\n\r\n\t/**\r\n\t * Draw Circle Line From Location\r\n\t * This one uses kilometers, so convert all distances to kilometers first\r\n\t * Another way to do a circle, from this SO post: http://stackoverflow.com/a/9332234/639628\r\n\t * \r\n\t * @param {*} latitude \r\n\t * @param {*} longitude \r\n\t * @param {*} radius \r\n\t * @param {*} strokeColor \r\n\t * @param {*} strokeThickness \r\n\t */\r\n\tvar drawCircleLineFromLocation = function (latitude, longitude, radius, strokeColor, strokeThickness) {\r\n\t\t//if (_log) console.log('DrawCircleLineFromLocation()', latitude, longitude);\r\n\t\tvar R = 6378.1; // earth's mean radius in km\r\n\r\n\t\tvar lat = (latitude * Math.PI) / 180; \r\n\t\tvar lon = (longitude * Math.PI) / 180;\r\n\t\tvar d = parseFloat(radius) / R;\r\n\t\tvar circlePoints = [];\r\n\r\n\t\tfor (x = 0; x <= 360; x += 5) {\r\n\t\t\tvar p2 = new Microsoft.Maps.Location(0, 0);\r\n\t\t\tvar brng = x * Math.PI / 180;\r\n\t\t\tp2.latitude = Math.asin(Math.sin(lat) * Math.cos(d) + Math.cos(lat) * Math.sin(d) * Math.cos(brng));\r\n\r\n\t\t\tp2.longitude = ((lon + Math.atan2(Math.sin(brng) * Math.sin(d) * Math.cos(lat), \r\n\t\t\t\t\t\tMath.cos(d) - Math.sin(lat) * Math.sin(p2.latitude))) * 180) / Math.PI;\r\n\t\t\tp2.latitude = (p2.latitude * 180) / Math.PI;\r\n\t\t\tcirclePoints.push(p2);\r\n\t\t}\r\n\r\n\t\t//polyline options: https://msdn.microsoft.com/en-us/library/mt712655.aspx\r\n\t\tvar polygon = new Microsoft.Maps.Polyline(circlePoints, {\r\n\t\t\tstrokeColor: strokeColor,\r\n\t\t\tstrokeThickness: parseInt(strokeThickness),\r\n\t\t\tstrokeDashArray: \"2 4 2 4\"//\"Dash, Gap, Dash, Gap\"\r\n\t\t});\r\n\t\treturn polygon;\r\n\t};\r\n\r\n\r\n\r\n\t/**\r\n\t * Draw Circle From Location\r\n\t * @param {*} latitude \r\n\t * @param {*} longitude \r\n\t * @param {*} radius \r\n\t * @param {*} fillColor \r\n\t * @param {*} strokeColor \r\n\t * @param {*} strokeThickness \r\n\t */\r\n\tvar drawCircleFromLocation = function (latitude, longitude, radius, fillColor, strokeColor, strokeThickness) {\r\n\t\t//if (_log) console.log('DrawCircleFromLocation()', latitude, longitude);\r\n\t\tvar R = 6378.1; // earth's mean radius in km\r\n\r\n\t\tvar lat = (latitude * Math.PI) / 180; \r\n\t\tvar lon = (longitude * Math.PI) / 180;\r\n\t\tvar d = parseFloat(radius) / R;\r\n\t\tvar circlePoints = [];\r\n\r\n\t\tfor (var x = 0; x <= 360; x += 5) {\r\n\t\t\tvar p2 = new Microsoft.Maps.Location(0, 0);\r\n\t\t\tvar brng = x * Math.PI / 180;\r\n\t\t\tp2.latitude = Math.asin(Math.sin(lat) * Math.cos(d) + Math.cos(lat) * Math.sin(d) * Math.cos(brng));\r\n\r\n\t\t\tp2.longitude = ((lon + Math.atan2(Math.sin(brng) * Math.sin(d) * Math.cos(lat), \r\n\t\t\t\t\t\tMath.cos(d) - Math.sin(lat) * Math.sin(p2.latitude))) * 180) / Math.PI;\r\n\t\t\tp2.latitude = (p2.latitude * 180) / Math.PI;\r\n\t\t\tcirclePoints.push(p2);\r\n\t\t}\r\n\r\n\t\tvar polygon = new Microsoft.Maps.Polygon(circlePoints, {\r\n\t\t\tfillColor: fillColor,\r\n\t\t\tstrokeColor: strokeColor,\r\n\t\t\tstrokeThickness: parseInt(strokeThickness),\r\n\t\t\tstrokeDashArray: \"3 4\"//\"Dash, Gap, Dash, Gap\"\r\n\t\t});\r\n\t\treturn polygon;\r\n\t};\r\n\r\n\r\n\r\n\r\n\r\n\t/**\r\n\t * Convert Miles to Kilo\r\n\t * Utility method for converting miles to kilometers\r\n\t * @param {*} miles \r\n\t */\r\n\tvar convertMilesToKilometers = function (miles) {\r\n\t\tvar kilometers = miles * 1.60934;\r\n\t\treturn kilometers; \r\n\t};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t\r\n\t/**\r\n\t * Method that will get a layer or entity by name assuming it has a LayerName property on it.\r\n\t * @param {*} layerName \r\n\t */\r\n\tvar getLayerByName = function (layerName, map) {\r\n\t\t//if (_log) console.log('BingMaps.Utilities.GetLayerByName()', layerName, map);\r\n\t\treturn getEntityByProperty(map.layers, 'LayerName', layerName);\r\n\t};\r\n\r\n\t/**\r\n\t * This Method is similar to the above but more flexible and allows you to get a layer based on the value of any public property.\r\n\t * @param {*} collection \r\n\t * @param {*} propertyName \r\n\t * @param {*} propertyValue \r\n\t */\r\n\tvar getEntityByProperty = function (collection, propertyName, propertyValue) {\r\n\t\t//if (_log) console.log('BingMaps.Utilities.getEntityByProperty()', collection, propertyName, propertyValue);\r\n\t\tvar len = collection.length,\r\n\t\t\tentity;\r\n\r\n\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\tentity = collection[i];\r\n\r\n\t\t\tif (entity[propertyName] && entity[propertyName] == propertyValue) {\r\n\t\t\t\treturn entity;\r\n\t\t\t} else if (entity.getLength) {\r\n\t\t\t\t//Entity collections have this property and we want to look inside these collections\r\n\t\t\t\tvar layer = getEntityByProperty(entity, propertyName, propertyValue);\r\n\r\n\t\t\t\tif (layer != null) {\r\n\t\t\t\t\treturn layer;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\r\n\r\n\r\n\treturn {\r\n\t\tconvertMilesToKilometers: convertMilesToKilometers,\r\n\t\tdrawCircleLineFromLocation: drawCircleLineFromLocation,\r\n\t\tdrawCircleFromLocation: drawCircleFromLocation,\r\n\t\tgetElementDimensions: getElementDimensions,\r\n\t\tgetEntityByProperty: getEntityByProperty,\r\n\t\tgetLayerByName: getLayerByName,\r\n\t\tgetUrlParams: getUrlParams,\r\n\t\tviewportDimensions: viewportDimensions,\r\n\t\tupperCaseWord: upperCaseWord\r\n\t}\r\n\r\n}();","/*!\r\n * jQuery Cookie Plugin v1.4.1\r\n * https://github.com/carhartl/jquery-cookie\r\n *\r\n * Copyright 2013 Klaus Hartl\r\n * Released under the MIT license\r\n */\r\n(function (factory) {\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\t// AMD\r\n\t\tdefine(['jquery'], factory);\r\n\t} else if (typeof exports === 'object') {\r\n\t\t// CommonJS\r\n\t\tfactory(require('jquery'));\r\n\t} else {\r\n\t\t// Browser globals\r\n\t\tfactory(jQuery);\r\n\t}\r\n}(function ($) {\r\n\r\n\tvar pluses = /\\+/g;\r\n\r\n\tfunction encode(s) {\r\n\t\treturn config.raw ? s : encodeURIComponent(s);\r\n\t}\r\n\r\n\tfunction decode(s) {\r\n\t\treturn config.raw ? s : decodeURIComponent(s);\r\n\t}\r\n\r\n\tfunction stringifyCookieValue(value) {\r\n\t\treturn encode(config.json ? JSON.stringify(value) : String(value));\r\n\t}\r\n\r\n\tfunction parseCookieValue(s) {\r\n\t\tif (s.indexOf('\"') === 0) {\r\n\t\t\t// This is a quoted cookie as according to RFC2068, unescape...\r\n\t\t\ts = s.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// Replace server-side written pluses with spaces.\r\n\t\t\t// If we can't decode the cookie, ignore it, it's unusable.\r\n\t\t\t// If we can't parse the cookie, ignore it, it's unusable.\r\n\t\t\ts = decodeURIComponent(s.replace(pluses, ' '));\r\n\t\t\treturn config.json ? JSON.parse(s) : s;\r\n\t\t} catch(e) {}\r\n\t}\r\n\r\n\tfunction read(s, converter) {\r\n\t\tvar value = config.raw ? s : parseCookieValue(s);\r\n\t\treturn $.isFunction(converter) ? converter(value) : value;\r\n\t}\r\n\r\n\tvar config = $.cookie = function (key, value, options) {\r\n\r\n\t\t// Write\r\n\r\n\t\tif (value !== undefined && !$.isFunction(value)) {\r\n\t\t\toptions = $.extend({}, config.defaults, options);\r\n\r\n\t\t\tif (typeof options.expires === 'number') {\r\n\t\t\t\tvar days = options.expires, t = options.expires = new Date();\r\n\t\t\t\tt.setTime(+t + days * 864e+5);\r\n\t\t\t}\r\n\r\n\t\t\treturn (document.cookie = [\r\n\t\t\t\tencode(key), '=', stringifyCookieValue(value),\r\n\t\t\t\toptions.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\r\n\t\t\t\toptions.path ? '; path=' + options.path : '',\r\n\t\t\t\toptions.domain ? '; domain=' + options.domain : '',\r\n\t\t\t\toptions.secure ? '; secure' : ''\r\n\t\t\t].join(''));\r\n\t\t}\r\n\r\n\t\t// Read\r\n\r\n\t\tvar result = key ? undefined : {};\r\n\r\n\t\t// To prevent the for loop in the first place assign an empty array\r\n\t\t// in case there are no cookies at all. Also prevents odd result when\r\n\t\t// calling $.cookie().\r\n\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\r\n\r\n\t\tfor (var i = 0, l = cookies.length; i < l; i++) {\r\n\t\t\tvar parts = cookies[i].split('=');\r\n\t\t\tvar name = decode(parts.shift());\r\n\t\t\tvar cookie = parts.join('=');\r\n\r\n\t\t\tif (key && key === name) {\r\n\t\t\t\t// If second argument (value) is a function it's a converter...\r\n\t\t\t\tresult = read(cookie, value);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t// Prevent storing a cookie that we couldn't decode.\r\n\t\t\tif (!key && (cookie = read(cookie)) !== undefined) {\r\n\t\t\t\tresult[name] = cookie;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t};\r\n\r\n\tconfig.defaults = {};\r\n\r\n\t$.removeCookie = function (key, options) {\r\n\t\tif ($.cookie(key) === undefined) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Must not alter options, thus extending a fresh object...\r\n\t\t$.cookie(key, '', $.extend({}, options, { expires: -1 }));\r\n\t\treturn !$.cookie(key);\r\n\t};\r\n\r\n}));\r\n","var tw = tw || {};\r\ntw.CulinaryShow = (function () {\r\n\r\n //check out geopoint-reports for the cluster pins code.\r\n //geopoint was built off of conditions-reports, which has newer code and styling to copy.\r\n\r\n //I would create the same files and copy and paste only what is needed to get the map working\r\n\r\n\t// GLOBALS\r\n var _log = false,\r\n baseCategory = 'Top Chef',\r\n\t\tholdData = null,\r\n initLoadResize = true,\r\n activeRoute = null,\r\n host = window.location.host,\r\n reportType = $(\"[data-reporttype]\").data(\"reporttype\"),\r\n protocol = (window.location.protocol == 'https') ? 'https' : 'http',\r\n\t\tbasePath = decodeURIComponent($(\"[data-basepath]\").data(\"basepath\")),\r\n\t\tbaseUrl = protocol + '://' + host + basePath + '/',\r\n initUgc = true;\r\n\r\n // TEMPLATES\r\n var sec2MapContent = $('#sec2MapContent').html(),\r\n bandwangoTemplate = $('#bandwangoTemplate').html(),\r\n sec3CardsTemplate = $('#sec3CardTemplate').html(),\r\n sec5CardsTemplate = $('#sec5CardTemplate').html(),\r\n sec6CardsTemplate = $('#sec6CardTemplate').html(),\r\n sec7CardsTemplate = $('#sec7CardTemplate').html(),\r\n sec9CalloutImgTemplate = $('#sec9CalloutImgTemplate').html()\r\n\r\n\r\n var $subpanes = $('.js-subpane'),\r\n $pane = $('.js-pane'),\r\n $paneIntro = $('.js-pane-intro'),\r\n $reportButtons = $('.js-report-button'),\r\n $subpaneButtons = $('.js-subpane-button'),\r\n $filterButton = $('.js-filter-button'),\r\n $map = $('.js-report-map'),\r\n $intro = $('.js-pane-intro'),\r\n filterButtonOffset;\r\n\r\n\tvar initializePage = function () {\r\n\t\t// if (_log) console.log('isTouch', isTouch);\r\n\t\t// if (_log) console.log('baseUrl', baseUrl);\r\n\t\t// if (_log) console.log('baseTitle:' + baseTitle);\r\n\t\t// if (_log) console.log('reportType:' + reportType);\r\n\r\n\t\t// $(\"[data-route='\" + reportType + \"']\").addClass('is-active');\r\n\t\tactiveRoute = reportType;\r\n\r\n\t\tCulinaryBingMap.Map.initializeButtons();\r\n CulinaryBingMap.Map.updateReportType(reportType);\r\n tw.CulinaryShowsListings.getAllReportsByRegion();\r\n\t\t// BingMap.Map.updateReportType(reportType);\r\n\t\t// var useHref = '';\r\n\t\t// useHref = basePath\r\n\r\n\t\t// var txt = activeRoute,\r\n\t\t// \thref = useHref,\r\n\t\t// \tobj = {\r\n\t\t// \t\tpath: href,\r\n\t\t// \t\ttext: txt\r\n\t\t// \t};\r\n\r\n\t\t$('body').on('click', '.js-report-expand', function () {\r\n\t\t\tvar thisId = $(this).data('id');\r\n\t\t\tvar thisIndex = $(this).data('index');\r\n\t\t\tvar thisEpisodeNumber = $(this).data('episode-number');\r\n\r\n\t\t\tif (_log) console.log('.js-report-expand.id:', thisId);\r\n tw.CulinaryShowsListings.getReportDetails(thisId, thisIndex, thisEpisodeNumber);\r\n\r\n //For Map Card click tracking\r\n var loc = $(this).data('title');\r\n tw.Analytics.ga4(baseCategory, 'Map Card Click', loc);\r\n console.log('Map Card Click - ', baseCategory, 'Map Card Click', loc)\r\n\r\n // $subpanes.removeClass('is-hidden'); //remove later\r\n\t\t});\r\n\r\n\t\t$('body').on('click', '.js-reports-filter', function (e) {\r\n e.preventDefault();\r\n CulinaryBingMap.Map.softResetMap(); \r\n \r\n setTimeout(() => {\r\n $('.js-map-categories').removeClass('active');\r\n var toggleValue = $(this).data('toggle');\r\n $(\".js-map-categories[data-category='\" + toggleValue + \"']\").addClass(\"active\");\r\n \r\n $(this).parent().toggleClass('active'); \r\n $('.js-reports-filter').not(this).parent().removeClass('active');\r\n \r\n var isChecked = $(this).parent().hasClass('active')\r\n CulinaryBingMap.Map.togglePushpinCluster(isChecked, toggleValue); \r\n }, 100);\r\n\t\t}); \r\n\r\n\t\t$('body').on('click', '.js-noreports-btn', function () {\r\n\t\t\tCulinaryBingMap.Map.softResetMap();\r\n\t\t}); \r\n \r\n\t\t//opening subpanes\r\n\t\t$subpaneButtons.click(function () {\r\n\t\t\t//if (_log) console.log('$subpaneButtons.click');\r\n\t\t\tcheckDestination($(this));\r\n\t\t});\r\n\r\n\r\n var jsonPath = $(\"[data-json-file]\").data(\"json-file\");\r\n // var basePath = $(\"[data-basepath]\").data(\"basepath\");\r\n // console.log(basePath,'basePath');\r\n\t\tgetContent(jsonPath);\r\n\r\n\r\n\t\t$(window).smartresize(function () {\r\n\t\t\tif (_log) console.log('smartresize.initLoadResize:', initLoadResize);\r\n\t\t\tif (!initLoadResize) {\r\n\t\t\t\tCulinaryBingMap.Map.trackResize();\r\n\t\t\t}\r\n\t\t\tinitLoadResize = false;\r\n\r\n \t}).resize(); \r\n }\r\n\r\n\t/**\r\n\t * (RE)Initialize Map, only called once\r\n\t * Get Counties Shape data before initializing map\r\n\t * */\r\n\tvar initializeMap = function (report) {\r\n\t\tif (_log) console.log('initializeMap()');\r\n\t\tCulinaryBingMap.Map.initializeMap({\r\n\t\t\tReportType: report,\r\n\t\t\t// CountyData: $(\"[data-countydata]\").data(\"countydata\")\r\n\t\t});\r\n\t};\r\n\r\n\tvar getPaneRecords = function () {\r\n\t\treturn currentReportPane;\r\n\t}\r\n\r\n\tvar openSubpane = function (options) {\r\n\t\tif (_log) console.log('openSubpane.options', options);\r\n\t\tvar subpaneId = options.subpane,\r\n\t\t\t$thisSubpane = $subpanes.filter('[data-subpane=\"' + subpaneId + '\"]');\r\n\t\tif ($thisSubpane.length > 0) {\r\n\t\t\tcloseSubpanes();\r\n\t\t\tif ($thisSubpane.hasClass('is-hidden')) {\r\n\t\t\t\t$thisSubpane.removeClass('is-hidden');\r\n\t\t\t}\r\n\t\t\ttw.CulinaryShowsListings.hideReports();\r\n\t\t}\r\n\t};\r\n\tvar resetAllPanes = function () {\r\n\t\tcloseSubpanes();\r\n\t\ttw.CulinaryShowsListings.showReports();\r\n\t}\r\n\tvar closeSubpanes = function () {\r\n\t\t$subpanes.addClass('is-hidden');\r\n\t} \r\n\r\n\tvar checkDestination = function (button) {\r\n\t\t//if(_log)console.log(\"checkDestination: \", button);\r\n\t\tvar thisSubpane = button.attr('data-subpane'),\r\n\t\t\t//optional ID of subpane to return to\r\n\t\t\treturnTo = button.attr('data-return');\r\n\r\n\t\t/* If returnTo is true, get the ID of the last report pane user was on and send them back there */\r\n\t\tif (returnTo === \"true\") {\r\n\t\t\tthisSubpane = getPaneRecords();\r\n\t\t}\r\n\r\n\t\t//if button does not specify a subpane to open (e.g. subpane back buttons) then show the reports\r\n\t\tif (thisSubpane) {\r\n\t\t\topenSubpane({\r\n\t\t\t\tsubpane: thisSubpane,\r\n\t\t\t\treturnTo: returnTo\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tcloseSubpanes();\r\n\t\t\t// CulinaryBingMap.Map.softResetMap();\r\n\t\t\t// tw.CulinaryShowsListings.showReports();\r\n\t\t}\r\n\t}\r\n /**\r\n * Get content from local json\r\n * @param {*} dataPath \r\n */\r\n var getContent = function (dataPath) {\r\n // if (_log) console.log('getContent()', dataPath);\r\n $('.js-loader').html('
');\r\n\r\n var jqxhr = $.getJSON(dataPath, function (data) {\r\n if (_log) console.log(\"getContent.data:\", data);\r\n holdData = data;\r\n processContent(data);\r\n })\r\n .fail(function (err) {\r\n console.error(\"error:\", err);\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n /**\r\n * Process content from JSON file\r\n * @param {*} data \r\n */\r\n var processContent = function (data) {\r\n // if (_log) console.log('processContent()', data);\r\n \r\n if(data.hero) {\r\n $('.js-hero-video').attr(\"poster\", data.hero.thumbnailImageDesktop)\r\n $('.js-hero-video source').attr('src', data.hero.videoUrl);\r\n $('.js-hero-video')[0].load();\r\n $('.js-hero-video-logo').attr('src', data.hero.logoImage);\r\n // $('.js-video-control').on('click', function() {\r\n // console.log('control clicked');\r\n // $('.js-video-control').toggleClass('d-none');\r\n \r\n // })\r\n $('.js-video-pause').on('click', function() {\r\n $('.js-hero-video')[0].pause();\r\n $('.js-video-pause').addClass('d-none')\r\n $('.js-video-play').removeClass('d-none')\r\n }) \r\n $('.js-video-play').on('click', function() {\r\n $('.js-hero-video')[0].play();\r\n $('.js-video-play').addClass('d-none')\r\n $('.js-video-pause').removeClass('d-none')\r\n }) \r\n // if ($('.js-video-control').hasClass('js-video-play')) {\r\n // $('.js-hero-video')[0].play();\r\n // }\r\n // $('.js-video-control-pause').on('click', function() {\r\n // $('.js-hero-video')[0].pause();\r\n // })\r\n // $('.js-video-control-play').on('click', function() {\r\n // $('.js-hero-video')[0].play();\r\n // })\r\n }\r\n\r\n if (data.section1) {\r\n $('.js-section1-heading').html(data.section1.heading);\r\n $('.js-section1-description').html(data.section1.description);\r\n $('.js-section1-subHeading').html(data.section1.subHeading);\r\n $('.js-section1-subHeadingDescription').html(data.section1.subHeadingDescription);\r\n $('.js-section1-cta').attr('href', data.section1.cta.link);\r\n $('.js-section1-cta').html(data.section1.cta.text);\r\n }\r\n\r\n if (data.section2) {\r\n $('.js-map-heading').html(data.section2.heading);\r\n $('.js-map-mobile-text').html(data.section2.filterMobileText);\r\n $('.js-map-desktop-text').html(data.section2.filterDesktopText);\r\n $('.js-map-toggle-features').html(data.section2.toggleTitle1);\r\n $('.js-map-toggle-judge').html(data.section2.toggleTitle2);\r\n $('.js-map-toggle-gem').html(data.section2.toggleTitle3);\r\n $('.js-map-no-report').html(data.section2.noReportsCtaText);\r\n $('.js-map-cta-heading').html(data.section2.ctaBlock.heading);\r\n $('.js-map-cta').html(data.section2.ctaBlock.ctaText);\r\n $('.js-map-cta').attr('href', data.section2.ctaBlock.ctaUrl);\r\n $('.js-featured-modal-cta-text').html(data.section2.featuredModalCtaText);\r\n\r\n var compiledMapContentTemplate = Template7.compile(sec2MapContent);\r\n var sec2MapHtml = compiledMapContentTemplate({\"sec2Categories\": data.section2.categories});\r\n $('.js-map-body-categories').html(sec2MapHtml);\r\n }\r\n\r\n if (data.bandwango) {\r\n $('.js-bandwango-image').attr({'src': data.bandwango.backgroundImage + '?width=1000&height=800&scale=both&mode=crop'}); \r\n $('.js-bandwango-heading').html(data.bandwango.heading);\r\n $('.js-bandwango-description').html(data.bandwango.description);\r\n $('.js-bandwango-contentHeader').html(data.bandwango.contentHeader); \r\n $('.js-bandwango-cta').html(data.bandwango.cta.text);\r\n $('.js-bandwango-cta').attr('href', data.bandwango.cta.link);\r\n\r\n var compiledBandwangoContentTemplate = Template7.compile(bandwangoTemplate);\r\n var bandwangoHtml = compiledBandwangoContentTemplate({\"bandwangoContent\": data.bandwango.contentList});\r\n $('.js-bandwango-contentList').html(bandwangoHtml);\r\n }\r\n\r\n if (data.section3) {\r\n $('.js-section3-heading').html(data.section3.heading);\r\n // Define Template7 Template HTML\r\n var compiledCardsTemplate = Template7.compile(sec3CardsTemplate);\r\n var sec3CardHtml = compiledCardsTemplate({\"sec3Cards\": data.section3.cards});\r\n $('.js-culinary-articles-slick').html(sec3CardHtml);\r\n // Initiate Carousel\r\n $('.js-culinary-articles-slick').slick({\r\n infinite: false,\r\n // slidesToShow: 4.1,\r\n // slidesToScroll: 1,\r\n prevArrow: $('.js-culinary-slick-prev'),\r\n nextArrow: $('.js-culinary-slick-next'),\r\n variableWidth: false,\r\n mobileFirst: true,\r\n responsive: [\r\n {\r\n breakpoint: 0,\r\n settings: {\r\n slidesToShow: 1.1,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n {\r\n breakpoint: 640,\r\n settings: {\r\n slidesToShow: 2.1,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n {\r\n breakpoint: 960,\r\n settings: {\r\n slidesToShow: 3.1,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n {\r\n breakpoint: 1200,\r\n settings: {\r\n slidesToShow: 4.1,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n {\r\n breakpoint: 1800,\r\n settings: {\r\n slidesToShow: 5.1,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n ]\r\n });\r\n }\r\n\r\n if (data.section4) {\r\n $('.js-5050-heading').html(data.section4.heading);\r\n $('.js-5050-description').html(data.section4.description);\r\n $('.js-5050-cta').attr('href', data.section4.cta.url);\r\n $('.js-5050-cta').html(data.section4.cta.text);\r\n $('.js-5050-svg').attr('src', data.section4.svgOverlay);\r\n $('.js-5050-image').attr({\r\n 'src': data.section4.backgroundImage + '?width=700&height=475&scale=both&mode=crop',\r\n 'alt': data.section4.backgroundImageDescription\r\n });\r\n }\r\n \r\n if (data.section5) {\r\n $('.js-deals-heading').html(data.section5.heading);\r\n $('.js-deals-description').html(data.section5.description);\r\n $('.js-deals-cta').attr('href', data.section5.cta.url);\r\n $('.js-deals-cta').html(data.section5.cta.text);\r\n // Define Template7 Template HTML\r\n var compiledDealCardsTemplate = Template7.compile(sec5CardsTemplate);\r\n var sec5CardHtml = compiledDealCardsTemplate({\"sec5Cards\": data.section5.cards});\r\n $('.js-culinary-deals-carousel').html(sec5CardHtml);\r\n\r\n $('.js-culinary-deals-carousel').slick({\r\n infinite: false,\r\n prevArrow: $('.js-culinary-deals-prev'),\r\n nextArrow: $('.js-culinary-deals-next'), \r\n variableWidth: false,\r\n mobileFirst: true,\r\n responsive: [\r\n {\r\n breakpoint: 0,\r\n settings: {\r\n slidesToShow: 1.25,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n {\r\n breakpoint: 640,\r\n settings: {\r\n slidesToShow: 2.1,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n {\r\n breakpoint: 992,\r\n settings: {\r\n slidesToShow: 3.1,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n {\r\n breakpoint: 1200,\r\n settings: {\r\n slidesToShow: 4,\r\n slidesToScroll: 1,\r\n }\r\n },\r\n \r\n \r\n ]\r\n });\r\n }\r\n\r\n if (data.section6) {\r\n $('.js-experiences-heading').html(data.section6.heading);\r\n $('.js-experiences-description').html(data.section6.description);\r\n // Define Template7 Template HTML\r\n var compiledDealCardsTemplate = Template7.compile(sec6CardsTemplate);\r\n var sec6CardHtml = compiledDealCardsTemplate({\"sec6Cards\": data.section6.cards});\r\n $('.js-culinary-experiences-slick').html(sec6CardHtml);\r\n \r\n $('.js-culinary-experiences-slick').slick({\r\n infinite: false,\r\n prevArrow: $('.js-culinary-experiences-prev'),\r\n nextArrow: $('.js-culinary-experiences-next'),\r\n variableWidth: false,\r\n mobileFirst: true,\r\n draggable: false,\r\n responsive: [\r\n {\r\n breakpoint: 0,\r\n settings: {\r\n slidesToShow: 1.1,\r\n slidesToScroll: 1,\r\n draggable: true,\r\n }\r\n },\r\n {\r\n breakpoint: 640,\r\n settings: {\r\n slidesToShow: 1.4,\r\n slidesToScroll: 1,\r\n draggable: true,\r\n }\r\n },\r\n {\r\n breakpoint: 992,\r\n settings: {\r\n slidesToShow: 2.1,\r\n slidesToScroll: 1,\r\n draggable: false,\r\n }\r\n },\r\n {\r\n breakpoint: 1200,\r\n settings: {\r\n slidesToShow: 2.4,\r\n slidesToScroll: 1,\r\n draggable: false,\r\n }\r\n },\r\n \r\n \r\n ]\r\n });\r\n }\r\n\r\n if (data.section7) {\r\n $('.js-partners-heading').html(data.section7.heading);\r\n $('.js-partners-description').html(data.section7.description);\r\n \r\n $('.js-partner-featured-logo').attr('src', data.section7.featuredPartnerCard.partnerLogo);\r\n $('.js-partner-featured-description').html(data.section7.featuredPartnerCard.shortDescription);\r\n $('.js-partner-featured-cta').attr('href', data.section7.featuredPartnerCard.ctaUrl);\r\n $('.js-partner-featured-cta-text').html(data.section7.featuredPartnerCard.partnerCardCtaText);\r\n $('.js-partner-featured-name').attr('data-partner-name', data.section7.featuredPartnerCard.partnerName);\r\n \r\n $('.js-featured-modal-image').attr('src', data.section7.featuredPartnerCard.partnerLogo);\r\n $('.js-featured-modal-heading').html(data.section7.featuredPartnerCard.partnerName);\r\n $('.js-featured-modal-description').html(data.section7.featuredPartnerCard.longDescription);\r\n $('.js-featured-modal-cta').attr('href', data.section7.featuredPartnerCard.link);\r\n\r\n // Define Template7 Template HTML\r\n var compiledPartnersTemplate = Template7.compile(sec7CardsTemplate);\r\n var sec7CardHtml = compiledPartnersTemplate({\"sec7Cards\": data.section7.partnerCards});\r\n $('.js-partners-grid').html(sec7CardHtml);\r\n }\r\n\r\n if (data.section8) {\r\n /**\r\n * Initialize User Generated Content\r\n * \r\n * USE VANILLA JS FOR CROWDRIFF. USING JQUERY COMMANDS WILL BREAK PATHING SCOPE.\r\n * $('#loaderUGC').append(s);//<--will break\r\n * loaderUGC.append(s);//<--will also break on IE. use appendChild\r\n * \r\n * @param {*} data \r\n * @param {*} divId \r\n */\r\n var initializeUGC = function (data, divId) {\r\n // if (_log) console.log('initializeUGC');\r\n // if (_log) console.log('ugc.data:', data);\r\n //if (_log) console.log('window1:', window);\r\n\r\n if (!initUgc) {\r\n //If UGC has been initialized already, clear out the rendered array\r\n window.crowdriff__gallery.rendered = [];\r\n //if (_log) console.log('window.crowdriff__gallery:', window.crowdriff__gallery);\r\n }\r\n $('#' + divId).html('');//clear out div\r\n\r\n var s = document.createElement(\"script\");\r\n s.type = \"text/javascript\";\r\n s.src = \"https://starling.crowdriff.com/js/crowdriff.js\";\r\n s.id = data; //\"ex: cr-init__1b59e2be8c775f33\"\r\n var loaderUGC = document.getElementById(divId);\r\n loaderUGC.appendChild(s);\r\n //if (_log) console.log('appendChild.s:', s);\r\n\r\n if (!initUgc) {\r\n //If UGC has been initialized already, restart interval to process Queue\r\n //if (_log) console.log('window.crowdriff__gallery.interval:', window.crowdriff__gallery.interval);\r\n if (window.crowdriff__gallery && !window.crowdriff__gallery.interval) {\r\n window.crowdriff__gallery.interval = setInterval(window.crowdriff__gallery.processQueue, 300);\r\n }\r\n }\r\n initUgc = false;\r\n }\r\n // Inject Copy\r\n $('.js-ugc-heading').html(data.section8.heading);\r\n $('.js-ugc-copy').html(data.section8.copy);\r\n // Initialize UGC\r\n setTimeout(initializeUGC, 3000, data.section8.crowdRiffId , \"photoGallery\");\r\n // initializeUGC(data.section4.crowdRiffId , \"photoGallery\");\r\n }\r\n\r\n \r\n\r\n if(data.section9) {\r\n $('.js-callout-kicker').html(data.section9.kicker);\r\n $('.js-callout-heading').html(data.section9.heading);\r\n $('.js-callout-button').attr('href', data.section9.cta.link);\r\n $('.js-callout-button').html(data.section9.cta.text);\r\n \r\n var compiledCalloutImageTemplate = Template7.compile(sec9CalloutImgTemplate);\r\n var calloutImgHtml = '';\r\n var calloutJsonContent = {\r\n calloutImageUrlSmall: data.section9.backgroundImageMobile,\r\n calloutImageUrlLarge: data.section9.backgroundImageDesktop\r\n };\r\n calloutImgHtml += compiledCalloutImageTemplate(calloutJsonContent);\r\n // if (_log) console.log(calloutJsonContent);\r\n $('.js-section9').append(calloutImgHtml);\r\n }\r\n\r\n // if(data.toast) {\r\n // $('.js-toast-heading').html(data.toast.heading);\r\n // $('.js-toast-description').html(data.toast.description);\r\n // }\r\n }\r\n\r\n \r\n\t\r\n\t$(initializePage);\r\n\r\n\r\n setTimeout(() => {\r\n // Experience Modals\r\n const videoModalTriggers = document.querySelectorAll(\".js-video-modal-trigger\");\r\n const videoModal = document.querySelector(\".js-video-modal\");\r\n const videoModalIframe = videoModal.querySelector('.js-video-modal-embed');\r\n const videoModalCloseBtn = document.querySelector(\".js-dialog-close\");\r\n videoModalTriggers.forEach((trigger) => {\r\n trigger.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n videoModal.showModal();\r\n videoModalIframe.src = 'https://www.youtube.com/embed/' + trigger.dataset.videoId + '?autoplay=1';\r\n });\r\n })\r\n videoModalCloseBtn.addEventListener(\"click\", () => {\r\n videoModal.close();\r\n videoModalIframe.src = '';\r\n });\r\n \r\n // Partner Modals\r\n const contentModalTriggers = document.querySelectorAll(\".js-content-modal-trigger\");\r\n \r\n contentModalTriggers.forEach((trigger) => {\r\n trigger.addEventListener(\"click\", (e) => {\r\n e.preventDefault();\r\n \r\n const contentModal = document.querySelector('[data-modal-id=\"' + trigger.dataset.modalTarget + '\"]');\r\n const closeButton = contentModal.querySelector('.js-content-dialog-close');\r\n\r\n //For Partner CTA Click tracking\r\n if (_log) console.log('partnerName', trigger.dataset.partnerName);\r\n tw.Analytics.ga4(baseCategory, 'Partner CTA Click', trigger.dataset.partnerName);\r\n\r\n // const closeButton = \r\n contentModal.showModal();\r\n closeButton.addEventListener(\"click\", () => {\r\n contentModal.close();\r\n });\r\n });\r\n }) \r\n }, 1000);\r\n \r\n \r\n // setTimeout(() => {\r\n // // Toast\r\n\r\n // $('.js-toast-close').on('click', function () {\r\n // $('.js-culinary-toast').remove();\r\n // $.cookie('HideCulinaryToast', 'true');\r\n // });\r\n\r\n // if (!!$.cookie('HideCulinaryToast')) {\r\n // } else {\r\n // $('.js-culinary-toast').removeClass('d-none');\r\n // } \r\n // }, 80000); // 1 minute 20 seconds\r\n \r\n\r\n\treturn {\r\n\t\tinitializePage: initializePage,\r\n\t\tinitializeMap: initializeMap,\r\n\t\topenSubpane: openSubpane,\r\n\t\tcloseSubpanes: closeSubpanes,\r\n resetAllPanes: resetAllPanes, \r\n\t}\r\n}());","var tw = tw || {};\r\ntw.CulinaryShowsListings = (function () {\r\n\t//test.\r\n // console.log('test reportsjs');\r\n\tvar _log = false,\r\n\t\tbasePath = decodeURIComponent($(\"[data-basepath]\").data(\"basepath\")),\r\n\t\t$reports = $('.js-reports'),\r\n\r\n\t\t//TEMPLATES\r\n\t\treportDetailsSSTemplate = $('#reportDetailsSSTemplate').html(),\r\n\t\tpreloaderTemplate = $('#preloaderTemplate').html();\r\n\r\n\t/**\r\n\t * Get All Reports By Region\r\n\t */\r\n\tvar getAllReportsByRegion = function () {\r\n\t\tif (_log) console.log('GetAllListingsForCulinaryMap()');\r\n\r\n\t\tvar compiledTemplate = Template7.compile(preloaderTemplate),\r\n\t\t\thtmlPreloader = compiledTemplate(),\r\n\t\t\treportType = CulinaryBingMap.Map.getReportType();\r\n\t\t$('#reportsAll').html(htmlPreloader);\r\n\r\n\t\tif (_log) console.log('reportType:', reportType);\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: '/culinaryepisodes/GetAllListingsForCulinaryMap',\r\n\t\t\tdata: {\r\n\t\t\t\t\"reportType\": reportType\r\n\t\t\t},\r\n\t\t\ttype: \"GET\",\r\n\t\t\tsuccess: function (data) {\r\n\t\t\t\tif (_log) console.log('getAllReportsByRegion.data.length:', data);\r\n\t\t\t\tupdateEpisodeFeaturesPill(data.length);\r\n\t\t\t\tCulinaryBingMap.Map.addPushpinCluster(data);\r\n\t\t\t\tCulinaryBingMap.Map.getEpisodeData(data);\r\n\t\t\t},\r\n\t\t\terror: function (xhr, status, error) {\r\n\t\t\t\tconsole.error(xhr, status, error);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: '/culinaryepisodes/GetListingsNotRelatedToEpisodesForCulinaryMap',\r\n\t\t\tdata: {\r\n\t\t\t\t\"reportType\": reportType\r\n\t\t\t},\r\n\t\t\ttype: \"GET\",\r\n\t\t\tsuccess: function (data) {\r\n\t\t\t\tif (_log) console.log('getListingsNotRelatedToEpisodesForCulinaryMap.data.length:', data);\r\n\r\n\t\t\t\tupdateNoEpisodeFeaturesPill(data);\r\n\t\t\t\tCulinaryBingMap.Map.getNoEpisodeData(data);\r\n\t\t\t},\r\n\t\t\terror: function (xhr, status, error) {\r\n\t\t\t\tconsole.error(xhr, status, error);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * Update Episode Features pill item with the number of listings\r\n\t * @param {number} numberOfListings - The number of listings to display\r\n\t */\r\n\tvar updateEpisodeFeaturesPill = function(numberOfListings) {\r\n\t\tvar episodeFeaturesSpan = $('.js-episode-features');\r\n\t\t\r\n\t\tif (episodeFeaturesSpan.length > 0) {\r\n\t\t\tepisodeFeaturesSpan.text(`(${numberOfListings})`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Update Episode Features pill item with the number of listings\r\n\t * @param {*} data\r\n\t */\r\n\tvar updateNoEpisodeFeaturesPill = function(data) {\r\n\t\tvar judgeFavoriteSpan = $('.js-judge-favorite');\r\n\t\tvar culinaryGemSpan = $('.js-culinary-gem');\r\n\t\tvar tempJudgeFavData = [];\r\n\t\tvar tempCulinaryGemData = [];\r\n\r\n\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\tif (data[i].IsCulinaryGem) {\r\n\t\t\t\ttempCulinaryGemData.push(data[i]);\r\n\t\t\t} else if (data[i].IsJudgeFavorite) {\r\n\t\t\t\ttempJudgeFavData.push(data[i]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tjudgeFavoriteSpan.text(`(${tempJudgeFavData.length})`);\r\n\t\tculinaryGemSpan.text(`(${tempCulinaryGemData.length})`);\r\n\t}\r\n\r\n\tvar showReports = function () {\r\n\t\t//if (_log) console.log('showReports()');\r\n $reports.removeClass('is-hidden');\r\n\t};\r\n\r\n\tvar hideReports = function () {\r\n\t\t$reports.addClass('is-hidden');\r\n\t};\r\n\r\n\tvar clearDetailsShowAll = function () {\r\n\t\tif(_log) console.log('clearDetailsShowAll()');\r\n\t\temptyReportDetails();\r\n\t\tshowReports();\r\n\t}\r\n\r\n\t/**\r\n\t * Empty ReportDetails container div\r\n\t */\r\n\tvar emptyReportDetails = function () {\r\n\t\tif (_log) console.log('emptyReportDetails()');\r\n\t\t$('#reportDetails').html('');\r\n\t}\r\n\r\n\tvar showReportSubpane = function (Id) {\r\n\t\t//console.log('showReportSubpane().Id: ', Id);\r\n\t\t//close any open subpanes\r\n\t\ttw.CulinaryShow.closeSubpanes();\r\n\t\ttw.CulinaryShow.openSubpane({\r\n\t\t\tsubpane: Id\r\n\t\t});\r\n\t};\r\n\r\n\t/**\r\n\t * Get Report Details\r\n\t * @param {*} reportId \r\n\t */\r\n\tvar getReportDetails = function (reportId, itemIndex, episodeNumber) {\r\n\t\tif (_log) console.group('getReportDetails()');\r\n\t\tif (_log) console.log('reportId:', reportId);\r\n\r\n\t\temptyReportDetails();\r\n\t\tvar compiledTemplate = Template7.compile(preloaderTemplate),\r\n\t\t\thtmlPreloader = compiledTemplate()\r\n\t\t$('#reportDetails').html(htmlPreloader);\r\n\r\n\t\tif (episodeNumber !== undefined) {\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: '/culinaryepisodes/GetAllListingsForCulinaryMap',\r\n\t\t\t\ttype: \"POST\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tID: reportId,\r\n\t\t\t\t},\r\n\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\tvar selectedReport = data.find(function (report) {\r\n\t\t\t\t\t\treturn report.ID === reportId;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (_log) console.log('selectedReport.data: ', selectedReport);\r\n\t\t\t\t\t// Call addReportDetails with the filtered data\r\n\t\t\t\t\taddReportDetails(selectedReport);\r\n\r\n\t\t\t\t},\r\n\t\t\t\terror: function (xhr, status, error) {\r\n\t\t\t\t\tconsole.log(xhr, status, error);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: '/culinaryepisodes/GetListingsNotRelatedToEpisodesForCulinaryMap',\r\n\t\t\t\ttype: \"POST\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tID: reportId,\r\n\t\t\t\t},\r\n\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\tvar selectedReportNotRelatedToEpisodes = data.find(function (report) {\r\n\t\t\t\t\t\treturn report.ID === reportId;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (_log) console.log('selectedReportNotRelatedToEpisodes.data: ', selectedReportNotRelatedToEpisodes);\r\n\t\t\t\t\t// Call addReportDetails with the filtered data\r\n\t\t\t\t\taddReportDetails(selectedReportNotRelatedToEpisodes, itemIndex);\r\n\r\n\t\t\t\t},\r\n\t\t\t\terror: function (xhr, status, error) {\r\n\t\t\t\t\tconsole.log(xhr, status, error);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (_log) console.groupEnd();\r\n\t};\r\n\r\n\t/**\r\n\t * Add Report Details to Stage\r\n\t * @param {*} data \r\n\t * @param {*} itemIndex \r\n\t */\r\n\tvar addReportDetails = function (data, itemIndex) {\r\n\t\tif (_log) console.log('addReportDetails()', data);\r\n\r\n\t\tvar useTemplate = reportDetailsSSTemplate,\r\n\t\t\tcompiledTemplate = Template7.compile(useTemplate);\r\n\t\t\t\r\n\t\tvar jsonContent = {\r\n\t\t\tID: data.ID,\r\n\t\t\tItemIndex: itemIndex,\r\n\t\t\tTitle: data.Title,\r\n\t\t\tDescription: data.Description,\r\n\t\t\tUrl: data.Url,\r\n\t\t\tCity: data.City,\r\n\t\t\tState: data.State,\r\n\t\t\tPlaceImage: data.PlaceImage,\r\n\t\t\tPlaceAttribute1: data.PlaceAttribute1,\r\n\t\t\tPlaceAttribute2: data.PlaceAttribute2,\r\n\t\t\tPlaceAttribute3: data.PlaceAttribute3,\r\n\t\t\tLatitude: data.Latitude,\r\n\t\t\tLongitude: data.Longitude,\r\n\t\t\tIsCulinaryGem: (data.IsCulinaryGem != null) ? data.CulinaryGem : false,\r\n\t\t\tIsJudgeFavorite: (data.IsCulinaryGem != null) ? data.CulinaryGem : false,\r\n\t\t\tArticles: data.Articles,\r\n\t\t\tCulinaryEpisode: data.CulinaryEpisode\r\n\t\t};\r\n\r\n\t\tvar html = compiledTemplate(jsonContent);\r\n\t\t$('#reportDetails').html(html);\r\n\r\n\t\tshowReportSubpane('report-detail');\r\n\r\n\t\tCulinaryBingMap.Map.zoomToPin(data);\r\n\t}\r\n\r\n\treturn {\r\n\t\taddReportDetails: addReportDetails,\r\n\t\tclearDetailsShowAll: clearDetailsShowAll,\r\n\t\temptyReportDetails: emptyReportDetails,\r\n\t\thideReports: hideReports,\r\n\t\tgetAllReportsByRegion: getAllReportsByRegion,\r\n\t\tgetReportDetails: getReportDetails,\r\n\t\tshowReports: showReports\r\n\t}\r\n}());","var CulinaryBingMap = CulinaryBingMap || {};\r\nCulinaryBingMap.Map = function () {\r\n\r\n\t//VARIABLES\r\n\tvar _log = false,\r\n\t\t//imgBaseUrl = '', //\"http://www.travelwisconsin.com\",\r\n\t\tbaseCategory = '', //populated below\r\n\t\tbasePath = decodeURIComponent($(\"[data-basepath]\").data(\"basepath\")),\r\n\r\n\t\tbreakPoints = {\r\n\t\t\t'main': 992 //760\r\n\t\t},\r\n\t\tisMobile = false, //mobile/desktop only, 760px brkpt\r\n\t\twasMobile = null,\r\n\t\tisTouch = $('html').hasClass('touch') ? true : false,\r\n\t\tisDisableZoom = isTouch,//pinch/mousewheel/zoom\r\n\r\n\t\t//general/config\r\n\t\tmap = null,\r\n\t\toverlay = '',\r\n\t\treportType = \"culinary\",\r\n\t\tbaseZoom = 7,\r\n\t\tmobileZoom = 6,\r\n\t\tuseZoom = null,\r\n\t\tlastZoomLevel = 0,\r\n\t\tmobileDisableZooming = false,\r\n\t\tdesktopDisableZooming = true,\r\n\t\tlastCenterLocation = null,\r\n\t\tuseCenterLocation = null,\r\n\t\tuseMinZoom = null,\r\n\t\tuseDisableZooming = null,\r\n\t\tinfobox = null,\r\n\t\treportInfoBoxArray = Array(),\r\n\t\ttoMapReset,//timeout\r\n\t\ttoMapResetMS = 30,\r\n\t\tisZoomingToPin = false,\r\n\t\tisClusteringLoaded = false,\r\n\t\twisconsinMask = null,\r\n\t\tisPushpinActive = false,\r\n\r\n\t\tdataHold = null,\r\n\t\tnoEpisodeData = null,\r\n\t\tepisodeData = null,\r\n\r\n\t\tcolorPinSingle = '#000000',\r\n\t\tcolorPinCluster = '#FFC40C',//'#333333',\r\n\r\n\t\t//layers\r\n\t\tclusterLayer = null,\r\n\r\n\t\t//location\r\n\t\tdesktopCenter = null,\r\n\t\ttabletLandscapeCenter = null,\r\n\t\ttabletPortraitCenter = null,\r\n\t\tmobileCenter = null,\r\n\t\tcenterLocation = null,\r\n\t\twiBoundsOuter = null,//used for zoom-out-max\r\n\t\twiBounds = null //used to place svg directly over WI\r\n\t\t;\r\n\r\n\tif(_log)console.log('isTouch:', isTouch);\r\n\r\n\r\n\t//TEMPLATES\r\n\tvar reportsAllBodySSTemplate = $('#reportsAllBodySSTemplate').html(),\r\n\t\tnoReportsTemplate = $('#noReportsTemplate').html(),\r\n\t\tpreloaderMapTemplate = $('#preloaderMapTemplate').html(),\r\n\t\tpinInfoboxSSTemplate = $('#pinInfoboxSSTemplate').html(),\r\n\t\t//Can't append a non-closed tag\r\n\t\treportsOLOpenTemplate = '
',\r\n\t\treportsOLCloseTemplate = '
';\r\n\r\n\t//MAP OPTIONS\r\n\tvar mapOptions = {\r\n\t\tzoom: baseZoom,\r\n\t\tcenter: centerLocation,\r\n\t\tenableSearchLogo: false,\r\n\t\tshowScalebar: false,\r\n\t\tshowDashboard: false,\r\n\t\tuseInertia: false,\r\n\t\tdisableKeyboardInput: true,\r\n\t\tdisablePanning: false, //mobile.matches, // - remove all panning for MOBILE ONLY except when using the compass buttons\r\n\t\tliteMode: true\r\n\t};\r\n\r\n\t/**\r\n\t * Get if map is initialized yet\r\n\t */\r\n\tvar getMapInit = function () {\r\n\t\treturn map;\r\n\t}\r\n\r\n\t/**\r\n\t * Initialize Buttons\r\n\t */\r\n\tvar initializeButtons = function () {\r\n\t\t// if (_log) console.group('BingMap.Map.initializeButtons()');\r\n\t\t//Map Controls\r\n\t\t$('#zoomIn').on('click', function () {\r\n\t\t\tzoomMap('+');\r\n\t\t});\r\n\t\t$('#zoomOut').click('click', function () {\r\n\t\t\tzoomMap('-');\r\n\t\t});\r\n\t\t$('#resetMap').click('click', function () {\r\n\t\t\tsoftResetMap();\r\n\t\t\ttw.CulinaryShow.resetAllPanes();\r\n\t\t});\t\t\r\n\t}\r\n\r\n\t/**\r\n\t * (RE)initializeMap Microsoft map functionality AFTER bing maps library is loaded, will be triggered via callback > index.js > map.js\r\n\t */\r\n\tvar initializeMap = function (config) {\r\n\t\t// if (_log) console.group('BingMap.Map.initializeMap()', config);\r\n\t\t// if (_log) console.log('config:', config);\r\n\r\n\t\t//console.log(\"$('.js-preloader.map').width()\" + $('.js-preloader.map').width());\r\n\t\tif ($('.js-preloader').length === 0) {\r\n\t\t\taddPreloaderMap();\r\n\t\t}\r\n\r\n\t\treportInfoBoxArray = [];\r\n\r\n\t\tdesktopCenter = new Microsoft.Maps.Location(45.205852, -89.83011); //(YY, XX)//45.205852, -92.03011\r\n\t\ttabletLandscapeCenter = new Microsoft.Maps.Location(45.205852, -89.83011);\r\n\t\ttabletPortraitCenter = new Microsoft.Maps.Location(44.73739, -88.8);\r\n\t\tmobileCenter = new Microsoft.Maps.Location(44.93282, -89.800); //44.80282, -90.07542\r\n\r\n\t\treportType = config.ReportType;\r\n\t\tbaseCategory = 'Culinary Show';\r\n\r\n\t\tif (_log) console.log('reportType:', reportType);\r\n\t\tif (_log) console.log('baseCategory:', baseCategory);\r\n\r\n\t\t//(TL:YY, TL:XX, BR:YY, BR:XX)\r\n\t\twiBoundsOuter = Microsoft.Maps.LocationRect.fromEdges(53.882830, -104.858254, 37.131071, -75.932511);\r\n\t\twiBounds = Microsoft.Maps.LocationRect.fromEdges(47.089442, -92.897646, 42.474545, -86.802900);\r\n\r\n\t\ttrackResize(); //get initial window dims, set presets\r\n\r\n\t\t//https://docs.microsoft.com/en-us/bingmaps/v8-web-control/map-control-api/maptypeid-enumeration\r\n\t\tmapOptions = {\r\n\t\t\tmapTypeId: Microsoft.Maps.MapTypeId.grayscale, //aerial,//grayscale//canvasLight//road//mercator\r\n\t\t\tmaxBounds: wiBoundsOuter,\r\n\t\t\tmaxZoom: 18,\r\n\t\t\tminZoom: useMinZoom,\r\n\t\t\tzoom: useZoom, //baseZoom,\r\n\t\t\tcenter: useCenterLocation, //centerLocation,\r\n\t\t\tdisableZooming: useDisableZooming,\r\n\t\t\tenableSearchLogo: false,\r\n\t\t\tshowScalebar: false,\r\n\t\t\tshowDashboard: false,\r\n\t\t\tuseInertia: false,\r\n\t\t\tdisableKeyboardInput: true,\r\n\t\t\tdisablePanning: false, //mobile.matches, // - remove all panning for MOBILE ONLY except when using the compass buttons\r\n\t\t\tliteMode: true,\r\n\t\t\tallowHidingLabelsOfRoad: true,\r\n\t\t};\r\n\t\tif (_log) console.log('mapOptions:', mapOptions);\r\n\r\n\t\tmap = new Microsoft.Maps.Map('#map', mapOptions);\r\n\t\tmap.entities.clear();\r\n\r\n\t\t//Load the Clustering module.\r\n\t\tMicrosoft.Maps.loadModule(\"Microsoft.Maps.Clustering\", function () {\r\n\t\t\tif (_log) console.log('Microsoft.Maps.Clustering');\r\n\t\t\tisClusteringLoaded = true;\r\n\t\t});\r\n\r\n\t\t// loadTopoTiles();\r\n\r\n\t\taddGroundOverlay();\r\n\r\n\t\tlastZoomLevel = map.getZoom();\r\n\t\tlastCenterLocation = map.getCenter();\r\n\t\tMicrosoft.Maps.Events.addHandler(map, 'viewchangeend', viewChanged);\r\n\t\t// Microsoft.Maps.Events.addHandler(map, 'click', function (e) { \r\n\t\t// \talert('mapClick'); \r\n\t\t// \t//moveToMapClick(e);\r\n\t\t// });\r\n\t\t\r\n\t\t//unload preloader\r\n\t\t$('.js-preloader').remove();\r\n\t}\r\n\r\n\t/**\r\n\t * Add custom ground overlay\r\n\t */\r\n\tvar addGroundOverlay = function () {\r\n\t\toverlay = new Microsoft.Maps.GroundOverlay({\r\n bounds: wiBounds,\r\n\t\t\timageUrl: '/images/public/map_images/culinary-map-wisconsin.svg',\r\n // opacity: 0.5,\r\n rotation: 0\r\n });\r\n map.layers.insert(overlay);\r\n\t}\r\n\r\n\t/**\r\n\t * Map handler, watch for view port changes\r\n\t * @param {*} e \r\n\t */\r\n\tvar viewChanged = function (e) {\r\n\t\tclearTimeout(toMapReset);\r\n\t\ttoMapReset = setTimeout(function(){ \r\n\t\t\tvar didChange = false;\r\n\r\n\t\t\t//console.log(\"clusterLayer.getVisible();\", clusterLayer.getVisible());\r\n\t\t\t\r\n\t\t\tif (lastZoomLevel != map.getZoom()) {\r\n\t\t\t\tdidChange = true;\r\n\t\t\t\tlastZoomLevel = map.getZoom();\r\n\t\t\t\tif (_log) console.log(\"viewChanged...lastZoomLevel\", lastZoomLevel);\r\n\t\t\t\tmap.setView({zoom: map.getZoom()});\r\n\r\n\t\t\t}\r\n\t\t\tif (lastCenterLocation != map.getCenter()) {\r\n\t\t\t\tdidChange = true;\r\n\t\t\t\tlastCenterLocation = map.getCenter();\r\n\t\t\t\tif (_log) console.log(\"viewChanged...lastCenterLocation\", lastCenterLocation);\r\n\t\t\t}\r\n\t\t\t// //CLEAR OUT DETAILS: if NOT auto-zooming-into-pin, AND view-did-change AND reportsall is-hidden\r\n\t\t\t// if (!isZoomingToPin && didChange && $('.js-reports').hasClass('is-hidden')) {\r\n\t\t\t// \ttw.CulinaryShowsListings.clearDetailsShowAll();\r\n\t\t\t// }\r\n\t\t}, toMapResetMS);\r\n\t}//toMapReset\r\n\r\n\t/**\r\n\t * Allow index.js to update reporttype here\r\n\t */\r\n\tvar updateReportType = function (type) {\r\n\t\treportType = type;\r\n\t\t//if (_log) console.log('updateReportType.reportType:', reportType);\r\n\t}\r\n\r\n\tvar getReportType = function () {\r\n\t\treturn reportType;\r\n\t}\r\n\r\n\tvar getNoEpisodeData = function (data) {\r\n\t\tif (noEpisodeData == null) {\r\n\t\t\tnoEpisodeData = data;\r\n\t\t}\r\n\t}\r\n\tvar getEpisodeData = function (data) {\r\n\t\tif (episodeData == null) {\r\n\t\t\tepisodeData = data;\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * Add Preloader Map template\r\n\t * LOAD MAP PRELOADER IMMEDIATELY on initial load as soon as the file is ready\r\n\t */\r\n\tvar addPreloaderMap = function () {\r\n\t\tif (_log) console.log('addPreloaderMap()');\r\n\t\tvar compiledTemplate = Template7.compile(preloaderMapTemplate),\r\n\t\t\thtmlPreloader = compiledTemplate();\r\n\t\t$('#map').html(htmlPreloader);\r\n\t}\r\n\taddPreloaderMap();\r\n\r\n\t/**\r\n\t * Toggle pushpins\r\n\t * @param {*} isChecked\r\n\t * @param {*} toggleValue\r\n\t */\t\r\n\tvar togglePushpinCluster = function (isChecked, toggleValue) {\r\n\t\tvar tempData = [];\r\n\r\n\t\tif (isChecked) {\r\n\t\t\tif (toggleValue === 'culinary-gem') {\r\n\t\t\t\tfor (var i = 0; i < noEpisodeData.length; i++) {\r\n\t\t\t\t\tif(noEpisodeData[i].IsCulinaryGem) {\r\n\t\t\t\t\t\ttempData.push(noEpisodeData[i]);\r\n\t\t\t\t\t\tdataHold = tempData;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\t\t\t\t\r\n\t\t\t} else if (toggleValue === 'judge-favorite') {\r\n\t\t\t\tfor (var i = 0; i < noEpisodeData.length; i++) {\r\n\t\t\t\t\tif(noEpisodeData[i].IsJudgeFavorite) {\r\n\t\t\t\t\t\ttempData.push(noEpisodeData[i]);\r\n\t\t\t\t\t\tdataHold = tempData;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\t\t\t\t\t\r\n\t\t\t} else if (toggleValue === 'episode-features') {\r\n\t\t\t\tdataHold = episodeData;\r\n\t\t\t\ttempData = dataHold;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\ttempData = dataHold;\r\n\t\t}\r\n\t\taddPushpinCluster(tempData);\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Add pushpin clusters to layer\r\n\t * https://docs.microsoft.com/en-us/bingmaps/v8-web-control/map-control-concepts/clustering-module-examples/clusters-with-a-list-and-linking\r\n\t * @param {*} data \r\n\t */\r\n\tvar addPushpinCluster = function (data) {\r\n\t\tif (_log) console.log('addPushpinCluster()', data);\r\n\r\n\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\tif (data[i].CulinaryEpisode && data[i].CulinaryEpisode.EpisodeNumber) {\r\n\t\t\t\tdata[i].EpisodeNumber = data[i].CulinaryEpisode.EpisodeNumber;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (dataHold == null) {\r\n\t\t\tdataHold = data;\r\n\t\t}\r\n\t\tif (clusterLayer != null) {\r\n\t\t\tclusterLayer.clear();\r\n\t\t}\r\n\t\tvar intIsMapReady = setInterval(function () {\r\n\t\t\t//if (_log) console.log('addPushpinCluster().intIsMapReady');\r\n\t\t\tif (map != null && isClusteringLoaded) {\r\n\t\t\t\tclearInterval(intIsMapReady);\r\n\t\t\t\t//Add an infobox to the map.\r\n\t\t\t\tinfobox = new Microsoft.Maps.Infobox(map.getCenter(), {\r\n\t\t\t\t\tvisible: false\r\n\t\t\t\t});\r\n\t\t\t\tinfobox.setMap(map);\r\n\t\t\t\tclusterLayer = new Microsoft.Maps.ClusterLayer(createCustomPushpins(data), {\r\n\t\t\t\t\tclusteredPinCallback: createCustomClusterPushpins,\r\n\t\t\t\t\tcallback: createPushpinList,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\tsetZIndex: 99999,\r\n\t\t\t\t\tgridSize: 48\r\n\t\t\t\t});\r\n\t\t\t\tif (_log) console.log('clusterLayer', clusterLayer);\r\n\t\t\t\tMicrosoft.Maps.Events.addHandler(clusterLayer, 'click', function(e) {\r\n\t\t\t\t\tvar pinType = (e.target instanceof Microsoft.Maps.ClusterPushpin) ? 'Cluster': 'Pushpin';\r\n\t\t\t\t\t//if (_log) console.log('------------- Clicked ', pinType, ': ', e.target);\r\n\t\t\t\t\t//alert('clusterLayer click4');\r\n\t\t\t\t});\r\n\t\t\t\tmap.layers.insert(clusterLayer);\r\n\t\t\t}\r\n\t\t}, 200);\r\n\t}\r\n\t/**\r\n\t * Create custom pushpins, inject extra datapoints\r\n\t * @param {*} data \r\n\t */\r\n\tvar createCustomPushpins = function (data) {\r\n\t\tvar pins = [];\r\n\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\tvar episodeNumber = data[i].EpisodeNumber !== undefined ? data[i].EpisodeNumber : (parseInt(i) + 1);\r\n\t\t\tvar svg = ['',\r\n\t\t\t'' + episodeNumber + '',\r\n\t\t\t''];\r\n\r\n\t\t\tvar pushpinOptions = {\r\n\t\t\t\ticon: svg.join(''),\r\n\t\t\t\tanchor: new Microsoft.Maps.Point(42, 48),\r\n\t\t\t};\r\n\r\n\t\t\tvar pinLocation = new Microsoft.Maps.Location(data[i].Latitude, data[i].Longitude);\r\n\t\t\tvar pushpin = new Microsoft.Maps.Pushpin(pinLocation, pushpinOptions);\r\n\t\t\t\r\n\t\t\t//inject extra datapoints into pushpin\r\n\t\t\tpushpin.index = i;\r\n\t\t\tpushpin.ID = data[i].ID;\r\n\t\t\tpushpin.Title = data[i].Title;\r\n\t\t\tpushpin.Description = data[i].Description;\r\n\t\t\tpushpin.Url = data[i].Url;\r\n\t\t\tpushpin.City = data[i].City;\r\n\t\t\tpushpin.State = data[i].State;\r\n\t\t\tpushpin.PlaceImage = data[i].PlaceImage;\r\n\t\t\tpushpin.PlaceAttribute1 = data[i].PlaceAttribute1;\r\n\t\t\tpushpin.PlaceAttribute2 = data[i].PlaceAttribute2;\r\n\t\t\tpushpin.PlaceAttribute3 = data[i].PlaceAttribute3;\t\t\r\n\t\t\tpushpin.Latitude = data[i].Latitude;\r\n\t\t\tpushpin.Longitude = data[i].Longitude;\r\n\t\t\tpushpin.IsCulinaryGem = data[i].IsCulinaryGem;\r\n\t\t\tpushpin.IsJudgeFavorite = data[i].IsJudgeFavorite;\r\n\t\t\tpushpin.Articles = data[i].Articles;\r\n\t\t\tpushpin.CulinaryEpisode = data[i].CulinaryEpisode;\r\n\t\t\tpushpin.EpisodeNumber = data[i].EpisodeNumber\r\n\t\t\t\r\n\t\t\tpins.push(pushpin);\r\n\r\n\t\t\tMicrosoft.Maps.Events.addHandler(pushpin, 'mouseover', mouseHandler);\r\n\t\t\tMicrosoft.Maps.Events.addHandler(pushpin, 'mouseout', mouseHandler);\r\n\t\t\tMicrosoft.Maps.Events.addHandler(pins[i], 'click', pushpinClicked);\r\n\t\t\t//if (_log) console.log('addHandler.pushpinClicked.i', i);\r\n\t\t}\r\n\r\n\t\treturn pins;\r\n\t}\r\n\r\n\t\r\n\t/**\r\n\t * Create custom pushpin clusters\r\n\t * @param {*} cluster \r\n\t */\r\n\tvar createCustomClusterPushpins = function (cluster) {\r\n\t\tvar minRadius = 12;\r\n\t\tvar outlineWidth = 7;\r\n\t\tvar fillColor = colorPinCluster;\r\n\t\t\r\n\t\t// Get the number of pushpins in the cluster\r\n\t\tvar clusterSize = cluster.containedPushpins.length;\r\n\t\t// Calculate the radius of the cluster based on the number of pushpins in the cluster, using a logarithmic scale.\r\n\t\tvar radius = Math.log(clusterSize) / Math.log(10) * 12 + minRadius;\r\n\t\tvar text = clusterSize.toString();\r\n\t\t//Create an SVG string of two circles, one on top of the other, with the specified radius and color.\r\n\t\tvar svg = ['',\r\n\t\t'' + text + '',\r\n\t\t''];\r\n\t\tcluster.setOptions({\r\n\t\t\ticon: svg.join(''),\r\n\t\t\tanchor: new Microsoft.Maps.Point(33, 33),\r\n\t\t\ttext: ''\r\n\t\t});\r\n\r\n\t\t//Add handler for the cluster click event.\r\n\t\tMicrosoft.Maps.Events.addHandler(cluster, 'click', clusterClicked); //pushpinClicked\r\n\t\t//if (_log) console.log('addHandler.clusterClicked.cluster', cluster);\r\n\t}\r\n\r\n\t/**\r\n\t * Cluster clicked action\r\n\t * @param {*} e \r\n\t */\r\n\tvar clusterClicked = function (e) {\r\n\t\tif (_log) console.log('clusterClicked:', e);\r\n\t\tif (e.target.containedPushpins) {\r\n\t\t\tvar locs = [];\r\n\t\t\tfor (var i = 0, len = e.target.containedPushpins.length; i < len; i++) {\r\n\t\t\t\t//Get the location of each pushpin.\r\n\t\t\t\tlocs.push(e.target.containedPushpins[i].getLocation());\r\n\t\t\t}\r\n\r\n\t\t\t//Create a bounding box for the pushpins.\r\n\t\t\tvar bounds = Microsoft.Maps.LocationRect.fromLocations(locs);\r\n\r\n\t\t\t//Zoom into the bounding box of the cluster. \r\n\t\t\t//Add a padding to compensate for the pixel area of the pushpins.\r\n\t\t\tmap.setView({\r\n\t\t\t\tbounds: bounds,\r\n\t\t\t\tpadding: 100\r\n\t\t\t});\r\n\t\t\ttw.Analytics.ga4(baseCategory, 'Map Cluster Click', '');\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Pushpin clicked action\r\n\t * @param {*} e \r\n\t */\r\n\tvar pushpinClicked = function (e) {\r\n\t\tif (_log) console.log('pushpinClicked()e:', e);\r\n\t\tisPushpinActive = true;\r\n\t\tvar episodeNumber = e.target.EpisodeNumber !== undefined ? e.target.EpisodeNumber : (parseInt(e.target.index) + 1);\r\n\t\tvar activeSVG = ['',\r\n\t\t'' + episodeNumber + '',\r\n\t\t''];\r\n\r\n\t\tif (isPushpinActive) {\r\n\t\t\te.target.setOptions(\r\n\t\t\t\t{ icon: activeSVG.join('') }\r\n\t\t\t);\r\n\t\t}\r\n\t\ttw.Analytics.ga4(baseCategory, 'Map Marker Click', e.target.Title);\r\n\t\ttw.CulinaryShowsListings.getReportDetails(e.target.ID, e.target.index, e.target.EpisodeNumber);\r\n\t}\r\n\r\n\t/**\r\n\t * Pushpin clicked action\r\n\t * @param {*} e \r\n\t */\r\n\tvar pushpinMouseover = function (e) {\r\n\t\tvar episodeNumber = e.target.EpisodeNumber !== undefined ? e.target.EpisodeNumber : (parseInt(e.target.index) + 1);\r\n\t\tvar activeSVG = ['',\r\n\t\t'' + episodeNumber + '',\r\n\t\t''];\r\n\t\tif (!isPushpinActive) {\r\n\t\t\te.target.setOptions(\r\n\t\t\t\t{ icon: activeSVG.join('') }\r\n\t\t\t);\r\n\t\t\tshowInfobox(e.target);\r\n\t\t}\r\n\t}\r\n\r\n\tvar pushPinMouseout = function (e) {\r\n\t\tvar episodeNumber = e.target.EpisodeNumber !== undefined ? e.target.EpisodeNumber : (parseInt(e.target.index) + 1);\r\n\t\tvar svg = ['',\r\n\t\t'' + episodeNumber + '',\r\n\t\t''];\r\n\r\n\t\tif (!isPushpinActive) { \r\n\t\t\te.target.setOptions(\r\n\t\t\t\t{ icon: svg.join('') }\r\n\t\t\t);\r\n\t\t\tdeleteReportInfoBoxes(e.target);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Show infobox by grid key (what's in view pane)\r\n\t * @param {*} gridKey \r\n\t */\r\n\tvar showInfoboxByGridKey = function (gridKey) {\r\n\t\tif (_log) console.log('showInfoboxByGridKey:', gridKey);\r\n\t\t//Look up the cluster or pushpin by gridKey.\r\n\t\tvar clusterPin = clusterLayer.getClusterPushpinByGridKey(gridKey);\r\n\r\n\t\t//Show an infobox for the cluster or pushpin.\r\n\t\tshowInfobox(clusterPin);\r\n\t}\r\n\r\n\t/**\r\n\t * Show infobox\r\n\t */\r\n\tvar showInfobox = function (pinData) {\r\n\t\tif (_log) console.log('showInfobox:', pinData);\r\n\r\n\t\tvar infoboxOptions = {\r\n\t\t\twidth: 100,\r\n\t\t\theight: 100,\r\n\t\t\tzIndex: 1,\r\n\t\t\tid: pinData.Title,\r\n\t\t\toffset: new Microsoft.Maps.Point(-175, 65)\r\n\t\t};\r\n\t\tvar pinLocation = new Microsoft.Maps.Location(pinData.Latitude, pinData.Longitude);\r\n\t\tvar pinInfobox = new Microsoft.Maps.Infobox(pinLocation, infoboxOptions);\r\n\t\tvar compiledTemplate = Template7.compile(pinInfoboxSSTemplate);\r\n\t\tvar jsonContent = {\r\n\t\t\tID: pinData.ID,\r\n\t\t\tTitle: pinData.Title,\r\n\t\t\tCity: pinData.City,\r\n\t\t\tState: pinData.State,\r\n\t\t\tPlaceImage: pinData.PlaceImage,\r\n\t\t\tPlaceAttribute1: pinData.PlaceAttribute1,\r\n\t\t\tPlaceAttribute2: pinData.PlaceAttribute2,\r\n\t\t\tPlaceAttribute3: pinData.PlaceAttribute3\r\n\t\t};\r\n\t\tvar htmlInfobox = compiledTemplate(jsonContent);\r\n\t\tpinInfobox.setHtmlContent(htmlInfobox);\r\n\t\tpinInfobox.setMap(map);\r\n\t\treportInfoBoxArray.push(pinInfobox);\r\n\t}\r\n\r\n\t/**\r\n\t * Create pushpin list, keep updated based on what is in view pane\r\n\t */\r\n\tvar createPushpinList = function () {\r\n\t\tif (_log) console.log('createPushpinList()');\r\n\t\t//Create a list of displayed pushpins each time clustering layer updates.\r\n\t\tif (clusterLayer != null) {\r\n\t\t\tinfobox.setOptions({\r\n\t\t\t\tvisible: false\r\n\t\t\t});\r\n\t\t\t//Get all pushpins that are currently displayed.\r\n\t\t\tvar tempData = clusterLayer.getDisplayedPushpins();\r\n\t\t\tvar data = tempData;\r\n\r\n\t\t\tif (_log) console.log('clusterLayer.getDisplayedPushpins():', data);\r\n\r\n\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\tif (data[i].CulinaryEpisode && data[i].CulinaryEpisode.EpisodeNumber) {\r\n\t\t\t\t\tdata[i].EpisodeNumber = data[i].CulinaryEpisode.EpisodeNumber;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\tdata[i].ItemIndex = data[i].index;\r\n\t\t\t}\t\t\t\r\n\r\n\t\t\t// Sort by Index if no EpisodeNumber\r\n\t\t\tif (data.some(item => item.EpisodeNumber !== undefined)) {\r\n\t\t\t\tdata.sort((a, b) => a.EpisodeNumber - b.EpisodeNumber);\r\n\t\t\t} else {\r\n\t\t\t\tdata.sort((a, b) => a.index - b.index);\r\n\t\t\t}\r\n\r\n\t\t\t$('#reportsAll').html('');\r\n\t\t\tdeleteReportInfoBoxes();\r\n\r\n\t\t\tvar htmlBody = reportsOLOpenTemplate;\r\n \t\tif (data.length > 0) {\r\n\t\t\t\tvar compiledTemplateBody = Template7.compile(reportsAllBodySSTemplate);\r\n\t\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t\tvar jsonContentBody = {\r\n\t\t\t\t\t\tindex: i,\r\n\t\t\t\t\t\tID: data[i].ID,\r\n\t\t\t\t\t\tTitle: data[i].Title,\r\n\t\t\t\t\t\tIndex: data[i].Index,\r\n\t\t\t\t\t\tDescription: data[i].Description,\r\n\t\t\t\t\t\tUrl: data[i].Url,\r\n\t\t\t\t\t\tCity: data[i].City,\r\n\t\t\t\t\t\tState: data[i].State,\r\n\t\t\t\t\t\tPlaceImage: data[i].PlaceImage,\r\n\t\t\t\t\t\tPlaceAttribute1: data[i].PlaceAttribute1,\r\n\t\t\t\t\t\tPlaceAttribute2: data[i].PlaceAttribute2,\r\n\t\t\t\t\t\tPlaceAttribute3: data[i].PlaceAttribute3,\r\n\t\t\t\t\t\tLatitude: data[i].Latitude,\r\n\t\t\t\t\t\tLongitude: data[i].Longitude,\r\n\t\t\t\t\t\tIsCulinaryGem: data[i].IsCulinaryGem,\r\n\t\t\t\t\t\tIsJudgeFavorite: data[i].IsJudgeFavorite,\r\n\t\t\t\t\t\tArticles: data[i].Articles,\r\n\t\t\t\t\t\tCulinaryEpisode: data[i].CulinaryEpisode,\r\n\t\t\t\t\t\tEpisodeNumber: data[i].EpisodeNumber,\r\n\t\t\t\t\t\tItemIndex: data[i].ItemIndex\r\n\t\t\t\t\t};\r\n\t\t\t\t\thtmlBody += compiledTemplateBody(jsonContentBody);\t\t\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t//htmlBody += '
no reports found
';\r\n\t\t\t\tvar compiledTemplateBody = Template7.compile(noReportsTemplate);\r\n\t\t\t\thtmlBody += compiledTemplateBody();\r\n\t\t\t}\r\n\t\t\t//ADD REGION FOOTER, OL CLOSING TAG\r\n\t\t\thtmlBody += reportsOLCloseTemplate;\r\n\t\t\t//if (_log) console.log('htmlBody:', htmlBody);\r\n\t\t\t$('#reportsAll').append(htmlBody);\r\n\t\t\t\r\n\t\t\t\r\n\t\t\tif (dataHold.length == data.length) {\r\n\t\t\t\t$('.js-see-all').addClass('hidden');\t\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (data.length > 0) {\r\n\t\t\t\t\tvar seeAllBoxClone = $('.js-see-all').clone().removeClass('hidden');\r\n\t\t\t\t\t$('.js-region-list').append(seeAllBoxClone);\t\t\t\t\t\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$('.js-see-all').addClass('hidden');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\r\n\t\t\tvar slickInitialized = false;\r\n\t\r\n\t\t\tfunction initSlick() {\r\n\t\t\t\t$('.js-region-list').slick({\r\n\t\t\t\t\tinfinite: false,\r\n\t\t\t\t\tslidesToShow: 1.15,\r\n\t\t\t\t\tslidesToScroll: 1,\r\n\t\t\t\t\tvariableWidth: false,\r\n\t\t\t\t\tprevArrow: $('.js-culinary-card-prev'),\r\n\t\t\t\t\tnextArrow: $('.js-culinary-card-next')\r\n\t\t\t\t});\r\n\t\t\t\tslickInitialized = true;\r\n\t\t\t\t$('.js-culinary-card-buttons').addClass('d-sm-flex');\r\n\t\t\t\t$('.js-culinary-card-buttons').removeClass('d-sm-none');\r\n\t\t\t\tupdateSlick();\r\n\t\t\t}\t\r\n\t\t\tfunction destroySlick() {\r\n\t\t\t\tif (slickInitialized) {\r\n\t\t\t\t\t$('.js-region-list').slick('unslick');\r\n\t\t\t\t\tslickInitialized = false;\r\n\t\t\t\t\t\r\n\t\t\t\t\t$('.js-culinary-card-buttons').removeClass('d-sm-flex');\r\n\t\t\t\t\t$('.js-culinary-card-buttons').addClass('d-sm-none');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction updateSlick() {\r\n\t\t\t\tvar numSlides = $('.js-region-list .slick-slide').length;\r\n\t\t\r\n\t\t\t\tif (numSlides > 1) {\r\n\t\t\t\t\tif (!slickInitialized) {\r\n\t\t\t\t\t\tinitSlick();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$('.js-region-list').slick('refresh');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdestroySlick();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tupdateSlick();\r\n\t\t\t\t\r\n\t\t\tif (isMobile) {\r\n\t\t\t\tinitSlick();\r\n\t\t\t} else {\r\n\t\t\t\tif (isTouch) {\r\n\t\t\t\t\tinitSlick();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdestroySlick();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tvar deleteReportInfoBoxes = function () {\r\n\t\t// if (_log) console.log('deleteReportInfoBoxes()');\r\n\t\t// if (_log) console.log('reportInfoBoxArray.before..', reportInfoBoxArray);\r\n\t\tfor (var i = 0; i < reportInfoBoxArray.length; i++) {\r\n\t\t\t//console.log(i, reportInfoBoxArray[i]);\r\n\t\t\treportInfoBoxArray[i].setMap(null);\r\n\t\t\t//console.log('cleared');\r\n\t\t}\r\n\r\n\t\treportInfoBoxArray = [];\r\n\t\t//if (_log) console.log('reportInfoBoxArray.clearout', reportInfoBoxArray);\r\n\t}\r\n\r\n\r\n\r\n\t/**\r\n\t * Zoom in on pin after details load\r\n\t * @param {*} data \r\n\t */\r\n\tvar zoomToPin = function(data){\r\n\t\t//if (_log) console.log('zoomToPin:', data.Latitude, data.Longitude);\r\n\t\tisZoomingToPin = true;\r\n\t\tvar pinLocation = new Microsoft.Maps.Location(data.Latitude, data.Longitude);\r\n\r\n\t\tmap.setView({\r\n\t\t\tzoom: 17,\r\n\t\t\tcenter: pinLocation\r\n\t\t});\r\n\r\n\t\tsetTimeout(function(){ \r\n\t\t\tisZoomingToPin = false;\r\n\t\t\tshowInfobox(data);\r\n\t\t}, toMapResetMS * 2);\r\n\r\n\t}\r\n\r\n\tvar moveToMapClick = function (e) {\r\n\t\tif (_log) console.log('moveToMapClick:', e);\r\n\t\tif (e.targetType == \"map\") {\r\n\t\t\tvar point = new Microsoft.Maps.Point(e.getX(), e.getY());\r\n\t\t\tvar loc = e.target.tryPixelToLocation(point);\r\n\t\t\tvar mapLocation = new Microsoft.Maps.Location(loc.latitude, loc.longitude);\r\n\t\t\tmap.setView({\r\n\t\t\t\tcenter: mapLocation\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * Handle mouse actions\r\n\t * @param {*} e \r\n\t */\r\n\tvar mouseHandler = function (e) {\r\n\t\tif (_log) console.group('mouseHandler()', e);\r\n\r\n\t\tif (e.eventName == \"mouseover\") {\r\n\t\t\tpushpinMouseover(e);\r\n\t\t} else if (e.eventName == \"mouseout\") {\r\n\t\t\tpushPinMouseout(e);\r\n\t\t}\r\n\t\tif (_log) console.groupEnd();\r\n\t};\r\n\r\n\t/**\r\n\t * Soft reset map.\r\n\t * for use when map is centered/zoomed on local reports, zoom out to initial state and clear infoxboxes and cetering ring.\r\n\t */\r\n\tvar softResetMap = function () {\r\n\t\tif (_log) console.group('softResetMap()');\r\n\t\tisPushpinActive = false;\r\n\r\n\t\tmap.setView({\r\n\t\t\tzoom: useZoom,\r\n\t\t\tcenter: useCenterLocation,\r\n\t\t\tminZoom: useMinZoom,\r\n\t\t\tdisableZooming: useDisableZooming\r\n\t\t});\r\n\r\n\t\tif (_log) console.groupEnd();\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Zoom Map\r\n\t * @param {*} direction \r\n\t * @param {*} location \r\n\t */\r\n\tvar zoomMap = function (direction, location) {\r\n\t\tif (_log) console.log('zoomMap():', direction, location);\r\n\r\n\t\tif (direction === '+') {\r\n\t\t\tvar newZoom = map.getZoom() + 1;\r\n\t\t\tmap.setView({\r\n\t\t\t\tzoom: newZoom,\r\n\t\t\t\tcenter: location\r\n\t\t\t});\r\n\t\t} else if (direction === '-') {\r\n\t\t\tvar newZoom = map.getZoom() - 1;\r\n\t\t\tmap.setView({\r\n\t\t\t\tzoom: newZoom,\r\n\t\t\t\tcenter: location\r\n\t\t\t});\r\n\t\t} else if (typeof direction === 'number') {\r\n\t\t\tmap.setView({\r\n\t\t\t\tzoom: direction,\r\n\t\t\t\tcenter: location\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (_log) console.log('zoomLevel: ', getZoomLevel());\r\n\t};\r\n\r\n\t/**\r\n\t * Get Zoom Level of map\r\n\t */\r\n\tvar getZoomLevel = function () {\r\n\t\treturn map.getZoom();\r\n\t};\r\n\r\n\r\n\t/**\r\n\t * Sort multi-dimensional array by a key\r\n\t * @param arr: array of items to sort: nameOfArray[]\r\n\t * @param keyArr : array of keys to sort by: ['keyOne', 'keyTwo']\r\n\t * @param reverse : boolean : true/false\r\n\t * Usage: let tempData = this.sortArray(this.dataFake, ['Other'], true);\r\n\t */\r\n\tvar sortArray = function(arr, keyArr, reverse) {\r\n\t\t// console.group('sortArray()');\r\n\t\t// console.log('arr', arr);\r\n\t\t// console.log('keyArr', keyArr);\r\n\t\t// console.log('reverse', reverse);\r\n\t\t// console.groupEnd();\r\n\r\n\t\tvar sortOrder = 1;\r\n\t\tif (reverse) sortOrder = -1;\r\n\t\treturn arr.sort(function (a, b) {\r\n\t\t\tvar x = a, y = b;\r\n\t\t\tfor (var i = 0; i < keyArr.length; i++) {\r\n\t\t\t\tx = x[keyArr[i]];\r\n\t\t\t\ty = y[keyArr[i]];\r\n\t\t\t}\r\n\t\t\treturn sortOrder * ((x < y) ? -1 : ((x > y) ? 1 : 0));\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Recalculate zoom upon init/resize\r\n\t */\r\n\tvar recalculateZoom = function () {\r\n\t\tif (_log) console.group('recalculateZoom()');\r\n\t\tif (isMobile) {\r\n\t\t\tuseZoom = mobileZoom;\r\n\t\t\tuseCenterLocation = mobileCenter;\r\n\t\t\tuseMinZoom = mobileZoom;\r\n\t\t\tuseDisableZooming = mobileDisableZooming;\r\n\t\t} else {\r\n\t\t\tif (isTouch) {\r\n\t\t\t\tuseZoom = baseZoom;\r\n\t\t\t\tuseCenterLocation = tabletLandscapeCenter;\r\n\t\t\t\tuseMinZoom = baseZoom;\r\n\t\t\t\tuseDisableZooming = mobileDisableZooming\r\n\t\t\t} else {\r\n\t\t\t\tuseZoom = baseZoom;\r\n\t\t\t\tuseCenterLocation = desktopCenter;\r\n\t\t\t\tuseMinZoom = baseZoom;\r\n\t\t\t\tuseDisableZooming = desktopDisableZooming\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (_log) console.log('isMobile', isMobile);\r\n\t\tif (_log) console.log('useZoom', useZoom);\r\n\t\tif (_log) console.log('useCenterLocation', useCenterLocation);\r\n\r\n\t\tif (map != null) {\r\n\t\t\tvar options = {\r\n\t\t\t\tzoom: useZoom,\r\n\t\t\t\tcenter: useCenterLocation,\r\n\t\t\t\tminZoom: useMinZoom,\r\n\t\t\t\tdisableZooming: useDisableZooming\r\n\t\t\t}\r\n\t\t\tif (_log) console.log('options', options);\r\n\t\t\tmap.setView(options);\r\n\t\t}\r\n\t\t// if (_log) console.groupEnd();\r\n\r\n\t};\r\n\r\n\r\n\r\n\r\n\t/**\r\n\t * track resize event, update map if needed\r\n\t */\r\n\tvar trackResize = function () {\r\n\t\tif (_log) console.log('trackResize()');\r\n\t\tBingMap.Utilities.viewportDimensions();\r\n\r\n\t\tif (window.innerWidth < breakPoints.main) {\r\n\t\t\tisMobile = true;\r\n\t\t} else {\r\n\t\t\tisMobile = false;\r\n\t\t}\r\n\r\n\t\tif (wasMobile != isMobile) {\r\n\t\t\tif (_log) console.log('isMobile changed!!! update map. isMobile:', isMobile);\r\n\t\t\twasMobile = isMobile;\r\n\t\t\trecalculateZoom();\r\n\t\t}\r\n\t\t// if (_log) console.log('wasMobile:', wasMobile);\r\n\t\t// if (_log) console.log('isMobile:', isMobile);\r\n\t}\r\n\r\n\r\n\r\n\r\n\treturn {\r\n\t\tgetMapInit: getMapInit,\r\n\t\taddPushpinCluster: addPushpinCluster,\r\n\t\tinitializeMap: initializeMap,\r\n\t\tinitializeButtons: initializeButtons,\t\r\n\t\tupdateReportType: updateReportType,\r\n\t\tgetReportType: getReportType,\r\n\t\ttogglePushpinCluster: togglePushpinCluster,\r\n\t\tshowInfoboxByGridKey: showInfoboxByGridKey,\r\n\t\tshowInfobox: showInfobox,\r\n\t\tsoftResetMap: softResetMap,\r\n\t\tpushpinClicked: pushpinClicked,\r\n\t\ttrackResize: trackResize,\r\n\t\tzoomToPin: zoomToPin,\r\n\t\tgetEpisodeData: getEpisodeData,\r\n\t\tgetNoEpisodeData: getNoEpisodeData\r\n\t}\r\n\r\n}();"]}