function CleanPostParametersES(param)
{
	var NewParam = "";
	for(var i=0;i<param.length;i++)
	{
		switch(param.charAt(i))
		{
			case '"':
				break;
			case "'":
				break;
			case ">":
				break;
			case "<":
				break;
			case ">":
				break;
			case "(":
				break;
			case ")":
				break;
			default:
				NewParam+=param.charAt(i);
		}
	}

	return NewParam;
}	

function handleFormSubmit() {
	try {
		if (!handleValidation()) {
			alert('There was a problem validating the information on this page.');
			return false;
		}
		if (!handleEmailSignup()) {
			alert('There was a problem while processing email signup.');
			return false;
		}
	} 
	catch(e) {
		alert('There was a problem while processing the information on this page.');
		return false;
	}
	return true
}

function handleValidation() {
	try {
		return checkFields();
	}
	catch(e) {
		return false;
	}
}

function handleEmailSignup() {
	try {
		var postUrl = getEmailSignupPostUrl();
		var postParameters = getEmailSignupPostParameters();
		hdiSjax.postAjaxRequest(postUrl, postParameters, processGetPost, 'txt');
		return true;
	}
	catch(e) {
		return false;
	}
}

function getEmailSignupPostParameters() {
	try {
		var emailValue = CleanPostParametersES(document.getElementById("EmailAddressText").value);
		var firstNameValue = CleanPostParametersES(document.getElementById("FirstNameText").value);
		var lastNameValue = CleanPostParametersES(document.getElementById("LastNameText").value);
		var sourceValue = CleanPostParametersES(document.getElementById("EmailSignupSource").value);
		var ipAddressValue = CleanPostParametersES(document.getElementById("LocalIPAddress").value);
		var divCodeValue = CleanPostParametersES(document.getElementById("EmailDivisionCode").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 checkFields() {
	
	var elmEmailAddressText = document.getElementById("EmailAddressText");
	var elmConfirmEmailAddressText = document.getElementById("ConfirmEmailAddressText");
	var elmFirstName = document.getElementById("FirstNameText");
	var elmLastName = document.getElementById("LastNameText");

	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;
}