// Javascript function copyright 2001 SKGmedia.com
//	CROSS PAGE GENERIC FUNCTIONS
//	FUNCTION TO REMOVE ALL POSSIBLE ROGUE SCRIPT ENTRIES
function FnStripScript()
{
	var intFormTextBoxes = document.forms[0].elements;	//	alert(intFormTextBoxes.length);
	for (z = 0; z< intFormTextBoxes.length;z++)
	{
		if (intFormTextBoxes[z].type == "text")
		{
			var strTemp = String(intFormTextBoxes[z].value);
			if (strTemp != "")
			{
				for ( j = 0 ;j<strTemp.length;j++)
				{
					strTemp = strTemp.replace("<","");
					strTemp = strTemp.replace("</","");
					strTemp = strTemp.replace("script","");
					strTemp = strTemp.replace(">","");
					strTemp = strTemp.replace("(","");
					strTemp = strTemp.replace(")","");
					strTemp = strTemp.replace(";",",");
					strTemp = strTemp.replace("?",",");
				}
			}
			intFormTextBoxes[z].value = strTemp;
			strTemp = "";
		}
	}
	return;
}

// 	FORM SUBMISSION FUNCTION
function FnTravelFormSubmit()
{
	var strFormName = String(document.forms[0].name);
	if (strFormName == "frmTravelRequest")
	{	document.forms[0].action = "traveler_request_end.asp";	}
	if (strFormName == "frmTravelProfile")
	{	document.forms[0].action = "traveler_profile_end.asp";	}
	if (strFormName == "frmETCSurvey")
	{	document.forms[0].action = "etc_survey_end.asp";	}
	document.forms[0].method = "post";
	document.forms[0].submit();
	return;
}

//==================================
//	TRAVELER PROFILE PAGE FUNCTIONS
//	traveler_profile.asp
//==================================
var bool_Valid = null;

//===
// MAIN FUNCTION OF PROGRAM
function FnValidateUserForm()
{
	FnStripScript();

	bool_Valid = FnValidateReqArray();
	if (bool_Valid != true || bool_Valid == false || bool_Valid == null )
	{	return false;	}

	FnTravelFormSubmit();
	return true;
}

function FnValidateReqArray()
{
    if (String(document.frmTravelProfile.Traveler_FName.value).toUpperCase() == "")
	{
		alert("Please provide a traveler first name in the proper field of this form.");
		document.frmTravelProfile.Traveler_FName.focus();
		document.frmTravelProfile.Traveler_FName.select();
		return false;
	}

	if (String(document.frmTravelProfile.Traveler_MName.value).toUpperCase() == "" || String(document.frmTravelProfile.Traveler_MName.value).length <= 1) {
	    alert("Please provide a FULL traveler middle name in the proper field of this form, if not applicable enter NMN.");
	    document.frmTravelProfile.Traveler_MName.focus();
	    document.frmTravelProfile.Traveler_MName.select();
	    return false;
	}

	if (String(document.frmTravelProfile.Traveler_LName.value).toUpperCase() == "") {
	    alert("Please provide a traveler last name in the proper field of this form.");
	    document.frmTravelProfile.Traveler_LName.focus();
	    document.frmTravelProfile.Traveler_LName.select();
	    return false;
	}

	if (String(document.frmTravelProfile.Traveler_Title.value).toUpperCase() == "")
	{
		alert("Please provide a traveler\'s title in the proper field of this form.");
		document.frmTravelProfile.Traveler_Title.focus();
		document.frmTravelProfile.Traveler_Title.select();
		return false;
	}

	if (String(document.frmTravelProfile.Del_Add.value).toUpperCase() == "")
	{
		alert("Please provide a delivery address in the proper field of this form.");
		document.frmTravelProfile.Del_Add.focus();
		document.frmTravelProfile.Del_Add.select();
		return false;
	}

	if (String(document.frmTravelProfile.Del_City.value).toUpperCase() == "")
	{
		alert("Please provide a delivery city name in the proper field of this form.");
		document.frmTravelProfile.Del_City.focus();
		document.frmTravelProfile.Del_City.select();
		return false;
	}

	if (String(document.frmTravelProfile.States1.value).toUpperCase() == "")
	{
		alert("Please provide a delivery state name in the proper field of this form.");
		document.frmTravelProfile.States1.focus();
		document.frmTravelProfile.States1.select();
		return false;
	}


	var boolBizPhone = FnValidateBizPhone();
	if (boolBizPhone == false)
	{ return false; 	}


	var boolEmail = FnValidateEmailAddress1();
	if (boolEmail == false)
	{	return false;	}
	return true;
}

//===
//	PAGE LEVEL FUNCTIONS
//===

//	BIZ PHONE VALIDATION
function FnValidateBizPhone()
{
	if (String(document.frmTravelProfile.Biz_Phone.value).toUpperCase() == "")
	{
		FnCheckBizPhone();
		return false;
	}
	if (String(document.frmTravelProfile.Biz_Phone.value).toUpperCase() != "")
	{
		var strBizPhone = String(document.frmTravelProfile.Biz_Phone.value);
		strBizPhone = strBizPhone.split("-");
		if (strBizPhone.length < 3)
		{
			FnCheckBizPhone();
			return false;
		}
		if (strBizPhone[0].length != 3 || strBizPhone[1].length != 3 ||strBizPhone[2].length != 4)
		{
			FnCheckBizPhone();
			return false;
		}
		if (isNaN(strBizPhone[0]) == true || isNaN(strBizPhone[1]) == true || isNaN(strBizPhone[2]) == true)
		{
			FnCheckBizPhone();
			return false;
		}
	}
	return true;
}


