
// funckja powoduje miganie przycisku "przelicz"
var przeliczBlinkTimeout = 0;
var przeliczOdd = 0;
function przeliczBlink() {
    var przeliczButton = $("input[name=przelicz]");
    if (przeliczOdd == 0) {
        przeliczOdd = 1;
        przeliczButton.addClass("przeliczBlink");
    } else {
        przeliczButton.removeClass("przeliczBlink");
        przeliczOdd = 0;
    }
    if (przeliczBlinkTimeout > 0) {
        setTimeout("przeliczBlink()", przeliczBlinkTimeout);
    } else {
        przeliczButton.removeClass("przeliczBlink");
    }
}

function IsNumeric(sText)
{
    var ValidChars = "0123456789.";
    var IsNumber=true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++)
    {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            IsNumber = false;
        }
    }
    return IsNumber;
}



function przypiszZdarzenia() {

    // Obsługa przycisku "dodaj do zamówienia"

    $("#produkty p.doKoszyka input[type=button]").unbind("click");
    $("#produkty p.doKoszyka input[type=button]").click(function(evt){
        evt.preventDefault();

        var p = $(this).parents('p:eq(0)');
        var id = p.find("input[name=id]").val();
        var ilosc = p.find("input[name=ilosc]").val();
        if (!IsNumeric(ilosc)) {
            window.alert("Podałes nieprawidłową wartość: " + ilosc);
            return;
        }

        if (this.name == "dodaj") {
            if (ilosc > 0) {
                p.removeClass("nieDodane");
                p.addClass("dodane");
            }
            p.html("dodawanie ...");
        } else if (this.name == "zmien") {
            if (ilosc < 1) {
                p.removeClass("dodane");
                p.addClass("nieDodane");
            }
            p.html("aktualizacja ...");
        }

        // odswiezenie elementow w odpowiedniej kolejnosci
        $.get("koszyk.php", { akcja: this.name, id: id, ilosc: ilosc }, function(wKoszykuHtml){
            $.get("koszyk.php", { akcja: "html_zamowienie" }, function(zamowienieHtml) {
                $("div#zamowienie").html(zamowienieHtml);
                p.html(wKoszykuHtml);
                przypiszZdarzenia();
            });
        });
    });

    // Obsługa przycisku usuwania z zamówienia

    $("#zamowienie p.nazwa input[type=button]").unbind("click");
    $("#zamowienie p.nazwa input[type=button]").click(function(evt){
        evt.preventDefault();

        var p = $(this).parents('p:eq(0)');
        var id = p.find("input[name=id]").val();

        $(this).hide("fast");
        p.append("<div class='uwaga'>usuwanie, proszę czekać ...</div>");

        $.get("koszyk.php", { akcja: "usun", id: id}, function(zamowienieHtml) {
            var czyZakutalizowano = false;
            // poszukiwanie belki "dodaj do koszyka" dla usuwanego produktu
            // byc moze takowa istnieje i trzeba ja odswiezyc
            $("#produkty p.doKoszyka").each(function() {
                var p_id = $(this).find("input[name=id]").val();
                if (p_id == id) {
                    var p = $(this);
                    p.html("aktualizacja ...");
                    p.removeClass("dodane");
                    p.addClass("nieDodane");
                    $.get("koszyk.php", { akcja: "html_do_koszyka", id: id }, function(wKoszykuHtml) {
                        p.html(wKoszykuHtml);
                        $("#zamowienie").html(zamowienieHtml);
                        przypiszZdarzenia();
                        czyZakutalizowano = true;
                    });
                }
            });

            // aktualizowanie belki zamowienia jesli tego jeszcze nie zrobiono
            if (!czyZakutalizowano) {
                $("#zamowienie").html(zamowienieHtml);
                przypiszZdarzenia();
            }
        });
    });

    // Obsługa przypominania o przeliczeniu
    $("#zamowienie p.dane .ilosc").unbind("change");
    $("#zamowienie p.dane .ilosc").change(function(evt) {
        evt.preventDefault();
        $(this).addClass("iloscZmieniona");
        if (przeliczBlinkTimeout == 0) {
            przeliczBlinkTimeout = 1000;
            przeliczBlink();
        }
    });
    $("#zamowienieRealizacja .ilosc").unbind("change");
    $("#zamowienieRealizacja .ilosc").change(function(evt) {
        evt.preventDefault();
        $(this).addClass("iloscZmieniona");
        if (przeliczBlinkTimeout == 0) {
            przeliczBlinkTimeout = 1000;
            przeliczBlink();
        }
    });

    // jeśli wczesniej było włączone miganie
    // to teraz je wyłaczam.
    // w przypadku przeliczania zdarzen zawsze
    // trzeba wylaczyc miganie
    przeliczBlinkTimeout = 0;
}

 $(document).ready(function() {
    przypiszZdarzenia();
 });
