
$(document).ready(function(){
    
    //选择从自提点取货
    $('input[@name=rbPayType][@value=6]').click(function(){
        GetZtds($('#ddlTopAreas').val());
        $('#ztdContainer').show();
        $('.shipContainer').hide();
        
        setZtdVisible();
    });
    $('input[@name=rbPayType][@value!=6]').click(function(){
        ClearZtds();
        $('#ztdContainer').hide();
        
        var areaID = GetAreaID();
        if(areaID == 0){return false;};
        if($(this).val()==5){
            GetShippings(areaID,true);//该地区仅支付货到付款的配送方式
        }else{
            GetShippings(areaID,false);//该地区所有配送方式
        }
    });
    $('#ddlTopAreas').change(function(){
        topAreaChange();
    }).change();
    
    $('#btnSave').click(function(){
        if(!CheckPayment()){alert('请选择支付类型');return false;};
        if(!CheckShipping()){return false;};
    }).show();
});


function topAreaChange(){
    var topoption = $('#ddlTopAreas option[@selected]');
    
    //是否显示自提点选项
    showZtd(topoption.attr('ztd'));
    //是否显示货到付款选项
    
    if($('#ddlSubAreas')[0]){
        $('#ddlSubAreas').change(function(){
            var suboption = $('option[@selected]',this);
            showZtd(suboption.attr('ztd'));
            //二级地区货到付款
            if(suboption.attr('hdfk') > 0){$('tr.paytype_5').show();}else{$('tr.paytype_5').hide();};
            
            if($('#ddlThirdAreas')[0]){
                $('#ddlThirdAreas').change(function(){
                    //三级地区自提点
                    if($('option[@selected]',this).attr('ztd') > 0){$('tr.paytype_6').show();};
                    $('#ztdContainer').hide();
                    //三级地区货到付款
                    if($('option[@selected]',this).attr('hdfk') > 0){$('tr.paytype_5').show();}else{$('tr.paytype_5').hide();};
                    $('[@name=Shipping]').eq(0).data('isHdfk','2');
                    GetShippings($('#ddlThirdAreas').val(),false);
//                    setPriceInfo();
                }).change();
                
            }else{
                //没有三级地区,获取二级地区的配送方式
                $('[@name=Shipping]').eq(0).data('isHdfk','2')
                GetShippings($('#ddlSubAreas').val(),false);
//                setPriceInfo();
            };
        }).change();
    }else{
        //没有二级地区,获取一级地区的配送方式
        $('[@name=Shipping]').eq(0).data('isHdfk','2');
        GetShippings($('#ddlTopAreas').val(),false);
//        setPriceInfo();
    };
    
    $('input[@name=rbPayType][@checked]').click();
     
};

//根据地区获取配送方式
function GetShippings(areaID,isHdfk){
    $('.shipContainer').show();
    if($('[@name=Shipping]')[0]){
        if($('[@name=Shipping]').eq(0).data('isHdfk') == (isHdfk ? "1" : "0")){
            return false;//不用读取
        };
    }else{
        $('[@name=Shipping]').eq(0).data('isHdfk','0');
    };
    var areaIDForPrice = 0;
    if($('#ddlSubAreas')[0] && $('#ddlSubAreas').val() != 0){
        areaIDForPrice = $('#ddlSubAreas').val();
    }else{
        areaIDForPrice = $('#ddlTopAreas').val();
    };

    $.ajax({
        url:'Checkout.aspx?NoCopyRight=1&type=ajax&Action=GetShipps&ShipType=' + (isHdfk ? '1' : '0') + '&AreaID=' + areaID + '&AreaIDForPrice=' + areaIDForPrice,
        type:'get',
        dataType:'json',
        cache:false,
        success:function(msg){
            $('#tmp_ship').nextAll().remove();
            var data = msg.Shippings;
            $.each(data,function(i,n){
                var row = $('#tmp_ship').clone().show();
                row.find('.shipname').html('<input type="radio" id="ship_' + i + '" name="Shipping" value="' + n.shippingid + '" price="' + n.price + '" ' + (n.ShippingID == shippingID ? 'checked="checked"' : '') + ' /><label for="ship_' + i + '">' + n.name + '</label>');
                row.find('.shipprice').html(n.price);
                row.find('.shipdetail').html(n.description);
                row.find('[@name=Shipping]').click(function(){
                    if(!CheckPayment()){alert('请先选择支付类型');return false;};
                });
                row.attr('id','row_ship_'+i).appendTo($('#shipContainer tbody'));
            });
            $('[@name=Shipping]').eq(0).data('isHdfk',(isHdfk ? '1' : '0'));//记录当前读取的是所有配送方式还是仅支持货到付款的配送方式
            
        },
        error:function(XMLHttpRequest,textStatus){if(textStatus=='parsererror'){alert('身份已过期,请重新登陆!')}else{alert(textStatus)};}
    });
};

