PageSourceSearch

https://xn--80abua1a0d.xn--p1ai/assets/site_main.330a7d367ff6b2457034.js

js xn--80abua1a0d.xn--p1ai collected 2026-10-02 02:11:17 UTC 87,798 bytes, 10 lines download raw bytes

1var site_main=function(t){function e(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function o(){for(;d.firstChild;)a.appendChild(d.firstChild);if(c.style.display="none",!window.matchMedia("(max-width: 1040px)").matches){var t=Array.from(a.children),e=0,i=!0,n=!1,o=void 0;try{for(var r,s=t[Symbol.iterator]();!(i=(r=s.next()).done);i=!0){var u=r.value;e+=u.getBoundingClientRect().width}}catch(t){n=!0,o=t}finally{try{!i&&s.return&&s.return()}finally{if(n)throw o}}var l=a.scrollWidth<=a.clientWidth;if(!l){c.style.display="block";var h=Array.from(a.children),f=a.clientWidth-c.offsetWidth,p=0,m=!0,g=!1,v=void 0;try{for(var y,_=h[Symbol.iterator]();!(m=(y=_.next()).done);m=!0){var b=y.value;p+=b.offsetWidth,p>f&&d.appendChild(b)}}catch(t){g=!0,v=t}finally{try{!m&&_.return&&_.return()}finally{if(g)throw v}}d.children.length||(c.style.display="none")}}}var r=i(1),s=n(r);i(2),i(13),i(14),i(4),i(6),i(7),i(16),i(8),i(17),i(18),i(9),t.exports=s.default.module("myApp",["ngRoute","superdostavka.commonFilters","superdostavka.commonDirectives","superdostavka.baseCtrl","superdostavka.mainCtrl","superdostavka.commonServices","superdostavka.labels","superdostavka.components","ngSanitize","ngAnimate","ui.mask","ui.keypress","duScroll"]).run(["$rootScope",function(t){t.$on("duScrollspy:becameActive",function(t,e,i){var n=document.querySelector(".navigation__menu");n.scrollTo({left:document.querySelector(".navigation__menu .active").offsetLeft,behavior:"smooth"})})}]).config(["$interpolateProvider","$sceProvider",function(t,e){t.startSymbol("[[").endSymbol("]]"),e.enabled(!1)}]).value("duScrollOffset",60);var a=document.querySelector(".navigation__menu"),c=document.querySelector(".navigation .more"),d=c.querySelector(".submenu"),u=document.querySelector("nav.navigation"),l=getComputedStyle(u).position;setInterval(function(){var t=getComputedStyle(u).position;t!==l&&(o(),l=t)},200),window.addEventListener("load",o),window.addEventListener("resize",o);var h=void 0;c.addEventListener("mouseenter",function(){clearTimeout(h),c.classList.add("show")}),c.addEventListener("mouseleave",function(){h=setTimeout(function(){c.classList.remove("show")},500)})},function(t,e){t.exports=angular},function(t,e,i){i(1),i(3),t.exports="ui.mask"},function(t,e){/*!
2	 * angular-ui-mask
3	 * https://github.com/angular-ui/ui-mask
4	 * Version: 1.8.7 - 2016-07-26T16:01:23.393Z
5	 * License: MIT
6	 */
7!function(){"use strict";angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{9:/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/},clearOnBlur:!0,clearOnBlurPlaceholder:!1,escChar:"\\",eventsToHandle:["input","keyup","click","focus"],addDefaultPlaceholder:!0,allowInvalidValue:!1}).provider("uiMask.Config",function(){var t={};this.maskDefinitions=function(e){return t.maskDefinitions=e},this.clearOnBlur=function(e){return t.clearOnBlur=e},this.clearOnBlurPlaceholder=function(e){return t.clearOnBlurPlaceholder=e},this.eventsToHandle=function(e){return t.eventsToHandle=e},this.addDefaultPlaceholder=function(e){return t.addDefaultPlaceholder=e},this.allowInvalidValue=function(e){return t.allowInvalidValue=e},this.$get=["uiMaskConfig",function(e){var i=e;for(var n in t)angular.isObject(t[n])&&!angular.isArray(t[n])?angular.extend(i[n],t[n]):i[n]=t[n];return i}]}).directive("uiMask",["uiMask.Config",function(t){function e(t){return t===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(t.type||t.href||~t.tabIndex)}return{priority:100,require:"ngModel",restrict:"A",compile:function(){var i=angular.copy(t);return function(t,n,o,r){function s(t){return angular.isDefined(t)?(b(t),Z?(h(),f(),!0):l()):l()}function a(t){t&&(D=t,!Z||0===n.val().length&&angular.isDefined(o.placeholder)||n.val(v(g(n.val()))))}function c(){return s(o.uiMask)}function d(t){return Z?(O=g(t||""),R=m(O),r.$setValidity("mask",R),O.length&&(R||Y.allowInvalidValue)?v(O):void 0):t}function u(t){return Z?(O=g(t||""),R=m(O),r.$viewValue=O.length?v(O):"",r.$setValidity("mask",R),R||Y.allowInvalidValue?K?r.$viewValue:O:void 0):t}function l(){return Z=!1,p(),angular.isDefined(z)?n.attr("placeholder",z):n.removeAttr("placeholder"),angular.isDefined(j)?n.attr("maxlength",j):n.removeAttr("maxlength"),n.val(r.$modelValue),r.$viewValue=r.$modelValue,!1}function h(){O=F=g(r.$modelValue||""),N=B=v(O),R=m(O),o.maxlength&&n.attr("maxlength",2*L[L.length-1]),!z&&Y.addDefaultPlaceholder&&n.attr("placeholder",D);for(var t=r.$modelValue,e=r.$formatters.length;e--;)t=r.$formatters[e](t);r.$viewValue=t||"",r.$render()}
7function f(){U||(n.bind("blur",S),n.bind("mousedown mouseup",k),n.bind("keydown",C),n.bind(Y.eventsToHandle.join(" "),M),U=!0)}function p(){U&&(n.unbind("blur",S),n.unbind("mousedown",k),n.unbind("mouseup",k),n.unbind("keydown",C),n.unbind("input",M),n.unbind("keyup",M),n.unbind("click",M),n.unbind("focus",M),U=!1)}function m(t){return!t.length||t.length>=q}function g(t){var e,i,o="",r=n[0],s=I.slice(),a=V,c=a+$(r),d="";return t=""+t,e=0,i=t.length-D.length,angular.forEach(T,function(n){var o=n.position;o>=a&&o<c||(o>=a&&(o+=i),t.substring(o,o+n.value.length)===n.value&&(d+=t.slice(e,o),e=o+n.value.length))}),t=d+t.slice(e),angular.forEach(t.split(""),function(t){s.length&&s[0].test(t)&&(o+=t,s.shift())}),o}function v(t){var e="",i=L.slice();return angular.forEach(D.split(""),function(n,o){t.length&&o===i[0]?(e+=t.charAt(0)||"_",t=t.substr(1),i.shift()):e+=n}),e}function y(t){var e,i=angular.isDefined(o.uiMaskPlaceholder)?o.uiMaskPlaceholder:o.placeholder;return angular.isDefined(i)&&i[t]?i[t]:(e=angular.isDefined(o.uiMaskPlaceholderChar)&&o.uiMaskPlaceholderChar?o.uiMaskPlaceholderChar:"_","space"===e.toLowerCase()?" ":e[0])}function _(){var t,e,i=D.split("");L&&!isNaN(L[0])&&angular.forEach(L,function(t){i[t]="_"}),t=i.join(""),e=t.replace(/[_]+/g,"_").split("_"),e=e.filter(function(t){return""!==t});var n=0;return e.map(function(e){var i=t.indexOf(e,n);return n=i+1,{value:e,position:i}})}function b(t){var e=0;if(L=[],I=[],D="",angular.isString(t)){q=0;var i=!1,n=0,o=t.split(""),r=!1;angular.forEach(o,function(t,o){r?(r=!1,D+=t,e++):Y.escChar===t?r=!0:Y.maskDefinitions[t]?(L.push(e),D+=y(o-n),I.push(Y.maskDefinitions[t]),e++,i||q++,i=!1):"?"===t?(i=!0,n++):(D+=t,e++)})}L.push(L.slice().pop()+1),T=_(),Z=L.length>1}function S(){if((Y.clearOnBlur||Y.clearOnBlurPlaceholder&&0===O.length&&o.placeholder)&&(V=0,H=0,R&&0!==O.length||(N="",n.val(""),t.$apply(function(){r.$pristine||r.$setViewValue("")}))),O!==Q){var e=n.val(),i=""===O&&e&&angular.isDefined(o.uiMaskPlaceholderChar)&&"space"===o.uiMaskPlaceholderChar;i&&n.val(""),P(n[0]),i&&n.val(e)}Q=O}function P(t){var e;angular.isFunction(window.Event)&&!t.fireEvent?(e=new Event("change",{view:window,bubbles:!0,cancelable:!1}),t.dispatchEvent(e)):"createEvent"in document?(e=document.createEvent("HTMLEvents"),e.initEvent("change",!1,!0),t.dispatchEvent(e)):t.fireEvent&&t.fireEvent("onchange")}function k(t){"mousedown"===t.type?n.bind("mouseout",w):n.unbind("mouseout",w)}function w(){H=$(this),n.unbind("mouseout",w)}function C(t){var e=8===t.which,i=A(this)-1||0,o=90===t.which&&t.ctrlKey;if(e){for(;i>=0;){if(E(i)){x(this,i+1);break}i--}G=i===-1}o&&(n.val(""),t.preventDefault())}function M(e){e=e||{};var i=e.which,o=e.type;if(16!==i&&91!==i){var s,a=n.val(),c=B,d=!1,u=g(a),l=F,h=A(this)||0,f=V||0,p=h-f,m=L[0],y=L[u.length]||L.slice().shift(),_=H||0,b=$(this)>0,S=_>0,P=a.length>c.length||_&&a.length>c.length-_,k=a.length<c.length||_&&a.length===c.length-_,w=i>=37&&i<=40&&e.shiftKey,C=37===i,M=8===i||"keyup"!==o&&k&&p===-1,I=46===i||"keyup"!==o&&k&&0===p&&!S,T=(C||M||"click"===o)&&h>m;if(H=$(this),!w&&(!b||"click"!==o&&"keyup"!==o&&"focus"!==o)){if(M&&G)return n.val(D),t.$apply(function(){r.$setViewValue("")}),void x(this,f);if("input"===o&&k&&!S&&u===l){for(;M&&h>m&&!E(h);)h--;for(;I&&h<y&&L.indexOf(h)===-1;)h++;var q=L.indexOf(h);u=u.substring(0,q)+u.substring(q+1),u!==l&&(d=!0)}for(s=v(u),B=s,F=u,!d&&a.length>s.length&&(d=!0),n.val(s),d&&t.$apply(function(){r.$setViewValue(s)}),P&&h<=m&&(h=m+1),T&&h--,h=h>y?y:h<m?m:h;!E(h)&&h>m&&h<y;)h+=T?-1:1;(T&&h<y||P&&!E(f))&&h++,V=h,x(this,h)}}}function E(t){return L.indexOf(t)>-1}function A(t){if(!t)return 0;if(void 0!==t.selectionStart)return t.selectionStart;if(document.selection&&e(n[0])){t.focus();var i=document.selection.createRange();return i.moveStart("character",t.value?-t.value.length:0),i.text.length}return 0}function x(t,i){if(!t)return 0;if(0!==t.offsetWidth&&0!==t.offsetHeight)if(t.setSelectionRange)e(n[0])&&(t.focus(),t.setSelectionRange(i,i));else if(t.createTextRange){var o=t.createTextRange();o.collapse(!0),o.moveEnd("character",i),o.moveStart("character",i),o.select()}}function $(t){return t?void 0!==t.selectionStart?t.selectionEnd-t.selectionStart:window.getSelection?(""+window.getSelection()).length:document.selection?document.selection.createRange().text.length:0:0}var L,I,D,T,q,O,N,R,B,F,V,H,G,Z=!1,U=!1,z=o.placeholder,j=o.maxlength,W=r.$isEmpty;r.$isEmpty=function(t){return W(Z?g(t||""):t)};var K=!1;o.$observe("modelViewValue",function(t){"true"===t&&(K=!0)}),o.$observe("allowInvalidValue",function(t){Y.allowInvalidValue=""===t||!!t,d(r.$modelValue)});var Y={};o.uiOptions?(Y=t.$eval("["+o.uiOptions+"]"),Y=angular.isObject(Y[0])?function(t,e){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(void 0===e[i]?e[i]=angular.copy(t[i]):angular.isObject(e[i])&&!angular.isArray(e[i])&&(e[i]=angular.extend({},t[i],e[i])));return e}(i,Y[0]):i):Y=i,o.$observe("uiMask",s),angular.isDefined(o.uiMaskPlaceholder)?o.$observe("uiMaskPlaceholder",a):o.$observe("placeholder",a),angular.isDefined(o.uiMaskPlaceholderChar)&&o.$observe("uiMaskPlaceholderChar",c),r.$formatters.unshift(d),r.$parsers.unshift(u);var Q=n.val();n.bind("mousedown mouseup",k),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){if(null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if(0===i)return-1;var n=0;if(arguments.length>1&&(n=+arguments[1],n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),n>=i)return-1;for(var o=n>=0?n:Math.max(i-Math.abs(n),0);o<i;o++)if(o in e&&e[o]===t)return o;return-1})}}}}])}()},function(t,e){"use strict";
7t.exports=angular.module("superdostavka.baseCtrl",[]).controller("BaseCtrl",["$scope","$rootScope","$http","posManager","$filter","modal","userManager",function(t,e,i,n,o,r,s){t.config=null,t.Math=Math,t.posManager=n,t.userManager=s,t.modal=r,t.positions={},t.sections={},t.order={},t.cart={},t.cities=[],t.group_modifications=[],t.positionGroups=[],t.apiUrl="/rapi/",t.cartApiUrl="/cartApi/",t.init=function(){t.config=t.getConfig(),t.posManager.init(),t.userManager.getUser()},t.getConfig=function(){var e="/rapi/getConfig";return t.city&&t.city.id&&(e+="?city_id="+t.city.id),i.get(e).success(function(e){return t.pickupAddresses=e.pickup_addresses,t.common=e.common,t.cities=e.cities,t.delivery_prediction=e.delivery_prediction||{enabled:!1,test_mode:!1},void 0!==e.group_modifications&&(t.group_modifications=e.group_modifications),e})},t.initDadata=function(t,e,i){var n=e.map(function(t){return{locations:{kladr_id:t}}});$(".address").suggestions({token:t,type:"ADDRESS",bounds:"street",constraints:n,onSelect:i})},t.toggleModal=function(e,i,n){t.modal.toggle(e,i,n)},t.setModalPos=function(e){t.modalPos=n.getPosition(e),r.toggle("posImage")},t.notSorted=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?(t=Object.keys(t),e?t.reverse():t):[]},t.filter=function(t,e){for(var i in e)if(!o(e[i])(t))return!1;return!0},t.login=function(){s.login().then(function(e){!e||e.data.errors&&0!=e.data.errors.length||t.toggleModal("login")})},t.setVar=function(e,i){t[e]=i},t.hideAppsBanner=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"header",e=document.getElementById("headerAppsBanner"),n=document.getElementById("hideAppsFullSizeBanner");e&&"header"===t&&(e.style.display="none"),n&&"fullSize"===t&&(n.style.display="none"),document.documentElement.style.overflow="auto",document.body.style.overflow="auto",i.get("/rapi/hideAppsBanner/"+t).success(function(){})},t.setSticked=function(e){null!==document.getElementById("div-fixed-stick")&&(1==t.navSticked&&0==e?document.getElementById("div-fixed-stick").className="ng-hide":0==t.navSticked&&1==e&&(document.getElementById("div-fixed-stick").className=""),t.navSticked=e)},t.getModGroups=function(e){var i=t.posManager.getPosition(e);if(void 0===t.positionGroups[e]||!t.positionGroups[e].length){t.positionGroups[e]=[];for(var n in t.group_modifications)i.grouped_mods.indexOf(t.group_modifications[n].id)!==-1&&(void 0===i.current_group_mod&&(i.current_group_mod=t.group_modifications[n].id),t.positionGroups[e].push({id:t.group_modifications[n].id,name:t.group_modifications[n].name,group_name:t.group_modifications[n].group_name}))}return t.positionGroups[e]},t.setCurrentGroupMod=function(e,i){var n=t.posManager.getPosition(e);if(n.current_group_mod=i,n.active_mod){var o=n.grouped_mods.filter(function(t){return t===i});o&&n.active_mod+1>o.length&&(n.active_mod=0)}},t.printBill=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];KkmServer&&2!=t.pay_type&&i.get("/rapi/getKkmBill/"+t.id).then(function(n){var o=KkmServer.GetDataCheck(0,0,"","");o.NumDevice=0,o.Timeout=30,o.IsFiscalCheck=!0,o.ReceiptNumber=t.id,e?o.TypeCheck=1:o.TypeCheck=0,o.NotPrint=!1,o.CashierVATIN=n.data.INN,o.SenderEmail=n.data.senderEmail;for(var r in n.data.positions){var s=n.data.positions[r];o.AddRegisterString(s.name,s.quantity,s.price,s.total,-1,0,"",4,1)}0==t.pay_type?o.Cash=n.data.total:o.ElectronicPayment=n.data.total;for(var a=0;a<o.CheckStrings.length;a++)void 0!=o.CheckStrings[a]&&void 0!=o.CheckStrings[a].Register&&(o.CheckStrings[a].Register.AgentSign=null,o.CheckStrings[a].Register.AgentData=null,o.CheckStrings[a].Register.PurveyorData=null);var c=o.Execute(function(n){0==n.Status&&(e?i.post("/rapi/kkmBillRegistered/"+t.id):i.post("/rapi/kkmBillRefunded/"+t.id))}).IdCommand;return c})},t.redirectToVL=function(){var t=document.createElement("form");t.action="https://www.vl.ru/eda/external/royalburger/order",t.method="post";var e=document.createElement("input");e.value=s.user.username,e.name="phone",t.appendChild(e);for(var i in n.positions){var o=n.positions[i];if(0!=o.quantity){var r=document.createElement("input");r.value=o.quantity,r.name="positons["+o.id+"]",t.appendChild(r)}}document.body.appendChild(t),t.submit()}}])},,function(t,e){"use strict";
7t.exports=angular.module("superdostavka.commonFilters",[]).filter("interpolate",["version",function(t){return function(e){return(e+"").replace(/\%VERSION\%/gm,t)}}]).filter("html",["$sce",function(t){return function(e){return t.trustAsHtml(e)}}]).filter("posInCart",[function(t){return function(t){return t.quantity>0}}]).filter("tel",["locale_config",function(t){return function(e){if(!e)return"";var i=(""+e).trim().replace(/^\+/,"");if(i.match(/[^0-9]/))return e;var n,o,r;switch(n="+"+t.country_code,i.length){case 9:o=i.slice(0,2),r=i.slice(2);break;case 10:o=i.slice(0,3),r=i.slice(3);break;default:return e}return 1==n&&(n=""),r=r.slice(0,3)+"-"+r.slice(3,5)+"-"+r.slice(5),(n+" ("+o+") "+r).trim()}}]).filter("posNameFilter",["posManager",function(t){return function(e){return!t.searchStr||t.foundPositions[e]}}]).filter("declint",function(){return function(t,e,i,n){var o=[t,i,n];return o[e%100>4&&e%100<20?2:[2,0,1,1,1,2][Math.min(e%10,5)]]}}).filter("sectionNameFilter",["posManager",function(t){return function(e){return!t.searchStr||t.foundSections[e]}}])},function(t,e){"use strict";/iphone|ipad|Android|webOS|iPod|BlackBerry|Windows Phone|ZuneWP7/gi.test(navigator.appVersion),t.exports=angular.module("superdostavka.commonDirectives",[]).directive("appVersion",["version",function(t){return function(e,i,n){i.text(t)}}]).directive("preload",function(){return{restrict:"A",scope:{preload:"@"},link:function(t,e,i){e.one("load",function(){e.attr("src",t.preload)})}}}).directive("stickScroll",["$window",function(t){return{restrict:"A",scope:{callback:"&stickCallback"},link:function(e,i,n){angular.element(t).bind("scroll",function(){return e.offset||(e.offset=$(i).offset().top-4,$("#div-fixed").height($(i).height()-4),e.scrollOffset=0,n.offsetBottom&&(e.offset=n.offsetBottom)),e.documentHeight=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight),n.offsetBottom?(e.scrollOffset=e.documentHeight-this.pageYOffset,n.offsetBottom&&(e.scrollOffset=e.scrollOffset-t.innerHeight)):e.scrollOffset=this.pageYOffset,e.scrollOffset>e.offset?i[0].classList.add(n.stickClass):i[0].classList.remove(n.stickClass),void e.callback({sticked:e.scrollOffset>e.offset})})}}}]).directive("headermain",["$timeout",function(t){return{restrict:"E",templateUrl:"/angular/header.html"}}]).directive("cart",["$timeout",function(t){return{restrict:"E",templateUrl:"/angular/cart.html",link:function(t,e,i){t.showPosition=void 0===i.showPosition||i.showPosition}}}]).directive("cartNav",["$timeout",function(t){return{restrict:"E",templateUrl:"/angular/cartNav.html",link:function(t,e,i){t.showPosition=void 0===i.showPosition||i.showPosition}}}]).directive("googleStreets",["$timeout",function(t){return{restrict:"E",require:"ngModel",scope:{bounds:"="},template:'<input class="address form-control google-places-box" style="min-width: 220px" id="google-places" autocomplete="off" type="text" />',link:function(e,i,n,o){e.$watch(function(){return o.$modelValue},function(t){i.find("input").val(t.street||t.locality)}),t(function(){var t=window.google;if(t&&void 0!==t.maps){var n=e.bounds;if(n&&n.ne.lat){var r=document.getElementsByClassName("google-places-box");for(var s in r)r[s].nodeName&&!r[s].getAttribute("google-init")&&!function(){r[s].setAttribute("google-init","true");var e=new t.maps.places.Autocomplete(r[s],{strictBounds:!0,types:["geocode"],bounds:new t.maps.LatLngBounds(new t.maps.LatLng(n.sw.lat,n.sw.lng),new t.maps.LatLng(n.ne.lat,n.ne.lng))});e.addListener("place_changed",function(){var t=e.getPlace();if(t&&void 0!==t.address_components[0]){var n=t.address_components[0],r=t.address_components[1],s="locality"===n.types[0]?null:n.short_name,a="locality"!==n.types[0]?null:n.short_name;!a&&r&&(a="locality"===r.types[0]?r.short_name:null),i.find("input").val(s||a),o.$setViewValue({street:s,locality:a})}})}()}else alert("Please set bounds for streets in current city")}})}}}]).directive("dadata",[function(){return{restrict:"E",require:"ngModel",scope:{options:"="},template:'<input class="address form-control" name="address" type="text" />
7',link:function(t,e,i,n){t.$watch(function(){return n.$modelValue},function(t){e.find(".address").val(t.street||t.locality)}),t.$watch(function(){return t.options},function(t){if(t.token){var i=t.locations.map(function(t){return{locations:{kladr_id:t}}});$(e.find("input")).suggestions({token:t.token,type:"ADDRESS",bounds:t.bounds,constraints:i,count:10,deferRequestBy:200,hint:"Выберите адрес",onSelect:function(t){var i=n.$modelValue;if(i.street=t.data.street_with_type||t.data.settlement_with_type,t.data.street_with_type&&t.data.settlement_with_type&&t.data.city_with_type)i.locality=t.data.city_with_type+" "+t.data.settlement_with_type;else{var o=[];t.data.city_with_type&&o.push(t.data.city_with_type),t.data.settlement_with_type&&t.data.settlement_with_type!=i.street&&o.push(t.data.settlement_with_type),i.locality=o.join(", ")}i.kladr_id=t.data.kladr_id,i.street_id=null,n.$setViewValue(i),e.find(".address").val(i.street||i.locality)}})}})}}}]).directive("headernav",function(){return{restrict:"E",templateUrl:"/angular/headernav.html"}}).directive("loginmodal",function(){return{restrict:"E",templateUrl:"/angular/loginmodal.html"}}).directive("modal",["modal","$animate","$document","$parse","$timeout",function(t,e,i,n,o){return{scope:{hideOutside:"=?hideOutside"},controller:["$scope",function(e){e.toggle=function(i){t.toggle(e.id,i)}}],link:function(e,n,r){e.hideOutside=!angular.isDefined(e.hideOutside)||e.hideOutside,e.id=r.modal,e.addClass=r.addClass,e.modal=t,t.setNew(e.id,n,e.addClass),t.hide(e.id),e.toggle=function(i){t.toggle(e.id,i)},e.isVisible=function(){return t.isVisible(e.id)},e.hide=function(){var i=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.hide(e.id,i)},e.hide(),e.$watch(function(){return t.isVisible(e.id)},function(t){t&&o(function(){angular.forEach(n[0].querySelectorAll(".ya-map[data-yandex-map-src]:not([data-yandex-map-loaded])"),function(t){var e=document.createElement("script");e.src=t.getAttribute("data-yandex-map-src"),t.setAttribute("data-yandex-map-loaded","1"),t.appendChild(e)})})}),i.on("click",function(t){if(n[0].className.split(" ").indexOf("ng-hide")===-1){if(void 0!==t.target.attributes["modal-close"])return void e.hide(!0);if(void 0===t.target.attributes["no-hide-modal"]&&e.hideOutside===!0){var i=angular.element(t.target).attr("ng-click");if(!i||i.indexOf("modal.toggle")==-1&&i.indexOf("toggleModal")==-1||i.indexOf(e.id)==-1){var o;if(t&&t.target){for(o=t.target;o;o=o.parentNode)if(o==n[0])return;e.hide()}}}}})}}}]).directive("focusMe",["$timeout",function(t){return{link:function(e,i,n){e.$watch(n.focusMe,function(o){o===!0&&t(function(){i[0].focus(),i[0].select(),e[n.focusMe]=!1})})}}}]).directive("backImg",function(){return function(t,e,i){var n=i.backImg;e.css({"background-image":"url("+n+")"})}}).directive("preloadResource",["resourceCache",function(t){return{link:function(e,i,n){t.put(n.preloadResource,i.html())}}}]).directive("lazyRender",["$http","$compile",function(t,e){return{restrict:"E",transclude:!0,link:function(i,n,o){n.attr("ng-cloak",""),t.get("/rapi/renderTemplate",{params:{name:o.name,variables:o.variables}}).then(function(t){n.html(t.data),e(n.contents())(i),angular.forEach(n[0].querySelectorAll("script"),function(t){var e=t.getAttribute("src")||(t.innerHTML.match(/https:\/\/api-maps\.yandex\.ru\/services\/constructor\/1\.0\/js\/\?[^"']+/)||[])[0];if(e&&e.indexOf("api-maps.yandex.ru/services/constructor")!==-1){for(var i=t.parentNode.classList&&t.parentNode.classList.contains("ya-map")?t.parentNode:null,o=t.nextSibling;!i&&o;)o.classList&&o.classList.contains("ya-map")&&(i=o),o=o.nextSibling;i=i||n[0].querySelector(".ya-map:not([data-yandex-map-src]):not([data-yandex-map-loaded])"),i&&!i.getAttribute("data-yandex-map-loaded")&&(i.setAttribute("data-yandex-map-src",e.replace(/&amp;/g,"&")),t.parentNode.removeChild(t))}}),n.removeAttr("ng-cloak"),"undefined"!=typeof grecaptcha&&grecaptcha.render("recaptcha",{callback:function(t){return document.getElementById("grecaptcha-input").value=t}})})}}}
7]).directive("smartSrc",function(){return{link:function(t,e,i){var n,o;n=null;var r=document.getElementById("preview-spinner");o=function(){r.style.display="block",e[0].style.display="none",n=new Image,n.src=i.smartSrc,n.onload=function(){r.style.display="none",e[0].src=i.smartSrc,e[0].style.display="block"}},t.$watch(function(){return i.smartSrc},function(t,e){e!==t&&o()})}}})},function(t,e){"use strict";function i(t){if(Array.isArray(t)){for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}return Array.from(t)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=angular.module("superdostavka.commonServices",[]).factory("feedbackManager",["$http","$window",function(t,e){var i={rating:{},feedbackRatingLength:null,saving:!1,feedbackRating:{},isPickup:!1,isPickupLock:!1,names:{},photos:{},comment:null,error:!1,success:!1,init:function(t){this.getFeedback(t)},getFeedback:function(e){t.get("/rapi/f/data/"+e).success(angular.bind(this,function(t){this.feedbackRating=t.feedbackRating,this.feedbackRatingLength=t.feedbackRatingLength,this.isPickup=t.isPickup,this.photos=t.photos,this.names=t.names,void 0!==t.error&&(this.error=t.error)}))},setRating:function(t,e){this.rating[t]=e},formDisabled:function(){var t=Object.keys(this.rating).length;return this.isPickup&&!this.isPickupLock&&(t-=1,this.feedbackRatingLength=this.feedbackRatingLength-1,this.isPickupLock=!0),this.feedbackRatingLength!==t},redirect:function(){e.location.href="/"},save:function(e){this.saving=!0,t.post("/rapi/f/save/"+e,{rating:this.rating,comment:this.comment}).success(angular.bind(this,function(t){t&&(this.success=!0),this.saving=!1})).error(angular.bind(this,function(t){this.saving=!1}))}};return i}]).factory("posManager",["$http","discountManager","$rootScope","resourceCache","city","modal","metrics","userManager","$timeout","sdanalytics",function(t,e,n,o,r,s,a,c,d,u){var l={positions:{},removedPositions:[],persons:0,sections:{},cart:{},isOperator:null,isPickup:!1,showFilters:{},cartFilters:{},searchStr:null,foundPositions:{},foundSections:{},order:{},orderId:null,errorPromocode:null,loadPromocode:!1,activeSection:null,positionsLoaded:!1,singlePositionId:0,operatorPage:!1,excludedAdditionPositions:[],excludedAdditionPositionsLength:0,cityId:null,source:null,promocode:null,recommend:!1,recommendations:{positions:[]},additionPositions:[],init:function(t,e,i){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=(!(arguments.length>4&&void 0!==arguments[4])||arguments[4],this.getPositions(t,e,i)),s=this.getSections(e);return this.operatorPage=o,Promise.all([r,s]).then(function(t,e){n.$broadcast("posManager.ready")})},getPositions:function(e,i,s){var a=this,c="/rapi/positions";e&&(c+="/"+e,this.orderId=e);var d={};if(i&&(this.isOperator=1,d.isOperator=1),!i)var u=o;return r&&void 0!==r.id?d.cityId=r.id:s&&(d.cityId=s),this.cityId=d.cityId,t.get(c,{cache:u,params:d}).then(function(t){if(a.positions={},t.data.sectionsWithPositions)for(var e in t.sectionsWithPositions)for(var i in t.sectionsWithPositions[e].positions)a.positions["position_"+t.sectionsWithPositions[e].positions[i].id]=t.sectionsWithPositions[e].positions[i];else a.positions=t.data.positions;for(var o in a.positions)a.positions[o].parent_id&&a.positions["position_"+a.positions[o].parent_id]&&(a.positions["position_"+a.positions[o].parent_id].has_mods=!0),a.positions[o].fixed_sum_in_order&&a.positions[o].fixed_sum_in_order>0&&(a.positions[o].quantity=a.positions[o].fixed_sum_in_order,a.positions[o].is_addition=!0);return n.$broadcast("cartChanged"),a.calculateCart(),a.recommend&&a.getRecommendations(d.cityId),a.getAdditions(d.cityId),a.positionsLoaded=!0,a.positions})},getPositionsBySlotTags:function(t){var e=[];for(var i in this.positions){var n=this.positions[i];if(n.slot_tags.length)for(var o in t)n.slot_tags.indexOf(t[o])&&e.push(n)}return e},getMods:function(t){var e=[],i=this.getPosition(t);for(var n in this.positions)void 0!==i.current_group_mod&&this.positions[n].group_modification_id!==i.current_group_mod||this.positions[n].parent_id===t&&e.push(this.positions[n]);return e},getInfo:function(t){return this.getActiveMod(t).info}
7,getPrice:function(t){return this.getActiveMod(t).price},getQuantity:function(t){return this.getActiveMod(t).quantity},getActiveMod:function(t){var e=this.getPosition(t);if(!e.has_mods)return e;var i=this.getMods(t);for(var n in i)if(n==e.active_mod)return i[n];return e},getSections:function(e){var i=this,n="/rapi/sections";return e&&(n+="?isOperator=1"),t.get(n).then(function(t){i.sections=t.data.sections;for(var e in i.sections){i.setSection(i.sections[e]);break}return i.calculateAdditionPositions(),i.sections})},getExcludedAdditionPositions:function(){var t=[];this.excludedAdditionPositionsLength=0;for(var e in this.excludedAdditionPositions){var i="position_"+this.excludedAdditionPositions[e];void 0===this.positions[i]||this.positions[i].start_position||(t.push(this.positions[i]),this.excludedAdditionPositionsLength++)}return t},findSinglePositionId:function(t,e){for(var i in t)if(1===t[i].type){for(var n in e)if(e[n].quantity&&e[n].section_id===t[i].id)return e[n].id;break}return null},setSinglePositionId:function(t){this.singlePositionId=t},setSection:function(t){this.activeSection=t,this.activeSectionId=t.id},setExcludedAdditionPositions:function(t){this.excludedAdditionPositions=t},setExcludedAdditionPositionId:function(t){this.excludedAdditionPositions.push(t)},getPosition:function(t){var e=this.positions["position_"+t];return e?e:{}},addItem:function(e,i,o,r,c,d,u){var h=void 0;if(h=o?this.getPosition(o):this.getActiveMod(e),!(h.quantity+i<0)&&(h.is_addition=r,!this.isLimit(h.id)||i<0)){h.quantity=1*h.quantity+i,h.id==this.singlePositionId&&0==h.quantity&&(this.singlePositionId=0),d&&(h.source=d),t.get("/cartApi/addItem/"+h.id+"/"+i,{params:{source:h.source,promocode:u}}).success(function(t){}),0==this.cart.count&&s.hide("cart");var f=l.sections["id"+h.section_id];f=void 0===f?"Неизвестно":f.name,a.addPosition(h,f,i),a.metricsEvent("position_quantity_changed"),n.$broadcast("cartChanged"),this.calculateCart();var p="";p=c?c:this.source}},addPositionExtrasGroup:function(t){try{var e=this.getPosition(t),i=Math.random().toString(36).slice(2,8);if(0===e.quantity&&(e.quantity=1),e.added_extras)Object.keys(e.added_extras).length>0&&(e.quantity+=1);else if(e.added_extras={},e.quantity>1){for(var n="",o=0;o<e.quantity;o++)n=Math.random().toString(36).slice(2,8),e.added_extras[n]=[];return n}return e.added_extras[i]=[],i}catch(t){alert("Ошибка при добавлении группы доп. позиций. Перезагрузите страницу и повторите действия. "+t.message)}},removePositionExtrasGroup:function(t,e){try{var i=this.getPosition(t);if(!i.added_extras[e])throw Error("Группа доп. позиций не найдена у позиции ID "+t);var n=i.added_extras[e];for(var o in n){var r=this.getPosition(n[o]);if(!r||!r.quantity)throw Error("Позиция добавки с ID "+n[o]+" не найдена в корзине");r.quantity-=1}if(delete i.added_extras[e],i.quantity-=1,0===Object.keys(i.added_extras).length&&delete i.added_extras,i.quantity<0)throw Error("Ошибка при удалении добавки ID "+i.id)}catch(t){alert("Ошибка при удалении группы доп. позиций. Перезагрузите страницу и повторите действия. "+t.message)}},checkPromocode:function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return i&&(this.loadPromocode=!0),""===e?(this.loadPromocode=!1,!1):void t.get("/rapi/checkPromocode/"+e).success(angular.bind(this,function(t){var o=this;t.success?this.selectedPromocode()||(this.loadPromocode=!1,this.addItem(t.position_id,1,null,null,null,null,e),i&&(n.addedPos=this.getPosition(t.position_id),s.show("showAddedBubble"),d(function(){s.hide("showAddedBubble")},2e3))):(this.loadPromocode=!1,this.errorPromocode=t.error,d(function(){o.errorPromocode=null},4e3))}))},selectedPromocode:function(){for(var t in this.positions)if(this.positions[t].quantity&&this.positions[t].has_promocode)return this.positions[t];return!1},clearPromocode:function(){for(var t in this.positions)this.positions[t].quantity&&this.positions[t].has_promocode&&this.addItem(this.positions[t].id,-1);this.promocode=null},removePositionsIfPickup:function(t){if(this.isPickup=t,t)for(var e in this.positions)this.positions[e].hide_if_pickup&&(this.removedPositions[e]=this.positions[e],this.positions[e].quantity=0);else for(var i in this.removedPositions)this.positions[i].quantity=this.removedPositions[i].fixed_sum_in_order,delete this.removedPositions[i]},removeAfterPriceLimit:function(t){var e=0,i=!1;for(var n in this.positions)this.positions[n].price_limit_to_remove&&this.positions[n].price_limit_to_remove>0&&this.positions[n].quantity>0&&(e+=this.positions[n].price);t-=e;for(var o in this.positions)this.positions[o].price_limit_to_remove&&this.positions[o].price_limit_to_remove>0&&(this.positions[o].price_limit_to_remove<=t?this.positions[o].quantity=0:(!this.isPickup||this.isPickup&&!this.positions[o].hide_if_pickup)&&(this.positions[o].quantity=this.positions[o].fixed_sum_in_order),i=!0);return i},isLimit:function(t){var e=this.positions["position_"+t];return!!(e&&e.limit&&1*e.quantity+1>e.limit)},delItem:function(e){var i=this.positions["position_"+e];i.quantity=0,t.get("/cartApi/deleteItem/"+i.id).success(angular.bind(this,function(t){this.calculateCart()})),n.$broadcast("cartChanged")},getRecommendations:function(e){var i=this;t.get("/smartapi/recommend/get_recommendation",{params:{city_id:e,cart:this.getCartIds(),sum:this.cart.total}}).success(function(t){i.recommendations=t,i.recommendations.positions=[],t.products.map(function(t){i.recommendations.positions.push(i.getPosition(t))})})},getAdditions:function(e){var i=this;
7t.get("/rapi/addition_positions/client_additions",{params:{cityId:e}}).success(function(t){i.additionPositions=t.additions})},addRecommended:function(e,i){var n={product_id:e,action:"add",cart_sum:this.cart.total,price:this.positions["position_"+e].price,quantity:i,model:this.recommendations.model,city_id:this.cityId,cart:this.getCartIds(),sess_id:this.recommendations.sess_id};l.addItem(e,i,null,null,"recommend","recommend|"+this.recommendations.model),t.post("/smartapi/recommend/log_action",n)},getCartIds:function(){return Object.values(this.positions).filter(function(t){return t.quantity>0}).map(function(t){return t.id})},getTotal:function(){var t=0;return angular.forEach(this.positions,function(e,i){e.quantity&&!e.is_addition&&(t+=e.quantity*e.price)}),t},calculateCart:function(){var t=0,e=0,i=0,n=0,o=0;angular.forEach(this.positions,function(r,s){if(r.quantity&&!r.is_addition){t+=1*r.quantity;var a=r.quantity*r.price;o+=a,e+=a}r.quantity&&r.is_addition&&(i+=1*r.quantity,n+=r.quantity*r.price)}),this.cart.count=t,this.cart.total=e,this.cart.addition_count=i,this.cart.addition_total=n,this.cart.totalNoDiscount=o},calculateAdditionPositions:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isOperator&&this.operatorPage){var n=[];for(var o in this.positions)!this.positions[o].is_addition||this.positions[o].is_promo||this.positions[o].start_position||(this.positions[o].quantity=0);for(var r in this.positions){this.positions[r].quantity&&!this.positions[r].is_addition&&!function(){var e=[];if(void 0!==t.sections["id"+t.positions[r].section_id]){var o=t.sections["id"+t.positions[r].section_id];e=o.additionPositions,void 0!==t.sections["id"+o.parent_id]&&(e=e.concat(t.sections["id"+o.parent_id].additionPositions))}var s=t.positions[r].additionPositions,a=[],c=[];if(s&&s.length&&(a=s.map(function(t){
8return c.push(t.addition_position_id),t})),e&&e.length){var d=e.filter(function(t){var e=t.addition_position_id;return!c.includes(e)});a=[].concat(i(a),i(d))}for(var u in a){var l=0,h=0,f=0,p=0,m=0;a[u].quantity&&(l=a[u].quantity*t.positions[r].quantity),a[u].max_quantity&&(f=a[u].max_quantity*t.positions[r].quantity),a[u].clients_quantity&&(h=a[u].clients_quantity*t.persons),void 0!==n[a[u].addition_position_id]&&(p=n[a[u].addition_position_id].quantity),void 0!==n[a[u].addition_position_id]&&(m=n[a[u].addition_position_id].maxQuantity),n[a[u].addition_position_id]={id:a[u].addition_position_id,quantity:p+l,clientsQuantity:h,maxQuantity:m+f}}}();var s=!1;this.positions[r].fixed_sum_in_order&&this.positions[r].fixed_sum_in_order>0&&this.positions[r].quantity<1&&(s=!0),s&&this.positions[r].hide_if_pickup&&e&&(s=!1),s&&this.addItem(this.positions[r].id,Math.ceil(this.positions[r].fixed_sum_in_order),!1,!0)}for(var a in n){var c=Math.ceil(n[a].quantity),d=Math.ceil(n[a].clientsQuantity),u=Math.ceil(n[a].maxQuantity);c=d>c?d:c,u&&c>u&&(c=u),this.isExcluded(n[a].id)||this.addItem(n[a].id,Math.ceil(c),!1,!0)}this.removePositionsIfPickup(e)}},filterStr:function(){var t=this.searchStr.toLowerCase(),e={},i={};for(var n in this.sections)i[this.sections[n].id]=!1;for(var n in this.positions){var o=this.positions[n].name.toLowerCase(),r=o.indexOf(t)>-1;e[this.positions[n].id]=r,r&&(i[this.positions[n].section_id]=!0)}this.foundPositions=e,this.foundSections=i},removeAdditionPosition:function(t){this.setExcludedAdditionPositionId(t),this.calculateAdditionPositions()},returnAdditionPosition:function(t){for(var e in this.excludedAdditionPositions)this.excludedAdditionPositions[e]===t&&this.excludedAdditionPositions.splice(e,1);this.calculateAdditionPositions()},isExcluded:function(t){for(var e in this.excludedAdditionPositions)if(this.excludedAdditionPositions[e]===t)return!0;return!1}};return l}]).factory("discountManager",["$http","$q",function(t,e){var i={discounts:[],fixedDiscounts:[],_configLoaded:!1,_loadPromise:null,loadConfig:function(){var i=e.defer();return this._configLoaded?(i.resolve(),i.promise):this._loadPromise?this._loadPromise:(this._loadPromise=i.promise,t.get("/rapi/getDiscounts").success(angular.bind(this,function(t){this.discounts=t.discounts,this.fixedDiscounts=t.fixedDiscounts,this._configLoaded=!0,i.resolve()})).error(angular.bind(this,function(){this._loadPromise=null,i.reject()})),this._loadPromise)}};return i.loadConfig(),i}]).factory("promocodeManager",["$http","discountManager",function(t,e){var i={promocode:null,promocodes:[],init:function(i){var n=this;e.loadConfig().then(function(){0!==parseInt(i)&&t.get("/rapi/getPromocode/"+i).success(function(t){n.promocode=t,null!==n.promocode&&"percent_discount"===n.promocode.action_type&&e.discounts.push({id:990,index:990,name:n.promocode.name,value:n.promocode.action_value})})})},getPromocodes:function(i,n,o,r){var s=this;return e.loadConfig().then(function(){return t.get("/rapi/getPromocodes/"+o,{params:{source:r,order_id:i,user_id:n}}).then(function(t){return s.promocodes=t.data,s.promocodes})})},clearPromocode:function(){this.promocode=null}};return i}]).factory("streetsManager",["$http","city",function(t,e){var i={streets:[],loadStreets:function(e){var i=this;return t.get("/rapi/getStreets",{params:{cityId:e}}).then(function(t){return i.streets=t.data.streets,i.streets})},search:function(t){var e=[],n=[],o=0;
8return i.streets.forEach(function(i){var r=(""+t).toLowerCase(),s=i.street.toLowerCase();o<20&&s.indexOf(r)>=0&&(s.match("^.*? "+r)?e.push(i):n.push(i),o++)}),e.concat(n)}};return e?i.loadStreets(e.id):i.loadStreets(),i}]).factory("orderManager",["$http","$timeout","posManager","discountManager","userManager","$rootScope","metrics","city","sdanalytics",function(t,e,i,n,o,r,s,a,c){var d={data:{address:{street:"",street_id:"",flat:"",building:""},address_id:null,date:{type:0},delivery_type:0,pay_type:0,discount:-1,confirm_type:0,confirm_send:!1,confirm_code:null,need_captcha:!1,confirmed:!1,contact_id:o.getMainContact().id,is_pickup:!1},cart:{},password:"",manualStreet:"",firstOrder:!1,email:"",emailSent:!1,completed:!1,showFullOrder:!0,city:a,currentDeliveryZone:null,addressRequired:!1,addressRequiredZone:!1,deliveryPredictionConfig:{enabled:!1},deliveryPrediction:{},deliveryPredictionTimer:null,activePredictionRequestId:null,positionStopListBlocked:!1,positionStopListMessage:"",positionStopListRequestKey:null,positionStopListAlertKey:null,init:function(){var t=this;o.getUser().then(function(e){var i=e.data.user;if(void 0!==i){var n=Object.keys(i.addresses),o=Object.keys(i.contacts);1===n.length&&(t.data.address_id=parseInt(n[0])),1===o.length&&(t.data.contact_id=parseInt(o[0]))}t.data.pay_type=t.getDefaultPayType(),null===t.data.pay_type&&setTimeout(function(){t.data.pay_type=t.getDefaultPayType(),r.$digest()},800)})},setDeliveryPredictionConfig:function(t){this.deliveryPredictionConfig=t||{enabled:!1}},isDeliveryPredictionEnabled:function(){return!(!this.deliveryPredictionConfig||!this.deliveryPredictionConfig.enabled)},clearDeliveryPrediction:function(){this.deliveryPrediction={},this.activePredictionRequestId=null},getPredictionPositions:function(){var t=[];return angular.forEach(i.positions,function(e){e.quantity&&t.push({id:e.id,quantity:e.quantity,price:e.price,is_addition:!!e.is_addition,is_promo:!!e.is_promo})}),t},clearPositionStopList:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.positionStopListBlocked=!1,this.positionStopListMessage="",t&&(this.positionStopListAlertKey=null)},showPositionStopListAlert:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e+"|"+t;(i||this.positionStopListAlertKey!==n)&&(this.positionStopListAlertKey=n,alert(t))},checkCurrentPositionStopList:function(){var t=this.data.is_pickup?this.data.workshop_id:this.currentDeliveryZone&&this.currentDeliveryZone.workshopId;this.checkPositionStopList(t)},checkPositionStopList:function(e){e=parseInt(e);var n=[];if(angular.forEach(i.positions,function(t){t.quantity&&t.id&&n.push(parseInt(t.id))}),n=n.filter(function(t){return t>0}).sort(function(t,e){return t-e}),!e||!n.length)return this.positionStopListRequestKey=null,void this.clearPositionStopList();var o=e+":"+n.join(",");this.positionStopListRequestKey=o,t.post("/rapi/checkPositionStopList",{workshop_id:e,position_ids:n}).then(angular.bind(this,function(t){if(this.positionStopListRequestKey===o)return t.data&&t.data.stopped?(this.positionStopListBlocked=!0,this.positionStopListMessage=t.data.message||"Позиции не доступны к заказу",void this.showPositionStopListAlert(this.positionStopListMessage,o)):void this.clearPositionStopList()}),angular.bind(this,function(t){this.positionStopListRequestKey===o&&(this.clearPositionStopList(400!==t.status),400===t.status&&this.showPositionStopListAlert("Не удалось передать цех или список позиций для проверки стоп-листа",o))}))},getActiveAddressForPrediction:function(){var t=null;return this.data.address_id?(t=angular.copy(o.getAddressById(this.data.address_id)||{}),t&&!t.coordinates&&this.currentDeliveryZone&&this.currentDeliveryZone.addressCoordinates&&(t.coordinates=this.currentDeliveryZone.addressCoordinates),t||{}):(t=angular.copy(this.data.address||{}),this.currentDeliveryZone&&this.currentDeliveryZone.addressCoordinates&&!t.coordinates&&(t.coordinates=this.currentDeliveryZone.addressCoordinates),t)},hasAddressForPrediction:function(t){return!!t&&!!(t.id||t.address_id||t.coordinates||t.street_id||t.kladr_id||""!==(""+(t.street||"")).trim()&&""!==(""+(t.building||"")).trim())},normalizePredictionCoordinates:function(t){return t?angular.isString(t)?""!==t.trim()?t.trim():null:angular.isArray(t)&&t.length>=2?[t[0],t[1]]:angular.isObject(t)&&void 0!==t.lat&&void 0!==t.lng?[t.lat,t.lng]:null:null},normalizePredictionNumber:function(t){if(null===t||void 0===t||""===t)return null;var e=parseFloat(t);return isNaN(e)?null:e},buildPredictionAddressPayload:function(t){if(!t)return null;
8var e={id:t.id||null,flat:t.flat||"",entrance:t.entrance||"",floor:t.floor||"",comment:t.comment||"",street_id:t.street_id||null,kladr_id:t.kladr_id||null,locality_id:t.locality_id||null,street:t.street||"",building:t.building||"",locality:t.locality||"",region:t.region||"",delivery_zone_id:t.delivery_zone_id||null,coordinates:this.normalizePredictionCoordinates(t.coordinates)};return this.hasAddressForPrediction(e)?e:null},buildDeliveryPredictionPayload:function(){var t=Date.now(),e="site-dp-"+t+"-"+Math.random().toString(16).slice(2),i=this.data.id?this.data.id+"":"site-draft-"+t+"-"+Math.random().toString(16).slice(2),n=cityManager.getActiveCity(),o=this.getActiveAddressForPrediction(),r=this.buildPredictionAddressPayload(o),s=this.normalizePredictionNumber(this.cart.totalNoDiscount);null===s&&(s=this.normalizePredictionNumber(this.data.sum_no_discount));var a=this.normalizePredictionNumber(this.cart.total);null===a&&(a=this.normalizePredictionNumber(this.data.sum));var c={id:this.data.id||null,user_id:this.data.user_id||null,address_id:this.data.address_id||null,city_id:n&&n.id||this.data.city_id||null,workshop_id:this.data.workshop_id||null,delivery_zone_id:this.data.delivery_zone_id||null,is_pickup:parseInt(this.data.is_pickup||0),delivery_type:parseInt(this.data.delivery_type||0),source:this.data.source||"site",source_type:this.data.source_type||"web",confirm_type:this.data.confirm_type||0,comment:this.data.comment||"",utc_timestamp:this.data.utc_timestamp||null,sum_no_discount:s,sum:a,positions:this.getPredictionPositions(),giftPositions:[]};return n&&n.id&&(c.city_id=n.id),this.currentDeliveryZone&&(this.currentDeliveryZone.zoneId&&(c.delivery_zone_id=this.currentDeliveryZone.zoneId),this.currentDeliveryZone.workshopId&&(c.workshop_id=this.currentDeliveryZone.workshopId)),r&&(c.address=r),{requestId:e,orderExternalId:i,order:c}},applyDeliveryPrediction:function(t){this.deliveryPrediction={requestId:t.request_id||null,predictionSource:t.prediction_source||null,predictedTotalMinutes:t.predicted_total_minutes||null,predictedCookMinutes:t.predicted_cook_minutes||null,predictedDeliveryMinutes:t.predicted_delivery_minutes||null,missingFeatures:t.missing_features||[]},angular.isNumber(t.predicted_cook_minutes)&&(this.data.cook_time=Math.max(0,Math.round(t.predicted_cook_minutes))),angular.isNumber(t.predicted_delivery_minutes)&&(this.data.making_time=Math.max(0,Math.round(t.predicted_delivery_minutes)))},getDeliveryPredictionWindow:function(){if(!this.deliveryPrediction||!angular.isNumber(this.deliveryPrediction.predictedTotalMinutes))return null;var t=Math.max(0,Math.round(this.deliveryPrediction.predictedTotalMinutes)),e=Math.max(0,t-5),i=Math.max(e,t+10);return{from:e,to:i}},getDeliveryPredictionWindowText:function(){var t=this.getDeliveryPredictionWindow();return t?t.from+"-"+t.to+" мин.":""},requestDeliveryPrediction:function(){if(this.isDeliveryPredictionEnabled()){if(this.data.is_pickup||0!=this.data.delivery_type||!this.currentDeliveryZone||!this.currentDeliveryZone.workshopId)return void this.clearDeliveryPrediction();var e=this.buildDeliveryPredictionPayload();this.activePredictionRequestId=e.requestId,t.post("/rapi/predictSiteDeliveryTime",e).then(angular.bind(this,function(t){this.activePredictionRequestId===e.requestId&&t.data&&this.applyDeliveryPrediction(t.data)}),angular.bind(this,function(){this.activePredictionRequestId===e.requestId&&this.clearDeliveryPrediction()}))}},scheduleDeliveryPrediction:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.deliveryPredictionTimer&&(e.cancel(this.deliveryPredictionTimer),this.deliveryPredictionTimer=null),this.isDeliveryPredictionEnabled())return t?void this.requestDeliveryPrediction():void(this.deliveryPredictionTimer=e(angular.bind(this,function(){this.deliveryPredictionTimer=null,this.requestDeliveryPrediction()}),500))},setCurrentDeliveryZone:function(t){t?(this.currentDeliveryZone=t,t.zoneId&&(this.data.delivery_zone_id=t.zoneId),t.workshopId&&(this.data.workshop_id=t.workshopId),t.addressCoordinates&&(this.data.address.coordinates=t.addressCoordinates)):(this.currentDeliveryZone=null,this.data.delivery_zone_id=null,this.data.workshop_id=null,this.clearPositionStopList(),this.clearDeliveryPrediction()),this.calculateTotal(),this.scheduleDeliveryPrediction(!0)},makeOrder:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.saving=!0,this.errors=[],this.positionStopListBlocked)return this.saving=!1,this.showPositionStopListAlert(this.positionStopListMessage||"Позиции не доступны к заказу",this.positionStopListRequestKe
8y,!0),!1;if("undefined"!=typeof grecaptcha&&(this.data.grecaptcha_token=grecaptcha.getResponse()),a&&(this.data.city_id=a.id),e&&(this.data.source=e),!this.addressRequired&&"1"!==this.data.confirm_type||this.data.address_id||this.data.is_pickup||(this.data.address.street||this.data.address.street_id||this.errors.push("Введите улицу"),this.data.address.building||this.errors.push("Введите здание")),this.addressRequiredZone&&!this.data.is_pickup){var n=!!this.data.address_id||(this.data.address.street||this.data.address.street_id)&&this.data.address.building;n&&!this.currentDeliveryZone&&this.errors.push("Адрес не попадает в зону доставки")}if("1"===this.data.confirm_type&&(this.data.contact&&this.data.contact.phone||this.data.contact_id||this.errors.push("Введите телефон"),this.data.is_pickup&&!this.data.workshop_id&&this.errors.push("Выберите адрес самовывоза"),this.data.contact&&this.data.contact.name||this.data.contact_id||this.errors.push("Введите имя"),this.data.persons||this.errors.push("Введите кол-во персон"),this.data.cash_paid||0!=this.data.pay_type||this.errors.push("Введите купюру")),this.errors.length>0)return this.saving=!1,!1;if("1"===this.data.confirm_type&&!this.data.confirmed&&!o.user.username){if(this.errors=[],this.data.confirm_send)return t.get("/rapi/confirmOrder/"+this.data.confirm_code).success(angular.bind(this,function(t){return this.saving=!1,t.success?(this.data.confirmed=!0,this.makeOrder()):void(this.errors=["Введен неверный код"])})),!0;if(void 0!==this.data.contact&&""!==this.data.contact.phone){var r="/rapi/sendConfirmOrder?phone="+this.data.contact.phone,c={headers:{cp:document.getElementById("grecaptcha-input-2").value}};return t.get(r,c).success(angular.bind(this,function(t){this.saving=!1,this.data.confirm_send=t.success,this.data.need_captcha=!t.success,this.data.need_captcha&&(this.errors=["Введите капчу"],grecaptcha.reset(captchaWidget["recaptcha-2"]))})),!0}return this.saving=!1,this.errors=["Введите телефон"],!1}if(void 0===this.data.date.day||this.data.date.day){var d=$("#datepicker").val();void 0!==d&&(this.data.date.day=d)}var u=i.selectedPromocode();u&&void 0!==u.promocode&&(this.data.promocode=u.promocode),t.post("/rapi/makeOrder",{order:this.data}).success(angular.bind(this,function(e){this.saving=!1;for(var n in i.positions){var r=i.positions[n];if(r.quantity>0&&r.source&&r.source.startsWith("recommend|")){var a={product_id:r.id,action:"order",cart_sum:this.cart.total,order_id:e.number,price:r.price,quantity:r.quantity,model:r.source.split("|")[1],city_id:i.cityId,cart:i.getCartIds(),sess_id:i.recommendations.sess_id};t.post("/smartapi/recommend/log_action",a)}}if(e.success&&e.number){if(this.pushDataLayer(e.number),e.redirect)return void(window.location.href=e.redirect);"undefined"!=typeof ga&&ga("send","pageview","/order_completed"),s.metricsEvent("order_completed"),this.completed=!0,this.orderId=e.number,this.firstOrder=e.new_order,this.password=e.password,this.firstOrder&&"undefined"==typeof notAutoLogin&&(o.loginForm._username=this.data.contact.phone,o.loginForm._password=this.password,o.login()),$("html, body").animate({scrollTop:0},"slow")}else"undefined"!=typeof grecaptcha&&grecaptcha.reset(),e.errors&&Object.keys(e.errors).length>0?this.errors=e.errors:this.errors=["Sorry, undefined error"]})).error(angular.bind(this,function(t){this.saving=!1}))},checkMinDeliveryPrice:function(){return!(""!==this.city.minDeliveryPrice&&!this.data.is_pickup&&this.getTotal()<this.city.minDeliveryPrice)},cloudPaymentProvider:function(t){t=JSON.parse(t);var e=new cp.CloudPayments;e.auth({publicId:t.public_id,description:"Оплата заказа №"+t.order_id,amount:t.amount,currency:t.currency,invoiceId:t.order_id,skin:"modern"},function(e){window.location="/payment/"+t.token},function(e,i){window.location="/payment/"+t.token})},completeOrder:function(t,e){this.pushDataLayer(data.number),void 0===t?o.loginForm._username=this.data.contact.phone:o.loginForm._username=t,void 0===t?o.loginForm._password=this.password:o.loginForm._password=e,o.login()},pushDataLayer:function(t){if("undefined"==typeof dataLayer)return!1;var e=[],n=[];for(var o in i.positions){var r=i.positions[o];0!=r.quantity&&(e.push({id:t,sku:r.id,name:r.name,category:void 0!==i.sections["id"+r.section_id]?i.sections["id"+r.section_id].name:"-",price:r.price,quantity:r.quantity}),n.push({id:r.id,name:r.name,price:r.price,category:void 0!==i.sections["id"+r.section_id]?i.sections["id"+r.section_id].name:"-",quantity:r.quantity}))}dataLayer.push({transactionId:t,transactionAffiliation:"",transactionTotal:this.getTotal(),transactionTax:"0.00",transactionShipping:"0.00",transactionProducts:e,event:"trackTrans"});var s;"undefined"!=typeof yandexGoalId&&(s=yandexGoalId),dataLayer.push({ecommerce:{purchase:{actionField:{id:t,goal_id:s,revenue:this.getTotal()},products:n}}})},makePickupDiscount:function(){this.data.is_pickup?this.makeDiscount(1):this.makeDiscount(-1),i.removePositionsIfPickup(this.data.is_pickup),this.calculateTotal()},makeDiscount:function(t){this.discount=null,this.data.discount_id=null,n.discounts[t]&&!n.discounts[t].disabled&&(this.discount=n.discounts[t],this.data.discount_id=t),this.calculateTotal()},calculateDeliverySum:function(t){var e=0;return this.currentDeliveryZone&&0==this.data.is_pickup&&this.currentDeliveryZone.deliveryConfig.forEach(function(i){parseFloat(t)>=parseFloat(i.sum)&&(e=parseFloat(i.price))}),e},calculateTotal:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=0,n=0,o=0,r=0,s=0,a=0,c=0;if(this.data.discount_id&&this.data.discount_id!=-1&&!this.discount&&this.makeDiscount(this.data.discount_id),this.discount&&(s=parseFloat(this.discount.value)||0),angular.forEach(i.positions,function(t){a>0||t.quantity&&1===t.action_type&&t.action_value>0&&(a=parseFloat(t.action_value)||0)}),c=a>0&&a>=s?a:s,angular.forEach(i.positions,function(t,i){if(t.quantity){e+=1*t.quantity;var s=t.quantity*t.price;o+=s,t.is_discount&&c&&(s-=s*c/100),t.is_discount&&(r+=s),t.total=s,n+=s}}),this.data.is_pickup)this.cart.minSum=0,this.cart.deliverySum=0,this.errors=[];else{this.errors=[],this.currentDeliveryZone&&this.currentDeliveryZone.minSum&&n<this.currentDeliveryZone.minSum&&(this.errors=["Минимальная сумма заказа "+this.currentDeliveryZone.minSum+" руб."]);var d=this.calculateDeliverySum(n);n+=d,this.cart.deliverySum=d,this.cart.minSum=this.currentDeliveryZone?this.currentDeliveryZone.minSum:0}return this.cart.count=e,this.cart.total=n,this.cart.totalNoDiscount=o,this.cart.totalForBonu
8ses=r,i.removeAfterPriceLimit(n)&&!t?void this.calculateTotal(!0):void this.scheduleDeliveryPrediction()},getTotal:function(){return this.cart.total},getTotalNoDiscount:function(){return this.cart.totalNoDiscount},getBonuses:function(){var t=5;if(o.user&&o.user.bonus_percent)var t=o.user.bonus_percent;return this.cart.totalForBonuses*t/100},sendEmail:function(e,i){void 0===e&&(e=this.data.contact.phone),void 0===i&&(i=this.password),t.post("/rapi/sendUserPasswordEmail",{email:this.email,password:this.password,phone:this.data.contact.phone}).success(angular.bind(this,function(t){this.emailSaving=!1,t.errors?this.emailErrors=t.errors:(this.emailSent=!0,s.metricsEvent("registration_email_sent"))})).error(angular.bind(this,function(t){this.emailSaving=!1}))},setAddressId:function(t){var e=this;return t.then(function(t){e.data.address_id=t.data.id}),t},setContactId:function(t){var e=this;return t.then(function(t){e.data.contact_id=t.data.id}),t},getDefaultPayType:function(){for(var t=document.getElementsByName("pay"),e=0;e<t.length;e++)return t[e].value;return null},isHourAvailableForExactlyOrder:function(t,e){var i=(new Date).toISOString().split("T")[0];if(this.data.date.day!==i)return!0;var n=(new Date).setMinutes(e),o=(new Date).setHours(t);return o>n},isMinuteAvailableForExactlyOrder:function(t,e,i){var n=(new Date).toISOString().split("T")[0];if(this.data.date.day!==n||!e)return!0;var o=(new Date).setMinutes(i),r=new Date;r.setHours(e);var s=r.setMinutes(t);return s>o},addressChanged:function(){var t=a.name;t+this.data.address.street+" "+this.data.address.building+" "+this.data.address.flat}};return r.$on("cartChanged",function(){d.calculateTotal(),d.checkCurrentPositionStopList()}),r.$on("posManager.ready",function(){i.setSinglePositionId(i.findSinglePositionId(i.sections,i.positions))}),d}]).factory("modal",["$animate","metrics",function(t,e){var i={modals:{},isVisible:function(t){return this.isActive(t)},isActive:function(t){return!!this.modals[t]&&this.modals[t].show},toggle:function(t,i){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(i=void 0===(void 0===i?"undefined":n(i))||i,this.modals[t]){var r=this.modals[t].show;if(i&&this.hideAll(),void 0!==this.modals[t].el[0]&&document.body.clientWidth>900){var s=this.modals[t].el[0].getElementsByClassName("modalTitleHeader"),a=this.modals[t].el[0].querySelectorAll(".modalTitle, .delivery__caption, .bonus-line-content-modal-top-info-caption, .promo-steps__caption");void 0!==s[0]&&void 0!==a[0]&&(s[0].innerHTML=a[0].textContent,a[0].remove())}r?(this.modals[t].show=!1,o&&$("body").removeClass("hidden")):(e.modalShowEvent(t),this.modals[t].show=!0,o&&$("body").addClass("hidden")),this.animate(this.modals[t])}},show:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1],this.modals[t]&&(this.modals[t].show=!0,this.animate(this.modals[t]))},hide:function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1],$("body").removeClass("hidden"),this.modals[e]&&(this.modals[e].show=!1,this.animate(this.modals[e]),t.addClass(this.modals[e].el,"ng-hide"))},hideAll:function(){for(var t in this.modals)this.modals[t].show=!1,this.animate(this.modals[t])},setNew:function(t,e,i){this.modals[t]={el:e,addClass:i}},animate:function(e){e.show?t.removeClass(e.el,"ng-hide"):t.addClass(e.el,"ng-hide")},isAnyModalVisible:function(){for(var t in this.modals)if(this.modals[t].show)return!0;return!1}};return i}]).factory("csrfManager",["$http",function(t){var e={tokens:{},getToken:function(e){t.get("/rapi/getCsrf/"+e).success(angular.bind(this,function(t){this.tokens[e]=t.token}))}};return e.getToken("authenticate"),e}]).factory("userManager",["$http","csrfManager","metrics",function(t,e,i){var n={user:{username:null,orderSumPercent:null,birthdaySend:!1,sourceName:null,birthdaySeparated:null},collectEmailVars:{name:null,email:null,submited:!1,errorExist:!1,processing:!1,success:!1},birthdayRanges:null,loginForm:{recaptcha:null},restoreForm:{},userForm:{},newContact:{},newAddress:{},userPromise:null,isCaptchaNeeded:!1,templateSmsSending:!1,savingUserGroups:!1,clientGroupsVariants:null,logs:[],login:function(){var n=this;if(!document.getElementById("recaptcha-wrapper").classList.contains("ng-hide")&&!document.getElementById("grecaptcha-input").value)return Promise.resolve(!1);this.loginErrors=null,this.loginProcessing=!0;var o=t.post("/login_check",{_username:this.loginForm._username,_password:this.loginForm._password,_csrf_token:e.tokens.authenticate,"g-recaptcha-response":document.getElementById("grecaptcha-input").value},{headers:{"X-Requested-with":"XMLHttpRequest"}});return o.then(function(t){return n.loginProcessing=!1,document.getElementById("grecaptcha-input").value="",grecaptcha.reset(),t.data.isCaptchaNeeded&&(n.isCaptchaNeeded=t.data.isCaptchaNeeded),t.data.errors.length?(e.getToken("authenticate"),n.loginErrors=!0,!1):(n.getUser(),i.metricsEvent("logged_in"),!0)},function(t){return n.loginProcessing=!1,n.loginErrors=!0,document.getElementById("grecaptcha-input").value="",grecaptcha.reset(),!1}),o},restorePassword:function(e){this.restoreError=!1,this.restoreProcessing=!0,t.post("/rapi/reset/"+this.restoreForm.phone,{},{headers:{"X-Requested-with":"XMLHttpRequest"}}).success(angular.bind(this,function(t){this.restoreProcessing=!1,t.success?(this.restoreComplete=!0,e&&e()):t.error&&(this.restoreError=t.error)}))},logout:function(){t.get("/logout").success(function(t){this.user={}})},getUser:function(e){var i="/rapi/getUser";return e&&(i+="/"+e),this.userPromise=t.get(i),this.userPromise.then(angular.bind(this,function(t){if(this.init=!0,t.data.user&&(this.user=t.data.user,t.data.user.clientGroupsVariants&&(this.clientGroupsVariants=t.data.user.clientGroupsVariants)),this.user.username)for(var e in this.user.contacts)this.user.contacts[e].phone==this.user.username&&(this.user.mainContact=this.user.contacts[e]);if(this.calculateCashbackPercent(),this.user.birthday){this.user.birthdaySend=!0;var i=this.user.birthday.split("-");this.user.birthdaySeparated={year:i[0],month:i[1],day:i[2]}}this.user.loaded=!0})),this.userPromise},saveUser:function(){return this.user.saving=!0,this.userSavePromise=t.post("/rapi/saveUser",this.userForm),this.userSavePromise.then(angular.bind(this,function(t){this.user.saving=!1,t.data.id||(this.userForm.errors=t.errors)})),this.userSavePromise},calculateCashbackPercent:function(){if(this.user&&void 0!==this.user.bonusLevels){var t=20;if(this.user.maxLevelMoney=t/100*this.user.maxLevelMoney+this.user.maxLevelMoney,void 0===this.user.bonusLevels)return!1;if(this.user.bonusLevels.push({percent:t,MoneyLimitFrom:this.user.maxLevelMoney,last:!0}),this.user.orderSumPercent=this.user.ordersSum>0?this.user.ordersSum/this.user.maxLevelMoney*100:0,this.user.bonusLevels&&this.user.bonusLevels.length>0){var e=this;
8this.user.bonusLevels.forEach(function(t,i,n){var o=0;n[i+1]&&(o=(n[i+1].MoneyLimitFrom-t.MoneyLimitFrom)/e.user.maxLevelMoney*100),e.user.bonusLevels[i].percent=o})}}},sendTemplateSms:function(e,i,n){this.templateSmsSending=!0,t.get("/rapi/sendTemplateSms/"+e+"/"+i+"/"+n).success(angular.bind(this,function(t){this.templateSmsSending=!1,this.getUser(e),angular.element("#closeSmsModal").trigger("click")}))},getContacts:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=Object.values(this.user.contacts);return t===!0&&(e=e.filter(function(t){return t.is_main})),t===!1&&(e=e.filter(function(t){return!t.is_main})),e},getMainContact:function(){if(!this.user||!this.user.contacts)return{};for(var t in this.user.contacts)if(this.user.contacts[t].phone==this.user.phone)return this.user.contacts[t];for(var t in this.user.contacts)return this.user.contacts[t];return{}},saveComment:function(){""!==this.user.comment&&(this.user.comment_saving=!0,t.post("/rapi/saveUserComment/"+this.user.id,{comment:this.user.comment}).success(angular.bind(this,function(t){this.user.comments.unshift(t.comment),this.user.comment="",this.user.comment_saving=!1})))},saveUserGroups:function(){this.savingUserGroups=!0,t.post("/rapi/saveUserGroups/"+this.user.id,{groups:this.user.clientGroups}).success(angular.bind(this,function(t){this.savingUserGroups=!1}))},pinComment:function(e,i){var n=i?1:0;t.get("/rapi/pinUserComment/"+e+"/"+n).success(angular.bind(this,function(t){}))},getLogs:function(e){t.get("/rapi/getUserLogs/"+e).success(angular.bind(this,function(t){this.logs=t}))},calculateDeliverySum:function(t){var e=0;return this.currentDeliveryZone&&0==this.order.is_pickup&&this.currentDeliveryZone.deliveryConfig.forEach(function(i){parseFloat(t)>=parseFloat(i.sum)&&(e=parseFloat(i.price))}),e},notCall:function e(){this.user.comment_saving=!0;var e=this.user.notCall?1:0;t.get("/rapi/notCall/"+this.user.id+"/"+e).success(angular.bind(this,function(t){this.user.comment_saving=!1}))},saveAddress:function(e){e.saving=!0;var i={address:{street:e.street,street_id:e.street_id,locality:e.locality,locality_id:e.locality_id,kladr_id:e.kladr_id,building:e.building,building_short_name:e.building_short_name,flat:e.flat,entrance:e.entrance,floor:e.floor,comment:e.comment,city_id:e.city_id}};t.post("/rapi/editAddress/"+e.id,i).success(angular.bind(e,function(t){t.errors?e.errors=t.errors:(e.errors={},e.edit=!1),e.saving=!1})).error(angular.bind(e,function(){e.saving=!1}))},createAddress:function(){this.newAddress.saving=!0;var e=t.post("/rapi/newAddress/"+this.user.id,{address:this.newAddress});return e.then(angular.bind(this,function(t){this.newAddress.saving=!1,t.data.errors?(this.newAddress.errors=t.data.errors,alert(t.data.errors[0])):(this.newAddress.id=t.data.id,0==this.user.addresses.length&&(this.user.addresses={}),this.user.addresses[t.data.id]={id:t.data.id,locality:this.newAddress.locality,street:this.newAddress.street,street_id:this.newAddress.street_id,building:this.newAddress.building,building_short_name:this.newAddress.building_short_name,flat:this.newAddress.flat,entrance:this.newAddress.entrance,floor:this.newAddress.floor,comment:this.newAddress.comment},this.newAddress={})})),e},saveContact:function(e,i){e.saving=!0,t.post("/rapi/editContact/"+e.id,{contact:e}).success(function(t){t.errors?e.errors=t.errors:(e.errors={},e.edit=!1,i&&i()),e.saving=!1}).error(function(){e.saving=!1})},createContact:function(){this.newContact.saving=!0;var e=t.post("/rapi/newContact/"+this.user.id,{contact:this.newContact});return e.then(angular.bind(this,function(t){this.newContact.saving=!1,t.data.errors?this.newContact.errors=t.data.errors:(this.user.contacts[t.data.id]={id:t.data.id,name:this.newContact.name,phone:this.newContact.phone},this.newContact={})})),e},deleteContact:function(e){if(confirm("Удалить контакт?")){this.user.contacts[e].saving=!0;var i=t.get("/rapi/deleteContact/"+e);return i.then(angular.bind(this,function(t){delete this.user.contacts[e]})),i}},deleteAddress:function(e){this.user.addresses[e].saving=!0;var i=t.get("/rapi/deleteAddress/"+e);return i.then(angular.bind(this,function(t){delete this.user.addresses[e]})),i},selectStreet:function(t){t&&(this.$parent.address.locality=t.originalObject.locality,this.$parent.address.locality_id=t.originalObject.locality_id,this.$parent.address.street_id=t.originalObject.id,this.$parent.address.street=t.originalObject.street)},selectNewStreet:function(t){n.newAddress.locality=t.originalObject.locality,n.newAddress.street_id=t.originalObject.id,n.newAddress.street=t.originalObject.street},getAddressById:function(t){return!(!this.user||!this.user.addresses)&&this.user.addresses[t]},getGeneratedBirthdayRanges:function(){var t=function(t,e){return Array(e).fill(t).map(function(t,e){var i=t+e;return(i<10?(i+"").padStart(2,"0"):i)+""})};return this.birthdayRanges||(this.birthdayRanges={years:t(moment().format("YYYY")-80,81),months:t(1,12),days:t(1,31)}),this.birthdayRanges},setBirthday:function(){var e=this,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i=i!==!1?i:this.user.id,n=n!==!1?n:this.user.birthdaySeparated?this.user.birthdaySeparated.year+"-"+this.user.birthdaySeparated.month+"-"+this.user.birthdaySeparated.day:this.user.birthday,n&&!isNaN(Date.parse(n))&&n.match(/\d{4}-\d{2}-\d{2}/)?t.get("/rapi/setBirthday/"+i+"/"+n,{}).success(function(t){e.user.birthday=n,e.user.birthdaySend=!0,alert("День рождения сохранен! Дата: "+n)}):void alert("Проверьте, что вы полностью указали дату рождения!")},setEmail:function(){var e=this,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i=i!==!1?i:this.user.id,n=n===!1&&this.user.email?this.user.email:n,t.get("/rapi/setEmail/"+i,{params:{email:n}}).then(function(t){t.data.success&&(e.user.email=n),alert(t.data.message)})},saveSource:function(){t.get("/rapi/saveSource/"+this.user.id+"/"+this.user.sourceName,{}).success(function(t){});
9},collectEmail:function(e){this.collectEmailVars.submited=!0,e.$valid&&(this.collectEmailVars.processing=!0,t.get("/rapi/collectEmail",{params:{name:this.collectEmailVars.name,email:this.collectEmailVars.email}}).success(function(t){n.collectEmailVars.processing=!1,t.errors.length?n.collectEmailVars.errorExist=!0:n.collectEmailVars.success=!0}))},restoreClient:function(){t.get("/admin/user/enableClient/"+this.user.id).success(function(t){n.user.isEnabled=!0})}};return n}]).factory("resourceCache",["$cacheFactory",function(t){return t("resourceCache")}]).factory("metrics",["$http",function(t){var e={modalEvents:{cart:{name:"cart_opened",category:"cart",action:"open",parameters:{label:"Cart opened"}},giftPositions:{name:"gift_opened_main",category:"gift_list_main",action:"open",parameters:{label:"Gift modal main"}},giftPositionsOrder:{name:"gift_opened_order",category:"gift_choose_window",action:"open",parameters:{label:"Gift modal order"}}}
9,addPosition:function(t,e,i){this.addYandexPosition(t),this.addGooglePosition(t),this.metricsEvent("position_added")},addYandexPosition:function(t,e,i){return"undefined"!=typeof dataLayer&&void dataLayer.push({ecommerce:{add:{products:[{id:t.id,name:t.name,price:t.price,category:e,quantity:i}]}}})},addGooglePosition:function(t,e,i){"undefined"!=typeof ga&&ga("ec:addProduct",{id:t.id,name:t.name,category:e,price:t.price,quantity:2})},metricsEvent:function(t){this.googleEvent(t),this.reachYandexGoal(t),this.facebookPixel(t)},googleEvent:function(t){"undefined"!=typeof ga&&ga("send",{hitType:"event",eventLabel:t})},facebookPixel:function(t){"undefined"!=typeof fbq&&fbq("track",t)},reachYandexGoal:function(t){var e=this.getYandexCounter();e&&"function"==typeof e.reachGoal&&e.reachGoal(t)},getYandexCounter:function(){if(!this.yandexCounter){this.yandexCounter=!1;var t=Object.keys(window);for(var e in t)t[e].indexOf("yaCounter")!=-1&&t[e].indexOf("_yaCounter")==-1&&(this.yandexCounter=window[t[e]])}return this.yandexCounter},modalShowEvent:function(t){if(this.modalEvents[t]){var e=this.modalEvents[t];this.metricsEvent(e.name)}},getConfig:function(){var e=this;return this.config?new Promise(function(t,i){t(e.config)}):t.get("/rapi/metricsConfig").then(function(t){return e.config})}};return e}]).factory("sdanalytics",["$http",function(t){return{logPage:function(e,i,n){var o="undefined"!=typeof smartconfig&&smartconfig.analytics.enabled;if(o){if("loading"!=document.readyState){var r=window.performance.timing.domContentLoadedEventEnd-window.performance.timing.navigationStart,s=n();return t.post("/smartapi/analytics/log_page",{page:e,app:"site",load_time:r,path:window.location.pathname,city_id:i,parameters:s})}document.addEventListener("DOMContentLoaded",function(){var o=window.performance.timing.domContentLoadedEventEnd-window.performance.timing.navigationStart,r=n();return t.post("/smartapi/analytics/log_page",{page:e,app:"site",load_time:o,path:window.location.pathname,city_id:i,parameters:r})})}},logAction:function(e,i,n,o){var r=this,s="undefined"!=typeof smartconfig&&smartconfig.analytics.enabled;if(s)return t.post("/smartapi/analytics/log_action",{name:e,app:"site",source:i,parameters:o,city_id:n}).then(function(t){return r.config})}}}])},function(t,e){"use strict";angular.module("ngLocale",[],["$provide",function(t){function e(t){t+="";var e=t.indexOf(".");return e==-1?0:t.length-e-1}function i(t,i){var n=i;void 0===n&&(n=Math.min(e(t),3));var o=Math.pow(10,n),r=(t*o|0)%o;return{v:n,f:r}}var n={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};t.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],MONTH:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],SHORTDAY:["вс","пн","вт","ср","чт","пт","сб"],SHORTMONTH:["янв.","февр.","марта","апр.","мая","июня","июля","авг.","сент.","окт.","нояб.","дек."],fullDate:"EEEE, d MMMM y 'г'.",longDate:"d MMMM y 'г'.",medium:"d MMM y 'г'. H:mm:ss",mediumDate:"d MMM y 'г'.",mediumTime:"H:mm:ss",short:"dd.MM.yy H:mm",shortDate:"dd.MM.yy",shortTime:"H:mm"},NUMBER_FORMATS:{CURRENCY_SYM:"руб.",DECIMAL_SEP:",",GROUP_SEP:" ",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-",negSuf:" ¤",posPre:"",posSuf:" ¤"}]},id:"ru",pluralCat:function(t,e){var o=0|t,r=i(t,e);return 0==r.v&&o%10==1&&o%100!=11?n.ONE:0==r.v&&o%10>=2&&o%10<=4&&(o%100<12||o%100>14)?n.FEW:0==r.v&&o%10==0||0==r.v&&o%10>=5&&o%10<=9||0==r.v&&o%100>=11&&o%100<=14?n.MANY:n.OTHER}})}])},,,,function(t,e){angular.module("ui.keypress",[]).factory("keypressHelper",["$parse",function(t){"use strict";var e={8:"backspace",9:"tab",13:"enter",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete"},i=function(t){return t.charAt(0).toUpperCase()+t.slice(1)};return function(n,o,r,s){var a,c=[];a=o.$eval(s["ui"+i(n)]),angular.forEach(a,function(e,i){var n,o;o=t(e),angular.forEach(i.split(" "),function(t){n={expression:o,keys:{}},angular.forEach(t.split("-"),function(t){n.keys[t]=!0}),c.push(n)})}),r.bind(n,function(t){var i=!(!t.metaKey||t.ctrlKey),r=!!t.altKey,s=!!t.ctrlKey,a=!!t.shiftKey,d=t.keyCode;"keypress"===n&&!a&&d>=97&&d<=122&&(d-=32),angular.forEach(c,function(n){var c=n.keys[e[d]]||n.keys[""+d],u=!!n.keys.meta,l=!!n.keys.alt,h=!!n.keys.ctrl,f=!!n.keys.shift;c&&u===i&&l===r&&h===s&&f===a&&o.$apply(function(){n.expression(o,{$event:t})})})})}}]),angular.module("ui.keypress").directive("uiKeydown",["keypressHelper",function(t){"use strict";
9return{link:function(e,i,n){t("keydown",e,i,n)}}}]),angular.module("ui.keypress").directive("uiKeypress",["keypressHelper",function(t){"use strict";return{link:function(e,i,n){t("keypress",e,i,n)}}}]),angular.module("ui.keypress").directive("uiKeyup",["keypressHelper",function(t){"use strict";return{link:function(e,i,n){t("keyup",e,i,n)}}}])},function(t,e){var i=function(t){"use strict";return.5>t?Math.pow(2*t,2)/2:1-Math.pow(2*(1-t),2)/2};angular.module("duScroll",["duScroll.scrollspy","duScroll.smoothScroll","duScroll.scrollContainer","duScroll.spyContext","duScroll.scrollHelpers"]).value("duScrollDuration",350).value("duScrollSpyWait",100).value("duScrollGreedy",!1).value("duScrollOffset",0).value("duScrollEasing",i).value("duScrollCancelOnEvents","scroll mousedown mousewheel touchmove keydown").value("duScrollBottomSpy",!1).value("duScrollActiveClass","active"),angular.module("duScroll.scrollHelpers",["duScroll.requestAnimation"]).run(["$window","$q","cancelAnimation","requestAnimation","duScrollEasing","duScrollDuration","duScrollOffset","duScrollCancelOnEvents",function(t,e,i,n,o,r,s,a){"use strict";var c={},d=function(t){return"undefined"!=typeof HTMLDocument&&t instanceof HTMLDocument||t.nodeType&&t.nodeType===t.DOCUMENT_NODE},u=function(t){return"undefined"!=typeof HTMLElement&&t instanceof HTMLElement||t.nodeType&&t.nodeType===t.ELEMENT_NODE},l=function(t){return u(t)||d(t)?t:t[0]};c.duScrollTo=function(e,i,n,o){var r;if(angular.isElement(e)?r=this.duScrollToElement:angular.isDefined(n)&&(r=this.duScrollToAnimated),r)return r.apply(this,arguments);var s=l(this);return d(s)?t.scrollTo(e,i):(s.scrollLeft=e,void(s.scrollTop=i))};var h,f;c.duScrollToAnimated=function(t,r,s,c){s&&!c&&(c=o);var d=this.duScrollLeft(),u=this.duScrollTop(),l=Math.round(t-d),p=Math.round(r-u),m=null,g=0,v=this,y=function(t){(!t||g&&t.which>0)&&(a&&v.unbind(a,y),i(h),f.reject(),h=null)};if(h&&y(),f=e.defer(),0===s||!l&&!p)return 0===s&&v.duScrollTo(t,r),f.resolve(),f.promise;var _=function(t){null===m&&(m=t),g=t-m;var e=g>=s?1:c(g/s);v.scrollTo(d+Math.ceil(l*e),u+Math.ceil(p*e)),1>e?h=n(_):(a&&v.unbind(a,y),h=null,f.resolve())};return v.duScrollTo(d,u),a&&v.bind(a,y),h=n(_),f.promise},c.duScrollToElement=function(t,e,i,n){var o=l(this);(!angular.isNumber(e)||isNaN(e))&&(e=s);var r=this.duScrollTop()+l(t).getBoundingClientRect().top-e;return u(o)&&(r-=o.getBoundingClientRect().top),this.duScrollTo(0,r,i,n)},c.duScrollLeft=function(e,i,n){if(angular.isNumber(e))return this.duScrollTo(e,this.duScrollTop(),i,n);var o=l(this);return d(o)?t.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft:o.scrollLeft},c.duScrollTop=function(e,i,n){if(angular.isNumber(e))return this.duScrollTo(this.duScrollLeft(),e,i,n);var o=l(this);return d(o)?t.scrollY||document.documentElement.scrollTop||document.body.scrollTop:o.scrollTop},c.duScrollToElementAnimated=function(t,e,i,n){return this.duScrollToElement(t,e,i||r,n)},c.duScrollTopAnimated=function(t,e,i){return this.duScrollTop(t,e||r,i)},c.duScrollLeftAnimated=function(t,e,i){return this.duScrollLeft(t,e||r,i)},angular.forEach(c,function(t,e){angular.element.prototype[e]=t;var i=e.replace(/^duScroll/,"scroll");angular.isUndefined(angular.element.prototype[i])&&(angular.element.prototype[i]=t)})}]),angular.module("duScroll.polyfill",[]).factory("polyfill",["$window",function(t){"use strict";var e=["webkit","moz","o","ms"];return function(i,n){if(t[i])return t[i];for(var o,r=i.substr(0,1).toUpperCase()+i.substr(1),s=0;s<e.length;s++)if(o=e[s]+r,t[o])return t[o];return n}}]),angular.module("duScroll.requestAnimation",["duScroll.polyfill"]).factory("requestAnimation",["polyfill","$timeout",function(t,e){"use strict";var i=0,n=function(t,n){var o=(new Date).getTime(),r=Math.max(0,16-(o-i)),s=e(function(){t(o+r)},r);return i=o+r,s};return t("requestAnimationFrame",n)}]).factory("cancelAnimation",["polyfill","$timeout",function(t,e){"use strict";var i=function(t){e.cancel(t)};return t("cancelAnimationFrame",i)}]),angular.module("duScroll.spyAPI",["duScroll.scrollContainerAPI"]).factory("spyAPI",["$rootScope","$timeout","$window","$document","scrollC
9ontainerAPI","duScrollGreedy","duScrollSpyWait","duScrollBottomSpy","duScrollActiveClass",function(t,e,i,n,o,r,s,a,c){"use strict";var d=function(o){var d=!1,u=!1,l=function(){u=!1;var e,s=o.container,d=s[0],l=0;"undefined"!=typeof HTMLElement&&d instanceof HTMLElement||d.nodeType&&d.nodeType===d.ELEMENT_NODE?(l=d.getBoundingClientRect().top,e=Math.round(d.scrollTop+d.clientHeight)>=d.scrollHeight):e=Math.round(i.pageYOffset+i.innerHeight)>=n[0].body.scrollHeight;var h,f,p,m,g,v,y=a&&e?"bottom":"top";for(m=o.spies,f=o.currentlyActive,p=void 0,h=0;h<m.length;h++)g=m[h],v=g.getTargetPosition(),v&&(a&&e||v.top+g.offset-l<20&&(r||-1*v.top+l)<v.height)&&(!p||p[y]<v[y])&&(p={spy:g},p[y]=v[y]);p&&(p=p.spy),f===p||r&&!p||(f&&(f.$element.removeClass(c),t.$broadcast("duScrollspy:becameInactive",f.$element,angular.element(f.getTargetElement()))),p&&(p.$element.addClass(c),t.$broadcast("duScrollspy:becameActive",p.$element,angular.element(p.getTargetElement()))),o.currentlyActive=p)};return s?function(){d?u=!0:(l(),d=e(function(){d=!1,u&&l()},s,!1))}:l},u={},l=function(t){var e=t.$id,i={spies:[]};return i.handler=d(i),u[e]=i,t.$on("$destroy",function(){h(t)}),e},h=function(t){var e=t.$id,i=u[e],n=i.container;n&&n.off("scroll",i.handler),delete u[e]},f=l(t),p=function(t){return u[t.$id]?u[t.$id]:t.$parent?p(t.$parent):u[f]},m=function(t){var e,i,n=t.$scope;if(n)return p(n);for(i in u)if(e=u[i],-1!==e.spies.indexOf(t))return e},g=function(t){for(;t.parentNode;)if(t=t.parentNode,t===document)return!0;return!1},v=function(t){var e=m(t);e&&(e.spies.push(t),e.container&&g(e.container)||(e.container&&e.container.off("scroll",e.handler),e.container=o.getContainer(t.$scope),e.container.on("scroll",e.handler).triggerHandler("scroll")))},y=function(t){var e=m(t);t===e.currentlyActive&&(e.currentlyActive=null);var i=e.spies.indexOf(t);-1!==i&&e.spies.splice(i,1),t.$element=null};return{addSpy:v,removeSpy:y,createContext:l,destroyContext:h,getContextForScope:p}}]),angular.module("duScroll.scrollContainerAPI",[]).factory("scrollContainerAPI",["$document",function(t){"use strict";var e={},i=function(t,i){var n=t.$id;return e[n]=i,n},n=function(t){return e[t.$id]?t.$id:t.$parent?n(t.$parent):void 0},o=function(i){var o=n(i);return o?e[o]:t},r=function(t){var i=n(t);i&&delete e[i]};return{getContainerId:n,getContainer:o,setContainer:i,removeContainer:r}}]),angular.module("duScroll.smoothScroll",["duScroll.scrollHelpers","duScroll.scrollContainerAPI"]).directive("duSmoothScroll",["duScrollDuration","duScrollOffset","scrollContainerAPI",function(t,e,i){"use strict";return{link:function(n,o,r){o.on("click",function(o){if(r.href&&-1!==r.href.indexOf("#")||""!==r.duSmoothScroll){var s=r.href?r.href.replace(/.*(?=#[^\s]+$)/,"").substring(1):r.duSmoothScroll,a=document.getElementById(s)||document.getElementsByName(s)[0];if(a&&a.getBoundingClientRect){o.stopPropagation&&o.stopPropagation(),o.preventDefault&&o.preventDefault();var c=r.offset?parseInt(r.offset,10):e,d=r.duration?parseInt(r.duration,10):t,u=i.getContainer(n);u.duScrollToElement(angular.element(a),isNaN(c)?0:c,isNaN(d)?0:d)}}})}}}]),angular.module("duScroll.spyContext",["duScroll.spyAPI"]).directive("duSpyContext",["spyAPI",function(t){"use strict";return{restrict:"A",scope:!0,compile:function(e,i,n){return{pre:function(e,i,n,o){t.createContext(e)}}}}}]),angular.module("duScroll.scrollContainer",["duScroll.scrollContainerAPI"]).directive("duScrollContainer",["scrollContainerAPI",function(t){"use strict";return{restrict:"A",scope:!0,compile:function(e,i,n){return{pre:function(e,i,n,o){n.$observe("duScrollContainer",function(n){angular.isString(n)&&(n=document.getElementById(n)),n=angular.isElement(n)?angular.element(n):i,t.setContainer(e,n),e.$on("$destroy",function(){t.removeContainer(e)})})}}}}}]),angular.module("duScroll.scrollspy",["duScroll.spyAPI"]).directive("duScrollspy",["spyAPI","duScrollOffset","$timeout","$rootScope",function(t,e,i,n){"use strict";var o=function(t,e,i,n){angular.isElement(t)?this.target=t:angular.isString(t)&&(this.targetId=t),this.$scope=e,this.$element=i,this.offset=n};return o.prototype.getTargetElement=function(){return!this.target&&this.targetId&&(this.target=document.getElementById(this.targetId)||document.getElementsByName(this.targetId)[0]),this.target},o.prototype.getTargetPosition=function(){var t=this.getTargetElement();return t?t.getBoundingClientRect():void 0},o.prototype.flushTargetCache=function(){this.targetId&&(this.target=void 0)},{link:function(r,s,a){var c,d=a.ngHref||a.href;if(d&&-1!==d.indexOf("#")?c=d.replace(/.*(?=#[^\s]+$)/,"").substring(1):a.duScrollspy?c=a.duScrollspy:a.duSmoothScroll&&(c=a.duSmoothScroll),c){var u=i(function(){var i=new o(c,r,s,-(a.offset?parseInt(a.offset,10):e));t.addSpy(i),r.$on("$locationChangeSuccess",i.flushTargetCache.bind(i));var d=n.$on("$stateChangeSuccess",i.flushTargetCache.bind(i));r.$on("$destroy",function(){t.removeSpy(i),d()})},0,!1);r.$on("$destroy",function(){i.cancel(u)})}}}}])},,function(t,e){"use strict";
9t.exports=angular.module("superdostavka.mainCtrl",[]).controller("MainCtrl",["$scope","$rootScope","$http","$controller","$timeout","posManager","modal","userManager","city","metrics","giftManager","sdanalytics",function(t,e,i,n,o,r,s,a,c,d,u,l){n("BaseCtrl",{$scope:t}),t.userManager=a,t.posManager=r,t.modalPos={},t.showPreloadImage=!0,t.navSticked=!1,t.city=c,t.metrics=d,t.windowLoad=!1,t.giftManager=u,t.giftManager.config||t.giftManager.init(),t.$watch("$viewContentLoaded",function(){t.windowLoad=!0});var h=function(){r.source="site-main";var e=t.posManager.init(),i=t.userManager.getUser();t.getConfig(),Promise.all([e,i]).then(function(){l.logPage("site-main",c?c.id:1,function(){return{cart_sum:r.getTotal(),is_logged:!!a.user.username}})})};h(),t.hidePreload=function(){t.showPreloadImage=!1},t.setStickedCart=function(){},t.modChanged=function(t){d.metricsEvent("modification_changed","modification","change",{label:"Changed modification",value:t})},t.ignoreNotWorking=function(){i.get("/rapi/ignoreNotWorking").success(function(){})},t.isMobile=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:950;return window.innerWidth<=t},t.addItem=function(e,i){r.addItem(e,i,null,null,"site-main"),t.addedPos=r.getActiveMod(e),i>0&&(t.modal.show("showAddedBubble"),o(function(){t.modal.hide("showAddedBubble")},2e3))}}])},function(t,e){"use strict";t.exports=angular.module("superdostavka.labels",[]).factory("labelsManager",["$http","posManager",function(t,e){var i={positionsLabels:!1,config_promise:null,filters:null,hasActive:null,activeFilters:null,activePositions:!1,activeSections:!1,getConfig:function(){return this.config_promise||(this.config_promise=t.get("/labels_api/get")),this.config_promise},filterLabel:function(t){t.active=!t.active;for(var i in this.filters)t!=this.filters[i]&&(this.filters[i].active=!1);var n=!1,o=[],r={},s={};for(var a in this.filters)this.filters[a].active&&(n=!0,o.push(this.filters[a]));this.hasActiveFilter=n,this.activeFilters=o;for(var i in e.sections)s[e.sections[i].id]=!1;if(n){for(var i in e.positions)r[e.positions[i].id]=!1;for(var a in o)for(var i in this.positionsLabels)for(var c in this.positionsLabels[i])if(this.positionsLabels[i][c].id==o[a].id){var d=this.positionsLabels[i][c].position_id;r[d]=!0,s[e.getPosition(d).section_id]=!0}}else{for(var i in e.positions)r[e.positions[i].id]=!0;for(var i in e.sections)s[e.sections[i].id]=!0}this.activePositions=r,this.activeSections=s}};return i}]).filter("posLabelFilter",["labelsManager",function(t){return function(e){return 0==t.activePositions||t.activePositions[e]}}]).filter("sectionLabelFilter",["labelsManager",function(t){return function(e){return 0==t.activePositions||t.activeSections[e]}}]).controller("labelsCtrl",["$scope","labelsManager",function(t,e){t.labelsManager=e;var i=function(e,i){t.labelsManager.positionsLabels=e.positions_labels,t.labelsManager.filters=e.filters};t.getPositionLabels=function(e){return t.labelsManager.positionsLabels["position_"+e]},t.isHex=function(t){return/#/.test(t)},t.filterLabel=function(e){t.labelsManager.filterLabel(e)},t.labelsManager.positionsLabels||t.labelsManager.getConfig().success(i)}])},function(t,e){"use strict";t.exports=angular.module("superdostavka.components",[]).factory("giftManager",["$http","posManager","orderManager","metrics",function(t,e,i,n){var o={config:null,promise:null,current_gift:null,init:function(t){this.getConfig(t)},getConfig:function(e){if(!this.promise){var i="/rapi/gift_positions_api/get";e&&(i+="/"+e),this.promise=t.get(i).success(angular.bind(this,function(t){this.config=t}))}},getBonusPercent:function(){if(!this.config)return 0;var t=this.config.sums[this.config.sums.length-1];return i.getTotal()>=t.value?100:i.getTotal()/t.value*100},getList:function(){var t=[];if(null==this.config)return[];for(var e in this.config.sums){var i=this.config.sums[e];for(var n in i.positions)t.push(i.positions[n])}return t},firstSelectedGift:function(){if(null==this.config)return null;for(var t in this.config.sums){var e=this.config.sums[t];for(var i in e.positions)if(e.positions[i].quantity>0)return e.positions[i]}return null},getCartList:function(){var t=[];if(null==this.config)return[];for(var e in this.config.sums){var i=this.config.sums[e];for(var n in i.positions)i.positions[n].quantity&&t.push(i.positions[n])}return t},setGiftPosition:function(t){for(var e in this.config.sums){var o=this.config.sums[e];
9if(o.positions["id"+t.id]){if(o.value>i.cart.total)return!1;i.data.gift_id=t.id,this.current_gift=t,n.metricsEvent("gift_added")}}},addGift:function(t,e){this.getItem(t).quantity+=1*e},removeGift:function(t){this.getItem(t).quantity=0},getItem:function(t){for(var e in this.config.sums){var i=this.config.sums[e];for(var n in i.positions)if(i.positions[n].id==t)return i.positions[n]}return{}},getCurrentGift:function(){if(!this.current_gift)return!1;for(var t in this.config.sums){var e=this.config.sums[t];if(e.positions["id"+this.current_gift.id])return!(e.value>i.cart.total)&&this.current_gift}return!1},getGiftDistance:function(){if(!this.config)return null;var t=this.config.sums[0].value-i.getTotal();return t>0&&t<=this.config.gift_distance?t:null}};return o}]).controller("giftPositionsCtrl",["$scope","giftManager",function(t,e){t.giftManager=e,t.giftManager.config||t.giftManager.init()}])}]);
10//# sourceMappingURL=site_main.330a7d367ff6b2457034.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.