	var location_A 	= new Array()
	location_A[1]	= 'Vancouver and Surrounding Areas';
	location_A[2]	= 'Whistler';
	location_A[3]	= 'Seatle';
	location_A[4]	= 'Vancouver International Aiport YVR';
	location_A[5]	= 'Vancouver Cruise Ship Terminal';

	var vehicles_A		= new Array();
	var keys			= new Array();
	var fields			= '';
	var errors_A		= new Array();

function add_to_required_fields(value){
	if(document.getElementById('fields').value == ''){
		document.getElementById('fields').value = value;
	}else{
		document.getElementById('fields').value += '~'+value;
	}
}

function validate(){
	document.getElementById('fields').value == '';
	add_to_required_fields('dropoff_cruiseship_name_p2')				
	add_to_required_fields('pickup_cruiseship_name_p2')					
	add_to_required_fields('dropoff_pier_p2')					
	
	add_to_required_fields('pickup_point')				
	
	add_to_required_fields('pickup_point')				
	add_to_required_fields('dropoff_point')				
	add_to_required_fields('name')					
	add_to_required_fields('email')					
	add_to_required_fields('phone_1')					
	add_to_required_fields('phone_2')					
	add_to_required_fields('fax')					
	add_to_required_fields('details_skirack')					
	add_to_required_fields('details_childseat')											
	add_to_required_fields('comments')						

	var p = document.getElementById('pickup_point').options[document.getElementById('pickup_point').selectedIndex].value; 
	var d = document.getElementById('dropoff').options[document.getElementById('dropoff').selectedIndex].value; 

	add_to_required_fields('pickup_point');
	add_to_required_fields('dropoff_point');
	add_to_required_fields('name');					
	add_to_required_fields('email');					
	add_to_required_fields('phone_1');					
	add_to_required_fields('phone_2');					
	add_to_required_fields('fax');					
	add_to_required_fields('details_skirack');
	add_to_required_fields('details_childseat');											
	add_to_required_fields('comments');						
	
	if((p=='1_p')||(p=='2_p')||(p=='3_p')){

		add_to_required_fields('pickup_address');	
		add_to_required_fields('pickup_phone');						
		
		if(document.getElementById("pickup_1_address").value==""){
			errors_A.push('You must specify your Service Address(Pickup)');	
		}
		if(document.getElementById("pickup_1_phone").value==""){
			errors_A.push('You must specify your Service Phone Number(Pickup)');	
		}		
	}else if(p=='4_p'){
		var count_checked = 0;
		for (i=0;i<document.forms[0].pickup_plane_type.length;i++){
			if (document.forms[0].pickup_plane_type[i].checked){
				add_to_required_fields(document.forms[0].pickup_plane_type[i].value);					
				if(i == 0){
		if(document.getElementById("pickup_2_city").value==""){
			errors_A.push('You must specify your Airline departure city(Pickup)');	
		}		
		if(document.getElementById("pickup_2_airline").value==""){
			errors_A.push('You must specify your Airline(Pickup)');	
		}		
		if(document.getElementById("pickup_2_flight_number").value==""){
			errors_A.push('You must specify your Flight Number(Pickup)');	
					}		
				}else{

				}
				
				count_checked++;
			}
		}
		if(count_checked==0){
			errors_A.push('You must specify what kind of Flight you are arriving on (Commerical or Private)');				
		}
		
		
	}else if(p=='5_p'){
		add_to_required_fields('pickup_pier');
		add_to_required_fields('pickup_cruiseship_name');
		
		if(document.getElementById("pickup_cruiseship_name").value==""){
			errors_A.push('You must specify your Cruise Ship Name');	
		}		
	}
	if((d=='1_d')||(d=='2_d')||(d=='3_d')){
		add_to_required_fields('dropoff_address');
		add_to_required_fields('dropoff_phone');
						
		if(document.getElementById("dropoff_1_address").value==""){
			errors_A.push('You must specify your Service Address(Dropoff)');	
		}		
		if(document.getElementById("dropoff_1_phone").value==""){
			errors_A.push('You must specify your Service Phone Number(Dropoff)');	
		}		
		if(d=='3_d'){
			if(document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--'){
				errors_A.push('You must specify your Arrival Time(Dropoff)');				
			}		
		}	
	}else if(d=='4_d'){
		var count_checked=0		
		for (i=0;i<document.forms[0].dropoff_plane_type.length;i++){
			if (document.forms[0].dropoff_plane_type[i].checked){
				add_to_required_fields(document.forms[0].dropoff_plane_type[i].value);				
				if(i == 0){
					if(document.getElementById("dropoff_2_airline").value==""){
							errors_A.push('You must specify your Airline(Dropoff)');	
						}		
					if(document.getElementById("dropoff_2_flight_number").value==""){
						errors_A.push('You must specify your Flight Number(Dropoff)');	
					}			
					if(document.getElementById("dropoff_2_city").value==""){
						errors_A.push('You must specify your Airline departure city(Dropoff)');	
					}		
				}else{

				}
				count_checked++;
			}
		}
		if(count_checked==0){
			errors_A.push('You must specify what kind of Flight you are Departing on (Commerical or Private)');				
		}		
						
	}else if(d=='5_d'){		
		add_to_required_fields('dropoff_pier')		
		add_to_required_fields('dropoff_cruiseship_name')				
		if(document.getElementById("dropoff_cruiseship_name").value==""){
			errors_A.push('You must specify your Cruise Ship Name(Dropoff)');	
		}		
	}else if((p=='')||(d=='')){
		errors_A.push('You must specify your Pickup and Dropoff Points');		
	}	
	


	if(keys['trip_type']=='single'){
		add_to_required_fields('single_pickup_date');
		add_to_required_fields('single_pickup_time_1');
		add_to_required_fields('single_pickup_time_2');
		add_to_required_fields('passenger_count_1');
		add_to_required_fields('passenger_count_2');

		if(document.getElementById('single_pickup_date').value==''){
			errors_A.push("You must specify a date for your trip");
		}
		if(document.getElementById('single_pickup_time_1').options[document.getElementById('single_pickup_time_1').selectedIndex].value=='--'){
			errors_A.push("You must specify a pickup time");
		}		
	}else if(keys['trip_type']=='round_trip'){

		add_to_required_fields('round_pickup_date');
		add_to_required_fields('round_pickup_time_1');		
		add_to_required_fields('round_pickup_time_2');		
		add_to_required_fields('round_dropoff_date');		
		add_to_required_fields('round_return_time_1');		
		add_to_required_fields('round_return_time_2');
		add_to_required_fields('passenger_count_1');		
		add_to_required_fields('passenger_count_2');		
		add_to_required_fields('passenger_count_1_round_1');		
		add_to_required_fields('passenger_count_2_round_2');	
		
		add_to_required_fields('pickup_point_p2')				
		add_to_required_fields('dropoff_point_p2')			
		add_to_required_fields('dropoff_p2')					
	
		var p2 = document.getElementById('pickup_point_p2').options[document.getElementById('pickup_point_p2').selectedIndex].value; 
		var d2 = document.getElementById('dropoff_p2').options[document.getElementById('dropoff_p2').selectedIndex].value; 
		
		if((p2=='1_p')||(p2=='2_p')||(p2=='3_p')){		
			add_to_required_fields('pickup_address_p2');	
			add_to_required_fields('pickup_phone_p2');										
		}else if(p2=='4_p'){

			var count_checked_p2 = 0;
			for (i=0;i<document.forms[0].pickup_plane_type_p2.length;i++){
				if (document.forms[0].pickup_plane_type_p2[i].checked){
					add_to_required_fields(document.forms[0].pickup_plane_type_p2[i].value);
					if(i==0){
			if(document.getElementById("pickup_2_city_p2").value==""){
				errors_A.push('You must specify your Airline departure city(Pickup trip 2)');	
			}		
			if(document.getElementById("pickup_2_airline_p2").value==""){
				errors_A.push('You must specify your Airline(Pickup - Trip 2)');	
			}		
			if(document.getElementById("pickup_2_flight_number_p2").value==""){
				errors_A.push('You must specify your Flight Number(Pickup - Trip 2)');	
			}	
					
					}
					count_checked_p2++;
				}
			}
			/////////////////////////////////////////////////////////////////			
			
			
			add_to_required_fields('dropoff_2_arrival_time_p2');				
			add_to_required_fields('dropoff_2_arrival_time_2_p2');							

			add_to_required_fields('dropoff_plane_type_p2');										
			add_to_required_fields('pickup_plane_type_p2');													
			
			/////////////////////////////////////////////////////////////////
			if(count_checked_p2==0){
				errors_A.push('You must specify what kind of Flight you are arriving on (Commerical or Private - Trip 2)');				
			}
		}else if(p2=='5_p'){
			add_to_required_fields('pickup_pier_p2');
			add_to_required_fields('pickup_cruiseship_name_p2');
		
			if(document.getElementById("pickup_cruiseship_name").value==""){
				errors_A.push('You must specify your Cruise Ship Name');	
			}		
		}
	if((d2=='1_d')||(d2=='2_d')||(d2=='3_d')){
		add_to_required_fields('dropoff_address_p2');
		add_to_required_fields('dropoff_phone_p2');
						
		if(document.getElementById("dropoff_1_address_p2").value==""){
			errors_A.push('You must specify your Service Address(Dropoff - Trip 2)');	
		}		
		if(document.getElementById("dropoff_1_phone_p2").value==""){
			errors_A.push('You must specify your Service Phone Number(Dropoff - Trip 2)');	
		}		
		if(d=='3_d'){
			if(document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value =='--'){
				errors_A.push('You must specify your Arrival Time(Dropoff - Trip 2)');				
			}		
		}	
	}else if(d2=='4_d'){
		var count_checked_p2=0		
		for (i=0;i<document.forms[0].dropoff_plane_type_p2.length;i++){
			if (document.forms[0].dropoff_plane_type_p2[i].checked){
				add_to_required_fields(document.forms[0].dropoff_plane_type_p2[i].value);		
				if(i == 0){
		if(document.getElementById("dropoff_2_city_p2").value==""){
			errors_A.push('You must specify your Airline departure city(Dropoff - Trip 2)');	
		}		
		if(document.getElementById("dropoff_2_airline_p2").value==""){
			errors_A.push('You must specify your Airline(Dropoff - Trip 2)');	
		}		
		if(document.getElementById("dropoff_2_flight_number_p2").value==""){
			errors_A.push('You must specify your Flight Number(Dropoff - Trip 2)');	
		}		

				}else{

				}				
				count_checked_p2++;
			}
		}
		if(count_checked_p2==0){
			errors_A.push('You must specify what kind of Flight you are Departing on (Commerical or Private - Trip 2)');				
		}		
				
	}else if(d2=='5_d'){		
		add_to_required_fields('dropoff_pier_p2')		
		add_to_required_fields('dropoff_cruiseship_name_p2')				
		if(document.getElementById("dropoff_cruiseship_name_p2").value==""){
			errors_A.push('You must specify your Cruise Ship Name(Dropoff - Trip 2)');	
		}		
	}else if((p2=='')||(d2=='')){
		errors_A.push('You must specify your Pickup and Dropoff Points (Trip 2)');		
	}	

	if(document.getElementById('contact_name').value == ""){
		errors_A.push('You must input your name')		
	}
	if (document.getElementById('contact_email').value == ""){
		errors_A.push('You must input your email address so we can contact you')		
	}
	if (document.getElementById('contact_phone').value == ""){
		errors_A.push('You must input your phone number so we can contact you')
	}	
	
	
		if((document.getElementById('round_pickup_date').value=='')||(document.getElementById('round_return_date').value=='')){
			errors_A.push('You must specify a return date for your trip');
		}	
		if(document.getElementById('round_pickup_time_1').options[document.getElementById('round_pickup_time_1').selectedIndex].value=='--'){			
			errors_A.push("You must specify a pickup time");
		}		
		if(document.getElementById('round_return_time_1').options[document.getElementById('round_return_time_1').selectedIndex].value=='--'){						
			errors_A.push("You must specify a return pickup time");
		}
		
	}else{
		errors_A.push('You must specify what kind of trip you want, Single Pickup or Round Trip');
		
	}
	
	if
	(document.getElementById('contact_name').value == ""){
		errors_A.push('You must input your name')		
	}
	if (document.getElementById('contact_email').value == ""){
		errors_A.push('You must input your email address so we can contact you')		
	}
	if (document.getElementById('contact_phone').value == ""){
		errors_A.push('You must input your phone number so we can contact you')
	}	
	
	var proceed = check_empty();
	
	return proceed
}

