1<!DOCTYPE html> 2 3<html lang="en"> 4 5<head> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7 <title>Fred Fincher Motors located in Houston, TX</title> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 9 <meta name="description" content="Fred Fincher Motors is conveniently located at 14700 TOMBALL PKWY. We can also be reached by calling 281-444-2200"> 10 <meta name="og:image" property="og:image" content="https://imagescdn.dealercarsearch.com/DealerImages/27039/51187/logo.png"> 11 <meta name="og:url" property="og:url" content="https://fredfinchermotors.com/store"> 12 <meta name="og:title" property="og:title" content="Fred Fincher Motors located in Houston, TX"> 13 <meta name="og:description" property="og:description" content="Fred Fincher Motors is conveniently located at 14700 TOMBALL PKWY. We can also be reached by calling 281-444-2200"> 14 <meta property="og:type" content="website" /> 15 <meta name="ahrefs-site-verification" content="53103b0d9242445bf5556befdfb2c6276ecca58675c43bb2eb60ad5be6a227df"> 16 17 18<link rel="preconnect" href="https://www.googletagmanager.com"/> 19 20 <link rel="stylesheet" href="/dealers/27001_28000/27039/51187.min.css?v=CzRuJztYZQwnS1YEhBFw3Q3jNf_QJM-vbu0xOBRjc64" /> 21 <link rel="canonical" href="https://fredfinchermotors.com/store" /> 22<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 22-23
22 23<script async src="https://www.googletagmanager.com/gtag/js?id=
23G-3RNWQYM023
vendor: 13 bytes, line 23
23"></script>
24<script> 25
vendor: 136 bytes, lines 25-28
25window.dataLayer = window.dataLayer || []; 26 function gtag(){dataLayer.push(arguments);} 27 gtag('js', new Date()); 28 gtag('config', '
28G-3RNWQYM023
vendor: 5 bytes, line 28
28');
29</script>
29 30 31 32</head> 33 34 35<body class="listPage store-dcs"> 36 <div class="body-bg"></div> 37 <header class="s75r-header fixed-top" id="siteHead"> 38 <div class="s75r-hamburger-logo-addy"> 39 <div class="s75r-menu-logo"> 40 41 42
42<script type="text/javascript"> 43 var pageTitle = ""; 44 var pageH1 = ""; 45 var pageTitleLength = "0"; 46 47 // The UDO minus the AI Sales Agent's attribution. Those variables are scoped to view 48 // events (DCS-2549), yet they live on init_utag_data because the view events that refire 49 // from it read it at fire time - product_list_view on an SRP filter change, 50 // blog_article_view on a blog ajax refresh. So every NON-view event builds its payload 51 // through here instead of copying init_utag_data itself, and one rule covers them all. 52 // 53 // Declared in this unconditional block, so it exists no matter which of the gated Tealium 54 // blocks below render; it reads init_utag_data only when called, long after parse. 55 function dcsUdoForNonViewEvent() { 56 var data = {}; 57 if (typeof init_utag_data === 'undefined' || !init_utag_data) { return data; } 58 for (var k in init_utag_data) { 59 if (!init_utag_data.hasOwnProperty(k)) { continue; } 60 if (k.indexOf('aisa_') === 0) { continue; } 61 data[k] = init_utag_data[k]; 62 } 63 return data; 64 } 65 66 try { 67 var pageTitleEl = document.querySelector('meta[name="og:title"]') 68 69 if (pageTitleEl != null) { 70 pageTitle = pageTitleEl.content; 71 pageTitleLength = pageTitle.length; 72 } 73 document.addEventListener("DOMContentLoaded", 74 function () { 75 76 var pageH1El = document.querySelector("h1"); 77 78 if (pageH1El != null) { 79 var h1Text = pageH1El.innerText; 80 81 if (h1Text != null) { 82 pageH1 = h1Text; 83 84 if (init_utag_data && init_utag_data.page_h1 != null) { 85 init_utag_data.page_h1 = h1Text; 86 } 87 88 } 89 } 90 else { 91 if (init_utag_data["page_h1"] === "" || init_utag_data["page_h1"] === null) { 92 delete init_utag_data["page_h1"]; 93 } 94 } 95 96 97 }); 98 } 99 catch (e) { 100 console.error('[dcs-tealium] page title/h1 setup failed', e); 101 } 102 </script>
vendor: 2 bytes, line 102
102
103<script type="text/javascript"> 104var init_utag_data = { 105"tealium_event": "standard_view", 106"ga4_id": "G-H7835ZMRG1", 107"page_title": pageTitle, 108"page_h1": pageH1 , 109"page_title_count": pageTitleLength, 110"digital_retailing_active": "false", 111"ai_product_expert_active": "false", 112"site_company_name": "Fred Fincher Motors", 113"site_id": "51187", 114"site_internal_id": "27039", 115"site_platform": "dcs", 116"site_section": "locations", 117"site_sub_section": "location detail", 118"site_company_city": "Houston", 119"site_company_state": "TX", 120"site_company_zip_code": "77086", 121"site_phone_main": "281-444-2200", 122}; 123</script>
123 124
124<script type="text/javascript"> 125 var utag_data = init_utag_data; 126 </script>
vendor: 2 bytes, line 126
126
127<script type="text/javascript"> 128utag_data = init_utag_data; 129(function (a, b, c, d) { 130a = 'https://tags.tiqcdn.com/utag/dtms/dcs-eas/prod/utag.js'; 131b = document; c = 'script'; d = b.createElement(c); d.src = a; d.type = 'text/java' + c; d.async = true; 132a = b.getElementsByTagName(c)[0]; a.parentNode.insertBefore(d, a); 133})(); 134window.addEventListener("load", function (event) { 135(function fireView(n) { 136if (typeof utag !== 'undefined' && typeof utag.view === 'function') { 137window.dcsUtagReady = true; 138var dcsViewPayload = ''; 139try { dcsViewPayload = JSON.stringify(utag_data); } catch (e) { dcsViewPayload = '(not serializable)'; } 140var dcsNoisyPrefixes = ['cp.', 'ls.', 'ss.', 'dom.', 'ut.', 'meta.', 'qp.', 'va.', 'tealium_', '_']; 141var dcsOurs = {}, dcsTotal = 0, dcsOurCount = 0; 142for (var dcsK in utag_data) { 143if (!utag_data.hasOwnProperty(dcsK)) { continue; } 144dcsTotal++; 145var dcsNoisy = false; 146for (var dcsI = 0; dcsI < dcsNoisyPrefixes.length; dcsI++) { if (dcsK.indexOf(dcsNoisyPrefixes[dcsI]) === 0) { dcsNoisy = true; break; } } 147if (!dcsNoisy) { dcsOurs[dcsK] = utag_data[dcsK]; dcsOurCount++; } 148} 149var dcsTealiumDebug = false || document.cookie.indexOf('utagdb=true') >= 0; 150try { 151utag.view(utag_data); 152window.dcsUtagViewSent = dcsViewPayload; 153if (dcsTealiumDebug) { console.log('[cms-tealium] sent ' + (utag_data.tealium_event || '(no tealium_event)') + ' | conversation=' + (utag_data.aisa_conversation_id || '-') + ' | widget=' + (utag_data.aisa_widget_version || '-') + ' | ' + dcsOurCount + '/' + dcsTotal + ' vars from DCS', dcsOurs); } 154} catch (e) { console.error('[cms-tealium] utag.view threw; page view not sent', e, dcsViewPayload); } 155return; 156} 157if (n >= 100) { console.error('[cms-tealium] utag.js never loaded after 10s; no page view sent'); return; } 158setTimeout(function () { fireView(n + 1); }, 100); 159})(0); 160}); 161</script>
161 162
162<script type="text/javascript"> 163 var formName = ''; 164 var form_submit_utag_data = { 165"tealium_event": "form_submit", 166"form_name": formName, 167"form_type": formName, 168"form_id": formName, 169"ga4_id": "G-H7835ZMRG1", 170"page_title": pageTitle, 171"page_title": pageH1, 172"page_title_count": pageTitleLength, 173"page_h1": pageH1, 174"digital_retailing_active": "false", 175"ai_product_expert_active": "false", 176"site_company_name": "Fred Fincher Motors", 177"site_id": "51187", 178"site_internal_id": "27039", 179"site_platform": "dcs", 180"site_section": "locations", 181"site_sub_section": "location detail", 182"site_company_city": "Houston", 183"site_company_state": "TX", 184"site_company_zip_code": "77086", 185"site_phone_main": "281-444-2200", 186"form_submission_first_name": "", 187"form_submission_last_name": "", 188"form_submission_middle_name": "", 189"form_submission_address": "", 190"form_submission_email": "", 191"form_submission_location_name": "", 192"form_submission_mobile_phone": "", 193"form_submission_home_phone": "", 194"form_submission_postal_code": "", 195"form_submission_city": "", 196"form_submission_trade_in_vin": "", 197"form_submission_trade_in_make": "", 198"form_submission_trade_in_miles": "", 199"form_submission_trade_in_model": "", 200"form_submission_trade_in_year": "", 201"form_submission_trade_in_cylinders": "", 202"form_submission_trade_in_transmission": "", 203"form_submission_trade_in_color": "", 204"form_submission_trade_in_payoff_amount": "", 205"form_submission_trade_in_wrecked": "", 206"form_submission_trade_in_vehicle_option": "", 207}; 208 209 </script>
209 210
210<script type="text/javascript"> 211 function getCookie(name) { 212 var nameEQ = name + "="; 213 var cookies = document.cookie.split(';'); 214 if(typeof(cookies) != 'undefined' && cookies != null ) { 215 for (var i = 0; i < cookies.length; i++) { 216 var cookie = cookies[i].trim(); 217 if (cookie.indexOf(nameEQ) === 0) { 218 return cookie.substring(nameEQ.length); 219 } 220 } 221 } 222 return null; 223 } 224 225 function tealiumFormSubmit(formNameVal) { 226 if (!form_submit_utag_data) { 227 return; 228 } 229 formName = formNameVal; 230 form_submit_utag_data.tealium_event = 'form_submit'; 231 232 var webLeadIdCookie = getCookie('webLeadId'); 233 if (webLeadIdCookie) { 234 form_submit_utag_data.form_submission_id = webLeadIdCookie; 235 } 236 237 utag.link(form_submit_utag_data); 238 }; 239 240 241 // Build a per-event copy of init_utag_data. init_utag_data is aliased by utag_data 242 // (the page-view object), so form events must NOT mutate it in place - doing so 243 // stamps tealium_event='form_load' etc. onto the page view and corrupts it. 244 function tealiumFormData(formNameVal, eventName) { 245 var data = dcsUdoForNonViewEvent(); 246 data.tealium_event = eventName; 247 data.form_name = formNameVal; 248 data.form_id = formNameVal; 249 data.form_type = formNameVal; 250 return data; 251 } 252 253 function tealiumFormLoad(formNameVal) { 254 if (!init_utag_data || typeof utag === 'undefined') { 255 return; 256 } 257 formName = formNameVal; 258 utag.link(tealiumFormData(formNameVal, 'form_load')); 259 }; 260 261 function tealiumFormInteraction(formNameVal) { 262 if (!init_utag_data || typeof utag === 'undefined') { 263 return; 264 } 265 formName = formNameVal; 266 utag.link(tealiumFormData(formNameVal, 'form_interaction')); 267 } 268 269 function tealiumLink(formName) { 270 if (!init_utag_data) 271 return 272 utag.link(init_utag_data); 273 } 274 275 // On list pages (SRP) init_utag_data carries index-aligned product_list_* arrays 276 // instead of a single product. When a shared modal (SMS / Price Drop) opens for a 277 // specific row, set the singular product_* fields for that vehicle so the 278 // form_load / form_interaction events carry per-vehicle context. No-ops on VDP 279 // (no product_list_* arrays), leaving the existing single-product data intact. 280 function tealiumSetListVehicleContext(inventoryId) { 281 if (!init_utag_data || !inventoryId) { return; } 282 var ids = init_utag_data.product_list_ids; 283 if (!ids || !ids.length) { return; } 284 var idx = ids.indexOf(String(inventoryId)); 285 var map = { 286 product_id: 'product_list_ids', 287 product_name: 'product_list_names', 288 product_make: 'product_list_makes', 289 product_brand: 'product_list_brands', 290 product_brand_id: 'product_list_make_ids', 291 product_year: 'product_list_years' 292 }; 293 for (var target in map) { 294 var arr = init_utag_data[map[target]]; 295 if (idx > -1 && arr && idx < arr.length) { 296 init_utag_data[target] = arr[idx]; 297 } else { 298 delete init_utag_data[target]; 299 } 300 } 301 } 302 303 function aipeModalOpen() { 304 if (!init_utag_data || typeof utag === 'undefined') { 305 return; 306 } 307 // Per-event copy - see tealiumFormData comment above for why init_utag_data 308 // must not be mutated in place. 309 var data = dcsUdoForNonViewEvent(); 310 data.tealium_event = 'aipe_modal_open'; 311 utag.link(data); 312 } 313 314 function getTradeOptions() { 315 var stringOptionsVal = ""; 316 $('input[id="vehicleOptions"]:checked').each(function () { 317 let element = $(this); 318 let value = element.val(); // Get the value of the checked element
319 stringOptionsVal += (value + ' ,'); 320 }); 321 return stringOptionsVal; 322 323 } 324 function addTealiumFormInfo(formNameVal, removeTags) { 325 326 var removeFormSubmitTags = false 327 if (removeTags && removeTags == true) 328 removeFormSubmitTags = true 329 330 331 if (!form_submit_utag_data) 332 return 333 334 formName = formNameVal; 335 336 var tForm = document.getElementById(formName); 337 338 if (!tForm) { 339 var formByClass = document.getElementsByClassName(formName); 340 tForm = formByClass && formByClass[0] ? formByClass[0] : null; 341 } 342 343 try { 344 if (tForm && tForm != null && form_submit_utag_data) { 345 346 form_submit_utag_data.form_name = formName; 347 form_submit_utag_data.form_id = formName; 348 form_submit_utag_data.form_type = formName; 349 350 var webLeadIdCookie = getCookie('webLeadId'); 351 if (webLeadIdCookie) { 352 form_submit_utag_data.form_submission_id = webLeadIdCookie; 353 } 354 355 //Lead Info 356 form_submit_utag_data.form_submission_first_name = tForm.querySelector(`${'#FirstName'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#FirstName'}`).value : document.getElementById('txtFirstName') ? document.getElementById('txtFirstName').value : null; 357 form_submit_utag_data.form_submission_last_name = tForm.querySelector(`${'#LastName'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#LastName'}`).value : document.getElementById('txtLastName') ? document.getElementById('txtLastName').value : null; 358 form_submit_utag_data.form_submission_mobile_phone = tForm.querySelector(`${'#MobilePhone'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#MobilePhone'}`).value : document.getElementById('txtMobilePhone') ? document.getElementById('txtMobilePhone').value : null; 359 form_submit_utag_data.form_submission_home_phone = tForm.querySelector(`${'#HomePhone'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#HomePhone'}`).value : document.getElementById('txtHomePhone') ? document.getElementById('txtHomePhone').value : null; 360 form_submit_utag_data.form_submission_email = tForm.querySelector(`${'#Email'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#Email'}`).value : document.getElementById('txtEmail') ? document.getElementById('txtEmail').value : null; 361 form_submit_utag_data.form_submission_postal_code = tForm.querySelector(`${'#txtZip'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtZip'}`).value : document.getElementById('txtZip') ? document.getElementById('txtZip').value : null; 362 form_submit_utag_data.form_submission_city = tForm.querySelector(`${'#txtCity'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtCity'}`).value : document.getElementById('txtCity') ? document.getElementById('txtCity').value : null; 363 364 if (formName.toLowerCase().includes("credit") || formName.toLowerCase().includes("default")) { 365 form_submit_utag_data.form_submission_first_name = document.getElementById('txtApplicantFirstName') && removeFormSubmitTags == false ? document.getElementById('txtApplicantFirstName').value : null; 366 form_submit_utag_data.form_submission_last_name = document.getElementById('txtApplicantLastName') && removeFormSubmitTags == false ? document.getElementById('txtApplicantLastName').value : null; 367 form_submit_utag_data.form_submission_mobile_phone = document.getElementById('txtApplicantMobilePhone') && removeFormSubmitTags == false ? document.getElementById('txtApplicantMobilePhone').value : null; 368 form_submit_utag_data.form_submission_home_phone = document.getElementById('txtApplicantHomePhone') && removeFormSubmitTags == false ? document.getElementById('txtApplicantHomePhone').value : null; 369 form_submit_utag_data.form_submission_email = document.getElementById('txtApplicantEmail') && removeFormSubmitTags == false ? document.getElementById('txtApplicantEmail').value : null; 370 form_submit_utag_data.form_submission_postal_code = document.getElementById('txtApplicantZip') && removeFormSubmitTags == false ? document.getElementById('txtApplicantZip').value : null; 371 form_submit_utag_data.form_submission_city = document.getElementById('txtApplicantCity') && removeFormSubmitTags == false ? document.getElementById('txtApplicantCity').value : null; 372 form_submit_utag_data.form_submission_address = document.getElementById('txtApplicantAddress1') && removeFormSubmitTags == false ? document.getElementById('txtApplicantAddress1').value : document.getElementById('txtApplicantHomeAddress1') ? document.getElementById('txtApplicantHomeAddress1').value : null; 373 374 form_submit_utag_data.product_make = document.getElementById('txtVehicleMake') && removeFormSubmitTags == false ? document.getElementById('txtVehicleMake').value : null; 375 form_submit_utag_data.product_brand = document.getElementById('txtVehicleMake') && removeFormSubmitTags == false ? document.getElementById('txtVehicleMake').value : null; 376 form_submit_utag_data.product_model = document.getElementById('txtVehicleModel') && removeFormSubmitTags == false ? document.getElementById('txtVehicleModel').value : null; 377 form_submit_utag_data.product_year = document.getElementById('txtVehicleYear') && removeFormSubmitTags == false ? document.getElementById('txtVehicleYear').value : null; 378 } 379 //Trade Forms 380 if (formName.toLowerCase().includes("trade") || formName.toLowerCase().includes("lookup")) { 381 form_submit_utag_data.form_submission_trade_in_make = tForm.querySelector(`${'#txtMake'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtMake'}`).value : $('#tradein-make-select').find(":selected").text(); 382 form_submit_utag_data.form_submission_trade_in_model = tForm.querySelector(`${'#txtModel'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtModel'}`).value : $('#tradein-model-select').find(":selected").text(); 383 form_submit_utag_data.form_submission_trade_in_miles = tForm.querySelector(`${'#txtMileage'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtMileage'}`).value : null; 384 form_submit_utag_data.form_submission_trade_in_year = tForm.querySelector(`${'#VehicleYear'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#VehicleYear'}`).value : $('#tradein-year-select').find(":selected").text() != '' ? $('#tradein-year-select').find(":selected").text() : $('#ddlYear').find(":selected").text(); 385 form_submit_utag_data.form_submission_trade_in_color = tForm.querySelector(`${'#txtColor'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtColor'}`).value : null; 386 form_submit_utag_data.form_submission_trade_in_cylinders = tForm.querySelector(`${'#txtEngine'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtEngine'}`).value : null; 387 form_submit_utag_data.form_submission_trade_in_vin = tForm.querySelector(`${'#txtVin'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtVin'}`).value : null; 388 form_submit_utag_data.form_submission_trade_in_transmission = tForm.querySelector(`${'#txtTransmission'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtTransmission'}`).value : null; 389 form_submit_utag_data.form_submission_trade_in_payoff_amount = tForm.querySelector(`${'#txtPayoff'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtPayoff'}`).value : null; 390 form_submit_utag_data.form_submission_trade_in_wrecked = tForm.querySelector(`${'#txtWrecked'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtWrecked'}`).value : null; 391 form_submit_utag_data.form_submission_trade_in_vehicle_option = getTradeOptions(); 392 form_submit_utag_data.form_submission_trade_in_color = tForm.querySelector(`${'#txtColor'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtColor'}`).value : null; 393 } 394 395 //Buy Now form 396 if (formName.toLowerCase().includes("buynow")) { 397 form_submit_utag_data.form_submission_first_name = tForm.querySelector(`${'#txtLeadFirstName'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtLeadFirstName'}`).value : null; 398 form_submit_utag_data.form_submission_last_name = tForm.querySelector(`${'#txtLeadLastName'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtLeadLastName'}`).value : null; 399 form_submit_utag_data.form_submission_home_phone = tForm.querySelector(`${'#txtLeadHomePhone'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtLeadHomePhone'}`).value : null; 400 form_submit_utag_data.form_submission_email = tForm.querySelector(`${'#txtLeadEmail'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtLeadEmail'}`).value : null; 401 } 402 403 //Service, parts , detail, rental forms 404 if (formName.toLowerCase().includes("service") || formName.toLowerCase().includes("rental") || formName.toLowerCase().includes("detailing") || formName.toLowerCase().includes("parts")) { 405 form_submit_utag_data.product_make = tForm.querySelector(`${'#txtMake'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtMake'}`).value : $('#tradein-make-select').find(":selected").text(); 406 form_submit_utag_data.product_brand = tForm.querySelector(`${'#txtMake'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtMake'}`).value : $('#tradein-make-select').find(":selected").text(); 407 form_submit_utag_data.product_model = tForm.querySelector(`${'#txtModel'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtModel'}`).value : $('#tradein-model-select').find(":selected").text(); 408 form_submit_utag_data.product_year = tForm.querySelector(`${'#VehicleYear'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#VehicleYear'}`).value : $('#ddlYear').find(":selected").text(); 409 } 410 411 //Car Proof forms (CarProofForm, Mod
411alCarProofForm) 412 if (formName.toLowerCase().includes("carproof")) { 413 form_submit_utag_data.form_submission_first_name = tForm.querySelector(`${'#txtCarProofFirstName'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtCarProofFirstName'}`).value : null; 414 form_submit_utag_data.form_submission_last_name = tForm.querySelector(`${'#txtCarProofLastName'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtCarProofLastName'}`).value : null; 415 form_submit_utag_data.form_submission_email = tForm.querySelector(`${'#txtCarProofEmail'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtCarProofEmail'}`).value : null; 416 form_submit_utag_data.form_submission_mobile_phone = tForm.querySelector(`${'#txtCarProofPhoneNumber'}`) && removeFormSubmitTags == false ? tForm.querySelector(`${'#txtCarProofPhoneNumber'}`).value : null; 417 } 418 419 //SMS text forms (ModalSmsTextForm, EmbedSmsTextForm, ResponsiveSmsForm, ResponsiveSmsTextingForm) 420 if (formName.toLowerCase().includes("sms")) { 421 var smsFirstName = tForm.querySelector('#txtSMSFirstName, #txtEmbedSMSFirstName, #txtSMSFirstNameForm, #txtSMSFirstNameFS'); 422 var smsLastName = tForm.querySelector('#txtSMSLastName, #txtEmbedSMSLastName, #txtSMSLastNameForm, #txtSMSLastNameFS'); 423 var smsMobilePhone = tForm.querySelector('#txtSMSPhoneNumber, #txtEmbedSMSPhoneNumber, #txtSMSPhoneNumberForm, #txtSMSPhoneNumberFS'); 424 form_submit_utag_data.form_submission_first_name = smsFirstName && removeFormSubmitTags == false ? smsFirstName.value : null; 425 form_submit_utag_data.form_submission_last_name = smsLastName && removeFormSubmitTags == false ? smsLastName.value : null; 426 form_submit_utag_data.form_submission_mobile_phone = smsMobilePhone && removeFormSubmitTags == false ? smsMobilePhone.value : null; 427 } 428 429 //Forms whose email input is bound to EmailAddress (ScheduleTestDriveForm, SimpleLeadCaptureForm, etc.) 430 if ((form_submit_utag_data.form_submission_email == null || form_submit_utag_data.form_submission_email === "") && removeFormSubmitTags == false) { 431 var emailAddressEl = tForm.querySelector(`${'#EmailAddress'}`); 432 if (emailAddressEl) { 433 form_submit_utag_data.form_submission_email = emailAddressEl.value; 434 } 435 } 436 } 437 438 if (form_submit_utag_data) { 439 440 for (var propName in form_submit_utag_data) { 441 if (form_submit_utag_data[propName] === "" || form_submit_utag_data[propName] === null) { 442 delete form_submit_utag_data[propName]; 443 } 444 } 445 } 446 } 447 catch 448 { 449 console.log('Tealium form error ') 450 return null; 451 } 452 453 finally { 454 } 455 } 456 457 function formInteractionListener(formClass, formId, interactionType) { 458 try { 459 var formName = formClass ?? formId; 460 var form = document.querySelector((formClass != null ? '.' : '#') + formName); 461 462 var interacted = false; 463 464 form.addEventListener(interactionType ?? 'change', function () { 465 if (interacted == true) 466 return 467 interacted = true; 468 addTealiumFormInfo(formName, true) 469 470 tealiumFormInteraction(formName) 471 }, { once: true });
472 } 473 474 catch { 475 console.log('error loading form interaction events: ' + formName) 476 } 477 } 478 479 // Form events must wait until utag is fully initialized - not merely defined. 480 // window.dcsUtagReady is set right after the initial utag.view (see GetUTagScript), 481 // which is the point the data layer/tags are established. Firing before that runs 482 // load rules on an uninitialized utag and crashes it ("called before tags loaded"). 483 function whenUtagReady(callback, attempts) { 484 attempts = attempts || 0; 485 if (typeof utag !== 'undefined' && window.dcsUtagReady === true) { 486 callback(); 487 return; 488 } 489 if (attempts >= 150) { 490 return; 491 } 492 setTimeout(function () { whenUtagReady(callback, attempts + 1); }, 100); 493 } 494 495 function formLoadListener(formClass, formId) { 496 try { 497 var formName = formClass ?? formId; 498 var viewed = false; 499 var observer = new IntersectionObserver(function (entries) { 500 501 502 if (entries[0].isIntersecting === true && viewed == false) { 503 viewed = true; 504 addTealiumFormInfo(formName, true) 505 // utag.js loads async; if the form is above the fold the observer 506 // can fire before utag exists, so defer until it is ready. The 507 // extra delay pushes the fire past document_idle so Tealium's event 508 // viewer (whose capture hook attaches after window.load) sees it. 509 whenUtagReady(function () { setTimeout(function () { tealiumFormLoad(formName) }, 750) }) 510 } 511 }, { threshold: [0] }); 512 513 observer.observe(document.querySelector((formClass != null ? '.' : '#') + formName)); 514 } 515 catch { 516 console.log('error loading form interaction events: ' + formName) 517 518 } 519 } 520 </script>
520 521 522 523<a id="hlLogo" aria-label="Dealer Logo" href="//fredfinchermotors.com"> 524 <img class="dealerLogo logo logo_27039 img-fluid" title="Fred Fincher Motors" alt="Fred Fincher Motors" src="https://imagescdn.dealercarsearch.com/DealerImages/27039/51187/logo.png" /> 525</a> 526 527 <div id="MenuPane" class="s75r_menuPane"> 528 529<div class="ContentPane_353894 HTMLModule HTMLModule_353894"> 530 531 532<div class="s75r-phone-menu"> 533<a href="tel:+1281-444-2200" class="mob-phone-btn" aria-label="call us"><i class="fa-solid fa-phone"></i> <span class="d-none">281-444-2200</span></a> 534<a href="javascript:void(0)" class="mob-menu-btn" data-toggle="collapse" data-target="#siteNav" aria-controls="siteNav" aria-expanded="false" aria-label="Toggle navigation" role="button" tabindex="0"><span></span></a> 535<!--a href="javascript:void(0)" class="mob-menu-btn" data-toggle="modal" data-target="#HoursModal"--> 536<!-- <a href="/store" class="mob-menu-btn"> 537 <i class="fas fa-map-marker-alt"></i> Hours & Location 538</a> 539 --> 540</div></div> 541<div class="ContentPane_353897 SocialMedia SocialMedia_353897"> 542 543<div class="socialMedia"> 544 545 546 547 548 549 550 551 552 553</div></div> 554<div class="ContentPane_353888 OpenSearch OpenSearch_353888"> 555<form action="/newandusedcars" method="get" class="form-inline"> 556 <input class="d-none" name="clearall" value="1" /> 557 <div class="input-group"> 558 <input class="form-control" type="text" placeholder="Search" aria-label="Open Search" name="OpenSearch" /> 559 <div class="input-group-append"> 560 <button type="submit" class="btn"><i class="fa-solid fa-magnifying-glass"></i></button> 561 </div> 562 </div> 563 <span class="text-danger field-validation-valid" data-valmsg-for="OpenSearch" data-valmsg-replace="true"></span> 564 <div class="RowIce"><input type='text' autocomplete='off' aria-label='Name' name='Name' class='form-control' /></div> 565</form> 566</div></div> 567 </div> 568 </div> 569 <div class="s75r_menuBar"> 570 571 <nav id="s75r_menu" class="navbar navbar-expand-xl"> 572 <button class="siteMenu navbar-toggler" type="button" data-toggle="collapse" data-target="#siteNav" aria-controls="siteNav" aria-expanded="false" aria-label="Toggle navigation"> 573 Site Menu 574 </button> 575 <div class="collapse navbar-collapse" id="siteNav"> 576 <ul class="navbar-nav "> 577 578 <li class="nav-item "> 579 <a href="/inventory?clearall=1" class="nav-link" > 580 <span>Inventory</span> 581 </a> 582 583 </li> 584 <li class="nav-item dropdown"> 585 <a href="/creditapp?" class="nav-link dropdown-toggle" data-toggle=dropdown aria-haspopup=true aria-expanded=false > 586 <span>Financing</span> 587 </a> 588 589 <div class="dropdown-menu"> 590 <a class="dropdown-item" href="/creditapp" ><span>Apply Online</span></a> 591 <a class="dropdown-item" href="/loancalculator" ><span>Loan Calculator</span></a> 592 </div> 593 </li> 594 <li class="nav-item "> 595 <a href="/reviews" class="nav-link" > 596 <span>Reviews</span> 597 </a> 598 599 </li> 600 <li class="nav-item dropdown"> 601 <a href="/sendcomments?" class="nav-link dropdown-toggle" data-toggle=dropdown aria-haspopup=true aria-expanded=false > 602 <span>Services</span> 603 </a> 604 605 <div class="dropdown-menu"> 606 <a class="dropdown-item" href="/trade" ><span>Sell or Trade Your Car</span></a> 607 <a class="dropdown-item" href="/locatorservice" ><span>Vehicle Finder</span></a> 608 </div> 609 </li> 610 <li class="nav-item dropdown"> 611 <a href="/directions?" class="nav-link dropdown-toggle" data-toggle=dropdown aria-haspopup=true aria-expanded=false >
612 <span>Our Store</span> 613 </a> 614 615 <div class="dropdown-menu"> 616 <a class="dropdown-item" href="/store" ><span>Store Info</span></a> 617 <a class="dropdown-item" href="/blog" ><span>Blog</span></a> 618 <a class="dropdown-item" href="/aboutus" ><span>About Us</span></a> 619 <a class="dropdown-item" href="/meetourstaff" ><span>Meet Our Staff</span></a> 620 <a class="dropdown-item" href="/privacy" ><span>Privacy Policy</span></a> 621 <a class="dropdown-item" href="/terms" ><span>Terms of Service</span></a> 622 </div> 623 </li> 624 </ul> 625 </div> 626 </nav> 627 628 629 <div id="AddressPane" class="s75r_addressPane"> 630 631<div class="ContentPane_353895 AddressAndPhone AddressAndPhone_353895"> 632 633<div class="AddressPhone_Main"> 634 <span class="LabelAddress1"> 635 <i class="fa-solid fa-location-dot"></i> 14700 TOMBALL PKWY 636 </span> 637 <span class="LabelCityStateZip1">Houston, TX 77086</span> 638 639 640 641 642</div> 643</div> 644<div class="ContentPane_353896 AddressAndPhone AddressAndPhone_353896"> 645 646<div class="AddressPhone_Main"> 647 <span class="LabelPhone1"> 648 <i class="fa-solid fa-phone"></i> 649 <a href='tel:281-444-2200'> 650 281-444-2200 651 </a> 652 </span> 653 654 655 656 657</div> 658</div> 659<div class="ContentPane_353889 SocialMedia SocialMedia_353889"> 660 661<div class="socialMedia"> 662 663 664 665 666 667 668 669 670 671</div></div></div> 672 </div> 673 </header> 674 675 <section id="Content_wrap"> 676 677 <div id="ContentPane" class="s75r_list container clearfix"> 678 679<div class="ContentPane_2509456 AddressAndPhone2 AddressAndPhone2_2509456"> 680 681<div class="AddressPhone2_Main"> 682 <h5 class="LabelDealershipName">Fred Fincher Motors</h5> 683 <span class="LabelAddress1">14700 TOMBALL PKWY</span> 684 <span class="LabelCityStateZip1">Houston, TX 77086</span> 685 <span class="LabelPhone1"> 686 <a href='tel:281-444-2200'> 687 281-444-2200 688 </a> 689 </span> 690 <span class="LabelEmail"> 691 <a href='mailto:[email protected]'> 692 [email protected] 693 </a> 694 </span> 695</div> 696</div> 697<div class="ContentPane_2509458 ResponsiveSendComments ResponsiveSendComments_2509458"> 698 <h1 class="dealerTitle">Contact Fred Fincher Motors</h1> 699<div id="ResponsiveSendCommentsFormWrapper" class="sendcommentsFormWrapper"> 700 <form id="ResponsiveSendCommentsForm" data-ajax="true" data-ajax-method="post" data-ajax-mode="replace-with" data-ajax-update="#ResponsiveSendCommentsFormWrapper" data-ajax-success="formTrack('success','ResponsiveSendCommentsForm');redirect('')" data-ajax-failure="ajaxFailure" data-ajax-loading="#ResponsiveSendCommentsFormSpinner" data-ajax-begin="$('#ResponsiveSendCommentsFormButton').prop('disabled',true);addTealiumFormInfo('ResponsiveSendCommentsForm');" data-ajax-complete="$('#ResponsiveSendCommentsFormButton').prop('disabled',false);formLeadTracking(null, '', 'Responsive Send Comments Form');" data-recaptcha-id="ResponsiveSendCommentsRecaptchaToken" data-recaptcha-site-key="" data-recaptcha-type="Undefined" action="/LeadModule/ResponsiveSendCommentsSubmitForm?pagename=store&modulename=ResponsiveSendCommentsForm" method="post"> 701 702 <div class="row"> 703 <div class="firstNameInput col-lg-6 gutter mb-2"> 704 <div class="form-group"> 705 <label id="lblFirstName" for="FirstName">First Name:</label> 706 <input aria-labelledby="lblFirstName" type="text" id="txtFirstName" class="form-control" data-val="true" data-val-required="The First Name field is required." name="FirstName" value="" />
707 <span class="text-danger field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span> 708 </div> 709 </div> 710 <div class="lastNameInput col-lg-6 gutter mb-2"> 711 <div class="form-group"> 712 <label id="lblLastName" for="LastName">Last Name:</label> 713 <input type="text" aria-labelledby="lblLastName" id="txtLastName" class="form-control" data-val="true" data-val-required="The Last Name field is required." name="LastName" value="" /> 714 <span class="text-danger field-validation-valid" data-valmsg-for="LastName" data-valmsg-replace="true"></span> 715 </div> 716 </div> 717 </div> 718 719 <div class="form-group"> 720 <label id="lblCity lblState lblZip">City / State / Zip:</label> 721 <div class="row"> 722 <div class="cityInput col-md-4 mb-2"> 723 <input aria-label="lblCity" type="text" id="txtCity" class="form-control col" placeholder="City" data-val="true" data-val-required="The City field is required." name="City" value="" /> 724 <span class="text-danger field-validation-valid" data-valmsg-for="City" data-valmsg-replace="true"></span> 725 </div> 726 <div class="stateInput col-md-4 mb-2"> 727 <select class="form-control" id="ddlState" aria-label="lblState" data-val="true" data-val-required="The State field is required." name="State"> 728 <option value="">Select</option> 729 <option></option> 730<option value="AB">AB</option> 731<option value="AL">AL</option> 732<option value="AK">AK</option> 733<option value="AZ">AZ</option> 734<option value="AR">AR</option> 735<option value="BC">BC</option> 736<option value="CA">CA</option> 737<option value="CO">CO</option> 738<option value="CT">CT</option> 739<option value="DE">DE</option> 740<option value="DC">DC</option> 741<option value="FL">FL</option> 742<option value="GA">GA</option> 743<option value="HI">HI</option> 744<option value="ID">ID</option> 745<option value="IL">IL</option> 746<option value="IN">IN</option> 747<option value="IA">IA</option> 748<option value="KS">KS</option> 749<option value="KY">KY</option> 750<option value="LA">LA</option> 751<option value="ME">ME</option> 752<option value="MD">MD</option> 753<option value="MA">MA</option> 754<option value="MB">MB</option> 755<option value="MI">MI</option> 756<option value="MN">MN</option> 757<option value="MS">MS</option> 758<option value="MO">MO</option> 759<option value="MT">MT</option> 760<option value="NB">NB</option> 761<option value="NC">NC</option> 762<option value="ND">ND</option> 763<option value="NE">NE</option> 764<option value="NH">NH</option> 765<option value="NJ">NJ</option> 766<option value="NL">NL</option> 767<option value="NM">NM</option> 768<option value="NS">NS</option> 769<option value="NT">NT</option> 770<option value="NU">NU</option> 771<option value="NV">NV</option> 772<option value="NY">NY</option> 773<option value="OH">OH</option> 774<option value="OK">OK</option> 775<option value="ON">ON</option> 776<option value="OR">OR</option> 777<option value="PA">PA</option> 778<option value="PE">PE</option> 779<option value="PR">PR</option> 780<option value="QC">QC</option> 781<option value="RI">RI</option> 782<option value="SC">SC</option> 783<option value="SD">SD</option> 784<option value="SK">SK</option> 785<option value="TN">TN</option> 786<option value="TX">TX</option> 787<option value="UT">UT</option> 788<option value="VT">VT</option> 789<option value="VA">VA</option> 790<option value="WA">WA</option> 791<option value="WV">WV</option> 792<option value="WI">WI</option> 793<option value="WY">WY</option> 794<option value="YT">YT</option> 795</select> 796 <span class="text-danger field-validation-valid" data-valmsg-for="State" data-valmsg-replace="true"></span> 797 </div> 798 <div class="zipInput col-md-4 mb-2"> 799 <input aria-label="lblZip" type="text" id="txtZip" class="form-control col" placeholder="Zip" data-val="true" data-val-regex="ex. 40243" data-val-regex-pattern="^((\d{5}-\d{4})|(\d{5})|([AaBbCcEeGgHhJjKkLlMmNnPpRrSsTtVvXxYy]\d[A-Za-z]\s?\d[A-Za-z]\d))$" data-val-required="The Zip field is required." name="Zi
799p" value="" /> 800 <span class="text-danger field-validation-valid" data-valmsg-for="Zip" data-valmsg-replace="true"></span> 801 </div> 802 </div> 803 </div> 804 805 <div class="row"> 806 <div class="mobilePhoneInput col-lg-6 gutter mb-2"> 807 <div class="form-group"> 808 <label id="lblMobilePhone" for="MobilePhone">Mobile Phone:</label> 809 <input type="tel" aria-labelledby="lblMobilePhone" id="txtMobilePhone" class="form-control" data-val="true" data-val-regex="ex. ###-###-####" data-val-regex-pattern="^\([0-9]{3}\)\s?[0-9]{3}(-|\s)?[0-9]{4}$|^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$" name="MobilePhone" placeholder="###-###-####" value="" /> 810 <span class="text-danger field-validation-valid" data-valmsg-for="MobilePhone" data-valmsg-replace="true"></span> 811 </div> 812 </div> 813 <div class="homePhoneInput col-lg-6 gutter mb-2"> 814 <div class="form-group"> 815 <label id="lblHomePhone" for="HomePhone">Home Phone:</label> 816 <input type="tel" aria-labelledby="lblHomePhone" id="txtHomePhone" class="form-control" data-val="true" data-val-regex="ex. ###-###-####" data-val-regex-pattern="^\([0-9]{3}\)\s?[0-9]{3}(-|\s)?[0-9]{4}$|^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$" name="HomePhone" placeholder="###-###-####" value="" /> 817 <span class="text-danger field-validation-valid" data-valmsg-for="HomePhone" data-valmsg-replace="true"></span> 818 </div> 819 </div> 820 </div> 821 822 <div class="emailInput form-group mb-2"> 823 <label id="lblEmail" for="Email">Email:</label> 824 <input type="email" aria-labelledby="lblEmail" id="txtEmail" class="form-control" data-val="true" data-val-required="The Email field is required." name="Email" placeholder="[email protected]" value="" /> 825 <span class="text-danger field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span> 826 </div> 827 <div class="RowIce"><input type='text' autocomplete='off' aria-label='Name' name='Name' class='form-control' /></div> 828 829 <div class="commentsInput form-group"> 830 <label id="lblDescription" for="Description">Comments or Questions:</label> 831 <textarea aria-labelledby="lblDescription" id="txtDescription" class="form-control form-textarea" name="Description" placeholder="How may we help you?"> 832</textarea> 833 <span class="text-danger field-validation-valid" data-valmsg-for="Description" data-valmsg-replace="true"></span> 834 </div> 835 <div class="contact-disclaimer"> 836 <div class="form-group"> 837 <div class="form-check "> 838 <input type="checkbox" aria-label="Contact Consent" class="form-check-input" id="chkContactDisclaimerConsent4805" data-val="true" data-val-required="The ContactDisclaimerConsent field is required." name="ContactDisclaimerConsent" value="true" /> 839 <label for="chkContactDisclaimerConsent4805" aria-labelledby="chkContactDisclaimerConsent4805"> 840 <strong>ACKNOWLEDGMENT AND CONSENT:</strong> 841 </label> 842 <span class="text-danger field-validation-valid" data-valmsg-for="ContactDisclaimerConsent" data-valmsg-replace="true"></span> 843 </div> 844 By checking this box, you expressly consent to receive customer care text messages and/or phone calls to the number provided from or on behalf of Fred Fincher Motors or their employees in response to your inquiry. By opting in, you understand no mobile information will be shared with third parties or affiliates for marketing or promotional purposes. Message frequency varies per user. Message and data rates may apply. You may withdraw your consent at any time by texting "STOP" or "HELP" for help. See our <a href="https://fredfinchermotors.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> for more information. 845 </div> 846</div> 847 848 <div></div> 849 850 <button id="ResponsiveSendCommentsFormButton" class="btn submitButton"> 851 Submit 852 <i id="ResponsiveSendCommentsFormSpinner" class="fa-solid fa-rotate fa-spin fa-fw" style="display: none"></i> 853 </button> 854 855 <input type="hidden" data-val="true" data-val-required="The DID field is required." id="DID" name="DID" value="
8550" /> 856 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8PpyLBkFqepBsOO-JODtNhhSoBQPnnvyk2KmyiKd3uuZkAKkiDew10mtUlx9Fq_4E-2gQk3XXPTtd-3f78ju562g9hymWo-v0zwq3lwUmTw4G4Po5TK5n8sxfkPkz_Dmyy7WrINmTCrqgXH9uRUTtWw" /><input name="ContactDisclaimerConsent" type="hidden" value="false" /></form> 857
857<script type="text/javascript"> 858 document.addEventListener("DOMContentLoaded", 859 function () { 860 if (typeof formInteractionListener === "undefined" || typeof formLoadListener === "undefined") { return; } 861 formInteractionListener(null, 'ResponsiveSendCommentsForm', 'change'); 862 formLoadListener(null, 'ResponsiveSendCommentsForm'); 863 }); 864 </script>
864 865</div></div> 866<div class="ContentPane_2509457 ResponsiveHoursOfOperation ResponsiveHoursOfOperation_2509457"> 867 <h1 class="dcsTitle">Hours of Operation</h1> 868 869<div class="HoursOfOperation_Main"> 870 <h5 aria-label="Hours Of Operation">Store Hours:</h5> 871 872 <table width="100%" class="Table HoursTableSmall"> 873 <tr> 874 <td>Monday:</td> 875 <td> - pm</td> 876 </tr> 877 <tr> 878 <td>Tuesday:</td> 879 <td> - pm</td> 880 </tr> 881 <tr> 882 <td>Wednesday:</td> 883 <td> - pm</td> 884 </tr> 885 <tr> 886 <td>Thursday:</td> 887 <td> - pm</td> 888 </tr> 889 <tr> 890 <td>Friday:</td> 891 <td> - pm</td> 892 </tr> 893 <tr> 894 <td>Saturday:</td> 895 <td> - pm</td> 896 </tr> 897 <tr> 898 <td>Sunday:</td> 899 <td> - pm</td> 900 </tr> 901 </table> 902 903</div> </div> 904<div class="ContentPane_2509459 ResponsiveMap ResponsiveMap_2509459"> 905 906<div class="responsive-container d-none d-md-block"> 907 <iframe title="Google Map" width="425" height="350" id="mapIframe" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" rel="noopener" class="lazyload" data-src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAbMq2GbvKt0koOmW7IqzJntqghocwlGw8&q=Fred+Fincher+Motors,14700 TOMBALL PKWY,Houston+TX+77086"></iframe> 908</div> 909 910<div class="d-md-none mt-3 getDirections"> 911 <a id="directionsLink" class="btn btn-primary" target="_blank" rel="noopener" href="https://maps.google.com/maps?f=q&source=s_q&hl=en&q=14700 TOMBALL PKWY Houston TX 77086+(Fred+Fincher+Motors)&iwloc=near"> 912 <i class="fa-solid fa-location-dot"></i> Get Driving Directions 913 </a> 914</div> 915</div></div> 916 </section> 917 918 <footer id="Footer_wrap"> 919 <div class="container"> 920 921 <div id="FooterPaneLeft" class="s66r_footerLeft"> 922</div> 923 924 <div id="FooterPaneCenter" class="s66r_footerCenter"> 925</div> 926 927 <div id="FooterPaneRight" class="s66r_footerRight"> 928</div> 929 930 <div id="FooterPane" class="s75r_Footer"> 931 932<div class="ContentPane_353890 SocialMedia SocialMedia_353890"> 933 934<div class="socialMedia"> 935 936 937 938 939 940 941 942 943 944</div></div> 945<div class="ContentPane_353892 Copyright Copyright_353892"> 946<div class="copyright_main"> 947 <div class="dcsLogin"> 948 <a href="https://www.dealercarsearch.com" Target="_blank" rel="noopener nofollow">Dealer Car Search Login</a> 949 </div> 950 951 <div class="copyright"> 952Copyright 2026 | <a href="/sitemap" Target="_blank" rel="noopener">Sitemap</a> 953 954 <span>| </span> 955 <a href="#" id="lv_cm_btn" onclick='document.getElementById("__tealiumGDPRcpPrefs").style.display="block";'> 956 Your Privacy Choices 957 <img alt="Privacy Choices" src="https://consent.trustarc.com/get?name=privacy_choices_icon.png" style="cursor: pointer; display: inline-block; margin-left: 5px; position: relative; top: -1px; width: 28.06px; height: 13.92px; background-size: 28.06px 13.92px; background-repeat: no-repeat;"> 958 </a> 959
959<script type="text/javascript"> 960 961 962 document.addEventListener("consentUpdate", (e) => location.href=window.location.href); 963 </script>
963 964 965 </div> 966 967</div> 968</div> 969<div class="ContentPane_353891 SEO SEO_353891"> 970 971<div class="SeoText" itemscope itemtype="http://schema.org/AutoDealer"> 972 <span itemprop="name">Fred Fincher Motors</span> 973 <i itemtype="http://schema.org/PostalAddress" itemscope itemprop="address"> 974 <span itemprop="streetAddress">14700 TOMBALL PKWY,</span> 975 <span itemprop="addressLocality">Houston,</span> 976 <span itemprop="addressRegion">TX</span> 977 <span itemprop="postalCode">77086</span> 978 </i> 979 <a itemprop="telephone" href="tel://281-444-2200">281-444-2200</a> 980 <a itemprop="url" href="https://fredfinchermotors.com">https://fredfinchermotors.com</a> 981 <img itemprop="logo" src="https://imagescdn.dealercarsearch.com/DealerImages/27039/51187/logo.png" alt="Logo" /> 982</div></div></div> 983 </div> 984 </footer> 985 <div class="modal" tabindex="-1" role="dialog" id="HoursModal"> 986 <div class="modal-dialog" role="document"> 987 <div class="modal-content"> 988 <div class="modal-header"> 989 <h5 class="modal-title"></h5> 990 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 991 <span aria-hidden="true">×</span> 992 </button> 993 </div> 994 <div class="modal-body"> 995 996 <div id="ModalPane" class="modalPane"> 997</div> 998 </div> 999 1000 </div> 1001 </div> 1002 </div> 1003 1004 <div id="ChatPane" class=""> 1005 1006<div class="ContentPane_353893 ResponsiveSMSTexting ResponsiveSMSTexting_353893"> 1007 1008<div id="textingFormReplaceDiv"> 1009 <a class="smsBtn smsBtnFS " data-toggle="modal" data-target="#SMSModal" rel="nofollow" href="#" onclick="event.preventDefault();"> 1010 <div class="sms-fixed__bottom"> <span class="sms-icon"><i class="fas fa-comments"></i></span> <span class="sms-text"> Text Us</span> </div> 1011 </a> 1012 <div class="smsModalFS modal fade" id="SMSModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 1013 1014 <div class="modal-dialog"> 1015 <div class="modal-content"> 1016 1017 <div class="modal-header"> 1018 <h4 class="modal-title" id="H1">Text us</h4> 1019 <button type="button" class="close" data-dismiss="modal"> 1020 <span aria-hidden="true">×</span> 1021 <span class="sr-only">Close</span> 1022 </button> 1023 </div> 1024 1025 <div class="modal-body"> 1026 <form id="ResponsiveSmsTextingForm-SMSModal" data-ajax="true" data-ajax-mode="replace-with" data-ajax-update="#textingFormReplaceDiv" data-ajax-method="post" data-ajax-failure="ajaxFailure" data-ajax-loading=".spinner-SMSModal" data-ajax-begin="$('.btn-SMSModal').prop('disabled',true);addTealiumFormInfo('ResponsiveSmsTextingForm-SMSModal');" data-ajax-success="formTrack('success','ResponsiveSMSTextingForm');formLeadTracking('0', '', 'SMS Texting Form')" data-recaptcha-id="ResponsiveSmsTextingRecaptchaToken" data-recaptcha-site-key="" data-recaptcha-type="Undefined" action="/LeadModule/ResponsiveSmsSubmitForm?pagename=store&modulename=ResponsiveSMSTextingForm&websitepagemoduleid=0" method="post"> 1027 1028 <div class="form-group"> 1029 <label id="lblSMSFirstNameFS" for="FirstName">First Name</label> 1030 <input aria-labelledby="lblSMSFirstNameFS" type="text" id="txtSMSFirstNameFS" class="form-control" data-val="true" data-val-required="The First Name field is required." name="FirstName" value="" /> 1031 <span class="text-danger field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span> 1032 </div> 1033 <div class="form-group"> 1034 <label id="lblSMSLastNameFS" for="LastName">Last Name</label> 1035 <input aria-labelledby="lblSMSLastNameFS" type="text" id="txtSMSLastNameFS" class="form-control" data-val="true" data-val-required="The Last Name field is required." name="LastName" value="" />
1036 <span class="text-danger field-validation-valid" data-valmsg-for="LastName" data-valmsg-replace="true"></span> 1037 </div> 1038 <div class="form-group"> 1039 <label id="lblSMSPhoneNumberFS" for="MobilePhone">Mobile Phone</label> 1040 <input type="tel" aria-labelledby="lblSMSPhoneNumberFS" id="txtSMSPhoneNumberFS" class="form-control" data-val="true" data-val-regex="ex. ###-###-####" data-val-regex-pattern="^\([0-9]{3}\)\s?[0-9]{3}(-|\s)?[0-9]{4}$|^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$" data-val-required="The Mobile Phone field is required." name="MobilePhone" value="" /> 1041 <span class="text-danger field-validation-valid" data-valmsg-for="MobilePhone" data-valmsg-replace="true"></span> 1042 </div> 1043 <div class="form-group"> 1044 <label id="lblMessage" for="Comments">Comments</label> 1045 <textarea aria-labelledby="lblMessage" id="Message" class="form-control form-textarea" data-val="true" data-val-required="The Comments field is required." name="Comments"> 1046</textarea> 1047 <span class="text-danger field-validation-valid" data-valmsg-for="Comments" data-valmsg-replace="true"></span> 1048 </div> 1049 1050 <div class="contact-disclaimer"> 1051 <div class="form-group"> 1052 <div class="form-check "> 1053 <input type="checkbox" aria-label="Contact Consent" class="form-check-input" id="chkContactDisclaimerConsent248" data-val="true" data-val-range="Please check the box to verify acknowledgement and consent." data-val-range-min="True" data-val-range-max="True" data-val-required="The ContactDisclaimerConsent field is required." name="ContactDisclaimerConsent" value="true" /> 1054 <label for="chkContactDisclaimerConsent248" aria-labelledby="chkContactDisclaimerConsent248"> 1055 <strong>ACKNOWLEDGMENT AND CONSENT:</strong> 1056 </label> 1057 <span class="text-danger field-validation-valid" data-valmsg-for="ContactDisclaimerConsent" data-valmsg-replace="true"></span> 1058 </div> 1059 By checking this box, you expressly consent to receive customer care text messages and/or phone calls to the number provided from or on behalf of Fred Fincher Motors or their employees in response to your inquiry. By opting in, you understand no mobile information will be shared with third parties or affiliates for marketing or promotional purposes. Message frequency varies per user. Message and data rates may apply. You may withdraw your consent at any time by texting "STOP" or "HELP" for help. See our <a href="https://fredfinchermotors.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> for more information. 1060 </div> 1061</div> 1062 1063 <div></div> 1064 1065 <div class="modal-footer"> 1066 <button class="sms_submitButtonFS btn btn-SMSModal"> 1067 I agree, Send Text 1068 <i class="fa-solid fa-rotate fa-spin fa-fw spinner-SMSModal" style="display: none"></i> 1069 </button> 1070 <a href="/privacy" target="_blank" rel="noopener">Privacy Policy</a> 1071 </div> 1072 1073 <input type="hidden" id="responsiveSmsTextingFormVehicleId" data-val="true" data-val-required="The VehicleId field is required." name="VehicleId" value="0" /> 1074 <input type="hidden" data-val="true" data-val-required="The HasAccountSid field is required." id="HasAccountSid" name="HasAccountSid" value="True" /> 1075 <div class="RowIce"><input type='text' autocomplete='off' aria-label='Name' name='Name' class='form-control' /></div> 1076 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8PpyLBkFqepBsOO-JODtNhhSoBQPnnvyk2KmyiKd3uuZkAKkiDew10mtUlx9Fq_4E-2gQk3XXPTtd-3f78ju562g9hymWo-v0zwq3lwUmTw4G4Po5TK5n8sxfkPkz_Dmyy7WrINmTCrqgXH9uRUTtWw" /><input name="ContactDisclaimerConsent" type="hidden" value="false" /></form> 1077
1077<script type="text/javascript"> 1078 document.addEventListener("DOMContentLoaded", 1079 function () { 1080 var smsFormId = 'ResponsiveSmsTextingForm-SMSModal'; 1081 if (typeof formInteractionListener === "undefined" || typeof formLoadListener === "undefined") { return; } 1082 formInteractionListener(null, smsFormId, 'change'); 1083 formLoadListener(null, smsFormId); 1084 }); 1085 </script>
1085 1086 </div> 1087 1088 </div> 1089 </div> 1090 1091 </div> 1092</div> 1093</div> 1094<div class="ContentPane_353898 VisitedVehiclesModal VisitedVehiclesModal_353898"> 1095 1096 1097<button id="btnVisitedVehicles" class="leftLowerBtnVisited btn btn-secondary collapsed _btnVisited" 1098 data-toggle="collapse" 1099 data-target="#VisitedTray" 1100 onclick="viewVisited('spotlight')"> 1101 1102 <i class="fa-solid fa-clock-rotate-left"></i> Recently Visited Vehicles <span id="visitedCountBtnSpan" class="visitedCount replaceVisitedCountsSpan font-weight-bold "></span> 1103</button> 1104<div class=" visitedOuterWrapper " id="visitedModalMain" tabindex="-1" role="dialog" aria-labelledby="visitedModalMainLabel" aria-hidden="true"> 1105 <div id="VisitedTray" 1106 class="visited-carousel-tray collapse container-fluid fixed-bottom " 1107 style="width: 80%; max-width: 80%" 1108 role="document"> 1109 1110 <div class=" modal-content-visited-tray px-3"> 1111 <div class=" modal-content-visited-tray pt-2 "> 1112 <button type="button" class="close text-white" data-toggle="collapse" onclick="showVisitedButton();" data-target="#VisitedTray">×</button> 1113 </div> 1114 <div class=" container-fluid py-2 "> 1115 <div class="row pb-2 px-3"> 1116 <h4 class="modal-title ml-auto mr-auto pt-2 " style="text-align: center;" id="visitedModalMainLabel"> Recently Visited Vehicles</h4> 1117 1118 </div> 1119 <div class="visited-vehicles-loading visited-vehicles-loading-top"> 1120 <div id="VisitedVehicleSpinner" class="visited-vehicles-spinner d-none"> </div> 1121 </div> 1122 <div class="replaceVisited" id="replaceVisitedContent"> 1123 <div id="replaceInnerContent"> 1124 <p class=" py-3 noVisitedVehcilesMessage d-none text-center"> Your Recently Viewed Vehicles Will Appear Here.</p> 1125 </div> 1126 <hr> 1127 1128 </div> 1129 1130 <div class="row mr-0 "> 1131 <div class="col-sm-6"> 1132 <a class="btn float-sm-none float-md-left float-md-left" href="/newandusedcars?clearall=1"> 1133 View All Inventory 1134 </a> 1135 </div> 1136 <div class=" col-sm-6 replaceVisitedCompareButton"> 1137 1138 1139 </div> 1140 </div> 1141 </div> 1142 </div> 1143 1144 </div> 1145 1146</div> 1147<div class="replaceVisitedCompareModuleOuterWrap"> 1148 1149 <div class="replaceVisitedCompareModule"> 1150 1151 </div> 1152</div> 1153 1154<div class="replaceVisitedPriceDropModuleOuterWrap"> 1155 <div class="replaceVisitedPriceWatchModule"> 1156 <div class="modal fade" id="pricedropModal" tabindex="-1" role="dialog" aria-labelledby="pricedropModalLabel" aria-hidden="true"> 1157 <div class="modal-dialog" role="document"> 1158 <div class="modal-content"> 1159 <div class="modal-header"> 1160 <h5 class="modal-title" id="pricedropModalLabel">Price Drop Notifications</h5> 1161 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1162 <span aria-hidden="true">×</span> 1163 </button> 1164 </div> 1165 <div class="modal-body"> 1166 1167<div class="formWrap price-drop-form-wrapper"> 1168 <div class=" alert alert-success price-drop-modal-success" role="alert" style=" display: none"> 1169 Vehicle Price Watch submitted 1170 </div> 1171 <form id="PriceDropSubmitForm" data-ajax="true" data-ajax-method="post" data-ajax-success="priceDropSuccess();formLeadTracking('0', '', 'Price Drop Form');formTrack('success','RecentlyVisitedVehicles');redirect('');" data-ajax-failure="ajaxFailure" data-ajax-loading=".price-drop-form-spinner" data-ajax-begin="$('.price-drop-form-button').prop('disabled',true);addTealiumFormInfo('PriceDropSubmitForm');" data-ajax-complete="$('.price-drop-form-button').prop('disabled',false);" data-recaptcha-id="PriceDropRecaptchaToken" data-recaptcha-site-key="" data-recaptcha-type="Undefined" action="/LeadModule/PriceDropSubmitForm?pagename=store&modulename=RecentlyVisitedVehicles" method="post"> 1172 1173 <div class="form-group"> 1174 <label class="col-form-label" id="lblPriceDropFirstName" for="FirstName">First Name:</label> 1175 <input type="text" aria-labelledby="lblPriceDropFirstName" class="txtDropFirstName form-control" data-val="true" data-val-required="Please enter your first name" id="FirstName" name="FirstName" value="" />
1176 <span class="text-danger field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span> 1177 </div> 1178 1179 <div class="form-group"> 1180 <label class="col-form-label" id="lblPriceDropLastName" for="LastName">Last Name:</label> 1181 <input type="text" aria-labelledby="lblPriceDropLastName" class="txtDropLastName form-control" data-val="true" data-val-required="Please enter your last name" id="LastName" name="LastName" value="" /> 1182 <span class="text-danger field-validation-valid" data-valmsg-for="LastName" data-valmsg-replace="true"></span> 1183 </div> 1184 1185 <div class="form-group"> 1186 <label class="col-form-label" id="lblPriceDropEmail" for="Email">Email:</label> 1187 <input type="email" aria-labelledby="lblPriceDropEmail" class="txtDropEmail form-control" onchange="$('.txtDropMobilePhone').valid();" data-other="MobilePhone" data-val="true" data-val-requiredifother="Please enter phone or email" id="Email" name="Email" placeholder="[email protected]" value="" /> 1188 <span class="text-danger field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span> 1189 </div> 1190 1191 <div class="form-group"> 1192 <label class="col-form-label" id="lblPriceDropMobilePhone" for="MobilePhone">Mobile Phone:</label> 1193 <input type="tel" aria-labelledby="lblPriceDropMobilePhone" class="txtDropMobilePhone form-control" onchange="$('.txtDropEmail').valid();" data-other="Email" data-val="true" data-val-regex="ex. ###-###-####" data-val-regex-pattern="^\([0-9]{3}\)\s?[0-9]{3}(-|\s)?[0-9]{4}$|^[0-9]{3}-?[0-9]{3}-?[0-9]{4}$" data-val-requiredifother="Please enter phone or email" id="MobilePhone" name="MobilePhone" placeholder="###-###-####" value="" /> 1194 <span class="text-danger field-validation-valid" data-valmsg-for="MobilePhone" data-valmsg-replace="true"></span> 1195 </div> 1196 1197 1198 <div class="contact-disclaimer"> 1199 <div class="form-group"> 1200 <div class="form-check "> 1201 <input type="checkbox" aria-label="Contact Consent" class="form-check-input" id="chkContactDisclaimerConsent4521" data-val="true" data-val-required="The ContactDisclaimerConsent field is required." name="ContactDisclaimerConsent" value="true" /> 1202 <label for="chkContactDisclaimerConsent4521" aria-labelledby="chkContactDisclaimerConsent4521"> 1203 <strong>ACKNOWLEDGMENT AND CONSENT:</strong> 1204 </label> 1205 <span class="text-danger field-validation-valid" data-valmsg-for="ContactDisclaimerConsent" data-valmsg-replace="true"></span> 1206 </div> 1207 By checking this box, you expressly consent to receive customer care text messages and/or phone calls to the number provided from or on behalf of Fred Fincher Motors or their employees in response to your inquiry. By opting in, you understand no mobile information will be shared with third parties or affiliates for marketing or promotional purposes. Message frequency varies per user. Message and data rates may apply. You may withdraw your consent at any time by texting "STOP" or "HELP" for help. See our <a href="https://fredfinchermotors.com/privacy" target="_blank" rel="noopener">Privacy Policy</a> for more information. 1208 </div> 1209</div> 1210 1211 <div></div> 1212 1213 <button class="btn price-drop-form-button"> 1214 Submit 1215 <i class="fa-solid fa-rotate fa-spin fa-fw price-drop-form-spinner" style="display: none"></i> 1216 </button> 1217 <input type="hidden" name="CssClassPrefix" value="i10r" /> 1218 <input type="hidden" id="priceDropInventoryId" data-val="true" data-val-required="The InventoryId field is required." name="InventoryId" value="0" /> 1219 <input type="hidden" id="priceDropDealerId" data-val="true" data-val-required="The DealerId field is required." name="DealerId" value="0" /> 1220 <input type="hidden" id="priceDropPriceType" data-val="true" data-val-required="The PriceType field is required." name="PriceType" value="Undefined" /> 1221 <input type="hidden" id="priceDropStockNumber" name="StockNumber" value="" /> 1222 1223 <div class="RowIce"><input type='text' autocomplete='off' aria-label='Name' name='Name' class='form-control' /></div> 1224 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8PpyLBkFqepBsOO-JODtNhhSoBQPnnvyk2KmyiKd3uuZkAKkiDew10mtUlx9Fq_4E-2gQk3XXPTtd-3f78ju562g9hymWo-v0zwq3lwUmTw4G4Po5TK5n8sxfkPkz_Dmyy7WrINmTCrqgXH9uRUTtWw" /><input name="ContactDisclaimerConsent" type="hidden" value="false" /></form> 1225
1225<script type="text/javascript"> 1226 (function () { 1227 function bind(attempts) { 1228 attempts = attempts || 0; 1229 1230 // Bootstrap 4 modal events are jQuery-triggered, so we need jQuery; it may not 1231 // be parsed yet at this inline point, so wait for it. 1232 if (typeof window.jQuery === "undefined") { 1233 if (attempts < 100) { setTimeout(function () { bind(attempts + 1); }, 100); } 1234 return; 1235 } 1236 if (typeof tealiumFormLoad === "undefined" || typeof tealiumFormInteraction === "undefined") { return; } 1237 1238 var $ = window.jQuery; 1239 var $form = $('#PriceDropSubmitForm').first(); 1240 if (!$form.length) { return; } 1241 var $modal = $form.closest('.modal'); 1242 if (!$modal.length) { return; } 1243 1244 // #pricedropModal is a SINGLE shared modal reused by every "Price Drop" button 1245 // in an inventory list (SRP). PriceDropForm_UpdateVehicleId swaps the vehicle 1246 // before each open, so fire on each open (re-arming) rather than the one-shot 1247 // IntersectionObserver / { once:true } listeners, which would only ever track 1248 // the first vehicle a visitor engages. Namespaced off/on also collapses 1249 // duplicate registrations (list module + VisitedVehiclesModal) to one handler. 1250 $modal 1251 .off('shown.bs.modal.tealiumPriceDrop') 1252 .on('shown.bs.modal.tealiumPriceDrop', function () { 1253 if (typeof tealiumSetListVehicleContext !== "undefined") { 1254 tealiumSetListVehicleContext($('#priceDropInventoryId').val()); 1255 } 1256 addTealiumFormInfo('PriceDropSubmitForm', true); 1257 if (typeof whenUtagReady !== "undefined") { 1258 whenUtagReady(function () { tealiumFormLoad('PriceDropSubmitForm'); }); 1259 } else { 1260 tealiumFormLoad('PriceDropSubmitForm'); 1261 } 1262 1263 $('#PriceDropSubmitForm').first() 1264 .off('change.tealiumPriceDrop') 1265 .one('change.tealiumPriceDrop', function () { 1266 addTealiumFormInfo('PriceDropSubmitForm', true); 1267 tealiumFormInteraction('PriceDropSubmitForm'); 1268 }); 1269 }); 1270 1271 $modal 1272 .off('hidden.bs.modal.tealiumPriceDrop') 1273 .on('hidden.bs.modal.tealiumPriceDrop', function () { 1274 $('#PriceDropSubmitForm').first().off('change.tealiumPriceDrop'); 1275 }); 1276 } 1277 1278 if (document.readyState === "loading") { 1279 document.addEventListener("DOMContentLoaded", function () { bind(0); }); 1280 } else { 1281 bind(0); 1282 } 1283 })(); 1284 </script>
1284 1285</div> 1286 </div> 1287 <div class="modal-footer"> 1288 1289 </div> 1290 </div> 1291 </div> 1292 </div> 1293 </div> 1294 </div> 1295 1296 1297 1298 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8PpyLBkFqepBsOO-JODtNhhSoBQPnnvyk2KmyiKd3uuZkAKkiDew10mtUlx9Fq_4E-2gQk3XXPTtd-3f78ju562g9hymWo-v0zwq3lwUmTw4G4Po5TK5n8sxfkPkz_Dmyy7WrINmTCrqgXH9uRUTtWw" /> 1299 1300 <input type="hidden" id="visitedModalCssClassPrefixId" value="ir10" /> 1301 <input type="hidden" id="hidePriceDrop" data-val="true" data-val-required="The HidePriceDrop field is required." name="HidePriceDrop" value="False" /> 1302 <input type="hidden" id="hideCompare" data-val="true" data-val-required="The HideCompare field is required." name="HideCompare" value="False" /> 1303 <input type="hidden" id="showVisitedSpotlight" data-val="true" data-val-required="The ShowVisitedSpotlight field is required." name="ShowVisitedSpotlight" value="True" /> 1304 <input type="hidden" id="showVisitedButtonBeforeViewing" data-val="true" data-val-required="The ShowVisitedButtonBeforeViewing field is required." name="ShowVisitedButtonBeforeViewing" value="False" /> 1305 1306 <input type="hidden" id="VisitedCssClassPrefix" name="CssClassPrefix" value="" /> 1307 <input type="hidden" id="IsListModule" data-val="true" data-val-required="The IsListModule field is required." name="IsListModule" value="False" /> 1308 <input type="hidden" id="VisitedNameOfCarousel" value="#VisitedVehiclesCarousel" /> 1309 <input type="hidden" id="VisitedAutoScroll" value="false" /> 1310 <input type="hidden" class="visitedNumberOfCars" value="6" /> 1311 <input type="hidden" class="totalNumberOfCars" value="50" /> 1312 <input type="hidden" id="VisitedAutoScrollEveryXMilliseconds" value="8000" /> 1313 <input type="hidden" id="VisitedVehiclesButtonLocation" name="VisitedVehiclesButtonLocation" value="leftLowerBtnVisited" /> 1314 <input type="hidden" id="compareModalCssClassPrefixId" value="ir10" /> 1315 <input type="hidden" id="showCompareLocation" value="false" /> 1316 1317 <div class="RowIce"><input type='text' autocomplete='off' aria-label='Name' name='Name' class='form-control' /></div> 1318
1318<script type="text/javascript"> 1319 1320 function setCookie(cname, cvalue, exdays) { 1321 const d = new Date(); 1322 d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); 1323 let expires = "expires=" + d.toUTCString(); 1324 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 1325 } 1326 1327 function getCookie(cname) { 1328 let name = cname + "="; 1329 let decodedCookie = decodeURIComponent(document.cookie); 1330 let ca = decodedCookie.split(';'); 1331 for (let i = 0; i < ca.length; i++) { 1332 let c = ca[i]; 1333 while (c.charAt(0) == ' ') { 1334 c = c.substring(1); 1335 } 1336 if (c.indexOf(name) == 0) { 1337 return c.substring(name.length, c.length); 1338 } 1339 } 1340 return ""; 1341 } 1342 var recentlyVisitedClicked = false; 1343 1344 function viewVisited(type) { 1345 initializeCompareModule(); 1346 if (type == "spotlight") { 1347 var compareTrayElement = document.getElementById('compareTray'); 1348 1349 if (compareTrayElement !== null) { 1350 1351 var compareHidden = document.getElementById('hideCompare').value; 1352 if (compareHidden !== 'True') { 1353 if (document.getElementById('compareTray').classList.contains('show') || document.getElementById('compareTray').style.display == 'block') { 1354 $("#compareTray").collapse("hide"); 1355 } 1356 } 1357 } 1358 1359 1360 $("#VisitedTray").collapse("show"); 1361 } 1362 else { 1363 $('#visitedModalMain').show(); 1364 $("#visitedModalMain").modal(); 1365 } 1366 1367 var visitedList = getCookie("visited"); 1368 var visitedListIds = visitedList.split("/"); 1369 if (visitedList == null || visitedList == "") { 1370 $(".noVisitedVehcilesMessage").removeClass("d-none"); 1371 return 1372 } 1373 else { 1374 $(".noVisitedVehcilesMessage").addClass("d-none"); 1375 1376 } 1377 1378 if (visitedListIds.length <= 1) { 1379 $("#RemoveVisited").addClass("d-none"); 1380 } 1381 else { 1382 $("#RemoveVisited").removeClass("d-none"); 1383 } 1384 1385 if (!recentlyVisitedClicked) { 1386 1387 getVisitedVehicles(true, true); 1388 1389 } 1390 $('#visitedModalMain').on('hide.bs.modal', 1391 function (e) { 1392 $("#textingFormReplaceDiv").show(); 1393 }); 1394 if (compareHidden !== 'True') { 1395 checkVisitedCompareCounts(); 1396 } 1397 1398 } 1399 1400 function removeAllVisited() { 1401 setCookie("visited", "", 0); 1402 getVisitedVehicles(true, true); 1403 document.getElementById("btnVisitedVehicles").style.display = "block"; 1404 document.getElementById("visitedCountBtnSpan").innerHTML = "" 1405 1406 var showVisitedButtonBeforeViewing = document.getElementById("showVisitedButtonBeforeViewing").value 1407 if (showVisitedButtonBeforeViewing == "False") { 1408 document.getElementById("btnVisitedVehicles").style.display = "none"; 1409 } 1410 } 1411 var resultCount = 0; 1412 var spotlightResultsCount = 0; 1413 1414 function getVisitedVehicles(showLoading, replaceContent) {
1415 initializeCompareModule(); 1416 var cssClassPrefix = document.getElementById("compareModalCssClassPrefixId") != null && document.getElementById("compareModalCssClassPrefixId").value != '' ? document.getElementById("compareModalCssClassPrefixId").value : "ir10"; 1417 var hidePriceDrop = document.getElementById("hidePriceDrop").value; 1418 var hideCompare = document.getElementById("hideCompare").value; 1419 var showVisitedSpotlight = document.getElementById("showVisitedSpotlight").value; 1420 var visitedVehiclesButtonLocation = document.getElementById("VisitedVehiclesButtonLocation").value; 1421 1422 var isListModule = document.getElementById("IsListModule").value; 1423 1424 if (showLoading) { 1425 $(".visitedVehiclesBody").addClass("d-none"); 1426 $("#VisitedVehicleSpinner").addClass("d-block"); 1427 $("#VisitedVehicleSpinner").removeClass("d-none"); 1428 } 1429 1430 var visitedCookie = getCookie("visited") 1431 $("#RemoveVisited").addClass("d-none"); 1432 if (visitedCookie == null || visitedCookie == "") { 1433 $(".noVisitedVehcilesMessage").removeClass("d-none"); 1434 if (showLoading) { 1435 $(".visitedVehiclesBody").addClass("d-none"); 1436 $("#VisitedVehicleSpinner").addClass("d-none"); 1437 $("#VisitedVehicleSpinner").removeClass("d-block"); 1438 } 1439 $("#RemoveVisited").addClass("d-none"); 1440 1441 return; 1442 } 1443 $.ajax({
1444 url: "/InventoryModule/UpdateVisitedVehiclesModule?pagename=" + $("#CurrentPageName").val() + 1445 "&cssClassPrefix=" + cssClassPrefix + 1446 "&hideCompare=" + hideCompare + "&hidePriceDrop=" + hidePriceDrop + "&showVisitedSpotlight=" + showVisitedSpotlight + "&isListModule=" + isListModule + "&visitedVehiclesButtonLocation=" + visitedVehiclesButtonLocation 1447 , 1448 type: "GET", 1449 headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() }, 1450 success: function (response) { 1451 var results = $(response).find(".replaceVisited") 1452 var resultsMobile = $(response).find(".replaceVisitedMobile") 1453 1454 var carouselResults = $(response).find(".replaceVisitedCarousel") 1455 var carouselResultsMobile = $(response).find(".replaceVisitedCarouselMobile") 1456 1457 var replaceVisitedCompareModule = $(response).find(".replaceVisitedCompareModule") 1458 var replaceVisitedCompareButton = $(response).find(".replaceVisitedCompareButton") 1459 1460 var replaceVisitedCountsSpan = $(response).find(".replaceVisitedCountsSpan") 1461 1462 //var replaceVisitedPriceWatchModule = $(response).find(".replaceVisitedPriceWatchModule") 1463 1464 if (replaceContent) { 1465 $(".replaceVisited").each(function (i) { $(this).replaceWith(results[i]); }); 1466 $(".replaceVisitedMobile").each(function (i) { $(this).replaceWith(resultsMobile[i]); }); 1467 1468 $(".replaceVisitedCarousel").each(function (i) { $(this).replaceWith(carouselResults[i]); }); 1469 $(".replaceVisitedCarouselMobile").each(function (i) { $(this).replaceWith(carouselResultsMobile[i]); }); 1470 1471 $(".replaceVisitedCompareModule").each(function (i) { $(this).replaceWith(replaceVisitedCompareModule[i]); }); 1472 $(".replaceVisitedCompareButton").each(function (i) { $(this).replaceWith(replaceVisitedCompareButton[i]); }); 1473 1474 // $(".replaceVisitedPriceWatchModule").each(function (i) { $(this).replaceWith(replaceVisitedPriceWatchModule[i]); }); 1475 1476 compareMaxNumberOfVehicles = document.getElementById("compareMaxNumberOfVehicles") !== null ? parseInt(document.getElementById("compareMaxNumberOfVehicles").value) : null; 1477 } 1478 1479 $(".replaceVisitedCountsSpan").each(function (i) { $(this).replaceWith(replaceVisitedCountsSpan[i]); }); 1480 1481 spotlightResultsCount = results.find(".rspotlightItem").length; 1482 resultCount = results.find(".visitedVehicleItem").length; 1483 if (resultCount > 1 || spotlightResultsCount > 1) { 1484 $("#RemoveVisited").removeClass("d-none"); 1485 } 1486 }, 1487 error: function (xhr, ajaxOptions, thrownError) { 1488 alert("Visited Vehicles update failed."); 1489 }, 1490 complete: function () { 1491 if (showLoading) { 1492 $("#VisitedVehicleSpinner").removeClass("d-block"); 1493 $("#VisitedVehicleSpinner").addClass("d-none"); 1494 $(".visitedVehiclesBody").removeClass("d-none"); 1495 } 1496 $("#textingFormReplaceDiv").hide(); 1497 recentlyVisitedClicked = true; 1498 initializeCompareModule(); 1499 1500 checkVisitedCompareCounts(); 1501 } 1502 }); 1503 } 1504 1505 function showVisitedButton() { 1506 var btnVisitedVehicles = document.getElementById('btnVisitedVehicles'); 1507 var btnCompareCount = document.getElementById('btnCompareCount'); 1508 1509 if (btnVisitedVehicles) { 1510 document.getElementById('btnVisitedVehicles').style.visibility = 'visible'; 1511 } 1512 1513 if (btnCompareCount) { 1514 document.getElementById('btnCompareCount').style.visibility = 'visible'; 1515 } 1516 1517 var visitedList = getCookie("visited"); 1518 1519 var showVisitedButtonBeforeViewing = document.getElementById("showVisitedButtonBeforeViewing").value 1520 if (showVisitedButtonBeforeViewing == "False") { 1521 1522 if (visitedList == null || visitedList == "") { 1523 document.getElementById("btnVisitedVehicles").style.display = "none"; 1524 } 1525 } 1526 } 1527 1528 function removeVehicleFromVisited(visitedId, element, replaceContent) { 1529 $(element).closest(".rspotlightItem").hide() 1530 $(element).closest(".visitedVehicleItem").remove(); 1531 var visitedList = getCookie("visited"); 1532 1533 if (visitedId) { 1534 var visitedListIds = visitedList.split("/"); 1535 var existsIndex = visitedListIds.indexOf(visitedId.toString()) 1536 if (visitedListIds.length > 0 && existsIndex !== -1) { 1537 visitedListIds.splice(existsIndex, 1) 1538 } 1539
1540 setCookie("visited", visitedListIds.toString().replace(/,/g, "/"), 90); 1541 getVisitedVehicles(false, replaceContent); 1542 } 1543 } 1544 1545 var visitedList = getCookie("visited"); 1546 1547 var showVisitedButtonBeforeViewing = document.getElementById("showVisitedButtonBeforeViewing").value 1548 if (showVisitedButtonBeforeViewing == "False") { 1549 1550 if (visitedList == null || visitedList == "") { 1551 document.getElementById("btnVisitedVehicles").style.display = "none"; 1552 } 1553 } 1554 1555 document.addEventListener("DOMContentLoaded", () => { 1556 if (visitedList == "") { 1557 document.getElementById("visitedCountBtnSpan").innerHTML = "" 1558 } 1559 else { 1560 var visitedListIds = visitedList.split("/"); 1561 1562 if (visitedListIds.length > 0) { 1563 document.getElementById("visitedCountBtnSpan").innerHTML = visitedListIds.length 1564 } 1565 } 1566 1567 }); 1568 1569 </script>
1569 1570</div></div> 1571 1572 1573 1574<a href="#" rel="nofollow" class="top" title="Go to top of page" aria-label="Go to top of page"><i class="fa-solid fa-chevron-up"></i></a> 1575
1576<script type="text/javascript" src="/dealers/27001_28000/27039/51187.min.js?v=jbJqfatUaYo4Np8nX_Tn7nSZBecoOMV-GU-5OXrp4mg"></script>
1576 1577 1578 1579<!-- 1580DEBUG INFORMATION 1581================= 1582Running on DCSPCMS11 1583Release Name: Production-Odd-2026.9.22.3 1584Environment: Production (Odd) 1585Build Definition Name: CMS/master 1586Build Number: 2026.9.22.3 1587Build Id: 193 1588Source Branch Name: master 1589--> 1590 1591</body> 1592</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.