//获取选择的最后一级地区ID
function GetAreaID(){
    var areaID = 0;
    if($('#ddlThirdAreas')[0] && $('#ddlThirdAreas').val() != 0){
        areaID = $('#ddlThirdAreas').val();
    }else if($('#ddlSubAreas')[0] && $('#ddlSubAreas').val() != 0){
        areaID = $('#ddlSubAreas').val();
    }else{
        areaID = $('#ddlTopAreas').val();
    }
    return areaID;
};

//获取自提点
function GetZtds(areaID){
    ClearZtds();
    $.ajax({
        url:'Checkout.aspx?NoCopyRight=1&type=ajax&Action=GetZtds&AreaID='+areaID,
        type:'get',
        dataType:'json',
        async:false,
        cache:false,
        success:function(msg){
            var data = msg.Ztd;
            $.each(data,function(i,n){
                var row = $('#tmp_ztd').clone().show();
                row.find('.ztdname').html('<input type="radio" id="rbZtd_' + i + '" name="rbZtd" value="' + n.ZtdNo + '" ' + (n.ZtdNo == ztdNo ? 'checked="checked"' : '') + ' /><label for="rbZtd_' + i + '">' + n.ZtdName + '</label>');
                row.find('.ztdAddr').html(n.Address);
                row.find('.ztdRemark').html(n.Remark);
                row.attr('id','row_ztd_'+i).attr('ztd_areaID',n.AreaID).appendTo($('#ztdContainer tbody'));//id以row_ztd_开头,名为ztd_areaID的属性,在选择子地区显示隐藏对应的自提点时要用到
            });//end each
            
        },
        error:function(XMLHttpRequest,textStatus){if(textStatus=='parsererror'){alert('身份已过期,请重新登陆!')}else{alert(textStatus)};}
    });
};

//清除自提点
function ClearZtds(){$('#tmp_ztd').nextAll().remove();};

 
//显示隐藏自提点容器
function showZtd(ztdNum){
    if(ztdNum > 0){$('tr.paytype_6').show();}else{$('tr.paytype_6').hide();$('#ztdContainer').hide();}
//    $('input[@name=rbPayType][@value=6]').removeAttr('checked');
};

//显示隐藏自提点
function setZtdVisible(){
    if($('#ddlThirdAreas')[0]){
        if($('#ddlThirdAreas option[@selected]').attr('ztd') > 0){
            $('[@ztd_areaID]').hide();
            $('[@ztd_areaID^=' +$('#ddlThirdAreas').val()+ ']').show();
        }else if($('#ddlSubAreas option[@selected]').attr('ztd') > 0){
            $('[@ztd_areaID]').hide();
            $('[@ztd_areaID^=' +$('#ddlSubAreas').val()+ ']').show();
        };
    }else if($('#ddlSubAreas')[0]){
        if($('#ddlSubAreas option[@selected]').attr('ztd') > 0){
            $('[@ztd_areaID]').hide();
            $('[@ztd_areaID^=' +$('#ddlSubAreas').val()+ ']').show();
        };
    };
};

//判断是否选择了支付类型
function CheckPayment(){
    if($('[@name=rbPayType][@checked]').length==0){return false;};
    return true;
};
//检查配送信息
function CheckShipping(){
    if($('input[@name=rbPayType][@checked]').val() == 6){
        if($('[@name=rbZtd][@checked]').length == 0){alert('请选择自提点!');return false};//如果选择了到自提点提货,判断是否选择了自提点
    }else{
        if($('[@name=Shipping][@checked]').length == 0){alert('请选择配送方式');return false};//如果没有选择从自提点取货,判断是否选择了送货方式
    };
    return true;
};
