PageSourceSearch

https://www.estabrooksonline.com/includes/functions.js?version=1790223644

js estabrooksonline.com collected 2026-09-24 11:20:57 UTC 25,314 bytes, 545 lines download raw bytes

1function PopupPic(sPicURL) {
2	window.open("/includes/popup.htm?"+sPicURL,"","resizable=1,status=false,HEIGHT=200,WIDTH=200");
3}
4
5function PopupWindow(windowURL) {
6	window.open(""+windowURL,"","resizable=1,status=false,HEIGHT=435,WIDTH=450");
7}
8
9function calculate() {
10
11	cubic_yards = Math.ceil((document.mulchForm.length.value/3) * (document.mulchForm.width.value/3) * (document.mulchForm.depth.value/36));
12	
13	if (cubic_yards <= 1) { cubic_yards = 1; }
14
15	document.mulchForm.cubicYards.value = cubic_yards;
16	document.mulchForm.bags.value = cubic_yards * 13;
17}
18
19function calculate2() {
20	window.alert(document.mulchForm.cubicYards.value);
21}
22
23function IsNumeric(val) {
24    if (isNaN(parseFloat(val))) {
25          return false;
26     }
27     return true;
28}
29
30function unformatCurrency(num) {
31	return parseFloat(num.replace(/[^0-9-.]/g, ''));
32}
33
34function copyAddress(form) {
35	if (form.copy.checked) {
36		form.billingFirstName.value = form.shippingFirstName.value;
37		form.billingLastName.value = form.shippingLastName.value;
38		form.billingAddress.value = form.shippingAddress.value;
39		form.billingAddress2.value = form.shippingAddress2.value;
40		form.billingCity.value = form.shippingCity.value;
41		form.billingState.value = form.shippingState.value;
42		form.billingZip.value = form.shippingZip.value;
43	} else {
44		form.billingFirstName.value = "";
45		form.billingLastName.value = "";
46		form.billingAddress.value = "";
47		form.billingAddress2.value = "";
48		form.billingCity.value = "";
49		form.billingState.value = "";
50		form.billingZip.value = "";
51	}
52}
53
54function enableGift(form) {
55	if (form.gift.checked) {
56		form.giftTo.disabled = false;
57		form.giftFrom.disabled = false;
58		form.giftMessage.disabled = false;
59	} else {
60		form.giftTo.value = "";
61		form.giftTo.disabled = true;
62		form.giftFrom.value = "";
63		form.giftFrom.disabled = true;
64		form.giftMessage.value = "";
65		form.giftMessage.disabled = true;
66	}
67}
68
69function formatCurrency(num) {
70	num = num.toString().replace(/\$|\,/g,'');
71	if(isNaN(num))
72	num = "0";
73	sign = (num == (num = Math.abs(num)));
74	num = Math.floor(num*100+0.50000000001);
75	cents = num%100;
76	num = Math.floor(num/100).toString();
77	if(cents<10)
78	cents = "0" + cents;
79	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
80	num = num.substring(0,num.length-(4*i+3))+','+
81	num.substring(num.length-(4*i+3));
82	return (((sign)?'':'-') + '$' + num + '.' + cents);
83}
84
85function updateTotal(form) {
86	form.total.value = formatCurrency(form.amount.value * .75);
87	form.finalTotal.value = formatCurrency(form.amount.value * .75);
88	form.savings.value = formatCurrency(form.amount.value * .25);
89}
90
91function updateGCTotal(form) {
92	form.total.value = formatCurrency(form.amount.value);
93	form.finalTotal.value = formatCurrency(form.amount.value);
94}
95
96function updateGCTotal2(form) {
97	form.total.value = formatCurrency(form.amount_1.value);
98	form.finalTotal.value = formatCurrency(form.amount_1.value);
99}
100
101function updateTourTotal(form) {
102	/*if (form.quantity.value >= 4) {
103		form.unitPrice.value = "$20.00";
104		form.total.value = formatCurrency(form.quantity.value * 20);
105		form.finalTotal.value = formatCurrency(form.quantity.value * 20);
106	} else {*/
107		form.unitPrice.value = "$40.00";
108		form.total.value = formatCurrency(form.quantity.value * 40);
109		form.finalTotal.value = formatCurrency(form.quantity.value * 40);
110	/*}*/
111}
112
113function updateWreathTotal(form) {
114	if (form.cones.value == 0) {
115		form.berries.value = 0;
116		form.berries.disabled = true;
117	} else {
118		form.berries.disabled = false;
119	}
120	
121	if (form.cones.value > 0 || form.berries.value > 0) {
122		if (form.wp.value == 1) {
123			form.unitPrice.value = formatCurrency(70);
124			if (form.shippingState.value == "ME") {
125				form.salesTax.value = formatCurrency(70 * .055);
126				form.finalTotal.value = formatCurrency(70 + (70 * .055));
127			} else {
128				form.salesTax.value = formatCurrency(0);
129				form.finalTotal.value = formatCurrency(70);
130			}
131			
132		} else {
133			form.unitPrice.value = formatCurrency(65);
134			if (form.shippingState.value == "ME") {
135				form.salesTax.value = formatCurrency(65 * .055);
136				form.finalTotal.value = formatCurrency(65 + (65 * .055));
137			} else {
138				form.salesTax.value = formatCurrency(0);
139				form.finalTotal.value = formatCurrency(65);
140			}
141		}
142	} else {
143		if (form.wp.value == 1) {
144			form.unitPrice.value = formatCurrency(63);
145			if (form.shippingState.value == "ME") {
146				form.salesTax.value = formatCurrency(63 * .055);
147				form.finalTotal.value = formatCurrency(63 + (63 * .055));
148			} else {
149				form.salesTax.value = formatCurrency(0);
150				form.finalTotal.value = formatCurrency(63);
151			}
152		} else {
153			form.unitPrice.value = formatCurrency(58);
154			if (form.shippingState.value == "ME") {
155				form.salesTax.value = formatCurrency(58 * .055);
156				form.finalTotal.value = formatCurrency(58 + (58 * .055));
157			} else {
158				form.salesTax.value = formatCurrency(0);
159				form.finalTotal.value = formatCurrency(58);
160			}
161		}
162	}
163	
164}
165
166function updateBulkTotal(form) {
167
168	if (form.delivery_city.value == "Yarmouth") { 
169		//if ((form.bark_yards.value >= 10) || (form.nutri_yards.value >= 10) || (form.pine_yards.value >= 10) || (form.compost_yards.value >= 10) || (form.playground_yards.value >= 10)) {
170			//form.delivery.value = 0;
171		//} else {
172			form.delivery.value = 35;
173		//}
174		
175		// PROMO
176		//if (form.playground_yards.value >= 5) {
177			//form.delivery.value = 0;
178		//}
179		
180	} else if (form.delivery_city.value == "Cumberland" || form.delivery_city.value == "Falmouth" || form.delivery_city.value == "Freeport" || form.delivery_city.value == "North Yarmouth") { 
181		//if ((form.bark_yards.value >= 10) || (form.nutri_yards.value >= 10) || (form.pine_yards.value >= 10) || (form.compost_yards.value >= 10) || (form.playground_yards.value >= 10)) {
182			//form.delivery.value = 0;
183		// else {
184			form.delivery.value = 45;
185		//}
186		
187		// PROMO
188		//if (form.playground_yards.value >= 5) {
189			//form.delivery.value = 0;
190		//}
191		
192	} else if (form.delivery_city.value == "Bath" || form.delivery_city.value == "Brunswick" || form.delivery_city.value == "Cape Elizabeth" || form.delivery_city.value == "Durham" || form.delivery_city.value == "Gray" || form.delivery_city.value == "New Gloucester" || form.delivery_city.value == "Portland" || form.delivery_city.value == "Pownal" || form.delivery_city.value == "Scarborough" || form.delivery_city.value == "South Portland" || form.delivery_city.value == "Topsham" || form.delivery_city.value == "West Falmouth" || form.delivery_city.value == "Westbrook" || form.delivery_city.value == "Windham") { 
193		//if ((form.bark_yards.value >= 6) || (form.nutri_yards.value >= 6) || (form.pine_yards.value >= 6) || (form.loam_yards.value >= 6) || (form.compost_yards.value >= 6) || (form.super_yards.value >= 6) || (form.stone_yards.value >= 6) || (form.playground_yards.value >= 6)) {
194			//form.delivery.value = 35;
195		//} else {
196			form.delivery.value = 60;
197		//}
198	} else if (form.delivery_city.value == "Arundel" || form.delivery_city.value == "Bowdoin" || form.delivery_city.value == "Bowdoinham" || form.delivery_city.value == "Biddeford" || form.delivery_city.value == "Dresden" || form.delivery_city.value == "Gorham" || form.delivery_city.value == "Harpswell" || form.delivery_city.value == "Kennebunk" || form.delivery_city.value == "Kennebunkport" || form.delivery_city.value == "Old Orchard Beach" || form.delivery_city.value == "Phippsburg" || form.delivery_city.value == "Saco" || form.delivery_city.value == "Wells") { 
199		//if ((form.bark_yards.value >= 6) || (form.nutri_yards.value >= 6) || (form.pine_yards.value >= 6) || (form.loam_yards.value >= 6) || (form.compost_yards.value >= 6) || (form.super_yards.value >= 6) || (form.stone_yards.value >= 6) || (form.playground_yards.value >= 6)) {
200			//form.delivery.value = 35;
201		//} else {
202			form.delivery.value = 100;
203		//}
204	} else if (form.delivery_city.value == "Auburn" || form.delivery_city.value == "Bailey Island" || form.delivery_city.value == "Casco" || form.delivery_city.value == "Dayton" || form.delivery_city.value == "Gardiner" || form.delivery_city.value == "Lewiston" || form.delivery_city.value == "Lisbon" || form.delivery_city.value == "Lisbon Falls" || form.delivery_city.value == "Mechanic Falls" || form.delivery_city.value == "Ogunquit" || form.delivery_city.value == "Orr's Island" || form.delivery_city.value == "Poland" || form.delivery_city.value == "Raymond" || form.delivery_city.value == "Richmond" || form.delivery_city.value == "Sabattus" || form.delivery_city.value == "Standish" || form.delivery_city.value == "Wiscasset") { 
205		//if ((form.bark_yards.value >= 10) || (form.nutri_yards.value >= 10) || (form.pine_yards.value >= 10) || (form.loam_yards.value >= 10) || (form.compost_yards.value >= 10) || (form.super_yards.value >= 10) || (form.stone_yards.value >= 6) || (form.playground_yards.value >= 10)) {
206			//form.delivery.value = 50;
207		//} else {
208			form.delivery.value = 150;
209		//}
210	} else if (form.delivery_city.value == "Augusta" || form.delivery_city.value == "Bridgton" || form.delivery_city.value == "Boothbay" || form.delivery_city.value == "Buxton" || form.delivery_city.value == "Cape Neddick" || form.delivery_city.value == "Damariscotta" || form.delivery_city.value == "Fryeburg" || form.delivery_city.value == "Hallowell" || form.delivery_city.value == "Kittery" || form.delivery_city.value == "Limington" || form.delivery_city.value == "Monmouth" || form.delivery_city.value == "Norway" || form.delivery_city.value == "Sanford" || form.delivery_city.value == "South Paris" || form.delivery_city.value == "Springvale" || form.delivery_city.value == "Winthrop" || form.delivery_city.value == "Woolwich" || form.delivery_city.value == "York") { 
211		//if ((form.bark_yards.value >= 10) || (form.nutri_yards.value >= 10) || (form.pine_yards.value >= 10) || (form.loam_yards.value >= 10) || (form.compost_yards.value >= 10) || (form.super_yards.value >= 10) || (form.stone_yards.value >= 6) || (form.playground_yards.value >= 10)) {
212			//form.delivery.value = 50;
213		//} else {
214			form.delivery.value = 175;
215		//}
216	} else {
217		form.delivery.value = 0;
218	}
219
220	bark_price = 55;
221	nutri_price = 60;
222	pine_price = 67;
223	loam_price = 54;
224	compost_price = 78;
225	super_price = 68;
226	stone_price = 65;
227	playground_price = 58;
228	round_price = 90;
229	gravel_price = 45;
230	pea_price = 56;
231	sand_price = 36;
232	dust_price = 42;
233	
234	if (isNaN(form.bark_yards.value) == true) { form.bark_yards.value = 0; }
235	if (isNaN(form.nutri_yards.value) == true) { form.nutri_yards.value = 0; }
236	if (isNaN(form.pine_yards.value) == true) { form.pine_yards.value = 0; }
237	if (isNaN(form.loam_yards.value) == true) { form.loam_yards.value = 0; }
238	if (isNaN(form.compost_yards.value) == true) { form.compost_yards.value = 0; }
239	if (isNaN(form.super_yards.value) == true) { form.super_yards.value = 0; }
240	if (isNaN(form.stone_yards.value) == true) { form.stone_yards.value = 0; }
241	if (isNaN(form.playground_yards.value) == true) { form.playground_yards.value = 0; }
242	if (isNaN(form.round_yards.value) == true) { form.round_yards.value = 0; }
243	if (isNaN(form.gravel_yards.value) == true) { form.gravel_yards.value = 0; }
244	if (isNaN(form.pea_yards.value) == true) { form.pea_yards.value = 0; }
245	if (isNaN(form.sand_yards.value) == true) { form.sand_yards.value = 0; }
246	if (isNaN(form.dust_yards.value) == true) { form.dust_yards.value = 0; }
247	
248	form.bark_total.value = formatCurrency(form.bark_yards.value * bark_price);
249	form.nutri_total.value = formatCurrency(form.nutri_yards.value * nutri_price);
250	form.pine_total.value = formatCurrency(form.pine_yards.value * pine_price);
251	form.loam_total.value = formatCurrency(form.loam_yards.value * loam_price);
252	form.compost_total.value = formatCurrency(form.compost_yards.value * compost_price);
253	form.super_total.value = formatCurrency(form.super_yards.value * super_price);
254	form.stone_total.value = formatCurrency(form.stone_yards.value * stone_price);
255	form.playground_total.value = formatCurrency(form.playground_yards.value * playground_price);
256	form.round_total.value = formatCurrency(form.round_yards.value * round_price);
257	form.gravel_total.value = formatCurrency(form.gravel_yards.value * gravel_price);
258	form.pea_total.value = formatCurrency(form.pea_yards.value * pea_price);
259	form.sand_total.value = formatCurrency(form.sand_yards.value * sand_price);
260	form.dust_total.value = formatCurrency(form.dust_yards.value * dust_price);
261	
262	form.subtotal.value = parseFloat(form.bark_yards.value * bark_price) + parseFloat(form.nutri_yards.value * nutri_price) + parseFloat(form.pine_yards.value * pine_price) + parseFloat(form.loam_yards.value * loam_price) + parseFloat(form.compost_yards.value * compost_price) + parseFloat(form.super_yards.value * super_price) + parseFloat(form.stone_yards.value * stone_price) + parseFloat(form.playground_yards.value * playground_price) + parseFloat(form.round_yards.value * round_price) + parseFloat(form.gravel_yards.value * gravel_price) + parseFloat(form.pea_yards.value * pea_price) + parseFloat(form.sand_yards.value * sand_price) + parseFloat(form.dust_yards.value * dust_price);
263	
264	form.tax.value = (parseFloat(form.subtotal.value) + parseFloat(form.delivery.value)) * .055
265	form.final_total.value = parseFloat(form.subtotal.value) + parseFloat(form.delivery.value) + parseFloat(form.tax.value);
266	
267	form.subtotal.value = formatCurrency(form.subtotal.value)
268	form.delivery.value = formatCurrency(form.delivery.value)
269	form.tax.value = formatCurrency(form.tax.value)
270	form.final_total.value = formatCurrency(form.final_total.value)
271
272}
273
274function calcDist() {
275
276	// initialize services
277	const geocoder = new google.maps.Geocoder();
278	const service = new google.maps.DistanceMatrixService();
279	// build request
280	// origin is always Yarmouth
281	const origin = { lat: 43.808722, lng: -70.171516 };
282	// build the destination string from the form
283	const destination = document.getElementById("delivery_address").value + " " + document.getElementById("delivery_city").value + " " + document.getElementById("delivery_state").value + " " + document.getElementById("delivery_zip").value;
284	const request = {
285		origins: [origin],
286		destinations: [destination],
287		travelMode: google.maps.TravelMode.DRIVING,
288		unitSystem: google.maps.UnitSystem.IMPERIAL,
289		avoidHighways: false,
290		avoidTolls: false,
291	};
292	
293	service.getDistanceMatrix(request).then((response) => {
294		JSON.stringify(
295            response,
296            null,
297            2
298          );
299		// get the distance in miles
300		var distance_text = response.rows[0].elements[0].distance.text;
301		// remove " mi" from distance_text
302		var distance = parseFloat(distance_text.replace(" mi",""));
303		
304		
305		
306		// $30 + $3 / mile
307		var delivery_price = 30 + (distance * 3);
308		
309		
310		// round to a whole number
311		//delivery_price = delivery_price.toFixed(0);
312		delivery_price = Math.ceil(delivery_price);
313		
314		// $30 OFF promotion
315		
316		/* if (document.getElementById("bark_yards").value >= 5 || document.getElementById("nutri_yards").value >= 5 || document.getElementById("pine_yards").value >= 5 || document.getElementById("loam_yards").value >= 5 || document.getElementById("compost_yards").value >= 5 || document.getElementById("super_yards").value >= 5 || document.getElementById("stone_yards").value >= 5 || document.getElementById("playground_yards").value >= 5 || document.getElementById("round_yards").value >= 5 || document.getElementById("gravel_yards").value >= 5 || document.getElementById("pea_yards").value >= 5 || document.getElementById("sand_yards").value >= 5 || document.getElementById("dust_yards").value >= 5) {
317			delivery_price = delivery_price - 30; 
318		}*/
319		
320		
321		
322		document.getElementById('delivery').value = formatCurrency(delivery_price);
323		document.getElementById('tax').value = formatCurrency((parseFloat(unformatCurrency(document.getElementById('subtotal').value)) + parseFloat(delivery_price))*.055);
324		document.getElementById('final_total').value = formatCurrency(parseFloat(unformatCurrency(document.getElementById('subtotal').value)) + parseFloat(unformatCurrency(document.getElementById('delivery').value)) + parseFloat(unformatCurrency(document.getElementById('tax').value)));
325		
326
327	});
328
329}
330
331function updateBulkTotal2(form) {
332
333	calcDist();
334
335	bark_price = 57;
336	nutri_price = 62;
337	pine_price = 67;
338	loam_price = 62;
339	compost_price = 82;
340	super_price = 69.5;
341	stone_price = 72;
342	playground_price = 62;
343	round_price = 90;
344	gravel_price = 50;
345	pea_price = 60;
346	sand_price = 38;
347	dust_price = 42;
348	
349	if (isNaN(form.bark_yards.value) == true) { form.bark_yards.value = 0; }
350	if (isNaN(form.nutri_yards.value) == true) { form.nutri_yards.value = 0; }
351	if (isNaN(form.pine_yards.value) == true) { form.pine_yards.value = 0; }
352	if (isNaN(form.loam_yards.value) == true) { form.loam_yards.value = 0; }
353	if (isNaN(form.compost_yards.value) == true) { form.compost_yards.value = 0; }
354	if (isNaN(form.super_yards.value) == true) { form.super_yards.value = 0; }
355	if (isNaN(form.stone_yards.value) == true) { form.stone_yards.value = 0; }
356	if (isNaN(form.playground_yards.value) == true) { form.playground_yards.value = 0; }
357	if (isNaN(form.round_yards.value) == true) { form.round_yards.value = 0; }
358	if (isNaN(form.gravel_yards.value) == true) { form.gravel_yards.value = 0; }
359	if (isNaN(form.pea_yards.value) == true) { form.pea_yards.value = 0; }
360	if (isNaN(form.sand_yards.value) == true) { form.sand_yards.value = 0; }
361	if (isNaN(form.dust_yards.value) == true) { form.dust_yards.value = 0; }
362	
363	form.bark_total.value = formatCurrency(form.bark_yards.value * bark_price);
364	form.nutri_total.value = formatCurrency(form.nutri_yards.value * nutri_price);
365	form.pine_total.value = formatCurrency(form.pine_yards.value * pine_price);
366	form.loam_total.value = formatCurrency(form.loam_yards.value * loam_price);
367	form.compost_total.value = formatCurrency(form.compost_yards.value * compost_price);
368	form.super_total.value = formatCurrency(form.super_yards.value * super_price);
369	form.stone_total.value = formatCurrency(form.stone_yards.value * stone_price);
370	form.playground_total.value = formatCurrency(form.playground_yards.value * playground_price);
371	form.round_total.value = formatCurrency(form.round_yards.value * round_price);
372	form.gravel_total.value = formatCurrency(form.gravel_yards.value * gravel_price);
373	form.pea_total.value = formatCurrency(form.pea_yards.value * pea_price);
374	form.sand_total.value = formatCurrency(form.sand_yards.value * sand_price);
375	form.dust_total.value = formatCurrency(form.dust_yards.value * dust_price);
376	
377	form.subtotal.value = parseFloat(form.bark_yards.value * bark_price) + parseFloat(form.nutri_yards.value * nutri_price) + parseFloat(form.pine_yards.value * pine_price) + parseFloat(form.loam_yards.value * loam_price) + parseFloat(form.compost_yards.value * compost_price) + parseFloat(form.super_yards.value * super_price) + parseFloat(form.stone_yards.value * stone_price) + parseFloat(form.playground_yards.value * playground_price) + parseFloat(form.round_yards.value * round_price) + parseFloat(form.gravel_yards.value * gravel_price) + parseFloat(form.pea_yards.value * pea_price) + parseFloat(form.sand_yards.value * sand_price) + parseFloat(form.dust_yards.value * dust_price);
378	
379	form.tax.value = (parseFloat(form.subtotal.value) + parseFloat(unformatCurrency(form.delivery.value))) * .055
380	form.final_total.value = parseFloat(form.subtotal.value) + parseFloat(unformatCurrency(form.delivery.value)) + parseFloat(form.tax.value);
381	
382	form.subtotal.value = formatCurrency(form.subtotal.value)
383	//form.delivery.value = formatCurrency(form.delivery.value)
384	form.tax.value = formatCurrency(form.tax.value)
385	form.final_total.value = formatCurrency(form.final_total.value)
386
387}
388
389function calcDist2() {
390
391	// initialize services
392	const geocoder = new google.maps.Geocoder();
393	const service = new google.maps.DistanceMatrixService();
394	// build request
395	// origin is always Yarmouth
396	const origin = { lat: 43.808722, lng: -70.171516 };
397	// build the destination string from the form
398	const destination = document.getElementById("address").value + " " + document.getElementById("city").value + " " + document.getElementById("state").value + " " + document.getElementById("zip").value;
399	
400	const request = {
401		origins: [origin],
402		destinations: [destination],
403		travelMode: google.maps.TravelMode.DRIVING,
404		unitSystem: google.maps.UnitSystem.IMPERIAL,
405		avoidHighways: false,
406		avoidTolls: false,
407	};
408	
409	service.getDistanceMatrix(request).then((response) => {
410		JSON.stringify(
411            response,
412            null,
413            2
414          );
415		// get the distance in miles
416		var distance_text = response.rows[0].elements[0].distance.text;
417		// remove " mi" from distance_text
418		var distance = parseFloat(distance_text.replace(" mi",""));
419		
420		// $3/mile
421		if (distance >= 5) {
422			travel_price = distance * 3;
423		} else {
424			travel_price = 0
425		}
426		// round to a whole number
427		travel_price = travel_price.toFixed(0);
428		document.getElementById('travel').value = formatCurrency(travel_price);
429		//document.getElementById('tax').value = formatCurrency((parseFloat(unformatCurrency(document.getElementById('subtotal').value)) + parseFloat(travel_price))*.055);
430		document.getElementById('final_total').value = formatCurrency(parseFloat(unformatCurrency(document.getElementById('subtotal').value)) + parseFloat(unformatCurrency(document.getElementById('travel').value)) + parseFloat(unformatCurrency(document.getElementById('tax').value)));
431		
432
433	});
434
435}
436
437function updateConsultTotal(form) {
438
439	calcDist2();
440
441	//form.tax.value = (parseFloat(form.subtotal.value) + parseFloat(unformatCurrency(form.travel.value))) * .055
442	//form.final_total.value = parseFloat(form.subtotal.value) + parseFloat(unformatCurrency(form.travel.value)) + parseFloat(form.tax.value);
443	
444	//form.subtotal.value = formatCurrency(form.subtotal.value)
445	//form.delivery.value = formatCurrency(form.delivery.value)
446	//form.tax.value = formatCurrency(form.tax.value)
447	form.final_total.value = formatCurrency(form.final_total.value)
448
449}
450
451function updateDrivewayTotal(form) {
452	
453	driveway_square_feet = form.driveway_width.value * form.driveway_length.value;
454	form.os3_1.value = driveway_square_feet;
455	form.dimensions.value = driveway_square_feet + " sq ft";
456	
457	if (form.item_name_1.value == "Salt Service") {
458		if (form.os2_1.value == "Yarmouth") { 
459			if (driveway_square_feet >= 10000) {
460				total_price = driveway_square_feet * .03;
461				form.unit_price.value = "$0.03 / sq ft";
462			} else {
463				total_price = driveway_square_feet * .04;
464				form.unit_price.value = "$0.04 / sq ft";
465			}
466		} else {
467			if (driveway_square_feet >= 10000) {
468				total_price = driveway_square_feet * .04;
469				form.unit_price.value = "$0.04 / sq ft";
470			} else {
471				total_price = driveway_square_feet * .05;
472				form.unit_price.value = "$0.05 / sq ft";
473			}
474		}
475	} else {
476		if (form.os2_1.value == "Yarmouth") { 
477			if (driveway_square_feet >= 10000) {
478				total_price = driveway_square_feet * .015;
479				form.unit_price.value = "$0.015 / sq ft";
480			} else {
481				total_price = driveway_square_feet * .02;
482				form.unit_price.value = "$0.02 / sq ft";
483			}
484		} else {
485			if (driveway_square_feet >= 10000) {
486				total_price = driveway_square_feet * .025;
487				form.unit_price.value = "$0.025 / sq ft";
488			} else {
489				total_price = driveway_square_feet * .03;
490				form.unit_price.value = "$0.03 / sq ft";
491			}
492		}
493	}
494	
495	form.amount_1.value = total_price;
496	form.total.value = formatCurrency(total_price);
497	form.final_total.value = formatCurrency(total_price);
498	
499	if (driveway_square_feet < 2500) {
500		document.getElementById("area-error").innerHTML = "<span style='color:#a94442;'>Area must be at least 2500</span>";
501		document.getElementById("submit-button").disabled = true;
502	} else {
503		document.getElementById("area-error").innerHTML = "";
504		document.getElementById("submit-button").disabled = false;
505	}
506
507}
508
509function updateWebinarPrices(form) { 
510	
511	//if (document.getElementById('productQty_0').checked) {
512			//alert("checked");
513	//} else {
514			//alert("not checked");
515	//}
516	
517	//alert(document.getElementById("productQty_0").checked);
518	
519	//alert(form.productQty[1].value);
520	var inputs = document.querySelectorAll("#order input[name='productID']");
521	var subtotal = 0;
522	if (inputs.length > 1) {
523		for (i = 0; i < inputs.length; i++) {
524			
525			a = 'productQty_' + i;
526			b = 'productPrice_' + i;
527			c = 'productExtPrice_' + i;
528			if (document.getElementById(a).checked) {
529				//form.c.value = 1;
530				//alert(document.getElementById(b).value);
531				document.getElementById(c).value = document.getElementById(b).value;
532				subtotal += unformatCurrency(document.getElementById(b).value);
533				//form.c.value = formatCurrency(unformatCurrency(form.b.value));
534				//
535			} else {
536				document.getElementById(c).value = '$0.00';
537			}
538			
539			
540			
541		}
542	}
543	
544	form.totalPrice.value = formatCurrency(subtotal);
545}

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.