﻿var step = 1;
var cartInfo = {
    LevelDiscount:100,  //当前会员级别的相关折扣率
    TradeDiscount:100,  //款到发货折扣率
    Amount:0,           //总金额
    Integral:0,         //总积分
    Freight:0,          //运费
    RealAmount:0,       //实际支付的总金额
    SumWeight:0,        //合计重量
    IargessIndex:-1,    //用户选中的赠品索引
    TradeMode:-1,       //用户选中的交易方式 1:款到发货 2:货到付款
    PayMode:-1,         //用户选中的支付方式 1:银行汇款 2:邮局汇款 3:IPS网上支付 4:站内账户支付
    DeliveryMode:-1,    //用户选中的配送方式 1:快递 2:平邮 3:Ems
    BankId:-1,          //用户选中的支付银行
    BankName:'',        //用户选中的银行名称
    ISP:''              //用户选中的ISP服务商
    }
var SelectedCity = {Id:-1,Express:-1,ExpressAF:-1,Ems:-1,EmsAF:-1};
   
var products = new Array();     //用户选择的商品及其赠品
var favorables = new Array();   //优惠商品
var iargesses = new Array();    //赠品
var browser = new Edward.Web.Browser();
var isFF    = browser.IsFirefox;

window.onload = function()
{
    cartInfo.TradeDiscount = ShoppingCart.GetTradeDiscount().value;
    $('lblTradeDiscount').innerHTML = cartInfo.TradeDiscount;
    $('lblTradeModeDiscount_Step5').innerHTML = cartInfo.TradeDiscount;
    Bind_SearchCity($('txtCity'),$('litCity'),$('txtCity'),$('hidCity'),setSelectedCity);
    displayBank();

    initFavorables();
    displayFavorables();
    initIargesses();
    displayIargesses();

    initProducts();
    displayProducts();
    cale();
}

/* 加载购物车已有内容 */
function initProducts()
{
    products = new Array();
    var dt = ShoppingCart.GetProducts().value;
    if(dt != null && typeof(dt) == "object" && dt.Rows.length > 0)
    {
        for(var i = 0; i < dt.Rows.length ; i ++)
        {
            var product = {Index:dt.Rows[i]["Index"],
                Id:dt.Rows[i]["ProductID"],
                No:dt.Rows[i]["ProductNo"],
                Name:dt.Rows[i]["ProductName"],
                BuyType:dt.Rows[i]["BuyType"],
                Price:dt.Rows[i]["Price"],
                Qty:dt.Rows[i]["Qty"],
                Weight:dt.Rows[i]["Weight"],
                TotalSum:dt.Rows[i]["TotalSum"],
                TotalWeight:dt.Rows[i]["TotalWeight"],
                ParentId:dt.Rows[i]["ParentProductID"],
                ParentNo:dt.Rows[i]["ParentProductNo"],
                Integral:dt.Rows[i]["Integral"]};
            products.push(product);
        }
    }
}

/* 显示购物车内容 */
function displayProducts()
{
    var div = $('divList');
    var html = '<table width="100%" border="0" cellpadding="0" cellspacing="0" class="table01">';
    html += '<tr><th class="th1"><span class="jj_1">商品编号及名称</span></th>';
    html += '<th width="80">单价</th>';
    html += '<th width="40">个数</th>';
    html += '<th width="80">小计</th>';
    html += '<th width="60">重量</th>';
    html += '<th width="86">操作</th></tr>';
    for(var i=0;i<products.length;i++)
    {
        var product = products[i];
        html += '<tr>';
        if(product.ParentId==0){
            if(product.BuyType==2){
                html += '<td class="td1"><span class="font1">'+product.No+'</span> <a href="/product/'+product.No+'.html" target="_blank">'+product.Name+'</a> <span class="colorF30">(积分商品)</span></td>';
                html += '<td>'+parseInt(product.Price,10)+' 点</td>';
                html += '<td><input id="txtQty'+i+'" type="text" class="Qu" value="'+product.Qty+'" size="1" onchange="txtQty_OnChange('+product.Index+',this);"></td>';
                html += '<td>'+parseInt(product.TotalSum,10)+' 点</td>';
            }else{
                html += '<td class="td1"><span class="font1">'+product.No+'</span> <a href="/product/'+product.No+'.html" target="_blank">'+product.Name+'</a></td>';
                html += '<td>'+formatMoney(product.Price)+' </td>';
                html += '<td><input id="txtQty'+i+'" type="text" class="Qu" value="'+product.Qty+'" size="1" onchange="txtQty_OnChange('+product.Index+',this);"></td>';
                html += '<td>'+formatMoney(product.TotalSum)+' </td>';
            }
        }else{
            html += '<td class="td1"><span class="font1">'+product.No+'</span> <a href="/product/'+product.No+'.html" target="_blank">'+product.Name+'</a> <span class="colorF30">(<span class="ddsnum">'+product.ParentNo+' </span>附赠商品)</span></td>';
            html += '<td>￥0.00 </td>';
            html += '<td><label id="txtQty'+i+'">'+product.Qty+'</label></td>';
            html += '<td>￥0.00 </td>';
        }
        html += '<td>'+product.TotalWeight+'g</td>';
        html += '<td><a href="javascript:;" onclick="AddCollection('+product.Id+',\''+product.Name+'\');"><img src="http://img.meheme.com/sv_fav.jpg" width="28" height="14"></a>';
        if(product.ParentId==0)
            html += ' <a href="javascript:;" onclick="del('+product.Index+',\''+product.No+'\');"><img src="http://img.meheme.com/sv_del.jpg" width="28" height="14"></a></td>';
        else
            html += ' <a href="javascript:;" onclick="del_pi('+product.Index+',\''+product.No+'\');"><img src="http://img.meheme.com/sv_del.jpg" width="28" height="14"></a></td>';
        html += '</tr>';
    }
    if(products.length==0)
    {
        html += '<tr><td colspan="6">您尚未选购任何商品</td></tr>';
    }
    html += '</table>';
    div.innerHTML=html;
}

