function newRequest(id, url, data, method) {
    //Funkcja wysyłająca rządania ajaxowe
    // id - id pola gdzie zostanie zwrócony wynik; url - url rządania; data - zmienne serujące; method - metoda zapytania (GET lub POST)

    if(method == null) {
        method = 'GET';
    }

    $.ajax({
        type: method,
        url: url,
        data: data,
        context: document.body,
        success: function(data) {
            $("#"+id).html(data);
        },
        error: function(request, error) {
            var komunikat = 'Wystąpił problem z rządaniem: ';
            if(error == 'timeout') {
                komunikat += 'Przekroczono czas połączenia';
            }
            else if(error == 'error') {
                komunikat += 'Błąd HTTP';
            }
            else if(error == 'Brak zmian') {
                komunikat += '';
            }
            else if(error == 'parsererror') {
                komunikat += 'Błąd parsera XML';
            }
            else {
                komunikat += 'Nieznany błąd';
            }

            alert(komunikat);
        }
    });
}


function czysc(gdzie3) {
    document.getElementById(gdzie3).innerHTML = "";
}


function focus_pole(pole, domyslnie) {
    //onfocus pole tekstowe

    if(pole.value == domyslnie || pole.value == '') {
        pole.value = '';
    }

    pole.style.color = 'black';
}


function blur_pole(pole, domyslnie) {
    //onblur pole tekstowe

    if(pole.value == domyslnie || pole.value == '') {
        pole.value = domyslnie;
    }

    pole.style.color = '#979797';
}


function zmien_rejestracja() {
    //Zmiana pól formularza przy zmiane typu konta

    var typ = $("input[name='Typ']:checked").val()

    if(typ == 'osoba') {
        $("#form_firma").hide();
        $("#form_osoba").show();
        $("#form_osoba input").attr("disabled", false);
        $("#form_firma input").attr("disabled", true);
    } else {
        $("#form_firma").show();
        $("#form_osoba").hide();
        $("#form_osoba input").attr("disabled", true);
        $("#form_firma input").attr("disabled", false);
    }
}


function osoba_faktura() {
    //pokaż/ukryj formularz danych do faktury dla osoby prywatnej

    if($("input[name='faktu']").is(":checked")) {
        $("#osoba_faktura").show();
        $("#osoba_faktura input").attr("disabled", false);
    } else {
        $("#osoba_faktura").hide();
        $("#osoba_faktura input").attr("disabled", true);
    }
}


function kopiuj_do_faktury() {
    //przekopiowanie danych do faktury do danych do wysyłki

    przepisz('Firma', 'Nazwa');
    przepisz('Firma', 'Odbiorca_wys');
    przepisz('Adres_fv', 'Adres_wys');
    przepisz('Kod_pocztowy_fv', 'Kod_pocztowy_wys');
    przepisz('Miejscowosc_fv', 'Miejscowosc_wys');
}


function kopiuj_do_wysylki() {
    //przekopiowanie danych do wysyłki do danych do faktury

    przepisz('Odbiorca_wys', 'Firma');
    przepisz('Adres_wys', 'Adres_fv');
    przepisz('Kod_pocztowy_wys', 'Kod_pocztowy_fv');
    przepisz('Miejscowosc_wys', 'Miejscowosc_fv');
}


function przepisz(pole_A, pole_B) {
    //kopiuje zawartość pola A do pola B

    $('input[name="' + pole_B + '"]:enabled').val($('input[name="' + pole_A + '"]:enabled').val());
}


function spr_wymagane(form) {
    //sprawdza czy pola formularza z id="wymagane" nie sa puste

    if(form == null) {
        form = 0;
    }

    var tab = document.forms[form].elements;
    var spr = 0;

    for(var i = 0; i < tab.length; i++) {
        if(tab[i].id == 'wymagane' && tab[i].disabled == false) {
            if((tab[i].value=='') || (tab[i].value==' ') || (tab[i].value==null)) {
                document.forms[form].elements[i].style.backgroundColor = '#FFE6E6';
                $("#error_box").html('<a name="error"></a><div class="error">Nie wypełniono wszystkich wymaganych pól!</div>');
                spr++;
                location.hash = '#error';

                break;
            } else {
                document.forms[form].elements[i].style.backgroundColor = '';
            }
        }		
    }

    if(spr == 0) {
        document.forms[form].submit();
    }
}


