﻿var Cart = {};

// TODO fix this
Cart.GetVirtualPathFromCart = function() {
    var cartLink = $$(".cartIMGtd a");
    if (cartLink.length > 0)
        return cartLink[0].href.toString().replace("/cart.aspx", "");
    return "";
};

Cart.Render = function(iButton, iQuantity, piaData) {
    if (!Cart.piaData) return;
    iButton.qInput = iQuantity;
    iButton.observe("click", Cart.AddToCart);
};

Cart.AddToCart = function(ev) {
	if (ev == null) {
        var vp = $$("#ajaxCartContainer input[type=hidden]");
        if (vp.length > 0) 
			PCHandAjax.Shop.GetCart(Cart.piaData.groupid, Cart.piaData.portalid, Cart.piaData.languageid, vp[0].value, Cart.AddToCartCallback);
		if (Prototype.Browser.IE) $$("#ajaxCartContainer table")[0].style.marginLeft = '10px';
      return;
    }

    var el = ev.findElement("a");
    if (el != null && el != document) {
        // get data
        var q = parseInt(el.qInput.value);
        if (isNaN(q) || q <= 0)
            q = 1;

        var itemId = parseInt(el.href.toString().replace(/.*additem=(.*)&?.*/, "$1"));

        if (!isNaN(itemId)) {
            ev.stop();
            var vp = $$("#ajaxCartContainer input[type=hidden]");
            if (vp.length > 0) {
                PCHandAjax.Shop.AddToChart(itemId, q, Cart.piaData.groupid, Cart.piaData.packagesonly, Cart.piaData.portalid, Cart.piaData.languageid, vp[0].value, Cart.AddToCartCallback);
            }
        }
    }
};

Cart.AddToCartCallback = function(res) {
    if (res.error != null) alert(res.message);
    else {
        var cartItems = res.value;

        Cart.UpdateCartCount(cartItems[0]);

        // render cart
        var cartContainer = $$("#ajaxCartContainer");
        if (cartContainer.length > 0) {
            cartContainer[0].style.display = "";
            cartContainer[0].down(".cenaVse div").update(cartItems[1]);
            cartContainer[0].down(".ajaxCart").update(cartItems[2]);
        }        

        //        $$("#ajaxCartContainer a").each(function(aTag) {
        //            aTag.href = Cart.GetVirtualPathFromCart() + aTag.getAttribute("href");
        //        });
    }
};

Cart.UpdateCartCount = function(newCount) {
    var cartData = $$(".cartIMGtd .u1");
    if (cartData.length > 0) {
        cartData[0].down("span.u2").update(newCount);
    }
};