/* 初始化超值优惠商品 */
function initFavorables()
{
    favorables = new Array();
    var dt = ShoppingCart.GetFavorables().value;
    if(dt != null && typeof(dt) == "object" && dt.Rows.length > 0)
    {
        for(var i = 0; i < dt.Rows.length ; i ++)
        {
            var product = {Id:dt.Rows[i]["ProductID"],
                No:dt.Rows[i]["ProductNo"],
                Name:dt.Rows[i]["ProductName"],
                FavorableSum:dt.Rows[i]["FavorableSum"],
                Price:dt.Rows[i]["Price"],
                Qty:0,
                Weight:dt.Rows[i]["Weight"],
                FavorablePay:dt.Rows[i]["FavorablePay"],
                Desc:dt.Rows[i]["Description"]};
            favorables.push(product);
       }
    }
}

/* 显示超值优惠商品 */
function displayFavorables()
{
    var div = $('divFavorables');
    var html = '';
    for(var i = 0; i < favorables.length ; i ++)
    {
        var product = favorables[i];
        html += '<div class="boxlist01">';
//        if(product.Qty>0)
//            html += '<div class="box1" style="width:57px;"><input type="checkbox" id="ckbFavorable'+i+'" value="'+product.Id+'" checked="checked" onclick="ckbFavorable_Click(this,'+i+');"></div>';
//        else
//            html += '<div class="box1"><input type="checkbox" id="ckbFavorable'+i+'" value="'+product.Id+'" onclick="ckbFavorable_Click(this,'+i+');"></div>';
        html += '<div class="box2" style="width:773px;">';
        html += ' <div class="top1">购物满 <font color="#f00000"><b>'+product.FavorableSum+'</b></font> 元+ <font color="#f00000"><b>'+product.FavorablePay+'</b></font> 元送：<strong><a href="/product/'+product.No+'.html" target="_blank">'+product.Name+'</a></strong>';
        html += '  <span class="color666">商城价：</span><span class="color11"><strong>'+formatMoney(product.Price)+'</strong> 元</span></div>';
        html += ' <div class="bom1" style="overflow:hidden">'+product.Desc+'</div>';
        html += '</div>';
        html += '<div class="box3" style="width:112px;">数量 <input id="txtFQty'+i+'" type="text" class="Qu" value="'+product.Qty+'" onkeyup="txtFQty_Changed(this,'+i+');" size="1"></div>';
        html += '<div class="HackBox"></div>';
        html += '</div>';
    }
    if(favorables.length==0)
    {
        html += '<div class="boxlist01">当前无任何超值优惠商品供您选择</div>';
    }
    div.innerHTML=html;
}

/* 选中某优惠商品时的判断 */
function ckbFavorable_Click(sender,index)
{
    if(sender.checked)
    {
        var qty = $('txtFQty'+index).value;
        var sum = favorables[index].FavorableSum * qty + getFavorableAmount();
        if(sum > cartInfo.Amount)
        {
            alert("对不起！您当前购买的商品费用共计"+cartInfo.Amount+"元，必须购物满"+sum+"元才可选购此优惠商品！");
            sender.checked = false;
        }
        else
        {
            favorables[index].Qty = qty;
        }
    }
    else
    {
        favorables[index].Qty = 0;
    }
}

