﻿// =============================================
//
// Třída pro obsluhu callback dotazů na obsah
// a hodnotu košíku
//
// =============================================

function CartRequest() {

    var This = this;
    
    // ====================================
    // Callback pro přidání zboží do košíku
    // ====================================
    this.SendAddToCartRequest = function(idLabelCartAmount, idLabelCartPrice, code, idMessage, amount, event) {
        var dateObject = new Date();
        var seed = Math.round(dateObject.getTime() * Math.random());
        var data = "ProductCode=" + code + "&Amount=" + amount + "&seed=" + seed;
        This.SendLabelRequest(idLabelCartAmount, idLabelCartPrice, data);
        var message = $(idMessage);
        if (event.page) {
            var mouseX = event.page.x + "px";
            var mouseY = event.page.y + "px";
            message.style.top = mouseY;
            message.style.left = mouseX;
        }
        else {
            message.style.top = "48%";
            message.style.left = "40%";
            message.style.position = "fixed";
        }
        message.wink(3000);


    }

    // ====================================
    // Callback pro zjištění stavu košíku
    // ====================================
    this.SendGetCartRequest = function(idLabelCartAmount, idLabelCartPrice) {
        var dateObject = new Date();
        var seed = Math.round(dateObject.getTime() * Math.random());
        var data = "seed=" + seed;
        This.SendLabelRequest(idLabelCartAmount, idLabelCartPrice, data);
    }


    this.SendLabelRequest = function (idLabelCartAmount, idLabelCartPrice, data) {
        var LabelCartAmount = $(idLabelCartAmount);
        var LabelCartPrice = $(idLabelCartPrice);
        var req = new Request({ url: 'AddToCartHandler.aspx',
            method: 'get',
            data: data,
            link: 'chain',
            noCache: true,
            onSuccess: function (responseText, responseXML) {
                if (responseText.test("^Chyba\:")) {
                    alert(responseText);
                    //LabelCartAmount.set("text", "");
                } else {
                    var response = responseText.toString();
                    if (response.indexOf("|") > 0) {
                        var amount = response.substr(0, response.indexOf("|"));
                        var price = response.substr(response.indexOf("|") + 1);
                        LabelCartAmount.set("text", amount);
                        LabelCartPrice.set("text", price);
                    }
                }
            }
        });
        req.send();
    }


    // ====================================
    // Callback pro zjištění množství
    // daného produktu v košíku
    // ====================================
    this.SendGetProductAmountRequest = function (idTextBox, code) {
        var TextBox = $(idTextBox);
        var dateObject = new Date();
        var seed = Math.round(dateObject.getTime() * Math.random());
        var data = "ProductCode=" + code + "&seed=" + seed;

        var req = new Request({ url: 'GetProductAmountHandler.aspx',
            method: 'get',
            data: data,
            link: 'chain',
            noCache: true,
            onSuccess: function (responseText, responseXML) {
                if (responseText.test("^Chyba\:.*$")) {
                    alert(responseText);
                    TextBox.set("value", "");
                } else {
                    TextBox.set("value", responseText);
                }
            }
        });
        req.send();
    }

}
