function getCountryCode(){return $("#mini-basket-link").data("country-code")}function isHasCart(){return localStorage[_cartID]}function initCart(){return{country:getCountryCode(),items:[]}}function getCart(){return isHasCart()?JSON.parse(localStorage[_cartID]):initCart()}function saveCart(){localStorage[_cartID]=JSON.stringify(cart)}function updateCart(){cart=getCart()}function resetCart(){isHasCart()&&(localStorage.removeItem(_cartID),cart=initCart())}function getCartItemContainer(n,t){var i=$.grep(cartItemsContainers,function(i){return i.id===n&&i.type===t});return i.length?i[0].container:null}function getCartItem(n,t){updateCart();var i=$.grep(cart.items,function(i){return i.id===n&&i.type===t});return i.length?i[0]:null}function addToCart(n){var t=getCartItem(n.productId,n.itemType);t?(t.count++,reDrawCartItemCount(t)):(t={id:parseInt(n.productId),name:n.productName,image:n.productImage,price:parseFloat(n.productPrice),type:parseInt(n.itemType),count:n.count,availability:!0},cart.items.push(t),drawCartItem(t));saveCart();setCartLabel()}function setCartItemCount(n){var t=getCartItem(n.productId,n.itemType);t?(t.count=n.count,reDrawCartItemCount(t),saveCart(),setCartLabel()):addToCart(n)}function removeFromCart(n,t){updateCart();for(var i=0;i<cart.items.length;i++)if(cart.items[i].id===n&&cart.items[i].type===t)return cart.items.splice(i,1),saveCart(),setCartLabel(),currentCartScrollStep>0&&currentCartScrollStep>cart.items.length-3&&(currentCartScrollStep--,setCartScroll()),!0;return!1}function rateProductPrice(n){return rate?Math.round(n*rate.Cur_Scale/rate.Cur_OfficialRate*100)/100:n}function getCartCost(){for(var i,t=0,n=0;n<cart.items.length;n++)cart.items[n].availability&&(i=rateProductPrice(cart.items[n].price),t+=cart.items[n].count*i);return t}function setCartLabel(){var n,t,i,r;$("#mini-basket-items-count").text(cart.items.length);n=getCartCost();rate?$(".mini-basket-cost").text(n.toFixed(2)+" "+rate.Cur_Abbreviation):(t=n.toFixed(2).split("."),$(".mini-basket-cost").text(t[0]+" р. "+t[1]+" к."));cart.items.length<4?$("#mini-basket-scroll-up, #mini-basket-scroll-down").hide():$("#mini-basket-scroll-up, #mini-basket-scroll-down").show();i=$(".bag-body","#mini-basket-link");r=cart.items.length>11?33:cart.items.length*3;i.animate({height:r},100);cart.items.length<1?($("#mini-basket-wishlist").hide(),$("#mini-basket-cost-container").hide(),$("#mini-basket-cost-empty").show()):($("#mini-basket-cost-empty").hide(),$("#mini-basket-wishlist").show(),$("#mini-basket-cost-container").show())}function drawCartItem(n){var t,i;cartItemTemplate&&(t=$(".blc-item",cartItemTemplate).clone(),n.availability||t.addClass("notavailable"),$("img.mini-basket-item-image",t).attr("src",n.type!=1?cartItemTemplate.data("product-image-path")+"ms_"+n.image:cartItemTemplate.data("stock-image-path")),$("a.mini-basket-item-link",t).attr("href",cartItemTemplate.data(n.type!=1?"product-link":"stock-link").replace(0,n.id)),$(".mini-basket-item-name",t).text(n.name),$(".mini-basket-item-count",t).text(n.count),rate?$(".mini-basket-item-price",t).text(rateProductPrice(n.price).toFixed(2)+" "+rate.Cur_Abbreviation):(i=n.price.toFixed(2).split("."),$(".mini-basket-item-price",t).text(i[0]+" р. "+i[1]+" к.")),t.data({"product-id":n.id,"item-type":n.type}),$("#mini-basket-items-container").append(t),cartItemsContainers.push({id:n.id,type:n.type,container:t}),$("#mini-basket-scroll-down").removeClass("turn-off"))}function reDrawCartItemCount(n){var t=getCartItemContainer(n.id,n.type);t&&$(".mini-basket-item-count",t).text(n.count)}function reDrawCartItems(){$("#mini-basket-items-container").empty();cartItemsContainers=[];for(var n=0;n<cart.items.length;n++)drawCartItem(cart.items[n])}function setCartScroll(){$("#mini-basket-items-container").animate({top:-currentCartScrollStep*129},100)}function syncCart(n){var t,u,r,i;if(cart=getCart(),t=$.Deferred(),u=getCountryCode(),cart.country!=u||n){for(r="",i=0;i<cart.items.length;i++)r+="ids="+cart.items[i].id,i<cart.items.length-1&&(r+="&");$.post($("#mini-basket-link").data("cart-sync"),r,function(n){var i,t,r;for(cart.country=u,i=0;i<cart.items.length;i++)t=cart.items[i],t.type!=1?(r=$.grep(n,function(n){return n.Key===t.id}),t.availability=r.length&&r[0].Value):t.availability=!1}).fail(function(n){console.log(n)}).always(function(){saveCart();t.resolve()})}else t.resolve();return $.when(t).done(function(){$.get($("#mini-basket-link").data("rate-api"),function(n){n.result&&(rate=n.rate)}).fail(function(){console.log("fail gate rate....")}).always(function(){setCartLabel();reDrawCartItems()})}).fail(function(n){console.log(n);console.log("Ошибка загрузки данных корзины")}),t}var cart=null,rate=null,cartItemTemplate=null,cartItemsContainers=[],_cartID="cart2",cartAutoSync=!0,currentCartScrollStep=0;$(document).ready(function(){var i,t,n;Modernizr.localstorage||addMessager("Для корректной работы магазина необходимо разрешить использование локального хранилища браузера","1");i=$("#mini-basket-item-template");cartItemTemplate=i.clone();i.remove();cartAutoSync&&syncCart();localStorage.cartTimeStamp&&Date.parse(localStorage.cartTimeStamp)<new Date&&resetCart();t=new Date;t.setHours(t.getHours()+8);localStorage.cartTimeStamp=t;$("main").on("click",".cart-add",function(n){n.stopPropagation();var i=$(this),t=i.data();t.count=1;addToCart(t);t.itemType==1?addMessager("Акционный комплект добавлен в корзину",0):addMessager("Товар добавлен в корзину",0)});$("#mini-basket-items-container").on("click",".mini-basket-item-remove",function(){var n=$(this).closest(".blc-item"),t=parseInt(n.data("product-id")),i=parseInt(n.data("item-type"));removeFromCart(t,i)&&(n.trigger("itemRemoved",{productId:t,itemType:i}),n.remove(),$("#mini-basket-items-container").trigger("cart-change"))});n=$("#mini-basket");n.on("click",function(n){n.stopPropagation()});n.on("click","#mini-basket-scroll-up",function(){var t=$(this);t.hasClass("turn-off")||currentCartScrollStep>0&&(currentCartScrollStep--,setCartScroll(),$("#mini-basket-scroll-down",n).removeClass("turn-off"),currentCartScrollStep<1&&t.addClass("turn-off"))});n.on("click","#mini-basket-scroll-down",function(){var i=$(this),t;i.hasClass("turn-off")||(t=cart.items.length-3,currentCartScrollStep<t&&(currentCartScrollStep++,setCartScroll(),$("#mini-basket-scroll-up",n).removeClass("turn-off"),currentCartScrollStep==t&&i.addClass("turn-off")))});n.on("mousewheel DOMMouseScroll","#mini-basket-items-container",function(t){var i=t.originalEvent,r=i.wheelDelta||-i.detail;r>0?$("#mini-basket-scroll-up",n).trigger("click"):$("#mini-basket-scroll-down",n).trigger("click");t.preventDefault()});$("body").on("click",".cart-wishlist-add-all",function(){var t,r,n,i,f,u;for(updateCart(),t=localStorage.wishlist?JSON.parse(localStorage.wishlist):[],showLoader(),r=$("<form/>"),n=0;n<cart.items.length;n++)i=cart.items[n].id,r.append($("<input/>").prop("type","hidden").prop("name","["+n+"]").val(i)),f=t.indexOf(i),f<0&&t.push(i);u=$(this);$.post(u.data("href"),r.serialize(),function(n){n.result?(localStorage.wishlist=JSON.stringify(t),addMessager("Товары из корзины добавлены в избранное",0),u.trigger("wishlist.add.all.succеss")):addMessager("Ошибка добавления товаров из корзины в избранное",1);hideLoader()}).fail(function(){addMessager("Ошибка отправки данных",1);hideLoader()})})})