/* ***************************     ZAMAWIANIE     *************************** */
function zamowienie_dokument() {
    //Pokazuje/Ukrywa dodatkowe pola formularza w zależności od dokumentu sprzedaży

    var dokument = $("input[name='Dokument']:checked").val();

    if(dokument == 1) {
        $("#fv_osoba").hide();
        $("#fv_osoba input").attr("disabled", true);
        $("#fv_firma").hide();
        $("#fv_firma input").attr("disabled", true);
    } else if(dokument == 2) {
        $("#fv_osoba").hide();
        $("#fv_osoba input").attr("disabled", true);
        $("#fv_firma").show();
        $("#fv_firma input").attr("disabled", false);
    } else {
        $("#fv_osoba").show();
        $("#fv_osoba input").attr("disabled", false);
        $("#fv_firma").hide();
        $("#fv_firma input").attr("disabled", true);
    }
}


function opcje_transport() {
    //Przeładowuje dostępne opcje transportu zależnie od wybranej opcji płatności

    var platnosc = $("input[name='Platnosc']:checked").val();

    newRequest('ajax_transport', root_dir + 'dane.php', 'opcje_transport=' + platnosc);
}


function pokaz_szczegoly_zamowienia(Id_zamowienia) {
    //pokazuje szczegóły zamówienia w Twoje zamówienia

    if($("#znak" + Id_zamowienia).html() == '[+]') {
        $("#znak" + Id_zamowienia).html("[-]");

        newRequest('tresc_glowna', root_dir + 'dane.php', 'zamowienie_akt_otwarty=' + Id_zamowienia);
    } else {
        newRequest('tresc_glowna', root_dir + 'dane.php', 'zamowienie_akt_otwarty=0');
    }
}
/* ***********************     KONIEC ZAMAWIANIE     ************************ */


/* *****************************     KOSZYK     ***************************** */
function dodaj_do_koszyka(produkt) {
    //Dodaje produkt do koszyka
    var ilosc = 1;

    if($("input[name='ilosc']").val()) {
        ilosc = $("input[name='ilosc']").val();
    }

    komunikat('Produkt dodany do koszyka', 'good');

    newRequest('szybki_koszyk', root_dir + 'dane.php', 'produkt_do_koszyka=' + produkt + '&ilosc=' + ilosc);
}


function usun_z_koszyka(produkt) {
    //Usuwa produkt z koszyka

    newRequest('tresc_glowna', root_dir + 'dane.php', 'produkt_z_koszyka=' + produkt);
    newRequest('szybki_koszyk', root_dir + 'dane.php', 'szybki_koszyk=1');
}


function zmien_ilosc(produkt, ilosc) {
    //Zmienia ilość danego produktu w koszyku

    if(ilosc > 0) {
        newRequest('tresc_glowna', root_dir + 'dane.php', 'koszyk_zmien_ilosc=' + produkt + '&sklep_ilosc=' + ilosc);
        newRequest('szybki_koszyk', root_dir + 'dane.php', 'szybki_koszyk=1');
    }
}


function oproznij_koszyk() {
    //Usuwa wszystkie produkty z koszyka

    newRequest('tresc_glowna', root_dir + 'dane.php', 'oproznij_koszyk=1');
    newRequest('szybki_koszyk', root_dir + 'dane.php', 'szybki_koszyk=1');
}


function komunikat(tresc, typ, fatal) {
    //Wyświetla komunikat z przesłoną
    var wys = document.getElementById('main').offsetHeight;
    var styl = '';

    if(typ == 'good') {
        styl = 'style="background: #e7f2c8; color: #4F8A10;"';
    }
    else if(typ == 'warning') {
        styl = 'style="background: #FEEFB3;color: #9F6000;"';
    }

    $('body').append('<div class="komunikat_tlo" style="height: ' + wys + 'px;"></div><div class="komunikat_tresc" ' + styl + '>' + tresc + '</div>');
    $('.komunikat_tlo').fadeTo(600, 0.55, function() {$('.komunikat_tresc').slideDown(400).delay(1000).slideUp(400);}).delay(1600).fadeOut(500, function() { $('.komunikat_tlo').remove(); $('.komunikat_tresc').remove(); if(fatal) { location.href = root_dir; } });
}
/* **************************     KONIEC KOSZYK     ************************* */

function logowanie() {
    if($('#logowanie').css('top') < '0') {
        
        $('#logowanie').animate({top: '0' }, 400);
    } else {
        $('#logowanie').animate({top: '-126px' }, 400);
    }
}
