PageSourceSearch

https://moparvinequipment.com/_astro/index.astro_astro_type_script_index_0_lang.BBOm3CG5.js

js moparvinequipment.com collected 2026-09-24 14:48:05 UTC 7,537 bytes, 1 lines download raw bytes

1const I=/^[A-Z0-9]{17}$/;function p(e){return e.trim().toUpperCase()}function C(e){return I.test(p(e))}function M(e){return{year:e.ModelYear||"",make:e.Make||"",model:e.Model||"",trim:e.Trim||"",bodyClass:e.BodyClass||"",doors:e.Doors||"",driveType:e.DriveType||"",engineModel:e.EngineModel||"",engineCylinders:e.EngineCylinders||"",displacementL:e.DisplacementL||"",transmissionStyle:e.TransmissionStyle||"",transmissionSpeeds:e.TransmissionSpeeds||"",manufacturer:e.Manufacturer||""}}function $(e){const t=[];if(e.displacementL){const n=parseFloat(e.displacementL);t.push(`${Number.isFinite(n)?n:e.displacementL}L`)}return e.engineCylinders&&t.push(`${e.engineCylinders}-cyl`),e.engineModel&&t.push(e.engineModel),t.join(" ")}function R(e){const t=[];return e.transmissionSpeeds&&t.push(`${e.transmissionSpeeds}-speed`),e.transmissionStyle&&t.push(e.transmissionStyle.replace(/\s+Transmission$/i,"").trim()),t.join(" ")}const D=e=>`/api/v1/windowsticker/${encodeURIComponent(e)}?make=FCA`,O=e=>`https://www.jeep.com/webselfservice/BuildSheetServlet?vin=${encodeURIComponent(e)}`,a=e=>document.getElementById(e);function f(){return/Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function _(e){try{typeof Sentry<"u"&&Sentry.logger?.info?.(e)}catch(t){console.error(t)}}
1function N(e){return e?[e.make,e.model,e.year].filter(Boolean).join(" "):""}function A(e,t,n){_(`Clicked - ${window.location.hostname} - ${N(n)||"Unknown"} - ${e} - ${t}`)}function B(e,t){const n=`Error - ${window.location.hostname} - ${N(t)||"Unknown"} - ${e}`;try{typeof Sentry<"u"&&Sentry.logger?.error?.(n)}catch(o){console.error(o)}}const k="mobileFileAction";function T(){a(k)?.remove()}function P(e){T();const t=a("vehicleCard");if(!t||!t.parentNode)return;const n=document.createElement("div");n.id=k,n.className="result-actions";const o=document.createElement("a");o.className="download-btn",o.href=e,o.target="_blank",o.rel="noopener",o.textContent="Download build sheet PDF list.",n.appendChild(o),t.parentNode.insertBefore(n,t.nextSibling)}function U(e){window.open(e,"_blank")?.focus(),P(e)}const F="build sheet";function V(){const e=a("result");if(!e)return null;e.innerHTML="";const t=document.createElement("div");t.className="lookup-progress",t.setAttribute("role","status"),t.setAttribute("aria-live","polite");const o=["Decoding VIN","Searching factory records",`Locating ${F}`,"Preparing your document"].map(s=>{const c=document.createElement("div");c.className="lp-step";const h=document.createElement("span");h.className="lp-icon";const u=document.createElement("span");return u.className="lp-label",u.textContent=s,c.appendChild(h),c.appendChild(u),t.appendChild(c),c});e.appendChild(t);const i={el:t,timer:0,startedAt:Date.now(),step:-1,steps:o},r=()=>{i.step>=0&&(o[i.step].className="lp-step is-done"),i.step+=1,o[i.step].className="lp-step is-active"};return r(),i.timer=window.setInterval(()=>{i.step<o.length-1&&r()},700),i}async function w(e){if(e){window.clearInterval(e.timer);for(const t of e.steps)t.className="lp-step is-done"}}function l(e){e&&(window.clearInterval(e.timer),e.el.remove())}function y(e,t,n){const o=a("result");if(o){o.innerHTML="",n();return}}const v=10800*1e3,L="vinTrackLog",m=new Map;function j(){try{const e=window.localStorage.getItem(L);return e?JSON.parse(e):{}}catch{return Object.fromEntries(m)}}function x(e){try{window.localStorage.setItem(L,JSON.stringify(e))}catch{m.clear();for(const[t,n]of Object.entries(e))m.set(t,n)}}function H(e){const t=Date.now(),n=j(),o=n[e];if(typeof o=="number"&&o<=t&&t-o<v)return!1;const i={};for(const[r,s]of Object.entries(n))s<=t&&t-s<v&&(i[r]=s);return i[e]=t,x(i),!0}function b(){T();const e=a("result");e&&(e.innerHTML="");const t=a("notice");t&&(t.style.display="none",t.innerHTML="",t.className="");const n=a("vehicleCard");n&&(n.style.display="none",n.innerHTML="")}function g(e){const t=a("vinForm")?.querySelector('button[type="submit"]');t&&(e?(t.dataset.label||(t.dataset.label=t.textContent||""),t.classList.add("is-loading"),t.disabled=!0,t.textContent="Looking up…"):(t.classList.remove("is-loading"),t.disabled=!1,t.dataset.label&&(t.textContent=t.dataset.label)))}function d(e,t,n="info"){const o=a("notice");if(!o)return;o.className=n==="error"?"notice notice--error":"notice",o.style.display="",o.textContent="";const i=document.createElement("p");if(i.className="notice-main",i.textContent=e,o.appendChild(i),t){const r=document.createElement("p");r.className="notice-next",r.innerHTML=t,o.appendChild(r)}}function S(e){const t=a("result");if(!t)return;t.innerHTML="";const n=document.createElement("iframe");n.className="sticker-frame",n.src=e,t.appendChild(n)}function K(e){const t=a("vehicleCard");if(!t)return;const n=[e.year,e.make,e.model].filter(Boolean).join(" "),i=[["Trim",e.trim],["Body",e.bodyClass],["Doors",e.doors],["Engine",$(e)],["Transmission",R(e)],["Drive",e.driveType]].filter(([,s])=>s).map(([s,c])=>`${s}: ${c}`).join(" · ");t.innerHTML="";const r=document.createElement("div");if(r.className="vehicle-title",r.textContent=n,t.appendChild(r),i){const s=document.createElement("div");s.className="vehicle-details",s.textContent=i,t.appendChild(s)}n&&(t.style.display="")}async function q(e){try{const t=await fetch(`https://vpic.nhtsa.dot.gov/api/vehicles/decodevinvalues/${e}?format=json`,{signal:AbortSignal.timeout(6e3)});if(!t.ok)return null;const o=(await t.json()).Results?.[0];if(!o)return null;const i=M(o);return(i.year||i.make||i.model)&&K(i),i}catch(t){return console.error("NHTSA lookup failed:",t),null}}async function E(e){const t=p(e);if(!C(t)){b(),d("That does not look like a complete VIN. A standard VIN has exactly 17 characters and never uses the letters I, O, or Q.",'Check the windshield plate or door label — <a href="/vin-location-guide/">where to find your VIN</a>.',"error");return}const n=new URL(window.location.href);n.searchParams.get("vin")!==t&&(n.searchParams.set("vin",t),window.history.pushState(null,"",n.toString())),g(!0),b();const o=V();f()&&a("result")?.scrollIntoView({block:"start"});try{const i=await q(t);let r=null;try{r=await fetch(D(t),{method:"POST"})}catch{r=null}const s=await Y(r,t,o);H(t)&&(s==="error"?B(t,i):A(s,t,i))}finally{l(o),g(!1)}}function J(e){const t=O(e);f()?window.open(t,"_blank")?.focus():S(t)}async function Y(e,t,n){if(e&&e.status===429)return l(n),d("Too many lookups from this connection in a short time.",'Wait about a minute and try again. Meanwhile you can <a href="/navigator/">browse sales codes</a>.'),"rate limited";if(e&&e.status===404)return l(n),d("No factory equipment record was returned for this VIN.",'Coverage varies by model year, market, and available factory records — see <a href="/data-sources-and-coverage/">data sources &amp; coverage</a>. Double-check the 17 characters and try again.'),"Not found";if(e&&e.status===400)return l(n),d("This VIN was not accepted by the vehicle service.",'Confirm every character against the windshield plate or door label — <a href="/vin-location-guide/">where to find your VIN</a>.',"error"),"Not found";if(!e||!e.ok)return await w(n),y("sheet",t,()=>J(t)),"direct pdf";const o=URL.createObjectURL(await e.blob());return await w(n),y("sheet",t,()=>{f()?U(o):S(o)}),"build sheet shown"}a("vinForm")?.addEventListener("submit",e=>{e.preventDefault();const t=a("vinInput");t&&E(t.value)});(()=>{const e=new URLSearchParams(window.location.search).get("vin");if(!e)return;const t=p(e);if(!C(t))return;const n=a("vinInput");n&&(n.value=t),E(t)})();

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.