function validateFields() {

	var results = new Array();

	var addrToTest = $('emailFrom').value;
	var filter = /^.+@.+\..{2,3}$/;
	
	if(filter.test(addrToTest)) {
		results['emailFrom'] = true;
	} else {
		results['emailFrom'] = false;
	}

	if($('emailTo').value != 'default') {
		results['emailTo'] = true;
	} else {
		results['emailTo'] = false;
	}
	
	if($('emailSubject').value) {
		results['emailSubject'] = true;
	} else {
		results['emailSubject'] = false;
	}

	if($('emailBody').value) {
		results['emailBody'] = true;
	} else {
		results['emailBody'] = false;
	}
	
	return results;
}

function resetFields() {
	$('emailFrom').value = '';
	$('emailTo').value = 'default';
	$('emailSubject').value = '';
	$('emailBody').value = '';
}

function sendEmail() {
	Event.observe('ContactUs', 'submit', function(event) {
	
		var allFieldsValid;
		results = validateFields();
	
		if(results['emailFrom'] && results['emailTo'] && results['emailSubject'] && results['emailBody']) {
			allFieldsValid = true;
		} else {
			allFieldsValid = false;
		}
	
		if(allFieldsValid) {
			
			var responseUrl = '/response_email.php';

			// Stop the submit
			Event.stop(event);
			
			var pars = 'emailTo=' + $('emailTo').value + '&emailFrom=' + $('emailFrom').value + '&emailSubject=' + $('emailSubject').value + '&emailBody=' + $('emailBody').value;
			
			new Ajax.Request(responseUrl, {
				method: 'post',
				parameters: pars, //{ 
// 					emailTo: $('emailTo').value,
// 					emailFrom: $('emailFrom').value,
// 					emailSubject: $('emailSubject').value,
// 					emailBody: $('emailBody').value
// 				},
				onSuccess: function(transport){
					var response = transport.responseText || "Response text failed";
					sexyBOX(response,'510');
				},
				onFailure: function(){ alert('Something went wrong...') }
			});
			
			resetFields();
			
		} else {
			// Stop the submit
			Event.stop(event);
			
			// Handle errors with input box flash
			if(!results['emailFrom']) {
				new Effect.Highlight('emailFrom', { startcolor: '#ef5a28', endcolor: '#ffffff', restorecolor: '#ffffff' });
			}
			if(!results['emailTo']) {
				new Effect.Highlight('emailTo', { startcolor: '#ef5a28', endcolor: '#ffffff', restorecolor: '#ffffff' });
			}
			if(!results['emailSubject']) {
				new Effect.Highlight('emailSubject', { startcolor: '#ef5a28', endcolor: '#ffffff', restorecolor: '#ffffff' });
			}
			if(!results['emailBody']) {
				new Effect.Highlight('emailBody', { startcolor: '#ef5a28', endcolor: '#ffffff', restorecolor: '#ffffff' });
			}
		}
	});
}

Event.observe(window, 'load', sendEmail, false);
