
// NOTE* include formValidation.js prior to this file

// Use multiple case statements where applicable.
function ValidateField(field)
{
	if(!gbl_isKeyPressed)
		return false;

	var str_errorMsg = "";

	switch(field.id)
	{
		case "nameTextBox" :
			str_errorMsg += ValidateREQ(field);
			str_errorMsg += ValidateLEN(field, 100);
			break;
		case "addressTextBox" :
		case "phoneTextBox"	  :
			str_errorMsg += ValidateLEN(field, 100);
			break;
		case "emailTextBox" :
			str_errorMsg += ValidateREQ(field);
			if(str_errorMsg.length == 0)
				str_errorMsg += ValidateREG(field, /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/);
			str_errorMsg += ValidateLEN(field, 100);
			break;
		case "commentsTextArea" :
			str_errorMsg += ValidateREQ(field);
			str_errorMsg += ValidateLEN(field, 100);
			break;
	}

	return str_errorMsg;
}

function ShowFormErrors(obj_Form)
{
	var str_errorMsgs = "";
	var bln_isFocus   = false;
	var obj_field;
	var obj_fields    = new Array();
	var obj_postal;
	var obj_physical;
	var index = 0;
	
	gbl_isKeyPressed = true;

	// Find input fields
	obj_fields = obj_Form.getElementsByTagName('input');

	for(obj_field in obj_fields)
	{
		str_errorMsgs += ValidateField(obj_fields[obj_field]);
		if(str_errorMsgs.length > 0 && !bln_isFocus)
		{
			ValidateFocus(obj_fields[obj_field]);
			bln_isFocus = true;
		}
	}
	
	// Find textarea fields
	obj_fields = null;
	obj_field  = null;
	obj_fields = obj_Form.getElementsByTagName('textarea');

	for(obj_field in obj_fields)
	{
		if(index == 0)
		{
			index++;
			continue;
		}
		
		str_errorMsgs += ValidateField(obj_fields[obj_field]);
		if(str_errorMsgs.length > 0 && !bln_isFocus)
		{
			ValidateFocus(obj_fields[obj_field]);
			bln_isFocus = true;
		}
	}	
	
	
	if(str_errorMsgs.length > 0)
		alert(str_errorMsgs);
	
	return str_errorMsgs.length > 0 ? false : true;
}

function SubmitForm(obj_Form, obj_button)
{
	var bln_isValid = ShowFormErrors(obj_Form);
	
	if(bln_isValid)
	{
		if(CaptchaCheck(obj_Form))
		{
			LoadingBar(true, obj_button);
			obj_Form.submit();
		}
	}

	return bln_isValid;
}