jQuery(document).ready(
	function() 
	{
		$('#koszyk-form-show').click( function() { $(this).hide(); $('#koszyk-form').show(); return false; });
		$('#koszyk-form-close').click( function() { $('#koszyk-form-show').show(); $('#koszyk-form').hide(); return false; });
		jQuery("select[name='miasto_sklep']").change(onMiastoChange);
		// $('#faktura-paragon').change(setFaktura);
		$('#telefon').change(onTelefonChanged);
		$("input[name='dzialalnosc_gospodarcza']").click(onDzialalnoscGospodarczaChanged);
		onSklepChanged();
		onDostawaChanged();
		onDzialalnoscGospodarczaChanged();
		jQuery("a#regulamin").fancybox({frameWidth: 850, frameHeight: 550});
	}
)
function onTelefonChanged()
{
	if($('#telefon').val() == 'komorkowy')
	{
		$('#komorkowy').show();
		$('#stacjonarny').hide();
	}
	else
	{
		$('#komorkowy').hide();
		$('#stacjonarny').show();
	}
}
//function setFaktura()
//{
//	if($('#faktura-paragon').val() == 'faktura') $('#dane-faktura').show();
//	else $('#dane-faktura').hide();
//}
function onDzialalnoscGospodarczaChanged()
{
	if($("input[name='dzialalnosc_gospodarcza']:checked").val() == 1)
	{
		$(".dane-firma").show();
		$(".dane-osoba").hide();
	}
	else
	{
		$(".dane-firma").hide();
		$(".dane-osoba").show();
	}
	setValidation();
}
function checkAdres()
{
	if($("input[name='dostawa']:checked").val() == 1)
	{
		$("#dane-wysylka, #dane-faktura").show();
	}
	else
	{
		$("#dane-wysylka,#dane-faktura").hide();
	};
}
function onMiastoChange()
{
	$("#sklepy").html('<small class="gray">wczytuję...</small>').load('/?menu=get&func=sklepy&p1='+$("select[name='miasto_sklep']").val(), null, setSklep);
}
function setSklep()
{
	jQuery("input[name='sklep']").click(onSklepChanged);
}
function onSklepChanged()
{
	if($("input[name='sklep']:checked").val() && $("select[name='miasto_sklep']").val())
	{
		$("#dostawa label").show();
		$("#dostawa small").hide();
	}
	else
	{
		$("#dostawa small").show();
		$("#dostawa label").hide();
	}
	$("input[name='dostawa']").click(onDostawaChanged);
	setValidation();
}
function onDostawaChanged()
{
	var dostawa = $("input[name='dostawa']:checked").val(); 
	$("#forma_platnosci").children().hide();
	if(dostawa)
	{
		switch(dostawa)
		{
			case "1": $("#forma_platnosci label:first-child").next().show().next().show(); break; 
			case "2": $("#forma_platnosci label:first-child").show().next().show(); break; 
		}
	}
	else
	{
		$("#forma_platnosci .gray").show();
	}
	checkAdres(); 
}
function setValidation()
{
	jQuery.validator.addMethod('required_group', function(val, element) {
			// check for lazyness
			var $parent = $(element).parent();
			var filled = $parent.find('.required_group:filled').length;
			var condition = (filled == 0) || filled > 0 && filled == $parent.find('.required_group').length;
			$parent.children('span.error').remove();
			return condition;
		}, 'Należy wypełnić wszystkie pola');
		
    jQuery("#formularz-dane").validate({
        rules: 
		{
			miasto_sklep: 'required',
			sklep: 'required',
			dostawa: 'required',
			forma_platnosci: 'required',
			imie: 'required',
			nazwisko: 'required',
            email: 
			{
                required: true,
                email: true
            },
			komorkowy_1: {required: true, required_group: true},
			komorkowy_2: 'required_group',  
			komorkowy_3: 'required_group',
            akceptacja: 'required',
			akceptacja_handlowa: 'required',
			faktura_nip: {required: function(element) { return $("input[name='dzialalnosc_gospodarcza']:checked").val() == 1 } },
			faktura_firma: {required: function(element) { return $("input[name='dzialalnosc_gospodarcza']:checked").val() == 1 } },
			miasto: {required: function(element) { return $('input[name="dostawa"]:checked').val() == 1 } },
			ulica: {required: function(element) { return $('input[name="dostawa"]:checked').val() == 1 } },
			numer_lokalu: {required: function(element) { return $('input[name="dostawa"]:checked').val() == 1 } },
			numer_domu: {required: function(element) { return $('input[name="dostawa"]:checked').val() == 1 } },
			kod_2: {required: function(element) { return $('input[name="dostawa"]:checked').val() == 1 } }
        },
        messages: {
            email: {
                email: 'Nieprawidłowy format adresu e-mail'
            }
        },
		errorElement: 'span',
		errorPlacement: function(error, element) 
		{
			if( element.hasClass('required_group') )
			{
				error.insertAfter(element.parent().children('.required_group:last'));
			}
			else if(element.attr('type')=="radio")
			{
				error.insertAfter(element.parent().parent().children(':last'));
				//element.after('<br/>');
			}
			else if( element.attr('type')=="text" || element.attr('type')=="checkbox" )
			{
		        error.insertAfter(element);
				
			}
			else
			{
				error.insertAfter(element);
			}
	        element.addClass('error');
		}

    });
}