$(document).ready(function(){

	$("#contact-form").validate({
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1
					? 'Nie wypełniłeś poprawnie jednego pola.'
					: 'Nie wypełniłeś poprawnie ' + errors + ' pól.';
				$("div.error span").html(message);
				$("div.error").show();
			} else {
				$("div.error").hide();
			}
		},
		onkeyup: false,
		submitHandler: function(form) {
			$("div.error").hide();
			
			$.ajax({
				url: $(form).attr('action'),
				type: 'post',
				data: $(form).serialize(),
				success: function(response)
				{
					var jsonData = eval('(' + response + ')');
					
					if (jsonData.form !== true)
					{
						var msg = "Formularz zawiera błędy:\n";
						$.each(jsonData.form, function (index, obj)
						{

							msg += $("form *[name="+index+']').parent().prev().text() + ' ' + obj + "\n";

						});
						alert(msg);
					}
					else
					{
						if (jsonData.mail === true)
						{
							alert('Dziękujemy za wysłanie wiadomości.\nSkontaktujemy się z Tobą najszybciej jak to możliwe.');
							$(':input','#contact-form')
							 .not(':button, :submit, :reset, :hidden')
							 .val('')
							 .removeAttr('checked')
							 .removeAttr('selected').removeClass('valid').removeClass('error');
						}
						else
						{
							alert("Wystąpił błąd podczas wysyłania wiadomości. Prawdopodobnie to chwilowa awaria serwera. Aby skontaktować się z nami proszę wysłać e-mail na adres sandra@sandersdreams.pl.\nPrzepraszamy.");
						}
					}
				}
			});
			return false;
			//form.submit();
		},
		debug:false
	});
});

$.fn.hoverClass = function(classname) {
	return this.hover(function() {
		$(this).addClass(classname);
	}, function() {
		$(this).removeClass(classname);
	});
};
