PageSourceSearch

https://www.teamgreenwoodchevrolet.com/resources/external/jQuery/j….9.24a26a87f4c3be850232f857cc149210db453171

js teamgreenwoodchevrolet.com collected 2026-10-05 22:31:31 UTC 11,399 bytes, 445 lines download raw bytes

1/*
2Delete the following after repo split:
3numDays, timeType, page, getDateRange, dateChange
4*/
5/*
6field decleration
7Year: selYear
8Make: selMake
9Model: selModel
10Trim: selTrim
11Date: selDate
12Time: selTime
13
14predefined var:
15vehicleType
16vehicleYear
17vehicleMake
18vehicleModel
19numDays
20
21pages:
22EAS
23
24*/
25var updating = false;
26var timeType;
27var isVirtual = false;
28function getDealerYear() {
29
30	if (updating) return;
31	var reqUrl = "/api/vehicle/";
32
33	if (isVirtual)
34		reqUrl += "years-virtual?select=1";
35	else {
36		if (vehicleType.toUpperCase() == 'USED')
37			reqUrl += "years?type=u&select=1";
38		else
39			reqUrl += "years?type=n&select=1";
40	}
41	updating = true;
42	$.ajax({
43		url: reqUrl,
44		dataType: 'json',
45		success: function (data) {
46			fillSelect(data, 'selYear');
47			updating = false;
48			if ($('#selYear option').length > 0) {
49				if (typeof (vehicleYear) !== 'undefined' && vehicleYear != '') {
50					$("#selYear option[value='" + vehicleYear + "']").prop('selected', true);
51					yearChange();
52				}
53				else {
54					if ($('#selYear option').length == 2) {
55						$('#selYear option:eq(1)').prop('selected', true);
56						yearChange();
57					}
58					if (preSelectYear) {
59						$('#selYear option:eq(1)').prop('selected', true);
60						yearChange();
61					}
62				}
63			}
64		}
65	});
66}
67
68function yearChange(event) {
69	//if (updating) return;
70	$('#selMake option:eq(0)').prop('selected', true);
71	$('#selMake').prop('disabled', true);
72	$('#selModel option:eq(0)').prop('selected', true);
73	$('#selModel').prop('disabled', true);
74	if ($('#selYear').val() == '') return;
75
76	var reqUrl = "/api/vehicle/";
77	if (vehicleType.toUpperCase() == 'USED')
78		reqUrl += "used-makes";
79	else
80		reqUrl += "new-makes";
81	reqUrl += "?year=" + $('#selYear').val() + "&select=1";
82	updating = true;
83	$.ajax({
84		url: reqUrl,
85		dataType: 'json',
86		success: function (data) {
87			fillSelect(data, 'selMake');
88			updating = false;
89			if ($('#selMake option').length > 0) {
90				if (typeof (vehicleMake) !== 'undefined' && vehicleMake != '') {
91					$("#selMake option[value='" + vehicleMake + "']").prop('selected', true);
92					makeChange();
93				}
94				else {
95					if (preSelectMake) {
96						$('#selMake option:eq(1)').prop('selected', true);
97						makeChange();
98					}
99					if ($('#selMake option').length == 2) {
100						$('#selMake option:eq(1)').prop('selected', true);
101						makeChange();
102					}
103				}
104				$('#selMake').prop('disabled', false);
105			}
106		}
107	});
108}
109
110function getVehicleMakes() {
111	$('#selMake option:eq(0)').prop('selected', true);
112	$('#selMake').prop('disabled', true);
113	$('#selModel option:eq(0)').prop('selected', true);
114	$('#selModel').prop('disabled', true);
115
116	var reqUrl = "/api/vehicle/";
117	if (vehicleType.toUpperCase() == 'USED')
118		reqUrl += "used-makes";
119	else
120		reqUrl += "new-makes";
121
122	reqUrl += "?year=" + $('#selYear').val() + "&select=1";
123
124	updating = true;
125	$.ajax({
126		url: reqUrl,
127		dataType: 'json',
128		success: function (data) {
129			fillSelect(data, 'selMake');
130			updating = false;
131			if ($('#selMake option').length > 0) {
132				$('#selMake').prop('disabled', false);
133			}
134		}
135	});
136}
137
138function makeChange() {
139	if (updating) return;
140	$('#selModel option:eq(0)').prop('selected', true);
141	$('#selModel').prop('disabled', true);
142	if ($('#selMake').val() == '') return;
143
144	var reqUrl = "/api/vehicle/";
145	if (isVirtual)
146		reqUrl += "new-virtual-models";
147	else {
148		if (vehicleType.toUpperCase() == 'USED')
149			reqUrl += "used-models";
150		else
151			reqUrl += "new-models";
152	}
153	reqUrl += "?year=" + $('#selYear').val() + "&make=" + $('#selMake').val() + "&select=1";
154	updating = true;
155	$.ajax({
156		url: reqUrl,
157		dataType: 'json',
158		success: function (data) {
159			fillSelect(data, 'selModel');
160			updating = false;
161			if (parseInt($('#selModel option').length) > 0) {
162				if (typeof (vehicleModel) !== 'undefined' && vehicleModel != '')
163					$("#selModel option[value='" + vehicleModel + "']").prop('selected', true);
164				if ($('#selModel option').length == 2)
165					$("#selModel option[value='" + vehicleModel + "']").prop('selected', true);
166
167				$('#selModel').prop('disabled', false);
168			}
169		}
170	});
171}
172function modelPhotoChange() {
173	//The content of this method was removed because this method does not appear to be called from anywhere (7/11/2022).
174}
175
176function getDateRange() {
177	var reqUrl = "/api/dealership/dates?num=" + numDays + "&page=" + page;
178	updating = true;
179	$.ajax({
180		url: reqUrl,
181		dataType: 'json',
182		success: function (data) {
183			fillSelect(data, 'selDate');
184			if ($('#selDate option').length > 0) {
185				$('#selDate option:eq(1)').prop('selected', true);
186				dateChange();
187			}
188		}
189	});
190}
191function dateChange() {
192	if ($('#selDate').val() == '') {
193		$('#selTime option:eq(0)').prop('selected', true);
194		$('#selTime').prop('disabled', true);
195		return;
196	}
197
198	var reqUrl = "/api/dealership/times?type=" + timeType + "&date=" + $('#selDate').val();
199	if (typeof appointmentIntervalMinutes !== 'undefined' && appointmentIntervalMinutes) {
200		reqUrl += "&interval=" + appointmentIntervalMinutes;
201	}
202	$('#selTime option:eq(0)').prop('selected', true);
203	$('#selTime').prop('disabled', true);
204
205	$.ajax({
206		url: reqUrl,
207		dataType: 'json',
208		success: function (data) {
209			fillSelect(data, 'selTime');
210			$('#selTime').prop('disabled', false);
211		}
212	});
213}
214
215//________________________ REF DATA _____________________________
216
217function getRefYear() {
218	var reqUrl = "/api/vehicle/years-ref?";
219	if (vehicleMake == 'Lamborghini') reqUrl += "make=Lamborghini";
220
221	updating = true;
222	$.ajax({
223		url: reqUrl,
224		dataType: 'json',
225		success: function (data) {
226			fillSelect(data, 'selYear');
227			updating = false;
228			if ($('#selYear option').length > 0) {
229				if (typeof (vehicleYear) !== 'undefined' && vehicleYear != '') {
230					$("#selYear option[value='" + vehicleYear + "']").prop('selected', true);
231					refYearChange();
232				}
233				else {
234					if ($('#selYear option').length == 2) {
235						$('#selYear option:eq(1)').prop('selected', true);
236						refYearChange();
237					}
238					if (preSelectYear) {
239						$('#selYear option:eq(1)').prop('selected', true);
240						refYearChange();
241					}
242				}
243			}
244		}
245	});
246}
247
248function refYearChange() {
249	if (updating) return;
250
251	$('#selMake option:eq(0)').prop('selected', true);
252	$('#selMake').prop('disabled', true);
253	$('#selModel option:eq(0)').prop('selected', true);
254	$('#selModel').prop('disabled', true);
255	if ($('#selTrim').length > 0) {
256		$('#selTrim option:eq(0)').prop('selected', true);
257		$('#selTrim').prop('disabled', true);
258	}
259	if ($('#selYear').val() == '') return;
260
261	var reqUrl = "/api/vehicle/";
262	if (vehicleMake == 'Lamborghini')
263		reqUrl += "new-makes";
264	else
265		reqUrl += "ref-makes";
266	reqUrl += "?year=" + $('#selYear').val() + "&select=1";
267
268	updating = true;
269	$.ajax({
270		url: reqUrl,
271		dataType: 'json',
272		success: function (data) {
273			fillSelect(data, 'selMake');
274			updating = false;
275			if ($('#selMake').length > 0) {
276				if (vehicleMake != '') {
277					$("#selMake option[value='" + vehicleMake + "']").prop('selected', true);
278					refMakeChange();
279				}
280				else {
281					if (preSelectMake) {
282						$('#selMake option:eq(1)').prop('selected', true);
283					} else {
284						$('#selMake option:eq(0)').prop('selected', true);
285					}
286				}
287				$('#selMake').prop('disabled', false);
288			}
289		}
290	});
291}
292
293
294function getRefMake() {
295	//if (updating) return;
296
297	$('#selMake option:eq(0)').prop('selected', true);
298	$('#selMake').prop('disabled', true);
299	$('#selModel option:eq(0)').prop('selected', true);
300	$('#selModel').prop('disabled', true);
301	if ($('#selTrim').length > 0) {
302		$('#selTrim option:eq(0)').prop('selected', true);
303		$('#selTrim').prop('disabled', true);
304	}
305
306
307	var reqUrl = "/api/vehicle/";
308	if (vehicleMake == 'Lamborghini')
309		reqUrl += "new-makes";
310	else
311		reqUrl += "ref-makes";
312	reqUrl += "?year=" + $('#selYear').val() + "&select=1";
313
314	updating = true;
315	$.ajax({
316		url: reqUrl,
317		dataType: 'json',
318		success: function (data) {
319			fillSelect(data, 'selMake');
320			updating = false;
321			// var tmpNum=$('#selMake').length
322			// if (tmpNum > 0) {
323			$('#selMake').prop('disabled', false);
324			// }
325		}
326	});
327
328	if ($('#selBodyStyle').length > 0)
329		getRefBodyStyle();
330}
331
332function refMakeChange() {
333	if (updating) return;
334	$('#selModel option:eq(0)').prop('selected', true);
335	$('#selModel').prop('disabled', true);
336	if ($('#selTrim').length > 0) {
337		$('#selTrim option:eq(0)').prop('selected', true);
338		$('#selTrim').prop('disabled', true);
339	}
340	if ($('#selMake').val() == '') return;
341
342	var reqUrl = "/api/vehicle/ref-models";
343	reqUrl += "?year=" + $('#selYear').val() + "&make=" + $('#selMake').val() + "&select=1";
344
345	updating = true;
346	$.ajax({
347		url: reqUrl,
348		dataType: 'json',
349		success: function (data) {
350			fillSelect(data, 'selModel');
351			updating = false;
352			if ($('#selModel option').length > 0) {
353				if (vehicleModel != '')
354					$("#selModel option[value='" + vehicleModel + "']").prop('selected', true);
355				else {
356					if (preSelectModel) {
357						$('#selModel option:eq(1)').prop('selected', true);
358						if ($('#selTrim').length > 0) refModelChange();
359					}
360				}
361				$('#selModel').prop('disabled', false);
362			}
363		}
364	});
365}
366
367function refModelChange() {
368	if (updating) return;
369	$('#selTrim option:eq(0)').prop('selected', true);
370	$('#selTrim').prop('disabled', true);
371	if ($('#selModel').val() == '') return;
372
373	var reqUrl = "/api/vehicle/ref-trims?to=1";
374	reqUrl += "&year=" + $('#selYear').val() + "&make=" + $('#selMake').val() + "&model=" + $('#selModel').val();
375	$.ajax({
376		url: reqUrl,
377		dataType: 'json',
378		success: function (data) {
379			fillSelect(data, 'selTrim');
380			updating = false;
381			$('#selTrim').prop('disabled', false);
382		}
383	});
384}
385
386function getRefBodyStyle() {
387	// if (updating) return; 
388	$('#selBodyStyle option:eq(0)').prop('selected', true);
389	$('#selBodyStyle').prop('disabled', true);
390
391	var reqUrl = "/api/vehicle/ref-bodystyles?select=1";
392	if ($('#selMake').val() != '' && $('#selMake').val() != null)
393		reqUrl += "&make=" + $('#selMake').val();
394	if ($('#selModel').val() != '' && $('#selModel').val() != null)
395		reqUrl += "&model=" + $('#selModel').val();
396
397	$.ajax({
398		url: reqUrl,
399		dataType: 'json',
400		success: function (data) {
401			fillSelect(data, 'selBodyStyle');
402			updating = false;
403			$('#selBodyStyle').prop('disabled', false);
404		}
405	});
406}
407
408
409//_______________________________________________________________
410
411function fillSelect(namevalue, controlId) {
412	if (oSelect = document.getElementById(controlId)) {
413		var content = '';
414		for (var i = oSelect.length - 1; i >= 0; i--) {
415			oSelect.options[i] = null;
416		}
417		for (var i = 0; i < namevalue.length; i++) {
418			if (namevalue[i].value == undefined) {
419				oSelect.options[oSelect.length] = new Option(namevalue[i].name);
420				content += namevalue[i].name + self.delimiter + namevalue[i].name + self.delimiter;
421			}
422			else {
423				opt = new Option(namevalue[i].name, namevalue[i].value);
424				oSelect.options[oSelect.length] = opt;
425				content += namevalue[i].name + self.delimiter + namevalue[i].value + self.delimiter;
426			}
427		}
428		if (content.substr(content.length - 1, 1) == self.delimiter) {
429			content = content.substr(0, content.length - 1);
430		}
431		if (oHidden = document.getElementById(self.hiddenId)) {
432			oHidden.value = content;
433		}
434		if (oSelect.selectedIndex > -1) {
435			if (oSelect.fireEvent) {
436				oSelect.fireEvent('onchange');
437			}
438			else if (oSelect.dispatchEvent) {
439				var oEvent = document.createEvent('HTMLEvents');
440				oEvent.initEvent('change', true, true);
441				oSelect.dispatchEvent(oEvent);
442			}
443		}
444	}
445}

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.