function check_empty(){
	var error_str_set = new String;
	if(errors_A.length > 0){
		for(i=errors_A.length-1;i>=0;i--){
			error_str_set +=
			'<li>'+errors_A[i]+'</li>';
			errors_A.pop();
		}
		error_str_set = 
		'<ul id="form_errors"><li class="head">Warning!</li>'+error_str_set+'</ul>';
		
		document.getElementById('error_holder').innerHTML = error_str_set;
		window.scrollTo(1,1)
		return false
	}else{
		return true;
	}
}

function change_settings(set){
	switch(set){
		case "single_trip":
			display(1,'single_trip');
			display(0,'round_trip');			
			display(0,'round_pickup_return');			
			display(0,'round_return_return');						
			display(1,'pickup');
			display(1,'drop_off');			
			display(0,'passengers_round')			
			document.getElementById('trip_type_hidden').value = 'single'; 			
			keys['trip_type'] = 'single';
		break;	
		
		case "round_trip":
			display(0,'single_trip');
			display(1,'round_trip');
			display(1,'round_pickup_return');
			display(1,'round_return_return');									
			display(1,'pickup');
			display(1,'drop_off');		
			display(1,'passengers_round')
			keys['trip_type'] = 'round_trip';			
			document.getElementById('trip_type_hidden').value = 'round';			
		break;
		
		case "commercial_pickup":
			display(1,'pickup_2_commercial');
			display(0,'pickup_2_private');
			keys['plane_type_pickup'] = 'commercial';						
		break;
		
		case "private_pickup":
			display(0,'pickup_2_commercial');
			display(1,'pickup_2_private');
			keys['plane_type_pickup'] = 'private';									
		break;		
		
		case "commercial_dropoff":
			display(1,'dropoff_2_commercial');
			display(0,'dropoff_2_private');
			
			keys['plane_type_dropoff'] = 'commercial';									
		break;
		
		case "private_dropoff":
			display(0,'dropoff_2_commercial');
			display(1,'dropoff_2_private');
			
			keys['plane_type_dropoff'] = 'private';												
		break;		
		/* --------------- */
		case "commercial_pickup_p2":
			display(1,'pickup_2_commercial_p2');
			display(0,'pickup_2_private_p2');
			keys['plane_type_pickup_p2'] = 'commercial';						
		break;
		
		case "private_pickup_p2":
			display(0,'pickup_2_commercial_p2');
			display(1,'pickup_2_private_p2');
			keys['plane_type_pickup_p2'] = 'private';									
		break;		
		
		case "dropoff_2_commercial_p2":
			display(1,'dropoff_2_commercial_p2');
			display(0,'dropoff_2_private_p2');
			
			keys['plane_type_dropoff_p2'] = 'commercial';									
		break;
		
		case "dropoff_2_private_p2":
			display(0,'dropoff_2_commercial_p2');
			display(1,'dropoff_2_private_p2');
			
			keys['plane_type_dropoff_p2'] = 'private';												
		break;				
		
		
	
	}
}

