/*
 * etForms.js
 * 
 * Executive Touring form processing
 * Copyright © 2007 DL10 Design Limited. All Rights Reserved.
 * 
 * Created: 28 October 2008
 * 
 * Version 1.0
 */

var formToReset = null;

function isValid(fieldObj, errorMsg, type) {

	if (type == 'select') {

		if (fieldObj.options[fieldObj.selectedIndex].text.length == 0
				|| fieldObj.selectedIndex == 0) {

			if (errorMsg.length > 0) {

				alert(errorMsg);

			}

			fieldObj.focus();
			return false;

		}

	} else {

		if (fieldObj.value.length == 0) {

			if (errorMsg.length > 0) {

				alert(errorMsg);

			}

			fieldObj.focus();
			return false;

		}
	}

	return true;
}

function validateAndSubmitQuery(element) {

	var reEmail = /^.+\@.+\..+$/

	if (!isValid(element.cf_field_1, "Your Name is a required field")) {

		return false;

	}

	if (!isValid(element.cf_field_4, "Your e-Mail Address is a required field")) {

		return false;

	} else {

		if (!reEmail.test(element.cf_field_4.value)) {

			alert("A valid e-Mail Address is required");
			element.cf_field_4.focus();
			return false;

		}

	}

	submit(element);

	return false;

}

function submit(element) {

	formToReset = element;

	params = new Array();

	params.push(element.cf_field_1.value);
	params.push(element.cf_field_2.value);
	params.push(element.cf_field_3.value);
	params.push(element.cf_field_4.value);
	params.push(element.cf_field_5.value);

	new Ajax.Request('/processing/processquery.php', {
		method :'post',
		parameters : {
			cf_field_1 :params[0],
			cf_field_2 :params[1],
			cf_field_3 :params[2],
			cf_field_4 :params[3],
			cf_field_5 :params[4]
		},

		onSuccess :sendSuccess,
		onFailure :sendFailed
	});

}

function resetForm(element) {

	element.cf_field_1.focus();
	element.reset();

}

function sendSuccess(transport) {

	var response = transport.responseText;

	if (response == "0") {

		resultsText = "Thank you for your interest.";
		resetForm(formToReset);

	} else {

		resultsText = "Could not submit. Try later.";

	}

	setResults(resultsText);

}

function sendFailed() {

	resultsText = "Can not submit at this time.";
	
}

function setResults(resultsText) {

	$('formResults').innerHTML = resultsText;
	$('formResults').show();

}