$(function()
{
    var exa_SID = false;
    if (typeof exa_fCgen != 'undefined')
    {
        exa_SID = exa_fCgen(exa_ptnm,exa_rvct,exa_tout);
    }
    if (exa_SID) $('form.lpe-form-gform input[name=exa_session]').val(exa_SID);
    $('.lpe-form-gform input[name=delivery_adress]').click(function()
    {
        $(this).parent().parent().next().slideToggle('slow');
    });
    $('.lpe-form-gform input[type=radio][name=customer_type]').click(function()
    {
        var val = $(this).val();
        var $form = $(this).parents('form').eq(0);
        var $elements = $form.find('.company_name-element input, .job_title-element input, .nip-element input');
        if (val == 'company')
        {
            $elements.attr('disabled', null).removeClass('lpe-form-disabled');
            $form.find('#data_safety_rules, #sales_rules').attr('checked', true);
        }
        else
        {
            $elements.attr('disabled', 'disabled').addClass('lpe-form-disabled');
            $form.find('#data_safety_rules, #sales_rules').attr('checked', false);
        }

    });

    var validator = $("form.lpe-form-gform")
        .validate(
            {
                rules :
                {
                    'offers' :
                    {
                        required : 'input[name=offers][type=radio]'
                    },
                    'offers[]' :
                    {
                        required : 'input[name=offers][type=checkbox]'
                    },
                    'first_name' :
                    {
                        required : true,
                        minlength : 3
                    },
                    'last_name' :
                    {
                        required : true,
                        minlength : 3
                    },
                    'company_name' :
                    {
                        required : 'input[name=customer_type][value=company]:checked',
                        minlength : 2
                    },
                    'nip' :
                    {
                        required : 'input[name=customer_type][value=company]:checked',
                        nip : true
                    },
                    'adress_post_code' :
                    {
                        required : true,
                        postcodePL : true
                    },
                    'adress_city' :
                    {
                        required : true,
                        minlength : 3
                    },
                    'adress_street' :
                    {
                        required : true,
                        minlength : 3
                    },
                    'adress_street_no' :
                    {
                        required : true
                    },
                    'delivery_adress_post_code' :
                    {
                        required : 'input[name=delivery_adress]:checked',
                        postcodePL : true
                    },
                    'delivery_adress_city' :
                    {
                        required : 'input[name=delivery_adress]:checked',
                        minlength : 3
                    },
                    'delivery_adress_street' :
                    {
                        required : 'input[name=delivery_adress]:checked',
                        minlength : 3
                    },
                    'delivery_adress_street_no' :
                    {
                        required : 'input[name=delivery_adress]:checked'
                    },
                    'phone' :
                    {
                        'phonePL' : true
                    },
                    'fax' :
                    {
                        'faxPL' : true
                    },
                    'email' :
                    {
                        required : true,
                        email : true
                    },
                    'data_safety_rules' :
                    {
                        required : 'input[name=customer_type][value=consumer]:checked'
                    },
                    'sales_rules' :
                    {
                        required : true
                    }
                },
                messages :
                {
                    'data_safety_rules' : 'Akceptacja regulaminu bezpieczeństwa danych jest niezbędna do realizacji zamówienia',
                    'sales_rules' : 'Aby złożyć zamówienie, musisz zaakceptować regulamin sprzedaży',
                    'offers' :
                    {
                        required : 'wybierz jedną z ofert'
                    },
                    'offers[]' :
                    {
                        required : 'wybierz przynajmniej jedną z ofert'
                    },
                    'first_name' :
                    {
                        required : 'Pole "Imię" jest wymagane',
                        minlength : 'Imię musi się składać conajmniej z trzech znaków'
                    },
                    'last_name' :
                    {
                        required : 'Pole "Nazwisko" jest wymagane',
                        minlength : 'Minimalna długość nazwiska to 3 znaki'
                    },
                    'first_name' :
                    {
                        required : 'Pole "Imię" jest wymagane',
                        minlength : 'Minimalna długość imienia to 3 znaki'
                    },
                    'firm_name' :
                    {
                        required : 'Pole "Nazwa firmy" jest wymagane',
                        minlength : 'Minimalna długość nazwy to 2 znaki'
                    },
                    'adress_city' :
                    {
                        required : 'Pole "Miejscowość" jest wymagane',
                        minlength : 'Minimalna długość nazwy miasta to 3 znaki'
                    },
                    'adress_post_code' :
                    {
                        required : 'Pole "Kod pocztowy" jest wymagane'
                    },
                    'adress_street' :
                    {
                        required : 'Pole "Ulica" jest wymagane',
                        minlength : 'Minimalna długość nazwy ulicy to 3 znaki'
                    },
                    'adress_street_no' :
                    {
                        required : 'Pole "Nr domu" jest wymagane'
                    },
                    'delivery_adress_city' :
                    {
                        required : 'Pole "Miejscowość" jest wymagane',
                        minlength : 'Minimalna długość nazwy miejscowości to 3 znaki'
                    },
                    'delivery_adress_post_code' :
                    {
                        required : 'Pole "Kod pocztowy" jest wymagane'
                    },
                    'delivery_adress_street' :
                    {
                        required : 'Pole "Ulica" jest wymagane',
                        minlength : 'Minimalna długość nazwy ulicy to 3 znaki'
                    },
                    'delivery_adress_street_no' :
                    {
                        required : 'Pole "Nr domu" jest wymagane'
                    },
                    'nip' :
                    {
                        required : 'Pole "NIP" jest wymagane'
                    },
                    'email' :
                    {
                        required : 'Pole "Adres e-mail" jest wymagane'
                    }
                },
                errorClass : 'lpe-form-error',
                errorElement : 'div',
                errorPlacement : function(error, element)
                {
                    error.appendTo(element.parent());
                },
                submitHandler : function(form)
                {
                    $(form).find('input[name=send]').attr('disabled', true);
                    $('body').append(
                        '<div id="lpe-form-overlay"></div>' + '<div id="lpe-form-overlay-textWrapper">'
                            + '<div id="lpe-form-overlay-text">Proszę czekać, trwa przetwarzanie zamówienia...</div>'
                            + '</div>');
                    form.submit();
                }

            });

});

