PageSourceSearch

https://usastudenttour.com/booking/scripts/jquery_booking.js

js usastudenttour.com collected 2026-10-06 13:14:33 UTC 13,056 bytes, 341 lines download raw bytes

1$(function(){
2	
3	$(':input','#myform').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected');
4	
5	var addnames = '<div class="cf addnameslink"><label></label><a href="#" class="add" id="add_names">Add a student</a></div>';
6	
7	$('#payment_method').change(function (){
8		var payment_method = $(this).val();
9		$('.travellers, .creditcard, .cash, .agent').hide(); 
10		switch (payment_method) {
11			case'c': $('.cash').show();break;
12			case'tc': $('.travellers').show(); break;
13			case'cc': $('.creditcard').show(); break;
14			case'ccc': $('.cash, .creditcard').show();break;
15			case'ctc': $('.cash, .travellers').show(); break;
16			case'cctc': $('.creditcard, .travellers').show(); break;
17			case'pta': $('.agent').show();break;
18		}
19	});
20
21	$('#passenger_type').live('ready', function (){
22		$('#other').empty();
23		$('#studentnames').empty();
24		$('.addnameslink').remove();
25		$('#passenger_type').css({'background-color':'#ffffff'})
26		$('#occupancy option:eq(0)').attr("selected", "selected");
27		
28		set_student_discount()
29	});
30	
31	
32	$('#occupancy').live('change', function (){
33		$('#passenger_type').css({'background-color':'#ffffff'})
34		var passenger_type = $('#passenger_type').val()
35		
36		if (passenger_type=='') {
37			$('#passenger_type').css({'background-color':'#ffee00'})
38			alert ('Please choose a Passenger Type'); 
39			$('#occupancy option:eq(0)').attr("selected", "selected"); 
40			return; 
41		}
42		
43		if (passenger_type == 'other') {
44			
45			//reset
46			$('#other').empty();
47			$('#studentnames').empty();
48			$('.addnameslink').remove();
49			
50			var num = $(this).val();
51			for (i=1;i<=num;i++) {
52				$('#other').append ('<div class="form_row cf passengers passenger"><label>Passenger:</label><input type="text" name="first_name_passengers['+i+']" id="passenger'+i+'_fname" value="First Name" class="lg" onfocus="if(this.value==\'First Name\'){this.value=\'\'}"><br><label></label><input type="text" name="last_name_passengers['+i+']" id="passenger'+i+'_lname" value="Last Name" onfocus="if(this.value==\'Last Name\'){this.value=\'\'}" class="lg"><br><label></label><input type="text" name="email_passengers['+i+']" id="passenger'+i+'_email" value="Email" class="lg" onfocus="if(this.value==\'Email\'){this.value=\'\'}" ><br><div class="gender_row cf"><label></label><label><input type="radio" name="gender_passengers['+i+']" value="Male"> <span class="gender">Male</span></label> <label><input type="radio" name="gender_passengers['+i+']" value="Female"> <span class="gender">Female</span></label></div></div>')
53			}
54			
55			$('#other').show();
56		
57		} else if (passenger_type == 'student'){
58			//reset
59			$('#other').empty();
60			$('#studentnames').empty();
61			
62			//append and show first field
63			$('#student').show();
64			$('#studentnames').append ('<div class="form_row cf students passenger" id="student1"><label>Passenger:</label><input type="text" name="first_name_students[0]" value="First Name" class="lg" onfocus="if(this.value==\'First Name\'){this.value=\'\'}"><br><label></label><input type="text" name="last_name_students[0]" value="Last Name" class="lg" onfocus="if(this.value==\'Last Name\'){this.value=\'\'}"><br><label></label><input type="text" name="email_students[0]" id="students'+i+'_email" value="Email" class="lg" onfocus="if(this.value==\'Email\'){this.value=\'\'}" ><br><div class="gender_row cf"><label></label><label><input type="radio" name="gender_students[0]" value="Male"> <span class="gender">Male</span></label> <label><input type="radio" name="gender_students[0]" value="Female"> <span class="gender">Female</span></label></div></div>')
65			
66			//decide whether to show add link
67			var students = $('.students').length;
68			var occupancy = $('#occupancy').val();
69			//alert (occupancy+'-'+students);
70			if (occupancy>students) $('.addnameslink').remove();$('#studentnames').after(addnames);
71			if (occupancy==1) $('.addnameslink').remove();
72		}
73		set_total_charge ()
74});
75	
76	$('#add_names').live('click', function (){
77		//alert ('here')
78		//alert (indexnum++);
79		var count = Number($('.students').length)+1;
80		$('#studentnames').append ('<div class="form_row cf students passenger" id="student1"><label>
80Passenger:</label><input type="text" name="first_name_students['+count+']" value="First Name" class="lg" onfocus="if(this.value==\'First Name\'){this.value=\'\'}"><br><label></label><input type="text" name="last_name_students['+count+']" value="Last Name" class="lg" onfocus="if(this.value==\'Last Name\'){this.value=\'\'}"><br><label></label><input type="text" name="email_students['+count+']" id="passenger'+count+'_email" value="Email" class="lg" onfocus="if(this.value==\'Email\'){this.value=\'\'}" ><br><div class="gender_row cf"><label></label><label><input type="radio" name="gender_students['+count+']" value="Male"> <span class="gender">Male</span></label> <label><input type="radio" name="gender_students['+count+']" value="Female"> <span class="gender">Female</span></label></div><a href="#" class="delete_names">(delete)</a></div>')
81		var students = Number($('.students').length);
82		var occupancy = Number($('#occupancy').val());
83		occupancy_price();
84		//alert (occupancy+'-'+students);
85		if (occupancy<=students) {$('.addnameslink').remove();}
86		set_total_charge ()
87	});
88	
89	$('.delete_names').live('click', function () {
90		
91		$(this).parents('.students').remove();
92		var students = Number($('.students').length);
93		var occupancy = Number($('#occupancy').val());
94		if (occupancy>students) $('.addnameslink').remove();$('#studentnames').after(addnames);
95		occupancy_price();
96		set_total_charge ()
97
98	});
99	
100	/*OPTIONAL TOURS ADD*/
101	$('#add_opttours').click(function (){
102		var scheduletour_id = $('#scheduletour_id').val();
103		//alert (scheduletour_id);
104		var optour_num = Number($('.optours').length)+1;
105		//alert(optour_num);
106		
107		$('#optours_list').append ('<div class="form_row optours cf"><label>Optional Tour:</label><select name="optional_tour[]" class="md" id="opt_tour_'+ optour_num +'"></select><a href="#" class="delete_opttour">(delete)</a></div>');
108		$('#opt_tour_'+optour_num).load('scripts/booking_functions.php?action=getoptionaltours&scheduletour_id='+scheduletour_id);
109		
110		if (optour_num>3) $('.addopttourslink').hide();
111		optionaltour_price();
112	});
113
114	/*OPTIONAL TOURS DELETE*/
115	$('.delete_opttour').live('click', function (){
116		$(this).parents('.optours').remove();
117		var optours = Number($('.optours').length);
118		if (optours<4) $('.addopttourslink').show();
119		optionaltour_price()
120	});
121	
122	/*********************************************************************************/
123	
124	$('#scheduletour_id').change(scheduledtour_price);
125	$('#amt_amount_due').ready(scheduledtour_price); // for public page, runs when page loaded with scheduletour_id pre-set
126	$('#agent_id').change(agent_discount_price);
127	$('#amt_amount_due').ready(agent_discount_price); // for public page, runs when page loaded with agent_id pre-set
128	$(".optours select").live('change', optionaltour_price); 
129	$("#occupancy").change(occupancy_price);
130	$("#update").click(set_total_charge);
131	
132	if(document.getElementById("ctact") && document.getElementById("ctact").length > 0 ){
133		$('#scheduletour_id').ready(scheduledtour_price);
134	}else{
135		$('#scheduletour_id').change(scheduledtour_price);
136		$('#agent_id').change(agent_discount_price);
137	}
138
139	function scheduledtour_price () { 
140		
141		$('.optours').remove();
142		$('.addopttourslink').css({'visibility':'visible','display':'block'});
143		
144		list_pickup_locations_public ();		
145				
146		$.ajax({
147			type: "POST",
148			url:  "/booking/scripts/booking_functions.php",
149			data: {action:"getschedtourprice", scheduletour_id: $('#scheduletour_id').val()},
150			success: set_basic_charge
151		})
152		
153		function set_basic_charge (data, status) {
154			$("#scheduledtour_price").html('$'+data);
155			$('#amt_schedule_tour_price').val(data);
156			set_total_charge ();
157		}
158	}
159
160	function list_pickup_locations () { 
161		
162		$.ajax({
163			type: "POST",
164			url:  "/booking/scripts/booking_functions.php",
165			data: {action:"getpickuplocations", scheduletour_id: $('#scheduletour_id').val()},
166			success: set_pickuplocation
167		})
168		
169		function set_pickuplocation (data, status) {
170			$("#pulocation").html(data);
171		}
172	}
173	function list_pickup_locations_public () { 
174		
175		$.ajax({
176			type: "POST",
177			url:  "/booking/scripts/booking_functions.php",
178			data: {action:"getpickuplocations_public", scheduletour_id: $('#scheduletour_id').val()},
179			success: set_pickuplocation
180		})
181		
182		function set_pickuplocation (data, status) {
183			$("#pulocation").html(data);
184		}
185	}
186
187	function agent_discount_price () { 
188		//alert ($(this).val()+'--'+$('#scheduletour_id').val());
189		$.ajax({
190			type: "POST",
191			url:  "/booking/scripts/booking_functions.php",
192			data: {action:"getagentdiscount", agent_id: $(this).val(), scheduletour_id: $('#scheduletour_id').val()},
193			success: set_discount_charge
194		})
195		
196		function set_discount_charge (data, status) {
197			data = Number(data);
198			if (data>0) {
199				$("#amt_discount_amount").val(data.toFixed(2));
200				set_total_charge ();
201			} else {
202				$("#amt_discount_amount").val('');
203				set_total_charge ();
204			}
205		}
206	}
207
208	function optionaltour_price () {
209		var total=0;
210		
211		var num = $('.optours select').size();
212
213		if (num>0) {
214			$('.optours select').each (function (){
215				$.ajax({
216					type: "POST",
217					url:  "/booking/scripts/booking_functions.php",
218					data: {action:"getoptionaltourprice", optional_tour_id: $(this).val()},
219					success: set_optional_tour_charge
220				})
221			});
222			
223		} else {
224			$("#optional_tour_total").html('$0');		
225			$('#amt_optional_tour_total').val('0');
226			set_total_charge ()
227		}
228		
229		function set_optional_tour_charge (data, status) {
230			total += Number(data);
231			$("#optional_tour_total").html('$'+total.toFixed(2));
232			$('#amt_optional_tour_total').val(total);
233			set_total_charge ()
234		}
235	}
236
237	function occupancy_price () {
238
239		var occupancy = $('#occupancy').val();
240		if (occupancy=='') occupancy=0;
241		
242		if ((occupancy>0) && (occupancy<4)) {
243			$.ajax({
244				type: "POST",
245				url:  "/booking/scripts/booking_functions.php",
246				data: {action:'getoccupancyrate', scheduletour_id: $('#scheduletour_id').val(), occupancy:occupancy },
247				success: set_basic_charge
248			})
249		} else {
250			$("#occupancy_total").html('$0.00');
251			$('#amt_occupancy_total').val('0');
252			set_total_charge ()
253		}
254		
255		function set_basic_charge (data, status) {
256			var total=0;
257			total = Number(data);
258			$("#occupancy_total").html('$'+total.toFixed(2));
259			$('#amt_occupancy_total').val(total);
260			set_total_charge ()
261		}
262	}
263	
264	function set_student_discount() {
265		
266		if ($('#passenger_type').val()=='student') {
267
268			$.ajax({
269				type: "POST",
270				url:  "/booking/scripts/booking_functions.php",
271				data: {action:'getstudentdiscount', scheduletour_id: $('#scheduletour_id').val()},
272				success: set_student_discount
273			})
274			
275			
276		} else {
277
278			$('#amt_stu_discount_amount').val('');
279			$('#student_disc').hide();
280			set_total_charge ();
281
282		}
283		function set_student_discount (data, status) {
284			var total=0;
285			total = Number(data);
286			$('#amt_stu_discount_amount').val(total.toFixed(2));
287			set_total_charge ()
288			$('#student_disc').show();
289		}
290	}
291
292	function set_total_charge () {
293		var total = 
294			Number($('#amt_schedule_tour_price').val())+
295			Number($('#amt_optional_tour_total').val())+
296			Number($('#amt_occupancy_total').val())+
297			Number($('#amt_manual_supp').val())-
298			Number($('#amt_discount_amount').val())-
299			Number($('#amt_stu_discount_amount').val());
300		var numpassengers = $('.passenger:visible').length;
301		var paidtodate = Number($('#amt_paid_to_date').val());
302		
303		$("#amount_payable").html('$'+total.toFixed(2));
304		$('#amt_amount_payable').val(total);
305		$("#amount_payable_total").html('$'+(total * numpassengers).toFixed(2));
306		$('#amt_amount_payable_total').val(total * numpassengers);
307		
308		$("#amount_due").html('$'+((total * numpassengers)-paidtodate).toFixed(2));
309		$('#amt_amount_due').val((total * numpassengers)-paidtodate);
310		return false;
311	}
312	
313})
314
315	function scheduledtour_price2 () { 
316		
317		window.alert("scheduledtour_price2 ()");
318		
319		$('.optours').remove();
320		$('.addopttourslink').css({'visibility':'visible','display':'block'});
321		
322		$(document).list_pickup_locations ();		
323		
324		var this_st_id = this.val();
325		if(isNaN(parseFloat(this_st_id)) && isFinite(this_st_id)){
326			this_st_id = document.getElementById("scheduletour_id").value;
327		}
328		
329		$.ajax({
330			type: "POST",
331			url:  "/booking/scripts/booking_functions.php",
332			data: {action:"getschedtourprice", scheduletour_id: this_st_id},
333			success: set_basic_charge
334		})
335		
336		function set_basic_charge (data, status) {
337			$("#scheduledtour_price").html('$'+data);
338			$('#amt_schedule_tour_price').val(data);
339			set_total_charge ();
340		}
341	}

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.