var focusReceived;

function submitForm(elementId)
{
	var frm = $(elementId);
	if (validateMessage(frm))
	{
		frm.submit();
	}
}

function validateMessage(frm)
{
	var messages = Array();
	
	focusReceived = false;	
	
	validateSize(messages, frm.inputMessage, 1, "Please enter a message");
	validateSize(messages, frm.inputName, 1, "Please enter a value for the \'Name\' field");
	validateSize(messages, frm.inputPhone, 1, "Please enter a value for the \'Phone\' field");
	validateSize(messages, frm.inputEmail, 1, "Please enter a value for the \'Email\' field");	
	if (messages.length == 0)
	{
		validateEmailFormat(messages, frm.inputEmail, "Please enter email in the format \'username@domain.com\'");
	}	
	
	return displayMessages(messages);		
}

function displayMessages(messages)
{
	var ret = true;
	if (messages.length > 0)
	{
		msg = messages.join('\n');
		alert (msg);
		ret = false;
	}
	
	return ret;
}

function validateSize(messages, field, minLength, message)
{
	var val = field.value;
	if (val.length < minLength)
	{
		messages.push(message);
		setInitialFocus(field);
	}	
}

function validateEmailFormat(messages, field, message)
{
	var val = field.value;
	
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	var rtn = false;
	if (filter.test(val) == false) 
	{
		messages.push(message);
		setInitialFocus(field);
    }
}

function validatePasswords(messages, field1, field2, message)
{
	var pass1 = field1.value;
	var pass2 = field2.value;
	if (pass1 != pass2)
	{
		messages.push(message);
		setInitialFocus(field2);
	}	
}

function validateSimpleTest(messages, test, focusField, message)
{
	if (test == false)
	{
		messages.push(message);
		setInitialFocus(focusField);
	}
}

function setInitialFocus(focusField)
{
	if (focusReceived == false)
	{
		focusField.focus();
		focusField.select();
		focusReceived = true;
	}
}

