var BLANK = '';
var FORM_NAME = 'formelement';

var FULL_NAME_DEFAULT = '                 full name:';
var EMAIL_DEFAULT     = '                 email:';
var ZIP_DEFAULT       = '                 zip:';
var DUE_DATE_DEFAULT  = '                 due date:';

var FULL_NAME_ID = 'nameform';
var EMAIL_ID     = 'emailform';
var ZIP_ID       = 'zipform';
var DUE_DATE_ID  = 'dueform';

var FULL_NAME_ERROR = 'Your full name is required.';
var EMAIL_ERROR = 'A valid email address is required.';
var ZIP_ERROR = 'Please include your ZIP code.';
var DUE_DATE_ERROR = 'Your Due Date is required (MM-DD-YYYY)';

function validate()
{
	var element;

	// Full Name Validation
	element = document.getElementById(FULL_NAME_ID);
	if(containsErrors(element, FULL_NAME_DEFAULT))
	{
		alert(FULL_NAME_ERROR);
		return false;
	}

	// Email Validation
	element = document.getElementById(EMAIL_ID);
	if(containsErrors(element, EMAIL_DEFAULT))
	{
		alert(EMAIL_ERROR);
		return false;
	}

	// ZIP Code Validation
	element = document.getElementById(ZIP_ID);
	if(containsErrors(element, ZIP_DEFAULT))
	{
		alert(ZIP_ERROR);
		return false;
	}

	// Due Date Validation
	element = document.getElementById(DUE_DATE_ID);
	if(containsErrors(element, DUE_DATE_DEFAULT))
	{
		alert(DUE_DATE_ERROR);
		return false;
	}

	// All form elements validate, so submit form
	document.getElementById(FORM_NAME).submit();
}

function containsErrors(element, defaultValue)
{
	if((element.value == defaultValue) || (element.value == BLANK)) return true;
	else return false;
}

function clear_box(element)
{
		if(element.value == FULL_NAME_DEFAULT) element.value = BLANK;
		else if (element.value == EMAIL_DEFAULT) element.value = BLANK;
		else if (element.value == ZIP_DEFAULT) element.value = BLANK;
		else if (element.value == DUE_DATE_DEFAULT) element.value = BLANK;
}

function reset_box(element)
{
		if(element.value == BLANK)
		{
			if(element == document.getElementById(FULL_NAME_ID)) element.value = FULL_NAME_DEFAULT;
			else if(element == document.getElementById(EMAIL_ID)) element.value = EMAIL_DEFAULT;
			else if(element == document.getElementById(ZIP_ID)) element.value = ZIP_DEFAULT;
			else if(element == document.getElementById(DUE_DATE_ID)) element.value = DUE_DATE_DEFAULT;
		}
}

function reset_all()
{
		document.getElementById(FULL_NAME_ID).value = FULL_NAME_DEFAULT;
		document.getElementById(EMAIL_ID).value = EMAIL_DEFAULT;
		document.getElementById(ZIP_ID).value = ZIP_DEFAULT;
		document.getElementById(DUE_DATE_ID).value = DUE_DATE_DEFAULT;
}