// JavaScript Document

var sendContactUsEmail = function()
{
	// set local variables
	var  errCode				=	0;
	var jsSenderName			=	'';
	var jsSenderEmailAddress	=	'';
	var jsSenderPhone			=	'';
	var jsSenderComments		=	'';
	var jsRandChars				=	'';
	var jsRandCharsHash			=	'';
	
	// check form variables
	var jsSenderNameField			=	document.getElementById('txtName');
	if(jsSenderNameField)
	{
		jsSenderName			=	jsSenderNameField.value;
		if(jsSenderName === '')
		{
			// error: no name given
			errCode	=	1;
			contactUsErrors(errCode);
		}
	}
	var jsSenderEmailAddressField	=	document.getElementById('txtEmail');
	if((errCode == 0) && (jsSenderEmailAddressField))
	{
		jsSenderEmailAddress	=	jsSenderEmailAddressField.value;
		if(jsSenderEmailAddress > '')
		{
			var emailValidation	=	isValidEmailAddress(jsSenderEmailAddress);
			if(emailValidation === false)
			{
				// error: invalid email address given
				errCode	=	5;
				contactUsErrors(errCode);
			}
		}
		else
		{
			// error: no email address given
			errCode	=	2;
			contactUsErrors(errCode);
		}
	}
	var jsSenderPhoneField			=	document.getElementById('txtPhone');
	if((errCode == 0) && (jsSenderPhoneField))
	{
		jsSenderPhone			=	jsSenderPhoneField.value;
		if(jsSenderPhone === '')
		{
			// error: no phone given
			errCode	=	3;
			contactUsErrors(errCode);
		}
	}
	var jsSenderCommentsField		=	document.getElementById('txtComments');
	if((errCode == 0) && (jsSenderCommentsField))
	{
		jsSenderComments		=	jsSenderCommentsField.value;
		if(jsSenderComments === '')
		{
			// error: no comment given
			errCode	=	4;
			contactUsErrors(errCode);
		}
	}
	
	if(errCode == 0)
	{
		// set up proxy
		var contactUsFunctions	=	new contactUsFunctionsProxy();
		
		// validate captcha fields
		var jsRandCharsField			=	document.getElementById('txtRandChars');
		var jsRandCharsHashField		=	document.getElementById('txtRandCharsHash');
		if((jsRandCharsField) && (jsRandCharsHashField))
		{
			jsRandChars				=	jsRandCharsField.value;
			jsRandCharsHash			=	jsRandCharsHashField.value;
	
			errCode					=	contactUsFunctions.checkHash(jsRandCharsHash,jsRandChars);
		
			// if errors on hash, display error
			if(errCode > 0)
			{
				contactUsErrors(errCode);
			}
		}
		
		if((errCode == 0) && (jsSenderNameField) && (jsSenderEmailAddressField) && (jsSenderPhoneField) && (jsSenderCommentsField) && (jsRandCharsField) && (jsRandCharsHashField))
		{
			// send email
			errCode = parseInt(contactUsFunctions.sendContactUsEmail(jsSenderName,jsSenderEmailAddress,jsSenderPhone,jsSenderComments));
			if(errCode == 0)
			{
				emailSentSuccess();
			}
			else
			{
				emailSentFail();
			}
		}
	}
};


//////////////////////////////////////////////////////////////////////////////////////////////////
// check valid email address
//////////////////////////////////////////////////////////////////////////////////////////////////

var	isValidEmailAddress = function (jsEmailAddress)
{
	var period = -1;
	var atSymbol = jsEmailAddress.indexOf('@',1);

	if (atSymbol	>=	0)
	{
		period = jsEmailAddress.indexOf('.',atSymbol + 2);
	}
	
	if((atSymbol == -1) || (period == -1))
	{
		return false;
	}
	else
	{
		return true;
	}
};

