/**
 * @author Vlad Yakovlev (red.scorpix@gmail.com)
 * @link www.scorpix.ru
 * @requires jQuery
 * @requires jCommon
 * @version 0.1
 * @date 2010-03-10
 */

$(function() {

	var
		formEl = $('#navigation .links form'),
		inputEl = formEl.find('input:text'),
		messageEl = formEl.find('.message'),
		lang = $('body').hasClass('en') ? 'en' : 'ru',

		emptyMessage = 'ru' == lang ? 'Необходимо ввести электронный ящик.' : 'E-mail empty.',
		errorMessage = 'ru' == lang ? 'Неправильный формат электронного ящика.' : 'Incorrect e-mail.';

	formEl.submit(function() {
		inputEl.val($.trim(inputEl.val()));

		var val = inputEl.val();
		var error = '';

		if ('' == val) {
			error = emptyMessage;
		} else if (!checkEmail(val)) {
			error = errorMessage;
		}

		if (error) {
			messageEl
				.addClass('error')
				.text(error);

			return false;
		}

		messageEl
			.removeClass('error')
			.text('');

		$.ajax({
			url: formEl.attr('action'),
			type: 'POST',
			cache: false,
			data: {
				email: val,
				lang: lang
			},
			dataType: 'json',
			success: function(data) {
				if (0 == data.error) {
					messageEl.removeClass('error');
				} else {
					messageEl.addClass('error');
				}

				messageEl.text(data.message);
			}
		});

		return false;
	});

	function checkEmail(value) {
		reg = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;

		return value.match(reg) ? true : false;
	}
});
