// <reference path="~/script/jquery-1.3.2-vsdoc.js" />
$(function() {
    //$("#cartGoodsCount").html(shoppingCart.count());
    displayCurrentCartItemCount();
    var minicartTimer = null;
    var miniShoppingcart = $("#miniCart");
    $("#gn-shoppingcart").hover(function() {
        if (shoppingCart.count() <= 0) return false;
        if (minicartTimer) clearTimeout(minicartTimer);
        if (miniShoppingcart.height() < 10) {
            miniShoppingcart.empty().animate({
                width: "218px",
                height: "320px",
                opacity: 0.9
            }, 250, function() {
                if (shoppingCart.isNullOrEmpty()) {
                    $(this).html('<p style="padding:20px 10px;text-align:center;color:#666;">购车暂时没有商品</p>');
                } else {
                    loadMiniCart();
                }
            });
        }
    }, hideCart);

    miniShoppingcart.hover(function() {
        if (minicartTimer) clearTimeout(minicartTimer);
    }, hideCart);

    function hideCart() {
        if (miniShoppingcart.height() < 10) return;
        minicartTimer = setTimeout(function() {
            miniShoppingcart.empty().animate({
                width: "0px",
                height: "0px",
                opacity: 0
            }, 250);
        }, 1000);

    }



});

function loadMiniCart() {
    var jqdiv = $("#miniCart");
    $.ajax({
        url: '/Handler/UserHandler.ashx',
        data: { 'action': "getcartlist" },
        type: 'GET',
        dataType: 'json',
        cache: false,
        timeout: 10000,
        beforeSend: function() {
            jqdiv.html('<div id="minicartloading">列表装载中...</div>');
        },
        error: function() {
            jqdiv.html("装载购物车内容异常");
        },
        success: function(responseJSON) {
            if (!responseJSON || responseJSON.length <= 0) {
                return;
            }
            var sumPrice = 0;
            var sb = new StringBuilder();
            for (var i in responseJSON) {
                var info = responseJSON[i];
                sb.appendFormat('<div class="miniCartItem clearfix" id="cartItem_{0}">', i);
                sb.appendFormat('<div class="mThumbnail"><img src="{0}" alt="" /></div>', info.Thumbnail);
                sb.appendFormat('<div class="mName"><a href="/products/{1}.aspx">{0}</a></div>', info.Name, info.Id);
                sb.append('      <div class="mInfo">');
                sb.append('          <ul>');
                //sb.appendFormat('        <li><span>￥{0}×{1}</span></li>', info.Price, info.Quantity);
                sb.appendFormat('        <li><a href="javascript:void(0);" onclick="removeMiniItem({0},this)">删除</a></li>', info.Id);
                sb.append('          </ul>');
                sb.append('      </div>');
                sb.append('</div>');
                if (i >= 5) break; //最多显示5个
                //sumPrice += info.Price * info.Quantity;
            }
            jqdiv.append(sb.toString());
            jqdiv.append('<div class="mToolbar"><a href="/Orderflow/Shoppingcart.html"></a></div>');
            //$("#sumPrice").html(parseFloat(sumPrice, 10).toFixed(2));

        }, complete: function() {
            $("#minicartloading").hide();
        }

    });
}

function removeMiniItem(goodsId, sender) {
    shoppingCart.remove(goodsId);
    sender.parentNode.parentNode.parentNode.parentNode.style.display = "none";
    if ($.cookie("ciguo_shoppingcart") == null || $.cookie("ciguo_shoppingcart") == '') {
        $("#miniCart").html('<p style="padding:20px 10px;text-align:center;color:#666;">购车暂时没有商品</p>');
    }
    displayCurrentCartItemCount();
    //$("#shopCartItemCount").html('(' + shoppingCart.count() + ')');
}

function displayCurrentCartItemCount() {
    var count = shoppingCart.count() + 1;
    var offsetY = count * 20;
    $('#shopCartItemCount').css('backgroundPosition', 'left -' + offsetY + 'px');
    //$('#shopCartItemCount').animate({ backgroundPosition: '0px -' + offsetY + 'px' }, {duration:200});
}