/* 修改某优惠商品选购数量时 */
function txtFQty_Changed(sender,index)
{
//    if($('ckbFavorable'+index).checked)
//    {
        var qty = $('txtFQty'+index).value;;
        var sum = favorables[index].FavorableSum * qty + getFavorableAmount(index);
        if(sum > cartInfo.Amount)
        {
            alert("对不起！您当前购买的商品费用共计"+cartInfo.Amount+"元，必须购物满"+sum+"元才可选购此优惠商品！");
            $('txtFQty'+index).value = favorables[index].Qty;
        }
        else
        {
            favorables[index].Qty = qty;
        }
//    }
}

/* 初始化赠品数据 */
function initIargesses()
{
    iargesses = new Array();
    var dt = ShoppingCart.GetIargesses().value;
    if(dt != null && typeof(dt) == "object" && dt.Rows.length > 0)
    {
        for(var i = 0; i < dt.Rows.length ; i ++)
        {
            var product = {Id:dt.Rows[i]["ProductID"],
                No:dt.Rows[i]["ProductNo"],
                Name:dt.Rows[i]["ProductName"],
                MaxMoney:dt.Rows[i]["MaxMoney"],
                Price:dt.Rows[i]["Price"],
                Qty:0,
                Weight:dt.Rows[i]["Weight"],
                Picture:dt.Rows[i]["Picture2"],
                Desc:'购物满 '+formatMoney(dt.Rows[i]["MaxMoney"])+' 元可获赠！'};
            iargesses.push(product);
        }
    }
}

/* 显示赠品 */
function displayIargesses()
{
    var div = $('divIargesses');
    var html = '<ul>';
    for(var i = 0; i < iargesses.length ; i ++)
    {
        var product = iargesses[i];
        html += '<li><a href="/product/'+product.No+'.html" title="'+product.Desc+'" target="_blank"><img id="imgIargess'+i+'" src="'+product.Picture+'" width="100" height="100" border="0"><br />';
        html += '<span id="spanProductName'+i+'" class="Title_Row_2">'+product.Name+'</span></a>';
        html += '商城价：<b><span id="spanPrice'+i+'">'+formatMoney(product.Price)+'</span></b><br />';
        if(product.Qty>0)
            html += '<input id="rbIargess'+i+'" name="Iargess" type="radio" checked="checked" onclick="rbIargess_Click('+i+',\''+product.Desc+'\');" /></li>';
        else
            html += '<input id="rbIargess'+i+'" name="Iargess" type="radio" onclick="rbIargess_Click('+i+',\''+product.Desc+'\');" /></li>';
    }
    if(iargesses.length==0)
    {
        html += '<li>当前无任何超赠品供您选择</li>';
    }
    html += '</ul>';
    div.innerHTML=html;
}

/* 获取已选中超值优惠商品的总金额 */
function getFavorableAmount(withoutId)
{
    var famount = 0;
    for(var i=0;i<favorables.length;i++)
    {
        if(withoutId != i)
            famount = famount + favorables[i].FavorableSum * favorables[i].Qty;
    }
    return famount;
}

/* 验证超值优惠商品是否可选 */
function validateFavorable()
{
    var sum = getFavorableAmount();
    if(sum > cartInfo.Amount)
    {
        for(var i=0;i<favorables.length;i++)
        {
            favorables[i].Qty = 0;
            $('txtFQty'+i).value = 0;
            //$('ckbFavorable'+i).checked = false;
            if(favorables[i].FavorableSum>cartInfo.Amount)
            {
                //$('ckbFavorable'+i).disabled = true;
                $('txtFQty'+i).readOnly = true;
            }
            else
            {
                //$('ckbFavorable'+i).disabled = false;
                $('txtFQty'+i).readOnly = false;
            }
        }
    }
    else
    {
        for(var i=0;i<favorables.length;i++)
        {
            if(favorables[i].FavorableSum>cartInfo.Amount)
            {
                favorables[i].Qty = 0;
                $('txtFQty'+i).value = 0;
                //$('ckbFavorable'+i).checked = false;
                //$('ckbFavorable'+i).disabled = true;
                $('txtFQty'+i).readOnly = true;
            }
            else
            {
                //$('ckbFavorable'+i).disabled = false;
                $('txtFQty'+i).readOnly = false;
            }
        }
    }
}

function rbIargess_Click(index,msg)
{
    var max = iargesses[index].MaxMoney;
    if(max > cartInfo.Amount)
    {
        alert(msg);
        $('rbIargess'+index).checked = false;
        cartInfo.IargessIndex = -1;
    }
    else
        cartInfo.IargessIndex = index;
}