//	EMAIL VALIDATION
function FnValidateEmailAddress1()
{
	var strTempEmail = String(document.frmTravelProfile.User_Email.value);
	if (strTempEmail == "")
	{
		FnCustomerEmailAddress();
		return false;
	}
	if (strTempEmail != "")
	{
		if (strTempEmail.indexOf("@") == -1 || strTempEmail.lastIndexOf(".") == -1)
		{
			FnCustomerEmailAddress();
			return false;
		}
		if (strTempEmail.indexOf("@") != -1 || strTempEmail.lastIndexOf(".") != -1)
		{
			if (strTempEmail.charAt(strTempEmail.length-1) == ".")
			{
				FnCustomerEmailAddress();
				return false;
			}
		}
	}
	return true;
}

//	DEBUG REQUIRED FIELDS
//	ZIPCODE ERROR ALERT
function FnZipCodeThrow()
{
	alert("Please provide a delivery postal code in the proper field of this form.");
	document.frmTravelProfile.Del_Zip.focus();
	document.frmTravelProfile.Del_Zip.select();
	return;
}
//	EMAIL ERROR ALERT
function FnCustomerEmailAddress()
{
	alert("Please provide a contact e-mail address in the proper field of this form.");
	document.frmTravelProfile.User_Email.focus();
	document.frmTravelProfile.User_Email.select();
	return false;
}

// PHONE ERROR ALERT
function FnCheckBizPhone()
{
	alert("Please provide a valid business phone number in the proper field of this form using this format xxx-xxx-xxxx only.");
	document.frmTravelProfile.Biz_Phone.focus();
	document.frmTravelProfile.Biz_Phone.select();
	return;
}


//====================================
//	TRAVELER INFO REQUEST FUNCTIONS
//	traveler_request.asp
//====================================
function FnValidateTR()
{
	FnStripScript();

	var boolPassName = FnCheckPassName();
	if (boolPassName == false)
	{	return false;	}

	var boolPassPhone = FnValidatePassPhone();
	if (boolPassPhone == false)
	{	return false;	}

	var boolPassEmail = FnValidateEmailAddress2();
	if (boolPassEmail == false)
	{	return false;	}

	FnTravelFormSubmit();
	return;
}

//	NAME ERROR ALERT
function FnCheckPassName()
{
	if (document.frmTravelRequest.PassName.value == "")
	{
		alert("Please provide the passenger\'s name in this field.");
		document.frmTravelRequest.PassName.focus();
		document.frmTravelRequest.PassName.select();
		return false;
	}
	return true;
}

//	BIZ PHONE VALIDATION
function FnValidatePassPhone()
{
	var strPassPhone = String(document.frmTravelRequest.PassPhone.value).toUpperCase();
	if (strPassPhone== "")
	{
		FnCheckPassPhone();
		return false;
	}
	if (strPassPhone != "")
	{
		strPassPhone = strPassPhone.split("-");
		if (strPassPhone.length < 3)
		{
			FnCheckPassPhone();
			return false;
		}
		if (strPassPhone[0].length != 3 || strPassPhone[1].length != 3 || strPassPhone[2].length != 4)
		{
			FnCheckPassPhone();
			return false;
		}
		if (isNaN(strPassPhone[0]) == true || isNaN(strPassPhone[1]) == true || isNaN(strPassPhone[2]) == true)
		{
			FnCheckPassPhone();
			return false;
		}
	}
	return true;
}


//	FUNCTION TO VALIDATE EMAIL ADDRESSS
function FnValidateEmailAddress2()
{
	var strTempEmail = String(document.frmTravelRequest.PassEmail.value).toLowerCase();
	if (strTempEmail == "")
	{
		FnCustomerEmailAddress();
		return false;
	}
	if (strTempEmail != "")
	{
		if (strTempEmail.indexOf("@") == -1 || strTempEmail.lastIndexOf(".") == -1)
		{
			FnCustomerEmailAddress();
			return false;
		}
		if (strTempEmail.indexOf("@") != -1 || strTempEmail.lastIndexOf(".") != -1)
		{
			if (strTempEmail.charAt(strTempEmail.length-1) == ".")
			{
				FnCustomerEmailAddress();
				return false;
			}
		}
	}
	return true;
}

// PHONE ERROR ALERT
function FnCheckPassPhone()
{
	alert("Please provide a valid phone number in the proper field of this form using this format xxx-xxx-xxxx only.");
	document.frmTravelRequest.PassPhone.focus();
	document.frmTravelRequest.PassPhone.select();
	return;
}

//	EMAIL ERROR ALERT
function FnCustomerEmailAddress()
{
	alert("Please provide a contact e-mail address in the proper field of this form.");
	document.frmTravelRequest.PassEmail.focus();
	document.frmTravelRequest.PassEmail.select();
	return false;
}