function systemFeedback(referer) {
	msgWindow=open('/hiwire?.a=SystemFeedback&referer='+referer,'feedback','scrollable=yes,resizable=yes,width=500,height=650');
	if (msgWindow.opener == null) msgWindow.opener = self;
}

function resetForm()
{
 	setPassengerList(document.BookTrip);
	document.BookTrip.FormState.value = 0;
	document.BookTrip.submit();
}


function he(form, event)
{
var error ='';

 if (event == 'ChangePassword')
 {
 }
 if (event == 'SetPickUpAddress')
 {
 	if (document.BookTrip.PickUpAddressSelect.options[document.BookTrip.PickUpAddressSelect.selectedIndex].value != 'FUA')
	{
			document.BookTrip.PickUpAddressDisplay.value = document.BookTrip.PickUpAddressSelect.options[document.BookTrip.PickUpAddressSelect.selectedIndex].text;
			document.BookTrip.PickUpAddress.value = document.BookTrip.PickUpAddressSelect.options[document.BookTrip.PickUpAddressSelect.selectedIndex].value;
	}
	}
	if (event == 'SetDropOffAddress')
	{
	 	if (document.BookTrip.DropOffAddressSelect.options[document.BookTrip.DropOffAddressSelect.selectedIndex].value != 'FUA')
		{
			 	document.BookTrip.DropOffAddressDisplay.value = document.BookTrip.DropOffAddressSelect.options[document.BookTrip.DropOffAddressSelect.selectedIndex].text;
				document.BookTrip.DropOffAddress.value = document.BookTrip.DropOffAddressSelect.options[document.BookTrip.DropOffAddressSelect.selectedIndex].value;
		}

	}

	if (event == 'BookSubscription')
	{

		if (form.WS.checked || form.WM.checked || form.WT.checked || form.WW.checked || form.WH.checked || form.WF.checked || form.WA.checked)
		{
		}
		else
		{
				 error += "Please select at least one day\n";
		}		 

		if (form.PickUpAddressDisplay.value=='RA' || form.PickUpAddressDisplay.value=='')
		{
		 error += 'Please enter a pick-up address\n';
		}
		if (form.DropOffAddressDisplay.value=='RA' || form.DropOffAddressDisplay.value=='')
		{
		 error += 'Please enter an appointment address\n';
		}
		if (form.PickUpAddressDisplay.value == form.DropOffAddressDisplay.value)
		{
	 	 if (! form.PickUpAddressDisplay.value == '')
		 		error += 'The appointment address is the same as the pick-up address\n';
		}
		setPassengerList(form);
	
	} // end BookSubscription
	
	
	if (event == 'AddPassenger')
	{
	 	var passenger = form.PassengerTypeSelect.value + ';' + form.SpaceTypeSelect.value;
	 	var passengerdesc = form.PassengerTypeSelect.options[form.PassengerTypeSelect.selectedIndex].text + ':' + form.SpaceTypeSelect.options[form.SpaceTypeSelect.selectedIndex].text;
	 	var i = 0;
	 	for (i;i<2;i++)
		{
			if (form.PassengerListSelect.options[i].value == 'AP')
			{
				form.PassengerListSelect.options[i].text= passengerdesc;
				form.PassengerListSelect.options[i].value= passenger;
				return;
			}
		}
	}

	if (event == 'DeletePassenger')
	{
		 if (eval(form.PassengerListSelect.selectedIndex) != -1)
 		 {
			var MandPass = form.MandatoryPassengers.value;

			// if the PassengerType/SpaceType is not mandatory, go ahead and delete
			if(MandPass.indexOf(form.PassengerListSelect.options[form.PassengerListSelect.selectedIndex].value) == -1)
			{
				form.PassengerListSelect.options[form.PassengerListSelect.selectedIndex].value = 'AP';
				form.PassengerListSelect.options[form.PassengerListSelect.selectedIndex].text = '-- Additional Passenger? --';
			}

			else
			{
				// if the PassengerType/SpaceType IS mandatory, go ahead and delete if there is more than 1 copy (i.e. duplicates)
				var Count = 0;
			 	var i = 0;
				for (i;i<2;i++)
				{
					if (form.PassengerListSelect.options[i].value == form.PassengerListSelect.options[form.PassengerListSelect.selectedIndex].value)
					{
						Count = Count + 1;
					}
				}
				if(Count > 1)
				{
					form.PassengerListSelect.options[form.PassengerListSelect.selectedIndex].value = 'AP';
					form.PassengerListSelect.options[form.PassengerListSelect.selectedIndex].text = '-- Additional Passenger? --';
				}
				else
				{
					alert("That passenger must be part of the booking.");
					return;
				}

			}
		 }
		 else
		 {
			 alert("You don't have any passengers selected");
		 }
	}
	
	if (error == '')
	{ 
		form.FormState.value = 'Valid';
		return true;
	}
  else
	{
	 alert (error);
	 return false;
	}
}


function setLocationText(form, state)
{

	if (state == "MOrigin")
	{		

		document.PB.PAD.value = form.MOrigin[form.MOrigin.selectedIndex].text;

		document.PB.PAN.value = form.MOrigin[form.MOrigin.selectedIndex].value;
	}

	if (state == "MDestination")
	{		
		document.PB.DAD.value = form.MDestination[form.MDestination.selectedIndex].text;

		document.PB.DAN.value = form.MDestination[form.MDestination.selectedIndex].value;
	}

	if (state == "FOrigin")
	{		
 		form.PickUpAddressDisplay.value = form.FOrigin[form.FOrigin.selectedIndex].text;

		form.PickUpAddress.value = form.FOrigin[form.FOrigin.selectedIndex].value;
	}

	if (state == "FDestination")
	{		
 		form.DropOffAddressDisplay.value = form.FDestination[form.FDestination.selectedIndex].text;

		form.DropOffAddress.value = form.FDestination[form.FDestination.selectedIndex].value;
	}

}

