/*jslint browser: true, multivar: true */ if (window.__AudioEyePerformance) { window.__AudioEyePerformance.loaderJsStartTime = performance.now(); } if (!window.__AudioEyeSiteHash) { window.__AudioEyeSiteHash = 'f78c0f9c7bcd5c218491e9c5963c9e8e'; } var aecb = "0592222"; var pscb = ''; function ae_choose(a, b, rate) { if(!rate || !b) { return a; } return rate <= Math.random() ? b : a; } function ae_loadScript(path) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = path; document.body.appendChild(script); } ae_loadScript("https://wsv3cdn.audioeye.com/v2/build/jquery.bundle.0592222.js"); var loaderFunction = function (tries) { if (!window.ae_jQuery) { var wait = 100; if (tries > 50) { wait = wait * tries; } setTimeout(function() { loaderFunction(++tries) }, wait); return; } window.__AudioEyeLoaderStartTime = new Date().getTime(); // Singleton pattern: if the loader has already run, do not overwrite. if (window.AudioEye && window.AudioEye.version !== undefined) { return; } // declare define here so that when jquery is imported in startupRoutine.js it will // find this define instead of any global define that a customer might use var define = function(){}; window.AudioEye = Object.assign({}, window.AudioEye || {}); // legacy check for AudioEye DAP scan. Do not continue if true if (navigator.userAgent.indexOf("AudioEye") !== -1) { return; } var options = {}; var protocol = "https:"; var device = "desktop"; var site_id = null; var options = {"live-monitoring":{"limit":0.416,"service":true},"help":{"service":true,"aria-label":{"en":"Help Menu. Press enter or use question mark key to turn on or off."},"tooltip-title":{"en":"Help"},"tooltip-keycommand":{"en":"(press ?)"}},"admin":{"service":true,"aria-label":{"en":"AudioEye portal"},"at-message":{"en":"AudioEye portal login"},"cancel":{"en":"Cancel"},"popup_content_opening":{"en":"Opening the Admin Panel requires the page to reload"},"popup_content_closing":{"en":"Closing the Admin Panel requires the page to reload"},"popup_title":{"en":"Confirm reload"},"reload":{"en":"Reload"},"tooltip-title":{"en":"Admin Panel"}},"rotor":{"service":true,"aria-label":{"en":"Page Elements Menu. Press enter or use d key to turn on or off."},"tooltip-title":{"en":"Page Elements Menu"},"tooltip-keycommand":{"en":"(press D)"},"skipto_rotor-link":false},"helpers":{"service":true},"toolbar":{"service":true,"color":{"background":"#252930","foreground":"#96a0ab"},"theme":"dark","at-message":{"en":"AudioEye Toolbar. Explore the tools below or press escape to quit the toolbar."},"aria-label":{"en":"AudioEye Toolbar. Explore the tools below or press escape to quit the toolbar."}},"helpdesk":{"service":true,"at-message":{"en":"The AudioEye Help Desk to report accessibility and usability related issues."},"aria-label":{"en":"AudioEye Help Desk. To report accessibility and usability related issues, press enter or use h key to turn on or off."},"tooltip-title":{"en":"Help Desk"},"tooltip-keycommand":{"en":"(press H)"}},"launcher":{"service":true,"position":"right-middle","cta-color":"#1275B3","pre-opt-in-messaging":{"at-message":{"en":"This website is AudioEye enabled and is being optimized for accessibility. Additionally, free web personalization tools have been provided via the AudioEye Toolbar, which may be enabled from the Accessibility Statement link found on this page."}},"opt-in":false,"at-message":{"en":"This website is AudioEye enabled and is being optimized for accessibility. To open the AudioEye Toolbar, press shift + =. The toolbar contains the following"},"aria-label":{"en":"Accessibility options"},"tooltip-title":{"en":"Explore your accessibility options."},"preview-mode-message":{"en":"AudioEye is in preview mode. Some functionality will be limited."},"preview-mode-modal-close":{"en":"Close"},"preview-mode-modal-title":{"en":"Preview Mode"},"at-messages":{"admin":{"en":"AudioEye portal login"},"voice":{"en":"The Voice (beta) tool to control and interact with this site using your voice."},"player":{"en":"The Player tool to listen to this site read aloud. The Player is not intended as a substitute for your screen reader."},"reader":{"en":"The Reader tool to customize the visual display of this site."},"toolbar":{"en":"AudioEye Toolbar. Explore the tools below or press escape to quit the toolbar."},"helpdesk":{"en":"The AudioEye Help Desk to report accessibility and usability related issues."},"launcher":{"en":"This website is AudioEye enabled and is being optimized for accessibility. To open the AudioEye Toolbar, press shift + =. The toolbar contains the following"},"lite-reader":{"en":"AudioEye Visual Toolkit"}}},"pc_preset":"step3-bypass-mode","site-menu":{"service":true,"selectors":{"main-menu":{"label":{"en":""},"link":true,"selector":"#menu-main-menu, .mod-menu-responsive1 .navbar-nav\n","search-algorithm":"default"},"aside-menu":{"label":{"en":""},"link":false,"selector":"","search-algorithm":"default"},"other-menu":{"label":{"en":""},"link":false,"selector":".overlay .header-megamenu-container\n","search-algorithm":"default"},"footer-menu":{"label":{"en":""},"link":false,"selector":"#menu-footer, .layout-footer .links\n","search-algorithm":"default"},"utility-menu":{"label":{"en":""},"link":false,"selector":"","search-algorithm":"default"},"additional-menus":[{"label":{"en":"Inventory"},"selector":" #nav_menu-1, #menu-vehicles, #menu-new-vehicles, #menu-footer-nav-1, #menu-footer-1, #menu-1-inventory\n","link":false,"search-algorithm":"default"},{"link":false,"label":{"en":"Service"},"selector":"#nav_menu-2, #menu-service-parts, #menu-service, #menu-footer-nav-3, #menu-footer-2, #menu-3-service\n","search-algorithm":"default"},{"link":false,"label":{"en":"Financing"},"selector":"#nav_menu-3, menu-finance, #menu-shopping-tools, #menu-footer-nav-2, #menu-footer-3, #menu-5-finance\n","search-algorithm":"default"},{"link":false,"label":{"en":"About"},"selector":" #nav_menu-4, #menu-our-dealership, #menu-about, #menu-footer-nav-4, #menu-footer-4, #menu-2-specials\n","search-algorithm":"default"},{"link":false,"label":{"en":"Extras"},"selector":"#menu-4-extras\n","search-algorithm":"default"},{"link":false,"label":{"en":"Footer Side Menu"},"selector":"#menu-left-footer-menu","search-algorithm":"default"}]},"aria-label":{"en":"Site Menu. Press enter or use n key to turn on or off."},"tooltip-title":{"en":"Site Menu"},"tooltip-keycommand":{"en":"(press N)"},"search-algorithms":{"default":"Default"}},"compliance":{"service":true,"auto-remediations":true,"smart-remediations":true,"manual-remediations":true,"live-monitoring-limit":"0.01","edge-remediations":false,"skip-remediations":"","skipto_main-content-link":true,"tab-triggers-outline":false,"skipto_main-link-text":{"en":"Skip to Main Content"},"aria-landmarks":{"banner":"#header","search":"#search-wrap, .search-toggle, #search-toggle\n","content":".home .hero-slider, .home #hero-row,#sliderRow+, .contentcontainer,#sliderRow, section#porsche-offers-banner, div#vehicleDetails, .national-incentive-offers, .glovebox-container-wrap, #page-model-landing, .new-banner, .main-content, #pfied_featured_item, #page-model-landing, .page-template-page-lightning .lightning, .page-template-page-model-showroom .showroom-models, .page-template-page-certified-preowned-program .infiniti-page, main, #videobanner\n","complementary":"","contentinfo":"#footer\n"},"aria-live":{"polite":"","assertive":"","live":"","alert":""},"new_window_text":{"en":"Opens a New Window."},"accessible-carousel-link-text":{"en":"Accessible Carousel"},"accessible-carousel-link-label":{"en":"Accessible Carousel"},"disabled-carousel-message":{"en":"Original carousel disabled. Use accessible carousel or refresh page to access."}},"lite-reader":{"service":true,"aria-label":{"en":"AudioEye Visual Toolkit"},"at-message":{"en":"AudioEye Visual Toolkit"},"tooltip-title":{"en":"Visual Toolkit"},"tooltip-keycommand":{"en":"(Press T)"}},"certification":{"service":true,"version":"5","versionlist":{"3":"Partner Pro","4":"Pro Commitment Statement","5":"Managed"},"tooltip-title":{"en":"Certification"},"tooltip-keycommand":{"en":"(press B)"},"trusted_title":"","aria-label":{"en":"AudioEye Certification Statement. Press enter or use b key to turn on or off."},"at-message":{"en":"The AudioEye Certification Statement to explain the ongoing web accessibility and usability enhancements for this website."}},"user-settings":{"service":true,"aria-label":{"en":"Settings Menu. Press enter or use s key to turn on or off."},"tooltip-title":{"en":"Settings"},"tooltip-keycommand":{"en":"(press S)"}},"carousels":[{"carousel":"#reviewCarousel\n","slides":"#reviewCarousel .owl-item\n","link":true,"click-proxy":false,"next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"slide_count":{"en":"Slide {{num}} of {{total}}"}},{"link":true,"slides":".home .di-slider .swiper-slide:not(.swiper-slide-duplicate, .swiper-slide-next, .swiper-slide-active) ","carousel":".home .di-slider\n","next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"click-proxy":true,"slide_count":{"en":"Slide {{num}} of {{total}}"}},{"link":true,"slides":".gallery-container-main .swiper-slide\n","carousel":".gallery-container-main ","next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"click-proxy":false,"slide_count":{"en":"Slide {{num}} of {{total}}"}},{"link":true,"slides":".grid-view-results-wrapper.owl-carousel .owl-item\n","carousel":".grid-view-results-wrapper.owl-carousel ","next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"click-proxy":false,"slide_count":{"en":"Slide {{num}} of {{total}}"}},{"link":true,"slides":".fancybox-overlay .quicklook-gallery .tn3-dark-thumbs .tn3-dark-thumb\n","carousel":".fancybox-overlay .quicklook-gallery ","next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"click-proxy":false,"slide_count":{"en":"Slide {{num}} of {{total}}"}},{"link":true,"slides":".mod-slideshow .item\n","carousel":".mod-slideshow ","next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"click-proxy":false,"slide_count":{"en":"Slide {{num}} of {{total}}"}},{"link":true,"slides":"#review-box.owl-carousel .owl-item","carousel":"#review-box.owl-carousel","next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"click-proxy":false,"slide_count":{"en":"Slide {{num}} of {{total}}"}},{"link":true,"slides":".vehicles-wrapper.owl-carousel .owl-item","carousel":".vehicles-wrapper.owl-carousel","next_slide":{"en":"Next Slide"},"prev_slide":{"en":"Previous Slide"},"click-proxy":false,"slide_count":{"en":"Slide {{num}} of {{total}}"}}],"external-links":{"service":true,"interface":{"popup_title":{"en":"Confirm Navigation"},"popup_content2":{"en":"You are navigating away from the [[site-name]]<\/span> website. [[site-name]]<\/span> does not own, operate, or control the link or its content. [[site-name]]<\/span> is not responsible for the content of the external website. Privacy and security policies of the external website may differ from those practiced by [[site-name]]<\/span>."},"popup_content":{"en":"By activating 'Continue' below, you acknowledge the previous statement and will be taken to the external website. If you want to remain on this website, activate 'Cancel'."},"popup_content3":{"en":"By activating 'Continue' below, you will open a new window of AudioEye. If you want to remain on the same page, activate 'Cancel'."},"cancel":{"en":"Cancel"},"continue":{"en":"Continue"}}},"persist-settings":{"service":false,"persist":false},"excludes":".fix-nav,.gg-toolbar#nav_menu-4, #menu-our-dealership, #nav_menu-3, menu-finance, #nav_menu-2, #menu-service-parts, #nav_menu-1, #menu-vehicles, #menu-footer, #menu-main-menu, .mod-menu-responsive1 .navbar-nav, #menu-footer, #menu-about, #menu-shopping-tools, .layout-footer .links, #menu-service, #menu-new-vehicles, #menu-footer-nav-1, #menu-footer-nav-2, #menu-footer-nav-3, #menu-footer-nav-4, .overlay .header-megamenu-container .footer-top-inner, #di-conversations-embed-root img, #menu-footer-1, #menu-footer-2, #menu-footer-3, #menu-footer-4, #menu-4-extras, #menu-2-specials, #menu-5-finance, #menu-3-service, #menu-1-inventory, #menu-left-footer-menu\n","timers":"","tabsets":{"tabset":".model-tabs","tabs":".model-tabs .nav-tabs li a","active-tab":".model-tabs .nav-tabs li.active a","content":".model-tabs .tab-content .tab-pane"},"iframes":{"allowed-origins":[],"searchAndInject":true,"unsafe-sources":["gateway.answerscloud.com","cc.hostedpci.com"],"unsafeIframeSelectors":[]},"live-monitoring-limit":"0.01","content-modifiers-version":"2","ga-account":"","startup_modules":["launcher","compliance"],"languages":{"aliases":{"en":["en"],"zh-cn":["zh"],"sv-se":["sv"],"ru-ru":["ru"],"pt-pt":["pt"],"pl-pl":["pl"],"no-no":["no"],"nl-nl":["nl"],"ko-kr":["ko"],"ja-jp":["jp","ja"],"it-it":["it"],"hu-hu":["hu"],"fr-fr":["fr"],"es":["es"],"el-gr":["el"],"de-de":["de"],"da-dk":["da"],"cs-cz":["cs"],"ca":["ca"],"ar-sa":["ar"]},"supported":{"auto":"Automatic","en":"English","en-gb":"English (UK)","zh-tw":"Chinese (Taiwan)","zh-hk":"Chinese (Hong Kong)","zh-cn":"Chinese (China)","sv-se":"Swedish","ru-ru":"Russian","pt-pt":"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)","pl-pl":"Polish","no-no":"Norwegian","nl-nl":"Dutch","ko-kr":"Korean","ja-jp":"Japanese","it-it":"Italian","hu-hu":"Hungarian","fr-fr":"French (France)","fr-ca":"French (Canada)","fi-fi":"Finnish","es":"Spanish","es-mx":"Spanish (Mexico)","el-gr":"Greek","de-de":"German","da-dk":"Danish","cs-cz":"Czech","ca":"Catalan","ar-sa":"Arabic"},"supported-translated":{"auto":"Automatic","en":"English","zh-tw":"\u7e41\u9ad4\u4e2d\u6587","zh-hk":"\u4e2d\u6587\uff08\u9999\u6e2f\uff09","zh-cn":"\u7b80\u4f53\u4e2d\u6587","sv-se":"Svenska","ru-ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","pt-pt":"Portugu\u00eas","pt-br":"Portugu\u00eas","pl-pl":"Polski","no-no":"Norsk","nl-nl":"Nederlands","ko-kr":"\ud55c\uad6d\uc5b4","ja-jp":"\u65e5\u672c\u8a9e","it-it":"Italiano","hu-hu":"Hungarian","fr-fr":"Fran\u00e7ais","fr-ca":"Fran\u00e7ais","fi-fi":"suomi","es-mx":"Espa\u00f1ol","en-gb":"English","el-gr":"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac","de-de":"Deutsch","da-dk":"Dansk","cs-cz":"\u010cesky","ca":"Catal\u00e0","ar-sa":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","es":"Spanish"},"primary":"auto","detected":"en"},"off-limits":null,"toolbar-promo":false,"consentManagementConfig":{"service":false,"cookieConsentConfig":null}}, site_id = "c103925e-dc0a-53b7-a577-b2bd9fac1642", encrypted_site_id = "TA2LAV0DGWbeRckFvtIFlZQ0sjBpzeMmxccybRpcnsI\/YQPjJHAEXes07ujWzSkv"; AudioEye.site_id = site_id; AudioEye.encrypted_site_id = encrypted_site_id; AudioEye.site_name = "woodhousegm.com"; AudioEye.base_url = "woodhousegm.com\/m"; AudioEye.analytics_url = ae_choose( "https://report-prod.audioeye.com/v1/send", "https://analytics.audioeye.com/air/v0/send", 0.000001 ); AudioEye.last_publish = "2023-10-28T16:33:19.402Z"; // Unit Test Mode options.testmode = (window.audioeye_test_mode) ? window.audioeye_test_mode : false; // Make options accessible by other modules AudioEye.productConfig = options; AudioEye.cb = aecb; AudioEye.pscb = pscb; AudioEye.device = device; AudioEye.version = "3.0" + (aecb ? "-" + aecb : ""); AudioEye.protocol = protocol; AudioEye.client_url = "https:\/\/wsv3cdn.audioeye.com\/v2"; AudioEye.cdn_bypass_url = "https:\/\/wsv3cdn.audioeye.com\/v2"; AudioEye.assets_url = "https:\/\/assets.audioeye.com\/m"; AudioEye.gtm_url = "https:\/\/wsv3cdn.audioeye.com\/bootstrap.js?h=f78c0f9c7bcd5c218491e9c5963c9e8e"; AudioEye.voice_url = "https:\/\/vs.audioeye.com\/m"; AudioEye.voice_client_entry = "\/scripts\/build\/voice.js\/m"; AudioEye.pdfjs_url = "https:\/\/pdfjsdev.audioeye.com\/m"; AudioEye.build = "prod\/m"; AudioEye.portal_url = "portal.audioeye.com"; AudioEye.portal_preview = false; AudioEye.site_version = ""; AudioEye.toolbar_version = "2"; AudioEye.toolbar_version_provider = "sd"; AudioEye.loaderVersion = 2; AudioEye.a11yTestingReportTo = 'https://analytics.audioeye.com/v2/report'; // many of our modules make use of JSON encoding/decoding. We have detected that Prototype.js mangles certain varType to JSON conversions. Let's get rid of those if(window.Prototype) { delete Object.prototype.toJSON; delete Array.prototype.toJSON; delete String.prototype.toJSON; } // create Array.reduce alternative for environments that have overridden the native reduce if (Array.prototype.reduce.toString().indexOf('[native code]') > -1) { Array.prototype.ae_reduce = Array.prototype.reduce; } else { Array.prototype.ae_reduce = function(callback) { 'use strict'; if (this == null) { throw new TypeError('Array.prototype.reduce called on null or undefined'); } if (typeof callback !== 'function') { throw new TypeError(callback + ' is not a function'); } var t = Object(this), len = t.length >>> 0, k = 0, value; if (arguments.length == 2) { value = arguments[1]; } else { while (k < len && !(k in t)) { k++; } if (k >= len) { throw new TypeError('Reduce of empty array with no initial value'); } value = t[k++]; } for (; k < len; k++) { if (k in t) { value = callback(value, t[k], k, t); } } return value; }; } Object.defineProperty(Array.prototype, 'ae_reduce', {enumerable: false}); /* Built Files */ /* Serving build => prod */ /** * This is necessary as legacy support for some helpers and remediations that * depend on 'AudioEye.require()' calls to function. * That the time of writing, this library only needs to support the following * types of calls: * AudioEye.require('lib/mutations' AudioEye.require(['ae_options']... AudioEye.require('lib/mutations' AudioEye.require(['ae_options']... AudioEye.require(["utilities"], function(util)... AudioEye.require(['utilities'], function(u) { */ (function () { if (!window.AudioEye) { return; } var log = function (str) { if (!window.console || !window.console.log) { return; } console.log(str); }; // Stub the AudioEye.require function for old helpers and remediations // @param dependency {array|string} // @param callback {fn} - called if it is passed in // @returns {object} - returns dependency always window.AudioEye.require = function (dependency, callback) { try { // stub with empty function if no callback passed if (typeof callback !== 'function') { callback = function() {}; } // Create an object to store depdencies in // These will be referenced later when a call to define defines them if (!AudioEye.require._definedDeps) { AudioEye.require._definedDeps = {}; } // Create an object to store callback functions in // The callbacks will be called when define defines their requested // dependency. if (!AudioEye.require._definedDeps) { AudioEye.require._callbacks = {}; } // ensure dep is the string name of the dependency var dep = (Array.isArray(dependency)) ? dependency[0] : dependency; // The only known calls to this function look for the following // dependencies: 'ae_options', 'lib/mutations', and 'utilities'. All // other params will be rejected var possible_deps = ['ae_options', 'lib/mutations', 'utilities']; if (possible_deps.indexOf(dep) === -1) { throw new Error('AudioEye.require was called with "' + dep + '", which is not supported.'); } switch (dep) { case 'ae_options': callback(AudioEye.productConfig); return AudioEye.productConfig; case 'lib/mutations': case 'utilities': // the requested library is already defined, pass it to the callback // and return it as well. if (AudioEye.require._definedDeps[dep]) { callback(AudioEye.require._definedDeps[dep]); return AudioEye.require._definedDeps[dep]; } // Set the callback for this dependency. The callback will be // called when the platform defines the requested library. if (!AudioEye.require._callbacks[dep]) { AudioEye.require._callbacks[dep] = []; } AudioEye.require._callbacks.push(callback); return; } } catch (e) { log('Unable to satisfy call to AudioEye.require(). See next error for more info.'); throw e; } }; // Either set the factory to an object to be used later, or immediately pass // it to any awaiting callbacks. window.AudioEye.define = function (dep, factory) { if (!AudioEye.require._definedDeps) { AudioEye.require._definedDeps = {}; } AudioEye.require._definedDeps[dep] = factory; // nothing has required anything yet if (!AudioEye.require._callbacks) return; // nothing has required this lib yet if (Array.isArray(AudioEye.require._callbacks[dep])) { // pass the factory to each callback AudioEye.require._callbacks[dep].forEach(function (cb) { cb(factory); }); // remove the callbacks to prevent duplicate calls AudioEye.require._callbacks[dep] = []; } }; })(); ae_loadScript("https://wsv3cdn.audioeye.com/v2/build/startup.bundle.0592222.js"); // Determine startup routine (pdf or standard) AudioEye.mode = (function () { var extension = false; if(!site_id && extension){ return 'anonymous' } if (AudioEye.portal_preview === true) { return 'pdf'; } // no accessible_pdf config if (!('pdf-links' in options) || options['pdf-links']['pdf_page'] === "") { return 'standard'; } // pdf config OFF if (!options['pdf-links']['service']) { return 'standard'; } var page_url = window.location.href; // this page is set as the pdf display page if (page_url.indexOf(options['pdf-links']['pdf_page']) !== -1) { return 'pdf'; } else { return 'standard'; } })(); var loaderRunStartup = function(tries) { if (!AudioEye.runStartup) { var wait = 100; if (tries > 50) { wait = wait * tries; } setTimeout(function() { loaderRunStartup(++tries) }, wait); return; } AudioEye.runStartup(AudioEye.mode, { 'portal_url': 'portal.audioeye.com', 'interface': "
\n \n \n
\n\n \n <\/div>\n \n\n \n
\n\n \n
Opens in new window<\/div>\n
PDF Download<\/div>\n
Word Download<\/div>\n
Excel Download<\/div>\n
PowerPoint Download<\/div>\n
Document Download<\/div>\n\n \n