// Form Validation


function processForm()
{
if (!validateForm()) {
	return;
}
new Ajax.Request('forminc/do_contact.php', {
method:'POST',
parameters:$('contact-form').serialize(true),
onSuccess:showResult,
onFailure:showError
});
}

function validateForm()
{
var name = $('name');
var email = $('email');
var phone = $('phone');
var comment = $('comment');
var subject = $('subject');

var isValid = true;

// Begin field copy

if (name.getValue() == '') {
	addErrorMessage(name, 'Required');
	isValid = false;
}
else {
	makeValid(name);
}

// End field copy

if (phone.getValue() == '') {
	addErrorMessage(phone, 'Required');
	isValid = false;
}
else {
	makeValid(phone);
}
if (email.getValue() == '') {
	addErrorMessage(email, 'Required');
	isValid = false;
}
else {
emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
if (!emailRe.test(email.getValue())) {
addErrorMessage(email, 'Not Valid');
}
else {
	makeValid(email);
}
}
if (subject.getValue() == '') {
addErrorMessage(subject, 'Required');
isValid = false;
}
else {
	makeValid(subject);
}
if (comment.getValue() == '') {
	addErrorMessage(comment, 'Required');
	isValid = false;
}
else {
	makeValid(comment);
}
return isValid;
}

function addErrorMessage(element, message)
{
	var ancestors = element.ancestors();
	var container = ancestors[0];
	var errors = container.getElementsByClassName('error');
	if (errors.size()) {
	var error = errors[0];
	error.update(message);
	}
else {
        	var error = document.createElement('span');
        	var attr = document.createAttribute('class');
        	attr.nodeValue = 'error';
        	error.setAttributeNode(attr);
	var text = document.createTextNode(message);
	error.appendChild(text);
	container.appendChild(error);
}
}

function makeValid(element)
{
	var error = element.next();
	if (error != undefined) {
error.remove();
	}
}

function showResult(request)
{
	$('form').hide();
var response = request.responseXML;
var status = parseInt(response.getElementsByTagName('status')[0].firstChild.nodeValue);
if (status == 1)
{
$('result').update('<p><span class=results>Your e-mail was successfully sent, ' +
$F('name') +
'. Thank you for contacting us.</span></p>');
}
else {
	var errors = response.getElementsByTagName('errors')[0].getElementsByTagName('error');
	new Insertion.Bottom($('result'), '<p>There were some errors:</p>');
	var list = document.createElement('ul');
	for (var i = 0; i < errors.length; i++) {
	var listItem = document.createElement('li');
	listItem.appendChild(document.createTextNode(errors[i].firstChild.nodeValue));
	list.appendChild(listItem);
	}
$('result').appendChild(list);
}
}

function showError(request)
{
$('result').update('<p>There was an error when trying to send your mail. We apologize for the inconvenience.</p>');
$('form').hide();
}
