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('#koszyk_kod_promocyjny').focus(function(){jQuery(this).css('color', '#000000').val('')});
	}
)
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)
		{
		  // pokaz 2 i 3
			case "1": $("#forma_platnosci label.dostawa-1").show(); break; 
			// pokaz 1 i 2
			case "2": $("#forma_platnosci label.dostawa-2").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.validator.addMethod(
        "plDate",
        function(value, element) {
            // put your own logic here, this is just a (crappy) example
            return value.match(/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$/);
        },
        "Proszę podać datę w formacie dd/mm/rrrr"
    );
		
    jQuery("#formularz-dane").validate({
        rules: 
    		{
    			miasto_sklep: 'required',
    			sklep: 'required',
    			dostawa: 'required',
    			forma_platnosci: 'required',
    			imie: 'required',
    			nazwisko: 'required',
    			data_odbioru:
    			{
    				required: true,
    				plDate: true
    			},
                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_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');
    		}
    
        });
}
