﻿
var guidShoppingCartID = "";
var strCookieName = "AndreaMaackCartID";

function initShoppingCart() {
    if ($.cookie(strCookieName) != null) {
        guidShoppingCartID = $.cookie(strCookieName);
        CountItemsInCartDisplayMenu();
    }
    else {
        CreateShoppingCartSession();
    }
}

function CountItemsInCartDisplayMenu() {

    var strData = "{" +
        "'_guidCartID':'" + guidShoppingCartID + "'" +
        "}";

    $.ajax
            (
                {
                    type: "POST",
                    url: "/ajax/ShoppingCart.asmx/GetCartItemsFromCart",
                    data: strData,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    error: function (objRequest, strTextStatus, errErrorThrown) {
                        alert("ERROR: " + objRequest.responseText);
                    },
                    success: function (msg) {

                        if (msg.d.intErrorNumber > 0) {
                            alert("Error getting shopping cart items(" + msg.d.intErrorCode + "): " + msg.d.strErrorMessage);
                        }
                        else {

                            lstCartItems = msg.d.lstCartItems;


                            var strNewValue = lstCartItems.length + " ";

                            if (lstCartItems.length == 1) {
                                strNewValue += $.getLangElemCommon("item") + " ";
                            }
                            else {
                                strNewValue += $.getLangElemCommon("items") + " ";
                            }

                            if (lstCartItems.length > 0) {
                                if (lstCartItems[0].Currency.toLowerCase() == "usd") {
                                    strNewValue += "$ ";
                                }
                                else {
                                    strNewValue += lstCartItems[0].Currency + " ";
                                }

                                strNewValue += msg.d.decTotal;

                                $("#divEmptyBag").hide();
                                $("#divBagWithProducts").show();
                                $("#divBagWithProducts").append("" +
                                    "<br>" +
                                    "<a href='javascript:ShowSignupNewsletter();'>Newsletter</a>");
                            }
                            else {
                                $("#divEmptyBag").show();
                                $("#divEmptyBag").append("" +
                                    "<br>" +
                                    "<a href='javascript:ShowSignupNewsletter();'>Newsletter</a>");
                                $("#divBagWithProducts").hide();
                            }
                            
                            $("#spanItemsinCart").html(strNewValue);

                        }

                    }
                }
           )  // ajax end

}

function CreateShoppingCartSession() {
    var strData = "{" +
        "}";

    var strUrL = '/ajax/ShoppingCart.asmx/CreateShoppingCart';

    $.ajax
            (
                {
                    type: "POST",
                    url: strUrL,
                    data: strData,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    error: function (objRequest, strTextStatus, errErrorThrown) {
                        alert("ERROR: " + objRequest.responseText);
                    },
                    success: function (msg) {

                        if (msg.d.intErrorNumber > 0) {
                            alert("Error creating shopping cart (" + msg.d.intErrorCode + "): " + msg.d.strErrorMessage);
                        }
                        else {
                            guidShoppingCartID = msg.d.guidRet;
                            $.cookie(strCookieName, guidShoppingCartID.toString(), { path: '/' });
                        }

                    }
                }
           )  // ajax end
            }

            function AddProductToShoppingCart(_guidProductID,_strAttributeValue,_decPrice,_strCurrency) 
            {                

                _intQuantity = 1;                

                var strData = "{" +
        "'_guidCartID':'" + guidShoppingCartID + "'," +
        "'_guidProductID':'" + _guidProductID + "'," +
        "'_intQuantity':'" + _intQuantity + "'," +
        "'_decPrice':'" + _decPrice + "'," +
        "'_strCurrency':'" + _strCurrency + "'," +
        "'_strAttributes':'" + _strAttributeValue + "'" +
        "}";

                var strUrL = '/ajax/ShoppingCart.asmx/AddItemToCart';

                $.ajax
            (
                {
                    type: "POST",
                    url: strUrL,
                    data: strData,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    error: function (objRequest, strTextStatus, errErrorThrown) {
                        alert("ERROR: " + objRequest.responseText);
                    },
                    success: function (msg) {

                        if (msg.d.intErrorCode > 0) {
                            alert("Error adding item to shopping cart (" + msg.d.intErrorCode + "): " + msg.d.strErrorMessage);
                        }
                        else {
                            
                            // set the position for the div
                            $("#divAddToCart").css("left", ($("#divClearProduct").position().left + 150));
                            $("#divAddToCart").css("top", $("#divClearProduct").position().top);

                            $("#divAddToCart").show();
                            AnimateToCart();

                            CountItemsInCartDisplayMenu();
                        }
                    }
                }
           )  // ajax end
            }

            function GoBackTo(_strStep) {
                frm = document.getElementById("formMain");

                if (_strStep != "") {
                    frm.action = "/checkout/" + _strStep + "/";
                }
                else {
                    frm.action = "/checkout/"; ;
                }
                frm.submit();
            }

            function HideSubmitButton() {
                $("#btnSubmit").hide();
                $("#divLoading").show();
                return (false);
            }

            function AnimateToCart() {                
                var p = $("#divCart").offset();

                var intStopLeft = p.left;
                var intStopTop = p.top + parseInt($("#divCart").css("height"))-7;

                var intLeft = parseInt($("#divAddToCart").css("left"));
                var intTop = parseInt($("#divAddToCart").css("top"));

                if (                            
                            (intTop > intStopTop)
                            ) {
                    var strLeft = "";
                    if (intLeft < intStopLeft) {
                        strLeft = "+=10";
                    }
                    else {
                        strLeft = "-=10";
                    }

                    // "left": strLeft +  "px", 

                    $("#divAddToCart").animate({ "top": "-=10px" }, 1, "linear", AnimateToCart);
                }
                else {
                    $("#divAddToCart").hide();
                }
            }