function display(state,item){
	if(state==1){
		document.getElementById(item).style.display="block";
	}else{
		document.getElementById(item).style.display="none";
	}
}

function compare_origin_p2(){
	var time_1 	= 'round_return_time_1';
	var time_2 	= 'round_return_time_2';		
	var t_str	= 'round';				
	var loc_values 	= document.getElementById("pickup_point_p2").options[document.getElementById("pickup_point_p2").selectedIndex].value+"-"+document.getElementById("dropoff_p2").options[document.getElementById("dropoff_p2").selectedIndex].value		

	if(document.getElementById(t_str+'_pickup_date').value == ''){
		alert("You must set your Pickup Date");
		return;
	}

	switch(loc_values){
		case "2_p-4_d":
				// -5hrs	
				if(((document.getElementById("dropoff_2_arrival_time_p2").options[document.getElementById("dropoff_2_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='single')&&(document.getElementById('single_pickup_time_1').options[document.getElementById("single_pickup_time_1").selectedIndex].value == '--'))
					||((document.getElementById("dropoff_2_arrival_time_p2").options[document.getElementById("dropoff_2_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
					||((document.getElementById("dropoff_2_arrival_time_p2").options[document.getElementById("dropoff_2_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='single')&&(document.getElementById('single_pickup_date').value == ''))
					||((document.getElementById("dropoff_2_arrival_time_p2").options[document.getElementById("dropoff_2_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_date').value == ''))){
					return;
					
				}else if(document.getElementById("dropoff_2_arrival_time_p2").options[document.getElementById("dropoff_2_arrival_time_p2").selectedIndex].value=='--'){return;}
			
				var depart_h 			= document.getElementById(time_1).options[document.getElementById(time_1).selectedIndex].value						
				var depart_m 			= document.getElementById(time_2).options[document.getElementById(time_2).selectedIndex].value			
				var arrival_h 			= document.getElementById("dropoff_2_arrival_time_p2").options[document.getElementById("dropoff_2_arrival_time_p2").selectedIndex].value						
				var arrival_m 			= document.getElementById("dropoff_2_arrival_time_2_p2").options[document.getElementById("dropoff_2_arrival_time_2_p2").selectedIndex].value			
				var time_array_date_1	= new Array();
				time_array_date_1		= document.getElementById(t_str+'_pickup_date').value.split('/');			
				var time_set_1			= new Date(time_array_date_1[0],time_array_date_1[1],time_array_date_1[2],depart_h,depart_m);
	
				var time_array_date_2	= new Array();
				time_array_date_2		= document.getElementById(t_str+'_pickup_date').value.split('/');			
				var time_set_2			= new Date(time_array_date_2[0],time_array_date_2[1],time_array_date_2[2],arrival_h,arrival_m);
				
				var new_hours 			= time_set_2.getHours()-5;
					
				for(var i=0;i<=document.getElementById(time_1).options.length-1;i++){
					if(document.getElementById(time_1).options[i].value == new_hours){
						document.getElementById(time_1).selectedIndex = i;
						set_select_option(time_2,arrival_m);
						alert("This trip requires at least 5 hours of travel time. Your departure time has been adjusted.");
						changed = 1;
					}
				}	
				
				if(changed != 1){
					alert("This trip requires at least 5 hours of travel time. Please adjust your departure time accordingly.");									
				}								
		break;

		case "2_p-3_d":
			// -8hrs
			
			if(((document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_date').value == ''))){
				return;
				
			}else if(document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value=='00'){alert("please ensure you have set your times correctly"); return;}
			var arrival_h 	= document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value						
			var arrival_m 	= document.getElementById("dropoff_arrival_time_2_p2").options[document.getElementById("dropoff_arrival_time_2_p2").selectedIndex].value			

			var time_array_date_3	= new Array();
			time_array_date_3		= document.getElementById(t_str+'_pickup_date').value.split('/');			
			var time_set_3			= new Date(time_array_date_3[0],time_array_date_3[1],time_array_date_3[2],arrival_h,arrival_m);
			var new_hours 			= time_set_3.getHours()-8;
				

					set_select_option(time_1,new_hours);										
					set_select_option(time_2,arrival_m);					
					alert("This trip requires at least 8 hours of travel time. Your departure time has been adjusted.");
					var changed = 1;
			if(changed != 1){
					alert("This trip requires at least 8 hours of travel time. Please adjust your departure time accordingly.");									
			}
			
		break;
		
//		case "1_p-3_d":
		case "3_p-4_d":
			// -6hrs		
			if(((document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_date').value == ''))){
				return;
				
			}else if(document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value=='--'){return;}
			var arrival_h 	= document.getElementById("dropoff_arrival_time_p2").options[document.getElementById("dropoff_arrival_time_p2").selectedIndex].value						
			var arrival_m 	= document.getElementById("dropoff_arrival_time_2_p2").options[document.getElementById("dropoff_arrival_time_2_p2").selectedIndex].value			

			var time_array_date_4	= new Array();
			time_array_date_4		= document.getElementById(t_str+'_pickup_date').value.split('/');			
			var time_set_4			= new Date(time_array_date_4[0],time_array_date_4[1],time_array_date_4[2],arrival_h,arrival_m);
			
			var new_hours 			= time_set_4.getHours()-6;
				
			//for(var i=0;i<=document.getElementById(time_1).options.length-1;i++){
				//if(document.getElementById(time_1).options[i].value == new_hours){
					//document.getElementById(time_1).selectedIndex = i;
					set_select_option(time_1,new_hours);										
					set_select_option(time_2,arrival_m);					
					alert("This trip requires at least 6 hours of travel time. Your departure time has been adjusted.");
					var changed = 1;
			//	}
		//	}	
			if(changed != 1){
					alert("This trip requires at least 6 hours of travel time. Please adjust your departure time accordingly.");									
			}			
		break;
	}
}

function compare_origin(){
	var changed = 0;
	var loc_values 	= document.getElementById("pickup_point").options[document.getElementById("pickup_point").selectedIndex].value+"-"+document.getElementById("dropoff").options[document.getElementById("dropoff").selectedIndex].value			
	if(keys['trip_type']=="single"){
		var time_1 	= 'single_pickup_time_1';
		var time_2 	= 'single_pickup_time_2';
		var t_str		= 'single';		
	}else{
		var time_1 	= 'round_pickup_time_1';
		var time_2 	= 'round_pickup_time_2';		
		var t_str	= 'round';				
	}
	if(document.getElementById(t_str+'_pickup_date').value == ''){
		alert("You must set your Pickup Date");
		return;
	}

	switch(loc_values){
		case "2_p-4_d":
				// -5hrs	
				if(((document.getElementById("dropoff_2_arrival_time").options[document.getElementById("dropoff_2_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='single')&&(document.getElementById('single_pickup_time_1').options[document.getElementById("single_pickup_time_1").selectedIndex].value == '--'))
					||((document.getElementById("dropoff_2_arrival_time").options[document.getElementById("dropoff_2_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
					||((document.getElementById("dropoff_2_arrival_time").options[document.getElementById("dropoff_2_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='single')&&(document.getElementById('single_pickup_date').value == ''))
					||((document.getElementById("dropoff_2_arrival_time").options[document.getElementById("dropoff_2_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_date').value == ''))){
					return;
					
				}else if(document.getElementById("dropoff_2_arrival_time").options[document.getElementById("dropoff_2_arrival_time").selectedIndex].value=='--'){return;}
			
				var depart_h 			= document.getElementById(time_1).options[document.getElementById(time_1).selectedIndex].value						
				var depart_m 			= document.getElementById(time_2).options[document.getElementById(time_2).selectedIndex].value			
				var arrival_h 			= document.getElementById("dropoff_2_arrival_time").options[document.getElementById("dropoff_2_arrival_time").selectedIndex].value						
				var arrival_m 			= document.getElementById("dropoff_2_arrival_time_2").options[document.getElementById("dropoff_2_arrival_time_2").selectedIndex].value			
				var time_array_date_1	= new Array();
				time_array_date_1		= document.getElementById(t_str+'_pickup_date').value.split('/');			
				var time_set_1			= new Date(time_array_date_1[0],time_array_date_1[1],time_array_date_1[2],depart_h,depart_m);
	
				var time_array_date_2	= new Array();
				time_array_date_2		= document.getElementById(t_str+'_pickup_date').value.split('/');			
				var time_set_2			= new Date(time_array_date_2[0],time_array_date_2[1],time_array_date_2[2],arrival_h,arrival_m);
				
				var new_hours 			= time_set_2.getHours()-5;
					
				for(var i=0;i<=document.getElementById(time_1).options.length-1;i++){
					if(document.getElementById(time_1).options[i].value == new_hours){
						document.getElementById(time_1).selectedIndex = i;
						set_select_option(time_2,arrival_m);
						alert("This trip requires at least 5 hours of travel time. Your departure time has been adjusted.");
						changed = 1;
					}
				}	
				
				if(changed != 1){
					alert("This trip requires at least 5 hours of travel time. Please adjust your departure time accordingly.");									
				}								
		break;

		case "2_p-3_d":
			// -8hrs
			
			if(((document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_date').value == ''))){
				return;
				
			}else if(document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value=='00'){alert("please ensure you have set your times correctly"); return;}
			var arrival_h 	= document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value						
			var arrival_m 	= document.getElementById("dropoff_arrival_time_2").options[document.getElementById("dropoff_arrival_time_2").selectedIndex].value			

			var time_array_date_3	= new Array();
			time_array_date_3		= document.getElementById(t_str+'_pickup_date').value.split('/');			
			var time_set_3			= new Date(time_array_date_3[0],time_array_date_3[1],time_array_date_3[2],arrival_h,arrival_m);
			var new_hours 			= time_set_3.getHours()-8;
				

					set_select_option(time_1,new_hours);										
					set_select_option(time_2,arrival_m);					
					alert("This trip requires at least 8 hours of travel time. Your departure time has been adjusted.");
					var changed = 1;
			if(changed != 1){
					alert("This trip requires at least 8 hours of travel time. Please adjust your departure time accordingly.");									
			}
			
		break;
		
//		case "1_p-3_d":
		case "3_p-4_d":
			// -6hrs		
			if(((document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_time_1').options[document.getElementById("round_pickup_time_1").selectedIndex].value == '--'))
				||((document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value =='--')||(keys['trip_type']=='round')&&(document.getElementById('round_pickup_date').value == ''))){
				return;
				
			}else if(document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value=='--'){return;}
			var arrival_h 	= document.getElementById("dropoff_arrival_time").options[document.getElementById("dropoff_arrival_time").selectedIndex].value						
			var arrival_m 	= document.getElementById("dropoff_arrival_time_2").options[document.getElementById("dropoff_arrival_time_2").selectedIndex].value			

			var time_array_date_4	= new Array();
			time_array_date_4		= document.getElementById(t_str+'_pickup_date').value.split('/');			
			var time_set_4			= new Date(time_array_date_4[0],time_array_date_4[1],time_array_date_4[2],arrival_h,arrival_m);
			
			var new_hours 			= time_set_4.getHours()-6;
				
			//for(var i=0;i<=document.getElementById(time_1).options.length-1;i++){
				//if(document.getElementById(time_1).options[i].value == new_hours){
					//document.getElementById(time_1).selectedIndex = i;
					set_select_option(time_1,new_hours);										
					set_select_option(time_2,arrival_m);					
					alert("This trip requires at least 6 hours of travel time. Your departure time has been adjusted.");
					var changed = 1;
			//	}
		//	}	
			if(changed != 1){
					alert("This trip requires at least 6 hours of travel time. Please adjust your departure time accordingly.");									
			}			
		break;
	}
}

function select_action(set){
	var key = document.getElementById(set).options[document.getElementById(set).selectedIndex].value;
	
	switch(key){
		case "1_p":
			if('pickup_point_p2' == set){
				display(1,'pickup_1_p2');
				display(0,'pickup_2_p2');
				display(0,'pickup_2_commercial_p2');			
				display(0,'pickup_2_private_p2');						
				display(0,'pickup_3_p2');						
			}else{
				display(1,'pickup_1');
				display(0,'pickup_2');
				display(0,'pickup_2_commercial');			
				display(0,'pickup_2_private');						
				display(0,'pickup_3');		
			}
		break;
		
		case "2_p":
			if('pickup_point_p2' == set){
				display(1,'pickup_1_p2');
				display(0,'pickup_2_p2');
				display(0,'pickup_2_commercial_p2');			
				display(0,'pickup_2_private_p2');						
				display(0,'pickup_3_p2');			
			}else{
				display(1,'pickup_1');
				display(0,'pickup_2');
				display(0,'pickup_2_commercial');			
				display(0,'pickup_2_private');						
				display(0,'pickup_3');			
			}
		break;
		
		case "3_p":
			if('pickup_point_p2' == set){
				display(1,'pickup_1_p2');
				display(0,'pickup_2_p2');
				display(0,'pickup_2_commercial_p2');			
				display(0,'pickup_2_private_p2');						
				display(0,'pickup_3_p2');			
			}else{		
				display(1,'pickup_1');
				display(0,'pickup_2');
				display(0,'pickup_2_commercial');			
				display(0,'pickup_2_private');						
				display(0,'pickup_3');			
			}	
		break;				
		
		case "4_p":
			if('pickup_point_p2' == set){
				display(0,'pickup_1_p2');
				display(1,'pickup_2_p2');
				display(0,'pickup_2_commercial_p2');			
				display(0,'pickup_2_private_p2');						
				display(0,'pickup_3_p2');			
			}else{				
				display(0,'pickup_1');
				display(1,'pickup_2');
				display(0,'pickup_2_commercial');			
				display(0,'pickup_2_private');						
				display(0,'pickup_3');			
			}	
		break;	
		
		case "5_p":
			if('pickup_point_p2' == set){
				display(0,'pickup_1_p2');
				display(0,'pickup_2_p2');
				display(0,'pickup_2_commercial_p2');			
				display(0,'pickup_2_private_p2');						
				display(1,'pickup_3_p2');			

			}else{						
				display(0,'pickup_1');
				display(0,'pickup_2');
				display(0,'pickup_2_commercial');			
				display(0,'pickup_2_private');						
				display(1,'pickup_3');			
			}	
		break;			

		case "1_d":
			if('dropoff_p2' == set){
				display(1,'dropoff_1_p2');
				display(0,'dropoff_2_p2');
				display(0,'dropoff_2_commercial_p2');			
				display(0,'dropoff_2_private_p2');						
				display(0,'dropoff_3_p2');			
				display(0,'dropoff_arr_time_p2');						
			}else{			
				display(1,'dropoff_1');
				display(0,'dropoff_2');
				display(0,'dropoff_2_commercial');			
				display(0,'dropoff_2_private');						
				display(0,'dropoff_3');			
				display(0,'dropoff_arr_time');						
			}	
		break;
		
		case "2_d":
			if('dropoff_p2' == set){
				display(1,'dropoff_1_p2');
				display(0,'dropoff_2_p2');
				display(0,'dropoff_2_commercial_p2');			
				display(0,'dropoff_2_private_p2');						
				display(0,'dropoff_3_p2');			
				display(0,'dropoff_arr_time_p2');						
			}else{					
				display(1,'dropoff_1');
				display(0,'dropoff_2');
				display(0,'dropoff_2_commercial');			
				display(0,'dropoff_2_private');						
				display(0,'dropoff_3');			
				display(0,'dropoff_arr_time');						
			}	
		break;
		
		case "3_d":
			if('dropoff_p2' == set){
				display(1,'dropoff_1_p2');
				display(0,'dropoff_2_p2');
				display(0,'dropoff_2_commercial_p2');			
				display(0,'dropoff_2_private_p2');						
				display(0,'dropoff_3_p2');	
				//display(1,'dropoff_arr_time_p2');								
			}else{							
				display(1,'dropoff_1');
				display(0,'dropoff_2');
				display(0,'dropoff_2_commercial');			
				display(0,'dropoff_2_private');						
				display(0,'dropoff_3');	
				//display(1,'dropoff_arr_time');			
			}	
		break;				
		
		case "4_d":
			if('dropoff_p2' == set){
				display(0,'dropoff_1_p2');
				display(1,'dropoff_2_p2');
				display(0,'dropoff_2_commercial_p2');			
				display(0,'dropoff_2_private_p2');						
				display(0,'dropoff_3_p2');
			}else{									
				display(0,'dropoff_1');
				display(1,'dropoff_2');
				display(0,'dropoff_2_commercial');			
				display(0,'dropoff_2_private');						
				display(0,'dropoff_3');			
			}	
		break;	
		
		case "5_d":
			if('dropoff_p2' == set){
				display(0,'dropoff_1_p2');
				display(0,'dropoff_2_p2');
				display(0,'dropoff_2_commercial_p2');			
				display(0,'dropoff_2_private_p2');						
				display(1,'dropoff_3_p2');			
			}else{								
				display(0,'dropoff_1');
				display(0,'dropoff_2');
				display(0,'dropoff_2_commercial');			
				display(0,'dropoff_2_private');						
				display(1,'dropoff_3');			
			}	
		break;					
	}
}
	
	
function change_value(key_id,value){
	document.getElementById(key_id+'_s').innerHTML = '$'+value;
	//p_set.childNodes[1].childNodes[0].nodeValue=' $'+ value;
}
function cent(amount) {
// returns the amount in the .99 format
    return (amount == Math.floor(amount)) ? amount + '.00' : (  (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
}
function update(form) {
    var subtotal = (form.quantity.value - 0) * (form.unitcost.value - 0);
    subtotal = Math.floor(subtotal * 100)/100;
    form.subtotal.value = '$' + cent(subtotal);

    var tax = subtotal / 100 * (form.rate.value - 0);
    tax = Math.floor(tax * 100)/100;
    form.tax.value = '$' + cent(tax);

    total = subtotal + tax;
    total = Math.floor(total * 100)/100;
    form.total.value = '$' + cent(total);
}
function toDollarsAndCents(n) {
  var s = "" + Math.round(n * 100) / 100
  var i = s.indexOf('.')
  if (i < 0) return s + ".00"
  var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3)
  if (i + 2 == s.length) t += "0"
  return t
}

	function calc(){
		//////////////////////////
		var meet_fee 		= 0;
		var airport_fee 	= 0;
		
		var v_values_1		= new Array();	
		v_values_1 			= document.getElementById('vehicle_reg_1').options[document.getElementById('vehicle_reg_1').selectedIndex].value.split('~'); 
		var vehicle_count	= parseInt(document.getElementById('v_count').value);					
		var vehicle_title_1 	= v_values_1[0];		
		var vehicle_cost_1 	= v_values_1[1];
		var v_ammount_1		= vehicle_cost_1 * vehicle_count;	

		if(document.getElementById('trip_type_hidden').value == 'round'){		
			var v_values_2		= new Array();
			v_values_2 			= document.getElementById('vehicle_reg_2').options[document.getElementById('vehicle_reg_2').selectedIndex].value.split('~'); 
			var vehicle_title_2 = v_values_2[0];		
			var vehicle_cost_2 	= v_values_2[1];
			var v_ammount_2		= vehicle_cost_2 * vehicle_count;	
		}		

		///////////+++++++++
		if(document.getElementById('pickup_point').value == '4_p'){
			if(!document.getElementById('south_term')){
				if(vehicle_title_1 == 'Luxury Sedan' || 'Stretch Limousine' || vehicle_title_1 == 'SUV' || vehicle_title_1 == 'Van' || vehicle_title_1 == 'Super Stretch Limousine' || vehicle_title_1 == 'Stretch SUV'){
					meet_fee 		= 15.0;
					airport_fee 	= 6.25;
				}else{
					meet_fee 		= 15.0;
					airport_fee 	= 15.0;				
				}
			}	
		}			
		///////////+++++++++		
		
		///////////**************
		if(document.getElementById('pickup_point').value == '5_p'){
			if(vehicle_title_1 == 'Luxury Sedan' || 'Stretch Limousine' || vehicle_title_1 == 'SUV' || vehicle_title_1 == 'Van' || vehicle_title_1 == 'Super Stretch Limousine' || vehicle_title_1 == 'Stretch SUV'){
				meet_fee 		= 15.0;
/*				airport_fee 	= 10.0;
*/			}else{
				meet_fee 		= 15.0;
/*				airport_fee 	= 30.0;
*/			}
		}			
		///////////**************		

		if(document.getElementById('trip_type_hidden').value == 'round'){	
		///////////+++++++++
		if(document.getElementById('pickup_point_p2').value == '4_p'){
			if(!document.getElementById('south_term_p2')){			
				if(vehicle_title_2 == 'Luxury Sedan' || 'Stretch Limousine' || vehicle_title_2 == 'SUV' || vehicle_title_2 == 'Van' || vehicle_title_2 == 'Super Stretch Limousine' || vehicle_title_2 == 'Stretch SUV'){
					meet_fee 		+= 15.0;
					airport_fee 	+= 6.25;
				}else{
					meet_fee 		+= 15.0;
					airport_fee 	+= 15.0;
				}
			}	
		}			
		///////////+++++++++		
		
		///////////**************
		if(document.getElementById('pickup_point_p2').value == '5_p'){
			if(vehicle_title_2 == 'Luxury Sedan' || 'Stretch Limousine' || vehicle_title_2 == 'SUV' || vehicle_title_2 == 'Van' || vehicle_title_2 == 'Super Stretch Limousine' || vehicle_title_2 == 'Stretch SUV'){
				meet_fee 		+= 15.0;
/*				airport_fee 	+= 10.0;
*/			}else{
				meet_fee 		+= 15.0;
/*				airport_fee 	+= 30.0;*/
			}
		}			
		///////////**************				
		}

			document.getElementById('air_fee_s').innerHTML 	= '$'+airport_fee;				
			document.getElementById('meet_fee_s').innerHTML	= '$'+meet_fee;				

		//////////////////////////


		if(document.getElementById('trip_type_hidden').value == 'round'){
			var calc_trip_type = 'round';	
			
			change_value('vehicle_charge',toDollarsAndCents(v_ammount_1 + v_ammount_2));		
			
			var pickups			= parseFloat(document.getElementById('additional_stops').value);
	
			var pickup_dropoff_charge = 32.50 * pickups;

			change_value('pickup_dropoff_charge',pickup_dropoff_charge);
			
			var subtotal 		= v_ammount_1+ v_ammount_2 + pickup_dropoff_charge;	
	
			change_value('service_subtotal_charge',subtotal);		
	
			var	gratuity		= parseFloat(document.getElementById('gratuity').options[document.getElementById('gratuity').selectedIndex].value);				

			var t 				= subtotal + meet_fee + airport_fee; 
		
			var tax_p			= ((subtotal) * .05);
			var tax				= Math.floor((tax_p * 100)/100);
			var tax_v			= toDollarsAndCents(tax_p);
			change_value('tax_charge',tax_v);				
			
			
		}else{
			var calc_trip_type = 'single';			
			change_value('vehicle_charge',toDollarsAndCents(v_ammount_1));		
			
			var pickups			= parseFloat(document.getElementById('additional_stops').value);
	
			var pickup_dropoff_charge = 32.50 * pickups;

			change_value('pickup_dropoff_charge',pickup_dropoff_charge);
			
			var subtotal 		= v_ammount_1 + pickup_dropoff_charge;	
	
			change_value('service_subtotal_charge',subtotal);		
	
			var	gratuity		= parseFloat(document.getElementById('gratuity').options[document.getElementById('gratuity').selectedIndex].value);				

			var t 				= subtotal + meet_fee + airport_fee; 
		
			var tax_p			= ((subtotal) * .05);
			var tax				= Math.floor((tax_p * 100)/100);
			var tax_v			= toDollarsAndCents(tax_p);
			change_value('tax_charge',tax_v);							
			
		}	

		var gratuity_charge_p 	= subtotal * gratuity; 
		var gratuity_charge 	= Math.floor(gratuity_charge_p * 100)/1000;
		//var gratuity_charge_v 	= Math.round((subtotal * gratuity)*100)/100; 		
		change_value('gratuity_charge',toDollarsAndCents(gratuity_charge_p));				
		
		var total = gratuity_charge_p + t + tax_p;

		change_value('total',toDollarsAndCents(total));				
		///////////////////////////////
		document.getElementById('vehicle_type_1').value 			= v_values_1[0];

		document.getElementById('vehicle_charge_v_1').value 		= toDollarsAndCents(v_ammount_1);
	
		document.getElementById('pickup_dropoff_charge_v').value 	= toDollarsAndCents(pickup_dropoff_charge);
		document.getElementById('service_subtotal_charge_v').value 	= toDollarsAndCents(subtotal);
		document.getElementById('tax_charge_v').value 				= toDollarsAndCents(tax_p);
		document.getElementById('meet_fee_v').value 				= toDollarsAndCents(meet_fee);
		document.getElementById('airport_fee_v').value 				= toDollarsAndCents(airport_fee);										
		document.getElementById('gratuity_charge_v').value 			= toDollarsAndCents(gratuity_charge_p);												
		document.getElementById('charge_total_v').value 			= toDollarsAndCents(total);												
		
		if(document.getElementById('trip_type_hidden').value == 'round'){		
			document.getElementById('vehicle_type_2').value 			= v_values_2[0];				
			document.getElementById('vehicle_charge_v_2').value 		= toDollarsAndCents(v_ammount_2);				
		}
	}

function set_select_option(field,selected_value){
	for(var i = 0; i<= document.getElementById(field).options.length-1; i++){
		if(document.getElementById(field).options[i].value==selected_value){
			document.getElementById(field).options[i].selected = true;
			return;
		}
	}
}


function check_set_values(data){
	if(data != null){
		var reserve_values 	= new Array(); 
		var reserve_data	= new Array();	
		reserve_data 		= data.split("|");
		for(var i=0;i<=reserve_data.length;i++){
			if(reserve_data[i]){
				var temp_A 		= reserve_data[i].split("*-*");
				reserve_values[temp_A[0]] = temp_A[1]; 
			}
		}
		if(reserve_values['trip-type']=="single"){
			change_settings("single_trip");
			document.getElementById('single_radio').checked = true;			
			document.getElementById('single_pickup_date_value').childNodes[0].lastChild.nodeValue = reserve_values['pickup_date'];			
			document.getElementById('single_pickup_date').value = reserve_values['pickup_date'];
			
				set_select_option('single_pickup_time_1',reserve_values['pickup-time_h']);
				set_select_option('single_pickup_time_2',reserve_values['pickup-time_m']);
			set_select_option('pickup_point',reserve_values['pickup']);				
			set_select_option('dropoff',reserve_values['dropoff']);								

			select_action('pickup_point');
			select_action('dropoff');
		
			set_select_option('passenger_count_1',reserve_values['passenger-count-1']);						
			set_select_option('passenger_count_2',reserve_values['passenger-count-2']);						

			if(reserve_values['pickup_point']=='4_p' || reserve_values['pickup']=='4_p'){
				if(reserve_values['pickup_plane_type']=='private'){			
					document.getElementById('private_pickup_radio').checked = true;							
					change_settings('private_pickup');					
				}else{				
					document.getElementById('commercial_pickup_radio').checked = true;											
					document.getElementById('pickup_2_commercial').style.display = 'block';
					change_settings('commercial_pickup');		
					display(1,'pickup_2_commercial');
				}
			}else if((reserve_values['pickup_point']=='5_p')||(reserve_values['pickup']=='5_p')){
				set_select_option('pickup_pier',reserve_values['pickup_pier']);
			}
		
			if((reserve_values['dropoff_point']=='4_d')||(reserve_values['dropoff']=='4_d')){
				if(reserve_values['dropoff_plane_type']=='private'){			
					change_settings('private_dropoff');
					document.getElementById('private_dropoff_radio').checked = true;											
				}else{
			
					change_settings('commercial_dropoff');	
					document.getElementById('commercial_dropoff_radio').checked = true;											
					set_select_option('dropoff_2_arrival_time',reserve_values['dropoff_arrival_time']);
					set_select_option('dropoff_2_arrival_time_2',reserve_values['dropoff_arrival_time_2']);				
				}
			}else if((reserve_values['dropoff']=='5_d')||(reserve_values['dropoff_point']=='5_d')){
				set_select_option('dropoff_pier',reserve_values['dropoff_pier']);
			}							
		}else{
			change_settings("round_trip");
			document.getElementById('round_radio').checked = true;			
			document.getElementById('round_pickup_date_value').childNodes[0].lastChild.nodeValue = reserve_values['pickup_date'];
			document.getElementById('round_return_date_value').childNodes[0].lastChild.nodeValue = reserve_values['round_return_date'];			
			
			document.getElementById('round_pickup_date').value = reserve_values['pickup_date'];
			document.getElementById('round_return_date').value = reserve_values['round_return_date'];						
			
				set_select_option('round_pickup_time_1',reserve_values['round_pickup-time_h']);
				set_select_option('round_pickup_time_2',reserve_values['round_pickup-time_m']);				
				set_select_option('round_return_time_1',reserve_values['round_return-time_h']);
				set_select_option('round_return_time_2',reserve_values['round_return-time_m']);	
				
				set_select_option('pickup_point_p2',reserve_values['pickup_point_p2']);				
				set_select_option('dropoff_p2',reserve_values['dropoff_p2']);												
				
				select_action('pickup_point_p2');
				select_action('dropoff_p2');				

				set_select_option('passenger_count_1',reserve_values['passenger-count-1']);						
				set_select_option('passenger_count_2',reserve_values['passenger-count-2']);										

				set_select_option('passenger_count_1_round_1',reserve_values['passenger_count_1_round_1']);						
				set_select_option('passenger_count_2_round_2',reserve_values['passenger_count_2_round_2']);						
		
			if(reserve_values['pickup_point_p2']=='4_p'){
				if(reserve_values['pickup_plane_type_p2']=='private'){			
					document.getElementById('private_pickup_radio_p2').checked = true;							
					change_settings('private_pickup_p2');					
				}else{				
					document.getElementById('commercial_pickup_radio_p2').checked = true;											
					change_settings('commercial_pickup_p2');
				}
			}else if((reserve_values['pickup_point_p2']=='5_p')||(reserve_values['pickup_p2']=='5_p')){
				set_select_option('pickup_pier_p2',reserve_values['pickup_pier_p2']);
			}
			
			if((reserve_values['dropoff_point_p2']=='4_d')||(reserve_values['dropoff_p2']=='4_d')){
				if(reserve_values['dropoff_plane_type_p2']=='private'){			
					change_settings('dropoff_2_private_p2');
					document.getElementById('private_dropoff_radio_p2').checked = true;											
				}else{		
					change_settings('dropoff_2_commercial_p2');	
					document.getElementById('commercial_dropoff_radio_p2').checked = true;											
					set_select_option('dropoff_2_arrival_time_p2',reserve_values['dropoff_2_arrival_time_p2']);										
					set_select_option('dropoff_2_arrival_time_2_p2',reserve_values['dropoff_2_arrival_time_2_p2']);					
				}
			}else if((reserve_values['dropoff_p2']=='5_d')||(reserve_values['dropoff_point_p2']=='5_d')){
				set_select_option('dropoff_pier_p2',reserve_values['dropoff_pier_p2']);
			}		
		}
			set_select_option('pickup_point',reserve_values['pickup']);				
			set_select_option('dropoff',reserve_values['dropoff']);								

			select_action('pickup_point');
			select_action('dropoff');
		
			set_select_option('passenger_count_1',reserve_values['passenger-count-1']);						
			set_select_option('passenger_count_2',reserve_values['passenger-count-2']);						

			if(reserve_values['pickup_point']=='4_p'){
				if(reserve_values['pickup_plane_type']=='private'){			
					document.getElementById('private_pickup_radio').checked = true;							
					change_settings('private_pickup');					
				}else{				
					document.getElementById('commercial_pickup_radio').checked = true;											
					change_settings('commercial_pickup');				
				}
			}else if((reserve_values['pickup_point']=='5_p')||(reserve_values['pickup']=='5_p')){
				set_select_option('pickup_pier',reserve_values['pickup_pier']);
			}
		
			if((reserve_values['dropoff_point']=='4_d')||(reserve_values['dropoff']=='4_d')){
				if(reserve_values['dropoff_plane_type']=='private'){			
					change_settings('private_dropoff');
					document.getElementById('private_dropoff_radio').checked = true;											
				}else{
			
					change_settings('commercial_dropoff');	
					document.getElementById('commercial_dropoff_radio').checked = true;											
					set_select_option('dropoff_2_arrival_time',reserve_values['dropoff_arrival_time']);
					set_select_option('dropoff_2_arrival_time_2',reserve_values['dropoff_arrival_time_2']);				
				}
			}else if((reserve_values['dropoff']=='5_d')||(reserve_values['dropoff_point']=='5_d')){
				set_select_option('dropoff_pier',reserve_values['dropoff_pier']);
			}		
	}else{
		return false;
	}
}

var Cards = new makeArray(8);
Cards[0] = new CardType("MasterCard", "51,52,53,54,55", "16");
var MasterCard = Cards[0];
Cards[1] = new CardType("VisaCard", "4", "13,16");
var VisaCard = Cards[1];
Cards[2] = new CardType("AmExCard", "34,37", "15");
var AmExCard = Cards[2];
Cards[3] = new CardType("DinersClubCard", "30,36,38", "14");
var DinersClubCard = Cards[3];
Cards[4] = new CardType("DiscoverCard", "6011", "16");
var DiscoverCard = Cards[4];
Cards[5] = new CardType("enRouteCard", "2014,2149", "15");
var enRouteCard = Cards[5];
Cards[6] = new CardType("JCBCard", "3088,3096,3112,3158,3337,3528", "16");
var JCBCard = Cards[6];
var LuhnCheckSum = Cards[7] = new CardType();

/*************************************************************************\
CheckCardNumber(form)
function called when users click the "check" button.
\*************************************************************************/
function CheckCardNumber(form) {
var tmpyear;
if (form.card_number.value.length == 0) {
errors_A.push("Please enter a Card Number.");
}
if (form.exp_year.value.length == 0) {
errors_A.push("Please enter the Expiration Year.");
}
if (form.exp_year.value > 96)
tmpyear = "19" + form.exp_year.value;
else if (form.exp_year.value < 21)
tmpyear = "20" + form.exp_year.value;
else {
errors_A.push("The Expiration Year is not valid.");
}
tmpmonth = form.exp_month.options[form.exp_month.selectedIndex].value;
// The following line doesn't work in IE3, you need to change it
// to something like "(new CardType())...".
// if (!CardType().isExpiryDate(tmpyear, tmpmonth)) {
if (!(new CardType()).isExpiryDate(tmpyear, tmpmonth)) {
errors_A.push("This card has already expired.");
return;
}
card = form.card_type.options[form.card_type.selectedIndex].value;
var retval = eval(card + ".checkCardNumber(\"" + form.card_number.value +
"\", " + tmpyear + ", " + tmpmonth + ");");
cardname = "";
if (!retval){


// The cardnumber has the valid luhn checksum, but we want to know which
// cardtype it belongs to.
for (var n = 0; n < Cards.size; n++) {
if (Cards[n].checkCardNumber(form.card_number.value, tmpyear, tmpmonth)) {
cardname = Cards[n].getCardType();
break;
   }
}
if (cardname.length > 0) {
errors_A.push("This looks like a " + cardname + " number, not a " + card + " number.");
}
else {
errors_A.push("This card number is not valid.");
      }
   }
}
/*************************************************************************\
Object CardType([String cardtype, String rules, String len, int year, 
                                        int month])
cardtype    : type of card, eg: MasterCard, Visa, etc.
rules       : rules of the cardnumber, eg: "4", "6011", "34,37".
len         : valid length of cardnumber, eg: "16,19", "13,16".
year        : year of expiry date.
month       : month of expiry date.
eg:
var VisaCard = new CardType("Visa", "4", "16");
var AmExCard = new CardType("AmEx", "34,37", "15");
\*************************************************************************/
function CardType() {
var n;
var argv = CardType.arguments;
var argc = CardType.arguments.length;

this.objname = "object CardType";

var tmpcardtype = (argc > 0) ? argv[0] : "CardObject";
var tmprules = (argc > 1) ? argv[1] : "0,1,2,3,4,5,6,7,8,9";
var tmplen = (argc > 2) ? argv[2] : "13,14,15,16,19";

this.setCardNumber = setCardNumber;  // set CardNumber method.
this.setCardType = setCardType;  // setCardType method.
this.setLen = setLen;  // setLen method.
this.setRules = setRules;  // setRules method.
this.setExpiryDate = setExpiryDate;  // setExpiryDate method.

this.setCardType(tmpcardtype);
this.setLen(tmplen);
this.setRules(tmprules);
if (argc > 4)
this.setExpiryDate(argv[3], argv[4]);

this.checkCardNumber = checkCardNumber;  // checkCardNumber method.
this.getExpiryDate = getExpiryDate;  // getExpiryDate method.
this.getCardType = getCardType;  // getCardType method.
this.isCardNumber = isCardNumber;  // isCardNumber method.
this.isExpiryDate = isExpiryDate;  // isExpiryDate method.
this.luhnCheck = luhnCheck;// luhnCheck method.
return this;
}

/*************************************************************************\
boolean checkCardNumber([String cardnumber, int year, int month])
return true if cardnumber pass the luhncheck and the expiry date is
valid, else return false.
\*************************************************************************/
function checkCardNumber() {
var argv = checkCardNumber.arguments;
var argc = checkCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
var year = (argc > 1) ? argv[1] : this.year;
var month = (argc > 2) ? argv[2] : this.month;

this.setCardNumber(cardnumber);
this.setExpiryDate(year, month);

if (!this.isCardNumber())
return false;
if (!this.isExpiryDate())
return false;

return true;
}
/*************************************************************************\
String getCardType()
return the cardtype.
\*************************************************************************/
function getCardType() {
return this.cardtype;
}
/*************************************************************************\
String getExpiryDate()
return the expiry date.
\*************************************************************************/
function getExpiryDate() {
return this.month + "/" + this.year;
}
/*************************************************************************\
boolean isCardNumber([String cardnumber])
return true if cardnumber pass the luhncheck and the rules, else return
false.
\*************************************************************************/
function isCardNumber() {
var argv = isCardNumber.arguments;
var argc = isCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
if (!this.luhnCheck())
return false;

for (var n = 0; n < this.len.size; n++)
if (cardnumber.toString().length == this.len[n]) {
for (var m = 0; m < this.rules.size; m++) {
var headdigit = cardnumber.substring(0, this.rules[m].toString().length);
if (headdigit == this.rules[m])
return true;
}
return false;
}
return false;
}

/*************************************************************************\
boolean isExpiryDate([int year, int month])
return true if the date is a valid expiry date,
else return false.
\*************************************************************************/
function isExpiryDate() {
var argv = isExpiryDate.arguments;
var argc = isExpiryDate.arguments.length;

year = argc > 0 ? argv[0] : this.year;
month = argc > 1 ? argv[1] : this.month;

if (!isNum(year+""))
return false;
if (!isNum(month+""))
return false;
today = new Date();
expiry = new Date(year, month);
if (today.getTime() > expiry.getTime())
return false;
else
return true;
}

/*************************************************************************\
boolean isNum(String argvalue)
return true if argvalue contains only numeric characters,
else return false.
\*************************************************************************/
function isNum(argvalue) {
argvalue = argvalue.toString();

if (argvalue.length == 0)
return false;

for (var n = 0; n < argvalue.length; n++)
if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
return false;

return true;
}

/*************************************************************************\
boolean luhnCheck([String CardNumber])
return true if CardNumber pass the luhn check else return false.
Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
\*************************************************************************/
function luhnCheck() {
var argv = luhnCheck.arguments;
var argc = luhnCheck.arguments.length;

var CardNumber = argc > 0 ? argv[0] : this.cardnumber;

if (! isNum(CardNumber)) {
return false;
  }

var no_digit = CardNumber.length;
var oddoeven = no_digit & 1;
var sum = 0;

for (var count = 0; count < no_digit; count++) {
var digit = parseInt(CardNumber.charAt(count));
if (!((count & 1) ^ oddoeven)) {
digit *= 2;
if (digit > 9)
digit -= 9;
}
sum += digit;
}
if (sum % 10 == 0)
return true;
else
return false;
}

/*************************************************************************\
ArrayObject makeArray(int size)
return the array object in the size specified.
\*************************************************************************/
function makeArray(size) {
this.size = size;
return this;
}

/*************************************************************************\
CardType setCardNumber(cardnumber)
return the CardType object.
\*************************************************************************/
function setCardNumber(cardnumber) {
this.cardnumber = cardnumber;
return this;
}

/*************************************************************************\
CardType setCardType(cardtype)
return the CardType object.
\*************************************************************************/
function setCardType(cardtype) {
this.cardtype = cardtype;
return this;
}

/*************************************************************************\
CardType setExpiryDate(year, month)
return the CardType object.
\*************************************************************************/
function setExpiryDate(year, month) {
this.year = year;
this.month = month;
return this;
}

/*************************************************************************\
CardType setLen(len)
return the CardType object.
\*************************************************************************/
function setLen(len) {
// Create the len array.
if (len.length == 0 || len == null)
len = "13,14,15,16,19";

var tmplen = len;
n = 1;
while (tmplen.indexOf(",") != -1) {
tmplen = tmplen.substring(tmplen.indexOf(",") + 1, tmplen.length);
n++;
}
this.len = new makeArray(n);
n = 0;
while (len.indexOf(",") != -1) {
var tmpstr = len.substring(0, len.indexOf(","));
this.len[n] = tmpstr;
len = len.substring(len.indexOf(",") + 1, len.length);
n++;
}
this.len[n] = len;
return this;
}

/*************************************************************************\
CardType setRules()
return the CardType object.
\*************************************************************************/
function setRules(rules) {
// Create the rules array.
if (rules.length == 0 || rules == null)
rules = "0,1,2,3,4,5,6,7,8,9";
  
var tmprules = rules;
n = 1;
while (tmprules.indexOf(",") != -1) {
tmprules = tmprules.substring(tmprules.indexOf(",") + 1, tmprules.length);
n++;
}
this.rules = new makeArray(n);
n = 0;
while (rules.indexOf(",") != -1) {
var tmpstr = rules.substring(0, rules.indexOf(","));
this.rules[n] = tmpstr;
rules = rules.substring(rules.indexOf(",") + 1, rules.length);
n++;
}
this.rules[n] = rules;
return this;
}