var RemoveItemOnDel = false;
var RemoveTROnDel = false;

$(window).load(function(){
    var AvlPtsElement = $("#pts-avl-sum");
    AvlPts = GetPtsBal(true);
    var AddToCartSel = $(".addtocart-selected-data");
    
    var calculatePay=function(SlidePts,TotPts,AvlPts,Qty,FgtPts,PrdRate,FgtRate){
            var SlidePayPts = TotPts - SlidePts;
            var PrdPay = (SlidePayPts>=(FgtPts*Qty))?((SlidePayPts-(FgtPts*Qty))*PrdRate):0;
            var FgtPay = (FgtPts==0)?0:(SlidePayPts<=(FgtPts*Qty))?(SlidePayPts*FgtRate):((FgtPts*Qty)*FgtRate);
            var SliderPay = Math.ceil(PrdPay + FgtPay); //Round up to nearest dollar.
            return SliderPay;
    }
    
       $(".point-pay-table").each(function(){
            var PayTbl = $(this);
            var Slider = $(this).find(".slider");
            var QtySel = $("select[name='quantity']");
            var PtsDis = $("div[id='product-points']");
            var PtsTxt = $(this).find("input[name='points']");
            var PayTxt = $(this).find("input[name='pay']");
            var SldUpd = $(this).find(".slider-update");
            var AddCart = $(this).find(".button-addcart");
            var AddWlst = $(this).find(".btn-add-wlst");
            var AddCartNotLoggedIn = $(this).find(".button-not-logged-in");
            var AddWlstNotLoggedIn = $(this).find(".btn-wlst-not-logged-in"); 
            var InWlst = $(this).find(".btn-in-wlst");
            var ProdId = $(this).find("input[name='productid']");
            var IsVPP = $(this).find("input[name='AllowPointsPlusPay']");
            var VPP = $(IsVPP).val();
            var OFRSelPts = $(this).find(".ofr-selected-points");
            var OFRSelPay = $(this).find(".ofr-selected-pay");
            var Qty	= parseInt((($(QtySel).length>0))?$(QtySel).val():1);
            var ProductDetailLink = $(this).parent().parent().find(".product-detail-link");
            var ProductBackButton = $(this).find(".back-button-product-detail");
            var SavedPtsTotalSpan = $("span[id='save_points_total']");
            var SavedPointsPerItem = ($(SavedPtsTotalSpan).length)? formatCommas(SavedPtsTotalSpan.text(),false):0;
            var AutoRedeem = $(this).find(".btn-add-auto-rdm"); 
            
            var aIni = $(Slider).text().split("|");
            var PrdPce = parseFloat(aIni[0]);
            var PrdPts = parseInt(aIni[1]);
            var FgtPce = parseFloat(aIni[2]); //RY: TR40100 - Points+Pay Slider calculation issue
            var FgtPts = parseInt(aIni[3]);
            var PrdMinPts = parseInt(aIni[4]);
            var PtsRnd = parseFloat(aIni[5]);
            var Wlst = "";//aIni[6]; 
            
            var PrdRate = PrdPce/PrdPts;
            var FgtRate =(FgtPts=="0")?FgtPce:FgtPce/FgtPts;
            var TotPay = (PrdPce+FgtPce)*Qty;
            var TotPts = (PrdPts+FgtPts)*Qty;
            var QuantityUpdated = false;
            
            var MinPts = PrdMinPts*Qty;
            var MaxPts = (TotPts > AvlPts)?AvlPts-MinPts:TotPts-MinPts;
            var SlidePts = roundToLowest(((TotPts > AvlPts)?AvlPts:TotPts),PtsRnd);
            SliderPay = calculatePay(SlidePts,TotPts,AvlPts,Qty,FgtPts,PrdRate,FgtRate);

            if (VPP == "False")           
            {       
                $(PtsDis).text(formatCommas(PrdPts*Qty, true));
            }
            else
            {
                $(PtsDis).text(formatCommas(TotPts, true));
            }    
            $(PtsTxt).val(SlidePts);
            $(PayTxt).val(FormatDollar(SliderPay, true));
            UpdateOFR(OFRSelPts, OFRSelPay, SlidePts, SliderPay);

            $(SldUpd).hide();
            $(PtsTxt).focus(function () {
                $(SldUpd).show();
            });

            TgleBtns(false);

            if(VPP=="False") 
            {
                if((LowestMinPts == -1) || (LowestMinPts > parseInt(TotPts))) { LowestMinPts = parseInt(TotPts); }
            }
            else
            {
                if ( (LowestMinPts == -1) || (LowestMinPts > parseInt(MinPts) )) { LowestMinPts = parseInt(MinPts); }
            }
            
            $(Slider).empty();
            $(Slider).slider({
                    range: "min",
                    value:0,
                    min: 0,
                    max: MaxPts,
                    step: PtsRnd,
                    slide: function(event, ui) {
                        setSliderUp(roundToLowest(((TotPts > AvlPts)?AvlPts - ui.value:TotPts - ui.value),PtsRnd));
                    }
            });

            $(PtsTxt).keypress(function(e){
                if(e.keyCode == 13) {
                    setSliderUp(parseInt($(PtsTxt).val()));
                    return false;
                }
            });

           
            $(SldUpd).click(function(e){
                setSliderUp(parseInt($(PtsTxt).val()));
                return false;
            });
            
            function TgleBtns (hide) {
                if (hide) { $(PayTbl).find("tr:eq(0), tr:eq(1), tr:eq(2)").hide(); $(PayTbl).find(".slider").hide();}
                if(VPP=="False") {
                    $(PayTbl).find("tr:eq(0), tr:eq(1), tr:eq(2)").hide(); $(PayTbl).find(".slider").hide(); 
                    if (TotPts<AvlPts) { $(PayTbl).find("tr:eq(3)").show(); }   
                    else { $(PayTbl).find("tr:eq(3)").show(); $(AddCart).css("visibility", "hidden");$(AddCartNotLoggedIn).css("visibility", "hidden"); }
                    if(QuantityUpdated) {LowestMinPts = parseInt(TotPts);}
                }
                else if(MinPts<AvlPts && Qty>0){
                    $(PayTbl).find("tr:eq(0), tr:eq(1), tr:eq(2), tr:eq(3)").show(); 
                    $(PayTbl).find(".slider").show();
                    if(QuantityUpdated){ LowestMinPts = parseInt(MinPts); }
                }
                else{ 
                    $(PayTbl).find("tr:eq(3)").show(); 
                    $(AddCart).css("visibility", "hidden");
                    $(AddCartNotLoggedIn).css("visibility", "hidden");  
                }  
            }

            function setSliderUp(aSldPts){
                    var SlidePts = aSldPts;
                    if(!isNaN(SlidePts))
                    {
                        SlidePts = roundToLowest(SlidePts, PtsRnd);
                        SlidePts = (SlidePts > TotPts)?TotPts:SlidePts;
                        SlidePts = (SlidePts < MinPts)?MinPts:SlidePts;
                        SlidePts = (SlidePts > AvlPts)?AvlPts:SlidePts;
                        SlidePts = roundToLowest(SlidePts,PtsRnd);
                        SliderPay = calculatePay(SlidePts,TotPts,AvlPts,Qty,FgtPts,PrdRate,FgtRate);
                        $(PtsTxt).val(SlidePts);
                        $(PayTxt).val(FormatDollar(SliderPay, true));
                        $(Slider).slider('value',(MaxPts + MinPts) - SlidePts);
                        UpdateOFR(OFRSelPts, OFRSelPay, SlidePts, SliderPay);
                    }
                    else
                    {
                        $(Slider).slider('value',0);
                        $(PtsTxt).val(TotPts);
                    }
            }   
            
            $(PayTbl).bind("update", function(e){
                AvlPts = setAvlPts($(AvlPtsElement));
                    
                var MaxPts = (TotPts > AvlPts)?AvlPts-MinPts:TotPts-MinPts;
                var SlidePts = roundToLowest(((TotPts > AvlPts)?AvlPts:TotPts),PtsRnd);
                
                SliderPay = calculatePay(SlidePts,TotPts,AvlPts,Qty,FgtPts,PrdRate,FgtRate);
                if (VPP == "False")
                {               
                    $(PtsDis).text(formatCommas(PrdPts*Qty, true));
                }
                else
                {
                    $(PtsDis).text(formatCommas(TotPts, true));
                }
                $(PtsTxt).val(SlidePts);
                $(PayTxt).val(FormatDollar(SliderPay, true));
                $(Slider).slider('option','max',MaxPts);
                $(Slider).slider('value',0);
                TgleBtns(true);
            });
           
            $(AddCart).click(function(){
                    AvlPts = setAvlPts($(AvlPtsElement));
                    
                    var Request = new Object();
                    Request.ProductId = parseInt($(ProdId).val());
                    Request.Quantity = parseInt(($(QtySel).length)?$(QtySel).val():1);
                    Request.Points = parseInt($(PtsTxt).val());
                    Request.Pay = parseInt(FormatDollar($(PayTxt).val(), false));
                    Request.VPP = ((VPP=="False")?false:true);
                    if(VPP=="False") {LowestMinPts = TotPts};
                    AddCartItem(Request,"p",true,null,null,PrdMinPts);
                    
                    $(Slider).slider('value',0);
                    
                    return false;
            });
            
            $(AddCartNotLoggedIn).click(function(){
                    var qty = ($(QtySel).length)?$(QtySel).val():1; 
                    var addVal = $(ProdId).val() + '|' + qty + '|' + $(PtsTxt).val() + '|' + FormatDollar($(PayTxt).val(), false) + "|" +  $(IsVPP).val();
                    $(AddToCartSel).val(addVal);
            });
           
           $(AddWlst).click(function(){
                var addPts = roundToLowest(($(Wlst).val()=="sld")?$(PtsTxt).val():(PrdPts+FgtPts),PtsRnd);
                WlstTbl = PayTbl;
                WlstMinPts =  PrdMinPts;
                WlstVal =  $(ProdId).val() + "|" +addPts;
                TglWsltBtn = true; 
                AddToWlst(); 
                return false; 
           });   

        $(InWlst).click(function(e){
            var WlstFld = $(".addtowlst-data"); 
            $(WlstFld).val($(ProdId).val());
        });
                
          
           $(AutoRedeem).click(function(){
                var AutoFld = $(".addto-autoredeem"); 
               $(AutoFld).val($(ProdId).val()); 
           });  
            
            $(AddWlstNotLoggedIn).click(function(){
                var WlstFld = $(".addtowlst-data"); 
                var WlstPrdID = $(ProdId).val(); 
                var WlstPts = roundToLowest(($(Wlst).val()=="sld")?$(PtsTxt).val():(PrdPts+FgtPts),PtsRnd);
            
                $(WlstFld).val(WlstPrdID + '|' + WlstPts);
            });   
           
            $(QtySel).change(function(){
                    Qty = parseInt($(QtySel).val());
                    TotPay = (PrdPce+FgtPce)*Qty;
                    TotPts = (PrdPts+FgtPts)*Qty;
                    MinPts = PrdMinPts*Qty;
                    MaxPts = (TotPts > AvlPts)?AvlPts-MinPts:TotPts-MinPts;
                    QuantityUpdated=true;
                    $(PayTbl).trigger("update");
                    if($(SavedPtsTotalSpan).length){ $(SavedPtsTotalSpan).text(formatCommas(SavedPointsPerItem*Qty,true)); }
                    ShowInlineMessage();
            });
            
            $(ProductBackButton).click(function(){
                history.back();
                return false;
            });
            
    }); //end of $(".point-pay-table").each
    ShowInlineMessage();
    InitializeCartStyle();
    SetFormNotesTDStyle();

});  //end of big function()




