
function handleFooterFormSubmit() {
	try {
		if (!handleFooterValidation()) {
			alert('There was a problem validating the information on this page.');
			return false;
		}
		if (!handleFooterEmailSignup()) {
			alert('There was a problem while processing email signup.');
			return false;
		}
		return true;
		
	} 
	catch(e) {
		alert('There was a problem while processing the information on this page.');
		return false;
	}
}

function handleFooterValidation() {
	try {
		return checkFooterFields();
	}
	catch(e) {
		return false;
	}
}

function handleFooterEmailSignup() {
	try {
		var postUrl = getFTREmailSignupPostUrl();
		var postParameters = getFTRSignupPostParameters();
		hdiSjax.postAjaxRequest(postUrl, postParameters, new Function("pfesgp","processFTREmailSignupGetPost()"), 'txt');
		return true;
	}
	catch(e) {
		return false;
	}
}

function getFTRSignupPostParameters() {
	try {
		var emailValue = document.getElementById("FTREmailAddressText").value;
		var firstNameValue = document.getElementById("FTRFirstNameText").value;
		var lastNameValue = document.getElementById("FTRLastNameText").value;
		var sourceValue = document.getElementById("FTREmailSignupSource").value;
		var ipAddressValue = document.getElementById("FTRLocalIPAddress").value;
		var divCodeValue = document.getElementById("FTREmailDivisionCode").value;
		var dateTimeValue = createDateTimeStamp();
		var postStr = "EMAIL_ADDRESS=" + encodeURI(emailValue) + "&" +
						"FIRST_NAME=" + encodeURI(firstNameValue) + "&" +
						"LAST_NAME=" + encodeURI(lastNameValue) + "&" +
						"SOURCE=" + encodeURI(sourceValue) + "&" +
						"IP_ADDRESS=" + encodeURI(ipAddressValue) + "&" +
						"DIV_CODE=" + encodeURI(divCodeValue) + "&" +
						"DATE_TIME=" + encodeURI(dateTimeValue);
		return postStr;
	}
	catch(e) {
		return 'Error building email signup post parameters.';
	}
}

function throwRegistrationTag() {
	try{
		var emailValue = document.getElementById("FTREmailAddressText").value;
		var sourceValue = document.getElementById("FTREmailSignupSource").value;
		
		cmCreateRegistrationTag(emailValue, emailValue, '','', '', 'Email Signup', 'Y', '', '', '', '', sourceValue, '')
	}
	catch(e) {
		alert('An error occurred while throwing the coremetrics registration tag.');
	}
}

function throwConversionEventTag(pAction, pPoints) {
	
	var paramEventID	= 'Opt In';
	var paramEventCat	= 'Email Signup';
	try
	{				
		cmCreateConversionEventTag(paramEventID, pAction, paramEventCat , pPoints);
	}
	catch(e)
	{
		alert('An error occurred while throwing the coremetrics ConversionEvent tag.');
	}
}

function checkFooterFields() {
	var elmEmailAddressText = document.getElementById("FTREmailAddressText");
	var elmConfirmEmailAddressText = document.getElementById("FTRConfirmEmailAddressText");
	var elmFirstName = document.getElementById("FTRFirstNameText");
	var elmLastName = document.getElementById("FTRLastNameText");

	if (elmEmailAddressText.value == "") {
		alert("Please enter your email address");
		elmEmailAddressText.focus();
		return false;
	}
	else if (elmConfirmEmailAddressText.value == "") {
		alert("Please confirm your email address");
		elmConfirmEmailAddressText.focus();
		return false;
	}
	else if (elmFirstName.value == "") {
		alert("Please enter your first name");
		elmFirstName.focus();
		return false;
	}
	else if (elmLastName.value == "") {
		alert("Please enter your last name");
		elmLastName.focus();
		return false;
	}
	else if (elmEmailAddressText.value.indexOf('@', 0) == -1 || 
		elmEmailAddressText.value.indexOf('.', 0) == -1) {
		alert("Please enter a valid email address.");
		elmEmailAddressText.focus();
		return false;
	}
	else if (elmEmailAddressText.value != 
		elmConfirmEmailAddressText.value) {
		alert("Your email confirmation does not match your email. Please verify your email.");
		elmConfirmEmailAddressText.focus();
		return false;
	}
	// Everything is ok so return true.
	return true;
}