var formularz_conteiner = $$('#formularz_container');
var formularz_submit = $$('#formularz_submit');
var formularz_fields = $$('#formularz_body .form_field');

function formularz_checkempty(value) {
	if (value == ''
	|| value == 'Imię i nazwisko'
	|| value == 'Adres e-mail'
	|| value == 'Treść wiadomości'
	) { 
		return true; 
	} else { 
		return false; 
	}
}

function formularz_checktext(value) {
	if (!value || value == '') return false;
	else return true;
}

function formularz_checkpostcode(value) {
	return /^([0-9]{2}[\s]*-[\s]*[0-9]{3})$/i.test(value);
}

function formularz_checkphone(value) {
	return /^(\(?[0-9]{2,}\)?([\s-]*[0-9]{2,})+)$/i.test(value);
}

function formularz_checkemail(value) {
	return /^([a-zA-Z0-9_\.]+@[a-zA-Z0-9_]+(\.{1}[a-zA-Z]{2,6}){1,3})$/i.test(value);
}

function formularz_checknumber(value) {
	return /^(-?\s?[0-9]+([\.,]?[0-9]+)?)$/i.test(value);
}

function formularz_checkdate(value) {
	return /^([0-3]{1}[0-9]{1}-[0-1]{1}[0-9]{1}-[0-9]{4})$/i.test(value);
}

function formularz_SubmitEvent() {
	var danepost = {};
	formularz_fields.each(function (el, key) {
		danepost[el.name] = el.value;
	});
	ajaxQuery = new Request({
		url: '/formularz.html',
		method: 'post',
		onComplete: function(response) {
			if (formularz_conteiner[0]) {
				response = response.split('::');
				if (response[0] == 'ok') formularz_conteiner[0].innerHTML = response[1];
				if (response[0] == 'error') formularz_conteiner[0].innerHTML = response[1];
				if (response[0] == 'what') formularz_conteiner[0].innerHTML = 'Serwer na którym znajduje się strona nie ma możliwości wysyłania formularzy';
			}
		}
	});
	ajaxQuery.send(Hash.toQueryString(danepost));
}

function formularz_SendEvent() {
	if (formularz_submit[0] && formularz_fields[0]) {
		formularz_submit[0].addEvent('click', function () {
			var errors = false;
			formularz_fields.each(function (el, key) {
				if (el.hasClass('form_require') || (el.hasClass('form_validate') && el.value != '')) {
					var wartosc = el.value;

					if (el.hasClass('form_text')) {
						if (formularz_checkempty(wartosc) || !formularz_checktext(wartosc)) {
							errors = true;
							el.addClass('form_error');
						} else {
							el.removeClass('form_error');
						}
					}

					if (el.hasClass('form_email')) {
						if (formularz_checkempty(wartosc) || !formularz_checkemail(wartosc)) {
							errors = true;
							el.addClass('form_error');
						} else {
							el.removeClass('form_error');
						}
					}

					if (el.hasClass('form_postcode')) {
						if (formularz_checkempty(wartosc) || !formularz_checkpostcode(wartosc)) {
							errors = true;
							el.addClass('form_error');
						} else {
							el.removeClass('form_error');
						}
					}

					if (el.hasClass('form_phone')) {
						if (formularz_checkempty(wartosc) || !formularz_checkphone(wartosc)) {
							errors = true;
							el.addClass('form_error');
						} else {
							el.removeClass('form_error');
						}
					}

					if (el.hasClass('form_number')) {
						if (formularz_checkempty(wartosc) || !formularz_checknumber(wartosc)) {
							errors = true;
							el.addClass('form_error');
						} else {
							el.removeClass('form_error');
						}
					}

					if (el.hasClass('form_date')) {
						if (formularz_checkempty(wartosc) || !formularz_checkdate(wartosc)) {
							errors = true;
							el.addClass('form_error');
						} else {
							el.removeClass('form_error');
						}
					}
				}
			});

			if (!errors) formularz_SubmitEvent();
			return false;
		});
	}
}

window.addEvent('domready', function() {

	formularz_SendEvent();

	Cufon.replace($$('#menu a .menu_span'), {
		fontFamily: 'Myriad Pro',
		hover: true
	});

	Cufon.replace($$('#head h1, .head h1'), {
		textShadow: '#ffffff -1px -1px'
	});

	Cufon.replace($$('#head h2, .head h2'), {
		textShadow: '#000000 1px 1px'
	});

	Cufon.now();

});