/* 验证赠品是否可选 */
function validateIargess()
{
    for(var i=0;i<iargesses.length;i++)
    {
        var max = iargesses[i].MaxMoney;
        if(max <= cartInfo.Amount)
        {
            $('imgIargess'+i).style.filter = "";
            $('spanProductName'+i).style.color="#2267ac";
            $('spanPrice'+i).style.color="#cc0000";
            //$('rbIargess'+i).disabled = false;
        }
        else
        {
            $('imgIargess'+i).style.filter = "gray()";
            //$('rbIargess'+i).disabled = true;
            if($('rbIargess'+i).checked)cartInfo.IargessIndex = -1;
            $('rbIargess'+i).checked = false;
            $('spanProductName'+i).style.color="#999999";
            $('spanPrice'+i).style.color="#999999";
        }
    }
}

/* 重新计算 */
function cale()
{
    if(step>1)
    {
        validateProducts();
        $('liIntegral').style.display = "none";
    }
        
    $('lblAmount').innerHTML = "加载中...";
    $('lblIntegral').innerHTML = "加载中...";
    $('lblQty').innerHTML = "加载中...";
    $('lblWeight').innerHTML = "加载中...";
    
    setTimeout(function()
    {
        sumQty = 0;
        sumWeight = 0;
        sumAmount = 0;
        sumIntegral = 0;
        var sumIntegral1 = 0;
        for(var i = 0; i < products.length ; i ++)
        {
            var product = products[i];
            sumQty = sumQty + product.Qty;
            sumWeight = sumWeight + product.TotalWeight;
            if(product.BuyType==2)
                sumIntegral = sumIntegral + product.TotalSum;
            else
                sumAmount = sumAmount + product.TotalSum;
            sumIntegral1 += product.Integral*product.Qty;
        }
        $('lblAmount').innerHTML = formatMoney(sumAmount);
        $('lblIntegral').innerHTML = sumIntegral;
        $('lblQty').innerHTML = sumQty;
        $('lblWeight').innerHTML = sumWeight+"g";
        $('lblIargess').innerHTML = formatMoney(ShoppingCart.GetMaxIargess(sumAmount).value);
        $('labelIntegral').innerHTML = sumIntegral1;
        
        cartInfo.Amount = sumAmount;

        validateFavorable();
        validateIargess();
        
        if(sumIntegral <= 0 & sumAmount <= 0)
        {
            $('spanAmount').style.display="inline";
            $('spanAnd').style.display="none";
            $('spanIntegral').style.display="none";
        }
        else if(sumIntegral > 0 & sumAmount > 0)
        {
            $('spanAmount').style.display="inline";
            $('spanAnd').style.display="inline";
            $('spanIntegral').style.display="inline";
        }
        else if(sumIntegral > 0 & sumAmount <= 0)
        {
            $('spanAmount').style.display="none";
            $('spanAnd').style.display="none";
            $('spanIntegral').style.display="inline";
        }
        else if(sumIntegral <= 0 & sumAmount > 0)
        {
            $('spanAmount').style.display="inline";
            $('spanAnd').style.display="none";
            $('spanIntegral').style.display="none";
        }

    },300);
}

/* 修改数量 */
function txtQty_OnChange(index,sender)
{
    var qty = sender.value;
    if(Edward.Web.Validator.IsNullOrEmpty(qty))
    {
        alert("请输入数量！");
        sender.focus();
        return false;
    }
    if(!Edward.Web.Validator.IsNumber(qty))
    {
        alert("请输入整数！");
        sender.focus();
        return false;
    }
    if(qty==0)
    {
        sender.value="1";
        ShoppingCart.ChangeQty(index,1);
        alert("请选择一件以上商品！");
        sender.focus();
    }
    else
        ShoppingCart.ChangeQty(index,qty);
    initProducts();
    if(step>1)
        validateProducts();
    displayProducts();
    cale();
}

/* 收藏商品 */
function fav(id)
{
    alert(id);
}

/* 删除商品 */
function del(index,no)
{
    if(confirm("您确认要删除商品 "+no+" 及其相关赠品吗？"))
    {
        ShoppingCart.DeleteProduct(index);
        initProducts();
        if(step>1)
            validateProducts();
        displayProducts();
        cale();
    }
}

/* 删除附赠商品 */
function del_pi(index,no)
{
    if(confirm("您确认要删除附赠商品 "+no+" 吗？"))
    {
        ShoppingCart.DeleteProductIargess(index);
        initProducts();
        if(step>1)
            validateProducts();
        displayProducts();
        cale();
    }
}

/* 全部清除 */
function clearCart()
{
    ShoppingCart.Clear();
    initProducts();
    displayProducts();
    cale();
}

/* 进入第二步，选择配送方式以及收货人信息 */
function goStep2()
{
    if(products.length==0)
    {
        alert("请您选购商品！");
        return;
    }
    //如果已登录 则进入会员中心的购物车
    if(Sale_ShoppingCart.IsLogined().value)
    {
        window.location = "/member/shoppingcart.aspx";
    }
    else
    {
        goTop();
        $('step1').style.display = "none";
        $('step2').style.display = "block";
    }
}