function setLocation(form,state)
{
		form.FormState.value = state;
		setPassengerList(form);

		form.submit();
}

function printPage()
{
if (window.print) if (confirm("Print this page?")) window.print();
}

function escapeXML(str) 
{

document.write(escape(str));

}

function setText(form, activity)
{

	if (activity == "PA")
	{		

		document.PB.PA.value = form.PAS[form.PAS.selectedIndex].text;

		document.PB.PAN.value = form.PAS[form.PAS.selectedIndex].value;
	}

	if (activity == "DA")
	{		

		document.PB.DA.value = form.DAS[form.DAS.selectedIndex].text;

		document.PB.DAN.value = form.DAS[form.DAS.selectedIndex].value;
	}
}

var isRegAddressUsed = false;

function getAddress(file,window) {

	msgWindow=open(file,window,'resizable=no,width=500,height=400');
  	
	if (msgWindow.opener == null) msgWindow.opener = self;
}

function okAddress()
{
	self.close();
}

function cancelAddress(field)
{
 if (isRegAddressUsed)
 {
  if (field ='P')
 	{
		opener.document.PB.PAD.value = '';
		opener.document.PB.PAN.value = '';
		opener.document.PB.PAM.value = '';
 	}
	else
 	{
		opener.document.PB.DAD.value = '';
		opener.document.PB.DAN.value = '';
		opener.document.PB.DAM.value = '';
  }
 }
	self.close();
}

var passengerList = new Array(2);


function setPassengerList(form)
{
	var i = 0;

	for (i;i<2;i++)
	{
			passengerList[i] = form.PassengerListSelect.options[i].value;
	}

  form.PassengerList.value = passengerList;
	
}

function bookTrip(form, validateDate)
{
	var error ='';

	if (form.PickUpDate.value=='')
	{
		error += 'Please enter a date\n';
	}

	if (validateDate == 1)
	{
		var currentTime = new Date();
		if (currentTime.getHours() == 8)
		{
			if (currentTime.getMinutes() < 30)
			{
				if (form.PickUpDate.selectedIndex == numDates)
				{
					error += "That date is not available before 8:30a\nPlease change the selected date\n";
				}
			}
		}
		else if (currentTime.getHours() < 8)
		{
			if (form.PickUpDate.selectedIndex == numDates)
			{
				error += "That date is not available before 8:30a\nPlease change the selected date\n";
			}
		
		}
		else if (currentTime.getHours() == 16)
		{
			if (currentTime.getMinutes() > 0)
			{
				if (form.PickUpDate.selectedIndex == 1)
				{
					error += "That date is not available after 4:00p\nPlease change the selected date\n";
				}
			}
		}

		else if (currentTime.getHours() > 16)
		{
			if (form.PickUpDate.selectedIndex == 1)
			{
				error += "That date is not available after 4:00p\nPlease change the selected date\n";
			}
		
		}
	}

	if (form.TripTime.value=='')
	{
		error += 'Please enter a time\n';
	}

	if (form.PickUpAddress.value=='L=;A=CH;O=;T=;F=;G=;H=;I=;J=' || form.PickUpAddress.value=='')
	{
		error += 'Please enter a pick-up address\n';
		
	}

	if (form.DropOffAddress.value=='RA' || form.DropOffAddress.value=='')
	{
		error += 'Please enter drop off address\n';
		
	}

	if (form.PickUpAddress.value == form.DropOffAddress.value)
	{
	 if (! form.DropOffAddress.value == '')
		error += 'The appointment address is the same as the pick-up address\n';
	}
		
	setPassengerList(form);
	

	if (error == '')
	{ 
		if(form.TimeDirection.value == 'DEP')
		{
			form.PickUpTime.value = form.TripTime.value;
		}
		else
		{
			form.DropOffTime.value = form.TripTime.value;
		}
		form.ToDate.value = form.PickUpDate.value;
		form.FormState.value = 'Valid';
		return true;
	}
	else
	{
	 alert(error);
	 
	 return false;
	 
	}

}


function login(form)
{
	

var error ='';


	if (form.UN.value=='') 
	{
		error += 'Please enter a user name\n';
		
	}


	if (form.PW.value=='')
	{
		error += 'Please enter a password\n';
		
	}


	if (error == '')
	{ 
		return true;
	}
	else
	{
	 alert(error);
	 
	 return false;
	 
	}

}

function submit_AccountPassword(form)
{

var error ='';

	if (form.OPW.value=='') 
	{
		error += 'Please enter your old password\n';
		
	}
	if (form.NPW.value=='')
	{
		error += 'Please enter a new password\n';
		
	}
	if (form.RNPW.value=='')
	{
		error += 'Please enter your new password again\n';
		
	}
	if (form.NPW.value != form.RNPW.value)
	{
		error += 'Your new password has to match\n';
		
	}

	if (error == '')
	{ 
		return true;
	}
	else
	{
	 alert(error);
	 
	 return false;
	 
	}

}
