// add click listener to button#newsletterFormSubmit

function validateNewsletter() {
	var result = true;

	// remove existing validation errors
	$("div.input_item").each(function (i) {
		removeValidationError(this);
  });
	
	var element = "";
	
	/*
	element = $("#form textarea[name=message]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}
	*/

	element = $("#form input[name=company]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}/**/

	element = $("#form select[name=salutation]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}

/*
 
	element = $("#form select[name=title]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}
 */
	
	element = $("#form input[name=family]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}

	element = $("#form input[name=name]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}

	element = $("#form input[name=street]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}

	element = $("#form input[name=zip]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}

	element = $("#form input[name=city]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}

	element = $("#form select[name=country]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}

	element = $("#form input[name=email]");
	if (!isValidEmailAddress(element.val())) {
		result = addValidationError(element);
	}

	/*element = $("#form input[name=phone]");
	if (2 > element.val().length) {
		result = addValidationError(element);
	}*/

  return result;
}

function addValidationError (element) {
		var parent = element.parent();
		parent.addClass("validation_error");
		$("span.error", parent).show();
		return false;
}

function removeValidationError (element) {
		$(element).removeClass("validation_error");
		$("span.error", element).hide();
}

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}