diff --git a/.gitignore b/.gitignore index 8555768e..5a7582df 100644 --- a/.gitignore +++ b/.gitignore @@ -163,3 +163,4 @@ artifacts* node_modules bower_components +dist diff --git a/.modernizrrc.js b/.modernizrrc.js new file mode 100644 index 00000000..e0d0906e --- /dev/null +++ b/.modernizrrc.js @@ -0,0 +1,12 @@ +"use strict"; + +module.exports = { + options: [ + "setClasses" + ], + "feature-detects": [ + "test/css/flexbox", + "test/es6/promises", + "test/serviceworker" + ] +}; diff --git a/assets/common-components.css b/assets/common-components.css index 29433aa5..88b02637 100644 --- a/assets/common-components.css +++ b/assets/common-components.css @@ -675,16 +675,6 @@ select { background-image: url('sofort.svg'), none; } -.payment-icon--solo { - background-image: url('solo.svg'); - background-image: url('solo.svg'), none; -} - -.payment-icon--switch { - background-image: url('switch.svg'); - background-image: url('switch.svg'), none; -} - .payment-icon--unionpay { background-image: url('unionpay.svg'); background-image: url('unionpay.svg'), none; diff --git a/assets/ideal-image-slider-bullet-nav.js b/assets/ideal-image-slider-bullet-nav.js deleted file mode 100644 index 29491213..00000000 --- a/assets/ideal-image-slider-bullet-nav.js +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Ideal Image Slider: Bullet Navigation Extension v1.0.2 - * - * By Gilbert Pellegrom - * http://gilbert.pellegrom.me - * - * Copyright (C) 2014 Dev7studios - * https://raw.githubusercontent.com/gilbitron/Ideal-Image-Slider/master/LICENSE - */ - -(function(IIS) { - "use strict"; - - var _updateActiveBullet = function(slider, activeIndex) { - var bullets = slider._attributes.bulletNav.querySelectorAll('a'); - if (!bullets) return; - - Array.prototype.forEach.call(bullets, function(bullet, i) { - IIS._removeClass(bullet, 'iis-bullet-active'); - bullet.setAttribute('aria-selected', 'false'); - if (i === activeIndex) { - IIS._addClass(bullet, 'iis-bullet-active'); - bullet.setAttribute('aria-selected', 'true'); - } - }.bind(this)); - }; - - IIS.Slider.prototype.addBulletNav = function() { - IIS._addClass(this._attributes.container, 'iis-has-bullet-nav'); - - // Create bullet nav - var bulletNav = document.createElement('div'); - IIS._addClass(bulletNav, 'iis-bullet-nav'); - bulletNav.setAttribute('role', 'tablist'); - - // Create bullets - Array.prototype.forEach.call(this._attributes.slides, function(slide, i) { - var bullet = document.createElement('a'); - bullet.innerHTML = i + 1; - bullet.setAttribute('role', 'tab'); - - bullet.addEventListener('click', function() { - if (IIS._hasClass(this._attributes.container, this.settings.classes.animating)) return false; - this.stop(); - this.gotoSlide(i + 1); - }.bind(this)); - - bulletNav.appendChild(bullet); - }.bind(this)); - - this._attributes.bulletNav = bulletNav; - this._attributes.container.appendChild(bulletNav); - _updateActiveBullet(this, 0); - - // Hook up to afterChange events - var origAfterChange = this.settings.afterChange; - var afterChange = function() { - var slides = this._attributes.slides, - index = slides.indexOf(this._attributes.currentSlide); - _updateActiveBullet(this, index); - return origAfterChange(); - }.bind(this); - this.settings.afterChange = afterChange; - }; - - return IIS; - -})(IdealImageSlider); \ No newline at end of file diff --git a/assets/ideal-image-slider-captions.js b/assets/ideal-image-slider-captions.js deleted file mode 100644 index da318a68..00000000 --- a/assets/ideal-image-slider-captions.js +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Ideal Image Slider: Captions Extension v1.0.1 - * - * By Gilbert Pellegrom - * http://gilbert.pellegrom.me - * - * Copyright (C) 2014 Dev7studios - * https://raw.githubusercontent.com/gilbitron/Ideal-Image-Slider/master/LICENSE - */ - -(function(IIS) { - "use strict"; - - IIS.Slider.prototype.addCaptions = function() { - IIS._addClass(this._attributes.container, 'iis-has-captions'); - - Array.prototype.forEach.call(this._attributes.slides, function(slide, i) { - var caption = document.createElement('div'); - IIS._addClass(caption, 'iis-caption'); - - var captionContent = ''; - if (slide.getAttribute('title')) { - captionContent += '
' + slide.getAttribute('title') + '
'; - } - if (slide.getAttribute('data-caption')) { - var dataCaption = slide.getAttribute('data-caption'); - if (dataCaption.substring(0, 1) == '#' || dataCaption.substring(0, 1) == '.') { - var external = document.querySelector(dataCaption); - if (external) { - captionContent += '
' + external.innerHTML + '
'; - } - } else { - captionContent += '
' + slide.getAttribute('data-caption') + '
'; - } - } else { - if (slide.innerHTML) { - captionContent += '
' + slide.innerHTML + '
'; - } - } - - slide.innerHTML = ''; - if (captionContent) { - caption.innerHTML = captionContent; - slide.appendChild(caption); - } - }.bind(this)); - }; - - return IIS; - -})(IdealImageSlider); \ No newline at end of file diff --git a/assets/ideal-image-slider-default-theme.css b/assets/ideal-image-slider-default-theme.css deleted file mode 100644 index 3ed1c376..00000000 --- a/assets/ideal-image-slider-default-theme.css +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Ideal Image Slider Default Theme - * Version: 1.2.0 - */ - -.ideal-image-slider { - background-color: #fff; - background-image: url("data:image/gif;base64,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"); - background-repeat: no-repeat; - background-position: 50% 50%; - background-size: 32px 32px; -} - -/* Navigation */ -.iis-previous-nav, -.iis-next-nav { - position: absolute; - top: 50%; - z-index: 20; - display: block; - width: 60px; - height: 60px; - text-indent: -9999px; - background-repeat: no-repeat; - background-color: rgba(0,0,0,0.5); - border-radius: 50px; - background-size: 48px 48px; - cursor: pointer; - opacity: 0; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); - -webkit-transition: 0.3s ease-out; - -moz-transition: 0.3s ease-out; - -o-transition: 0.3s ease-out; - transition: 0.3s ease-out; -} -.iis-previous-nav { - left: 5%; - background-position: 35% 50%; - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPHBvbHlnb24gZmlsbD0iI2ZmZmZmZiIgaWQ9InN2Z18xIiBwb2ludHM9IjM1MiwxMTUuNCAzMzEuMyw5NiAxNjAsMjU2IDMzMS4zLDQxNiAzNTIsMzk2LjcgMjAxLjUsMjU2ICIvPgogPC9nPgo8L3N2Zz4="); -} -.iis-next-nav { - right: 5%; - background-position: 65% 50%; - background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPHBvbHlnb24gZmlsbD0iI2ZmZmZmZiIgaWQ9InN2Z18xIiBwb2ludHM9IjE2MCwxMTUuNCAxODAuNyw5NiAzNTIsMjU2IDE4MC43LDQxNiAxNjAsMzk2LjcgMzEwLjUsMjU2ICIvPgogPC9nPgo8L3N2Zz4="); -} -.ideal-image-slider:hover .iis-previous-nav, -.ideal-image-slider:hover .iis-next-nav { opacity: 0.5; } -.ideal-image-slider:hover .iis-previous-nav:hover, -.ideal-image-slider:hover .iis-next-nav:hover { opacity: 1.0; } - -/* Bullet Navigation */ -.iis-bullet-nav { - position: absolute; - bottom: 5%; - right: 5%; - z-index: 15; - width: 90%; - text-align: right; - opacity: 0.4; - -webkit-transition: 0.3s ease-out; - -moz-transition: 0.3s ease-out; - -o-transition: 0.3s ease-out; - transition: 0.3s ease-out; -} -.iis-has-captions .iis-bullet-nav { max-width: 42%; } -.iis-bullet-nav a { - display: inline-block; - width: 10px; - height: 10px; - background: transparent; - text-indent: 9999px; - margin: 0 5px; - border: 3px solid rgba(0,0,0,0.5); - border-radius: 10px; - cursor: pointer; - -webkit-transition: 0.3s ease-out; - -moz-transition: 0.3s ease-out; - -o-transition: 0.3s ease-out; - transition: 0.3s ease-out; -} -.iis-bullet-nav a.iis-bullet-active, -.iis-bullet-nav a:hover { background: #fff; } -.ideal-image-slider:hover .iis-bullet-nav { opacity: 0.7; } -.ideal-image-slider:hover .iis-bullet-nav:hover { opacity: 1.0; } - -/* Captions */ -.iis-has-captions .iis-slide { text-indent: 0; } -.iis-caption { - position: absolute; - left: 5%; - bottom: 5%; - max-width: 90%; - z-index: 10; - background: #000; - background: rgba(0,0,0,0.5); - padding: 5px 15px; - border-radius: 10px; - font: 14px/1.6em "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #fff; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.iis-has-bullet-nav .iis-caption { max-width: 42%; } -.iis-caption .iis-caption-title { font-weight: bold; } -.iis-caption .iis-caption-content { - font-size: 13px; - line-height: 1.6em; - color: #eee; -} -.iis-caption .iis-caption-content a, -.iis-caption .iis-caption-content a:visited { - color: #eee; - text-decoration: underline; - border: 0; -} -.iis-caption .iis-caption-content a:hover, -.iis-caption .iis-caption-content a:active { - color: #fff; -} diff --git a/assets/ideal-image-slider.css b/assets/ideal-image-slider.css deleted file mode 100644 index f45d5316..00000000 --- a/assets/ideal-image-slider.css +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Ideal Image Slider v1.5.0 - * - * By Gilbert Pellegrom - * http://gilbert.pellegrom.me - * - * Copyright (C) 2014 Dev7studios - * https://raw.githubusercontent.com/gilbitron/Ideal-Image-Slider/master/LICENSE - */ - -.ideal-image-slider { - position: relative; - overflow: hidden; -} -.iis-slide { - display: block; - bottom: 0; - text-decoration: none; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: 50% 50%; - background-size: cover; - text-indent: -9999px; -} - -/* Slide effect */ -.iis-effect-slide .iis-slide { - opacity: 0; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - transition-property: transform; - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - -webkit-transform: translateX(0%); - -ms-transform: translateX(0%); - transform: translateX(0%); -} -.iis-effect-slide .iis-current-slide { - opacity: 1; - z-index: 1; -} -.iis-effect-slide .iis-previous-slide { - -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); -} -.iis-effect-slide .iis-next-slide { - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); -} -.iis-effect-slide.iis-direction-next .iis-previous-slide, -.iis-effect-slide.iis-direction-previous .iis-next-slide { opacity: 1; } - -/* Touch styles */ -.iis-touch-enabled .iis-slide { z-index: 1; } -.iis-touch-enabled .iis-current-slide { z-index: 2; } -.iis-touch-enabled.iis-is-touching .iis-previous-slide, -.iis-touch-enabled.iis-is-touching .iis-next-slide { opacity: 1; } - -/* Fade effect */ -.iis-effect-fade .iis-slide { - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; - -webkit-transition-timing-function: ease-in; - -moz-transition-timing-function: ease-in; - -o-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; -} -.iis-effect-fade .iis-current-slide { - opacity: 1; - z-index: 1; -} diff --git a/assets/ideal-image-slider.min.js b/assets/ideal-image-slider.min.js deleted file mode 100644 index 38e2f409..00000000 --- a/assets/ideal-image-slider.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! Ideal Image Slider v1.5.0 */ -var IdealImageSlider=function(){"use strict";var a=function(a,b){return a["r"+b]||a["webkitR"+b]||a["mozR"+b]||a["msR"+b]||function(a){setTimeout(a,1e3/60)}}(window,"equestAnimationFrame"),b=function(b,c){function d(){var g=(new Date).getTime(),h=g-e;h>=c?b.call():f.value=a(d)}var e=(new Date).getTime(),f={};return f.value=a(d),f},c=function(a,b){var c=Object.prototype.toString.call(b).slice(8,-1);return void 0!==b&&null!==b&&c===a},d=function(a){return Math.round(a)===a},e=function(a){a=a||{};for(var b=1;b1?!0:window.matchMedia&&window.matchMedia(a).matches?!0:!1},m=function(a,b,c){a.style.webkitTransitionDuration=a.style.MozTransitionDuration=a.style.msTransitionDuration=a.style.OTransitionDuration=a.style.transitionDuration=c+"ms",a.style.webkitTransform=a.style.MozTransform=a.style.msTransform=a.style.OTransform="translateX("+b+"px)"},n=function(a){a.style.removeProperty("-webkit-transition-duration"),a.style.removeProperty("transition-duration"),a.style.removeProperty("-webkit-transform"),a.style.removeProperty("-ms-transform"),a.style.removeProperty("transform")},o=function(b){var c=b.time,d=+new Date+c,e=function(){var f=+new Date,g=d-f;if(60>g)return void b.run(1);var h=1-g/c;b.run(h),a(e)};e()},p=function(a,b){if("undefined"==typeof b&&(b=!0),!d(a.settings.height)){var c=Math.round(a._attributes.container.offsetHeight),e=c;if(a._attributes.aspectWidth&&a._attributes.aspectHeight)e=a._attributes.aspectHeight/a._attributes.aspectWidth*a._attributes.container.offsetWidth;else{var f=a._attributes.currentSlide.getAttribute("data-actual-width"),g=a._attributes.currentSlide.getAttribute("data-actual-height");f&&g&&(e=g/f*a._attributes.container.offsetWidth)}var h=parseInt(a.settings.maxHeight,10);h&&e>h&&(e=h),e=Math.round(e),e!==c&&(b?o({time:a.settings.transitionDuration,run:function(b){a._attributes.container.style.height=Math.round(b*(e-c)+c)+"px"}}):a._attributes.container.style.height=e+"px")}},q={vars:{start:{},delta:{},isScrolling:void 0,direction:null},start:function(a){if(!f(this._attributes.container,this.settings.classes.animating)){var b=a.touches[0];q.vars.start={x:b.pageX,y:b.pageY,time:+new Date},q.vars.delta={},q.vars.isScrolling=void 0,q.vars.direction=null,this.stop(),this.settings.beforeChange.apply(this),g(this._attributes.container,this.settings.classes.touching)}},move:function(a){if(!f(this._attributes.container,this.settings.classes.animating)&&!(a.touches.length>1||a.scale&&1!==a.scale)){var b=a.touches[0];q.vars.delta={x:b.pageX-q.vars.start.x,y:b.pageY-q.vars.start.y},"undefined"==typeof q.vars.isScrolling&&(q.vars.isScrolling=!!(q.vars.isScrolling||Math.abs(q.vars.delta.x)20||Math.abs(q.vars.delta.x)>this._attributes.currentSlide.offsetWidth/2,e=q.vars.delta.x<0?"next":"previous",i=this.settings.transitionDuration?this.settings.transitionDuration/2:0;q.vars.isScrolling||(d?(q.vars.direction=e,"next"==q.vars.direction?(m(this._attributes.currentSlide,-this._attributes.currentSlide.offsetWidth,i),m(this._attributes.nextSlide,0,i)):(m(this._attributes.previousSlide,0,i),m(this._attributes.currentSlide,this._attributes.currentSlide.offsetWidth,i)),b(q.transitionEnd.bind(this),i)):"next"==e?(m(this._attributes.currentSlide,0,i),m(this._attributes.nextSlide,this._attributes.currentSlide.offsetWidth,i)):(m(this._attributes.previousSlide,-this._attributes.previousSlide.offsetWidth,i),m(this._attributes.currentSlide,0,i)),i&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),i)))}},transitionEnd:function(a){if(q.vars.direction){n(this._attributes.previousSlide),n(this._attributes.currentSlide),n(this._attributes.nextSlide),h(this._attributes.container,this.settings.classes.touching),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true");var b=this._attributes.slides,c=b.indexOf(this._attributes.currentSlide);"next"==q.vars.direction?(this._attributes.previousSlide=this._attributes.currentSlide,this._attributes.currentSlide=b[c+1],this._attributes.nextSlide=b[c+2],"undefined"==typeof this._attributes.currentSlide&&"undefined"==typeof this._attributes.nextSlide?(this._attributes.currentSlide=b[0],this._attributes.nextSlide=b[1]):"undefined"==typeof this._attributes.nextSlide&&(this._attributes.nextSlide=b[0]),k(this._attributes.nextSlide)):(this._attributes.nextSlide=this._attributes.currentSlide,this._attributes.previousSlide=b[c-2],this._attributes.currentSlide=b[c-1],"undefined"==typeof this._attributes.currentSlide&&"undefined"==typeof this._attributes.previousSlide?(this._attributes.currentSlide=b[b.length-1],this._attributes.previousSlide=b[b.length-2]):"undefined"==typeof this._attributes.previousSlide&&(this._attributes.previousSlide=b[b.length-1]),k(this._attributes.previousSlide)),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),p(this),this.settings.afterChange.apply(this)}}},r=function(a){this.settings={selector:"",height:"auto",initialHeight:400,maxHeight:null,interval:4e3,transitionDuration:700,effect:"slide",disableNav:!1,keyboardNav:!0,previousNavSelector:"",nextNavSelector:"",classes:{container:"ideal-image-slider",slide:"iis-slide",previousSlide:"iis-previous-slide",currentSlide:"iis-current-slide",nextSlide:"iis-next-slide",previousNav:"iis-previous-nav",nextNav:"iis-next-nav",animating:"iis-is-animating",touchEnabled:"iis-touch-enabled",touching:"iis-is-touching",directionPrevious:"iis-direction-previous",directionNext:"iis-direction-next"},onInit:function(){},onStart:function(){},onStop:function(){},onDestroy:function(){},beforeChange:function(){},afterChange:function(){}},"string"==typeof a?this.settings.selector=a:"object"==typeof a&&e(this.settings,a);var b=document.querySelector(this.settings.selector);if(!b)return null;var c=i(b.children),h=[];b.innerHTML="",Array.prototype.forEach.call(c,function(a,c){if(a instanceof HTMLImageElement||a instanceof HTMLAnchorElement){var d=document.createElement("a"),f="",i="";if(a instanceof HTMLAnchorElement){f=a.getAttribute("href"),i=a.getAttribute("target");var j=a.querySelector("img");if(null===j)return;a=j}"undefined"!=typeof a.dataset?(e(d.dataset,a.dataset),a.dataset.src?d.dataset.src=a.dataset.src:d.dataset.src=a.src,l()&&a.dataset["src-2x"]&&(d.dataset.src=a.dataset["src-2x"])):a.getAttribute("data-src")?d.setAttribute("data-src",a.getAttribute("data-src")):d.setAttribute("data-src",a.getAttribute("src")),f&&d.setAttribute("href",f),i&&d.setAttribute("target",i),a.getAttribute("className")&&g(d,a.getAttribute("className")),a.getAttribute("id")&&d.setAttribute("id",a.getAttribute("id")),a.getAttribute("title")&&d.setAttribute("title",a.getAttribute("title")),a.getAttribute("alt")&&(d.innerHTML=a.getAttribute("alt")),d.setAttribute("role","tabpanel"),d.setAttribute("aria-hidden","true"),d.style.cssText+="-webkit-transition-duration:"+this.settings.transitionDuration+"ms;-moz-transition-duration:"+this.settings.transitionDuration+"ms;-o-transition-duration:"+this.settings.transitionDuration+"ms;transition-duration:"+this.settings.transitionDuration+"ms;",b.appendChild(d),h.push(d)}}.bind(this));var m=h;if(m.length<=1)return b.innerHTML="",Array.prototype.forEach.call(c,function(a,c){b.appendChild(a)}),null;if(!this.settings.disableNav){var n,o;this.settings.previousNavSelector?n=document.querySelector(this.settings.previousNavSelector):(n=document.createElement("a"),b.appendChild(n)),this.settings.nextNavSelector?o=document.querySelector(this.settings.nextNavSelector):(o=document.createElement("a"),b.appendChild(o)),g(n,this.settings.classes.previousNav),g(o,this.settings.classes.nextNav),j(n,"click",function(){return f(this._attributes.container,this.settings.classes.animating)?!1:(this.stop(),void this.previousSlide())}.bind(this)),j(o,"click",function(){return f(this._attributes.container,this.settings.classes.animating)?!1:(this.stop(),void this.nextSlide())}.bind(this)),("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)&&(this.settings.effect="slide",n.style.display="none",o.style.display="none",g(b,this.settings.classes.touchEnabled),j(b,"touchstart",q.start.bind(this),!1),j(b,"touchmove",q.move.bind(this),!1),j(b,"touchend",q.end.bind(this),!1)),this.settings.keyboardNav&&j(document,"keyup",function(a){a=a||window.event;var b="number"==typeof a.which?a.which:a.keyCode;if(37==b){if(f(this._attributes.container,this.settings.classes.animating))return!1;this.stop(),this.previousSlide()}else if(39==b){if(f(this._attributes.container,this.settings.classes.animating))return!1;this.stop(),this.nextSlide()}}.bind(this))}if(this._attributes={container:b,slides:m,previousSlide:"undefined"!=typeof m[m.length-1]?m[m.length-1]:m[0],currentSlide:m[0],nextSlide:"undefined"!=typeof m[1]?m[1]:m[0],timerId:0,origChildren:c,aspectWidth:0,aspectHeight:0},d(this.settings.height))this._attributes.container.style.height=this.settings.height+"px";else{if(d(this.settings.initialHeight)&&(this._attributes.container.style.height=this.settings.initialHeight+"px"),this.settings.height.indexOf(":")>-1){var r=this.settings.height.split(":");2==r.length&&d(parseInt(r[0],10))&&d(parseInt(r[1],10))&&(this._attributes.aspectWidth=parseInt(r[0],10),this._attributes.aspectHeight=parseInt(r[1],10))}j(window,"resize",function(){p(this,!1)}.bind(this))}g(b,this.settings.classes.container),g(b,"iis-effect-"+this.settings.effect),Array.prototype.forEach.call(this._attributes.slides,function(a,b){g(a,this.settings.classes.slide)}.bind(this)),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),k(this._attributes.currentSlide,function(){this.settings.onInit.apply(this),p(this,!1)}.bind(this)),k(this._attributes.previousSlide),k(this._attributes.nextSlide)};return r.prototype.get=function(a){return this._attributes?this._attributes.hasOwnProperty(a)?this._attributes[a]:void 0:null},r.prototype.set=function(a,b){return this._attributes?this._attributes[a]=b:null},r.prototype.start=function(){this._attributes&&(this._attributes.timerId=setInterval(this.nextSlide.bind(this),this.settings.interval),this.settings.onStart.apply(this),window.onblur=function(){this.stop()}.bind(this))},r.prototype.stop=function(){this._attributes&&(clearInterval(this._attributes.timerId),this._attributes.timerId=0,this.settings.onStop.apply(this))},r.prototype.previousSlide=function(){this.settings.beforeChange.apply(this),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true");var a=this._attributes.slides,c=a.indexOf(this._attributes.currentSlide);this._attributes.nextSlide=this._attributes.currentSlide,this._attributes.previousSlide=a[c-2],this._attributes.currentSlide=a[c-1],"undefined"==typeof this._attributes.currentSlide&&"undefined"==typeof this._attributes.previousSlide?(this._attributes.currentSlide=a[a.length-1],this._attributes.previousSlide=a[a.length-2]):"undefined"==typeof this._attributes.previousSlide&&(this._attributes.previousSlide=a[a.length-1]),k(this._attributes.previousSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),g(this._attributes.container,this.settings.classes.directionPrevious),b(function(){h(this._attributes.container,this.settings.classes.directionPrevious)}.bind(this),this.settings.transitionDuration),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.nextSlide=function(){this.settings.beforeChange.apply(this),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true");var a=this._attributes.slides,c=a.indexOf(this._attributes.currentSlide);this._attributes.previousSlide=this._attributes.currentSlide,this._attributes.currentSlide=a[c+1],this._attributes.nextSlide=a[c+2],"undefined"==typeof this._attributes.currentSlide&&"undefined"==typeof this._attributes.nextSlide?(this._attributes.currentSlide=a[0],this._attributes.nextSlide=a[1]):"undefined"==typeof this._attributes.nextSlide&&(this._attributes.nextSlide=a[0]),k(this._attributes.nextSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),g(this._attributes.container,this.settings.classes.directionNext),b(function(){h(this._attributes.container,this.settings.classes.directionNext)}.bind(this),this.settings.transitionDuration),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.gotoSlide=function(a){this.settings.beforeChange.apply(this),this.stop(),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true"),a--;var c=this._attributes.slides,d=c.indexOf(this._attributes.currentSlide);this._attributes.previousSlide=c[a-1],this._attributes.currentSlide=c[a],this._attributes.nextSlide=c[a+1],"undefined"==typeof this._attributes.previousSlide&&(this._attributes.previousSlide=c[c.length-1]),"undefined"==typeof this._attributes.nextSlide&&(this._attributes.nextSlide=c[0]),k(this._attributes.previousSlide),k(this._attributes.currentSlide),k(this._attributes.nextSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),d>a?(g(this._attributes.container,this.settings.classes.directionPrevious),b(function(){h(this._attributes.container,this.settings.classes.directionPrevious)}.bind(this),this.settings.transitionDuration)):(g(this._attributes.container,this.settings.classes.directionNext),b(function(){h(this._attributes.container,this.settings.classes.directionNext)}.bind(this),this.settings.transitionDuration)),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.destroy=function(){clearInterval(this._attributes.timerId),this._attributes.timerId=0,this._attributes.container.innerHTML="",Array.prototype.forEach.call(this._attributes.origChildren,function(a,b){this._attributes.container.appendChild(a)}.bind(this)),h(this._attributes.container,this.settings.classes.container),h(this._attributes.container,"iis-effect-"+this.settings.effect),this._attributes.container.style.height="",this.settings.onDestroy.apply(this)},{_hasClass:f,_addClass:g,_removeClass:h,Slider:r}}(); \ No newline at end of file diff --git a/assets/js/app.js b/assets/js/app.js index 04f86701..806b92ec 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -1,9 +1,3 @@ -var storefrontAppDependencies = [ - 'ui.bootstrap', - 'ngStorage', - 'pascalprecht.translate', - 'ngSanitize', -] var storefrontApp = angular.module('storefrontApp', storefrontAppDependencies); storefrontApp.factory('httpErrorInterceptor', ['$q', '$rootScope', function ($q, $rootScope) { diff --git a/assets/js/filtres.js b/assets/js/filters.js similarity index 100% rename from assets/js/filtres.js rename to assets/js/filters.js diff --git a/assets/modernizr.min.js b/assets/modernizr.min.js deleted file mode 100644 index 09813fdd..00000000 --- a/assets/modernizr.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Modernizr 2.8.2 (Custom Build) | MIT & BSD - * Build: http://modernizr.com/download/#-fontface-csstransforms-csstransforms3d-touch-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-cssclassprefix:supports! - */ -;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.8.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},q.csstransforms=function(){return!!F("transform")},q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},q.fontface=function(){var a;return w('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" supports-"+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" supports-js supports-"+t.join(" supports-"):""),e}(this,this.document); \ No newline at end of file diff --git a/assets/static/bundle/account-scripts.js b/assets/static/bundle/account-scripts.js deleted file mode 100644 index f383da20..00000000 --- a/assets/static/bundle/account-scripts.js +++ /dev/null @@ -1,3 +0,0 @@ -window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return"pfx"!=b||e}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return!1===d?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var v,y,e={},g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},t=[],u=t.slice,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))for(;d--;)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty;y=B(x,"undefined")||B(x.call,"undefined")?function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")}:function(a,b){return x.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if("function"!=typeof c)throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},q.csstransforms=function(){return!!F("transform")},q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=9===b.offsetLeft&&3===b.offsetHeight}),a},q.fontface=function(){var a;return w('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if("object"==typeof a)for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{if(a=a.toLowerCase(),e[a]!==c)return e;b="function"==typeof b?b():b,g.className+=" supports-"+(b?"":"no-")+a,e[a]=b}return e},z(""),i=null,e._version="2.8.2",e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+" supports-js supports-"+t.join(" supports-"),e}(this,this.document);var storefrontAppDependencies=["ui.bootstrap","ngStorage","pascalprecht.translate","ngSanitize"],storefrontApp=angular.module("storefrontApp",storefrontAppDependencies);storefrontApp.factory("httpErrorInterceptor",["$q","$rootScope",function($q,$rootScope){var httpErrorInterceptor={};return httpErrorInterceptor.responseError=function(rejection){return rejection.data&&rejection.data.message&&$rootScope.$broadcast("storefrontError",{type:"error",title:[rejection.config.method,rejection.config.url,rejection.status,rejection.statusText,rejection.data.message].join(" "),message:rejection.data.stackTrace}),$q.reject(rejection)},httpErrorInterceptor.requestError=function(rejection){return rejection.data&&rejection.data.message&&$rootScope.$broadcast("storefrontError",{type:"error",title:[rejection.config.method,rejection.config.url,rejection.status,rejection.statusText,rejection.data.message].join(" "),message:rejection.data.stackTrace}),$q.reject(rejection)},httpErrorInterceptor}]),storefrontApp.config(["$httpProvider","$translateProvider",function($httpProvider,$translateProvider){$httpProvider.interceptors.push("httpErrorInterceptor"),$translateProvider.useSanitizeValueStrategy("sanitizeParameters"),$translateProvider.useUrlLoader(BASE_URL+"themes/localization.json"),$translateProvider.preferredLanguage("en")}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.service("dialogService",["$uibModal",function($uibModal){return{showDialog:function(dialogData,controller,templateUrl,onClosed){return $uibModal.open({controller:controller,templateUrl:templateUrl,resolve:{dialogData:function(){return dialogData}}}).result.then(function(result){onClosed&&onClosed(result)})}}}]),storefrontApp.service("feedbackService",["$http",function($http){return{postFeedback:function(data){return $http.post("storefrontapi/feedback",data)}}}]),storefrontApp.service("customerService",["$http",function($http){return{getCurrentCustomer:function(){return $http.get("storefrontapi/account?t="+(new Date).getTime())}}}]),storefrontApp.service("marketingService",["$http",function($http){return{getDynamicContent:function(placeName){return $http.get("storefrontapi/marketing/dynamiccontent/"+placeName+"?t="+(new Date).getTime())}}}]),storefrontApp.service("pricingService",["$http",function($http){return{getActualProductPrices:function(products){return $http.post("storefrontapi/pricing/actualprices",products)}}}]),storefrontApp.service("compareProductService",["$http","$localStorage",function($http,$localStorage){return{isInProductCompareList:function(productId){return!!_.some($localStorage.productCompareListIds,function(id){return id===productId})},addProduct:function(productId){$localStorage.productCompareListIds||($localStorage.productCompareListIds=[]),$localStorage.productCompareListIds.push(productId),_.uniq($localStorage.productCompareListIds)},getProductsIds:function(){if(!$localStorage.productCompareListIds)return void($localStorage.productCompareListIds=[]);var ids=[];for(i=0;i<$localStorage.productCompareListIds.length;i++)ids.push("productIds="+$localStorage.productCompareListIds[i]);return ids.join("&")},getProductsCount:function(){return $localStorage.productCompareListIds?$localStorage.productCompareListIds.length:0},clearComapreList:function(){$localStorage.productCompareListIds=[]},removeProduct:function(productId){$localStorage.productCompareListIds=_.without($localStorage.productCompareListIds,productId)}}}]),storefrontApp.service("catalogService",["$http",function($http,$localStorage){return{getProduct:function(productIds){return $http.get("storefrontapi/products?productIds="+productIds+"&t="+(new Date).getTime())},getProducts:function(productIds){return $http.get("storefrontapi/products?"+productIds+"&t="+(new Date).getTime())},search:function(criteria){return $http.post("storefrontapi/catalog/search",criteria)},searchCategories:function(criteria){return $http.post("storefrontapi/categories/search",criteria)}}}]),storefrontApp.service("cartService",["$http",function($http){return{getCart:function(){return $http.get("storefrontapi/cart?t="+(new Date).getTime())},getCartItemsCount:function(){return $http.get("storefrontapi/cart/itemscount?t="+(new Date).getTime())},addLineItem:function(productId,quantity){return $http.post("storefrontapi/cart/items",{id:productId,quantity:quantity})},changeLineItemQuantity:function(lineItemId,quantity){return $http.put("storefrontapi/cart/items",{lineItemId:lineItemId,quantity:quantity})},removeLineItem:function(lineItemId){return $http.delete("storefrontapi/cart/items?lineItemId="+lineItemId)},changeLineItemPrice:function(lineItemId,newPrice){return $http.put("storefrontapi/cart/items/price",{lineItemId:lineItemId,newPrice:newPrice})},clearCart:function(){return $http.post("storefrontapi/cart/clear")},getCountries:function(){return $http.get("storefrontapi/countries?t="+(new Date).getTime())},getCountryRegions:function(countryCode){return $http.get("storefrontapi/countries/"+countryCode+"/regions?t="+(new Date).getTime())},addCoupon:function(couponCode){return $http.post("storefrontapi/cart/coupons/"+couponCode)},removeCoupon:function(couponCode){return $http.delete("storefrontapi/cart/coupons?couponCode="+couponCode)},validateCoupon:function(coupon){return $http.post("storefrontapi/cart/coupons/validate",coupon)},addOrUpdateShipment:function(shipment){return $http.post("storefrontapi/cart/shipments",shipment)},addOrUpdatePayment:function(payment){return $http.post("storefrontapi/cart/payments",payment)},getAvailableShippingMethods:function(shipmentId){return $http.get("storefrontapi/cart/shipments/"+shipmentId+"/shippingmethods?t="+(new Date).getTime())},getAvailablePaymentMethods:function(){return $http.get("storefrontapi/cart/paymentmethods?t="+(new Date).getTime())},addOrUpdatePaymentPlan:function(plan){return $http.post("storefrontapi/cart/paymentPlan",plan)},removePaymentPlan:function(){return $http.delete("storefrontapi/cart/paymentPlan")},createOrder:function(bankCardInfo){return $http.post("storefrontapi/cart/createorder",bankCardInfo)},updateCartComment:function(cartComment){return $http.put("storefrontapi/cart/comment",{comment:cartComment})}}}]),storefrontApp.service("listService",["$http",function($http){return{getWishlist:function(listName,type){return $http.get("storefrontapi/lists/"+listName+"/"+type+"?t="+(new Date).getTime())},getListsWithProduct:function(productId,listNames,type){return $http.post("storefrontapi/lists/getlistswithproduct",{productId:productId,listNames:listNames,type:type})},addLineItem:function(productId,listName,type){return $http.post("storefrontapi/lists/items",{productId:productId,listName:listName,type:type})},removeLineItem:function(lineItemId,listName,type){return $http.delete("storefrontapi/lists/"+listName+"/"+type+"/items/"+lineItemId)},searchLists:function(searchCriteria){return $http.post("storefrontapi/lists/search",searchCriteria)},createList:function(listName,type){return $http.post("storefrontapi/lists/"+listName+"/"+type+"/create")},deleteListsByIds:function(listIds){return $http.delete("storefrontapi/lists/deletelistsbyids?listIds="+listIds.join("&listIds="))},mergeWithCurrentCart:function(listName,type){return $http.post("storefrontapi/lists/"+listName+"/"+type+"/mergewithcurrentcart")}}}]),storefrontApp.service("quoteRequestService",["$http",function($http){return{getCurrentQuoteRequest:function(){return $http.get("storefrontapi/quoterequest/current?t="+(new Date).getTime())},getQuoteRequest:function(number){return $http.get("storefrontapi/quoterequests/"+number+"?t="+(new Date).getTime())},getQuoteRequestItemsCount:function(number){return $http.get("storefrontapi/quoterequests/"+number+"/itemscount?t="+(new Date).getTime())},addProductToQuoteRequest:function(productId,quantity){return $http.post("storefrontapi/quoterequests/current/items",{productId:productId,quantity:quantity})},removeProductFromQuoteRequest:function(quoteRequestNumber,quoteItemId){return $http.delete("storefrontapi/quoterequests/"+quoteRequestNumber+"/items/"+quoteItemId)},submitQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/submit",quoteRequest)},rejectQuoteRequest:function(quoteRequestNumber){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/reject")},updateQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.put("storefrontapi/quoterequests/"+quoteRequestNumber+"/update",quoteRequest)},getTotals:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/totals",quoteRequest)},confirmQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/confirm",quoteRequest)}}}]),storefrontApp.service("recommendationService",["$http",function($http){return{getRecommendedProducts:function(requestData){return $http.post("storefrontapi/recommendations",requestData)}}}]),storefrontApp.service("orderService",["$http",function($http){return{getOrder:function(orderNumber){return $http.get("storefrontapi/orders/"+orderNumber+"?t="+(new Date).getTime())}}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("mainController",["$scope","$location","$window","customerService","storefrontApp.mainContext",function($scope,$location,$window,customerService,mainContext){$scope.baseUrl={},$scope.$watch(function(){$scope.currentPath=$location.$$path.replace("/","")}),$scope.$on("storefrontError",function(event,data){$scope.storefrontNotification=data,$scope.storefrontNotification.detailsVisible=!1}),$scope.toggleNotificationDetails=function(){$scope.storefrontNotification.detailsVisible=!$scope.storefrontNotification.detailsVisible},$scope.closeNotification=function(){$scope.storefrontNotification=null},$scope.outerRedirect=function(absUrl){$window.location.href=absUrl},$scope.innerRedirect=function(path){$location.path(path),$scope.currentPath=$location.$$path.replace("/","")},$scope.stringifyAddress=function(address){var stringifiedAddress=address.firstName+" "+address.lastName+", ";return stringifiedAddress+=address.organization?address.organization+", ":"",stringifiedAddress+=address.countryName+", ",stringifiedAddress+=address.regionName?address.regionName+", ":"",stringifiedAddress+=address.city+" ",stringifiedAddress+=address.line1+", ",stringifiedAddress+=address.line2?address.line2:"",stringifiedAddress+=address.postalCode},$scope.getObjectSize=function(obj){var key,size=0;for(key in obj)obj.hasOwnProperty(key)&&size++;return size},mainContext.getCustomer=$scope.getCustomer=function(){customerService.getCurrentCustomer().then(function(response){response.data.addresses||(response.data.addresses=[]);var addressId=1;_.each(response.data.addresses,function(address){address.id=addressId,addressId++}),response.data.isContact="Contact"===response.data.memberType,mainContext.customer=$scope.customer=response.data})},$scope.getCustomer()}]).factory("storefrontApp.mainContext",function(){return{}});var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("cartController",["$rootScope","$scope","$timeout","cartService","catalogService",function($rootScope,$scope,$timeout,cartService,catalogService){function getCart(){$scope.cartIsUpdating=!0,cartService.getCart().then(function(response){var cart=response.data;cart.hasValidationErrors=_.some(cart.validationErrors)||_.some(cart.items,function(item){return _.some(item.validationErrors)}),$scope.cart=cart,$scope.cartIsUpdating=!1},function(response){$scope.cartIsUpdating=!1})}var timer;!function(){getCart()}(),$scope.setCartForm=function(form){$scope.formCart=form},$scope.changeLineItemQuantity=function(lineItemId,quantity){var lineItem=_.find($scope.cart.items,function(i){return i.id==lineItemId});if(!(!lineItem||quantity<1||$scope.cartIsUpdating||$scope.formCart.$invalid)){var initialQuantity=lineItem.quantity;lineItem.quantity=quantity,$timeout.cancel(timer),timer=$timeout(function(){$scope.cartIsUpdating=!0,cartService.changeLineItemQuantity(lineItemId,quantity).then(function(response){getCart(),$rootScope.$broadcast("cartItemsChanged")},function(response){lineItem.quantity=initialQuantity,$scope.cartIsUpdating=!1})},300)}},$scope.changeLineItemPrice=function(lineItemId,newPrice){_.find($scope.cart.items,function(i){return i.id==lineItemId})&&!$scope.cartIsUpdating&&($scope.cartIsUpdating=!0,cartService.changeLineItemPrice(lineItemId,newPrice).then(function(response){getCart(),$rootScope.$broadcast("cartItemsChanged")},function(response){$scope.cart.items=initialItems,$scope.cartIsUpdating=!1}))},$scope.removeLineItem=function(lineItemId){var lineItem=_.find($scope.cart.items,function(i){return i.id==lineItemId});if(lineItem&&!$scope.cartIsUpdating){$scope.cartIsUpdating=!0;var initialItems=angular.copy($scope.cart.items);$scope.recentCartItemModalVisible=!1,$scope.cart.items=_.without($scope.cart.items,lineItem),cartService.removeLineItem(lineItemId).then(function(response){getCart(),$rootScope.$broadcast("cartItemsChanged")},function(response){$scope.cart.items=initialItems,$scope.cartIsUpdating=!1})}},$scope.submitCart=function(){$scope.formCart.$setSubmitted(),$scope.formCart.$invalid||cartService.updateCartComment($scope.cart.comment).then(function(resp){$scope.outerRedirect($scope.baseUrl+"cart/checkout")})},$scope.searchProduct=function(){$scope.productSearchResult=null,$scope.productSkuOrName&&($timeout.cancel(timer),timer=$timeout(function(){$scope.productSearchProcessing=!0;var criteria={keyword:$scope.productSkuOrName,start:0,pageSize:5};catalogService.search(criteria).then(function(response){$scope.productSearchProcessing=!1,$scope.productSearchResult=response.data.products},function(response){$scope.productSearchProcessing=!1})},300))},$scope.selectSearchedProduct=function(product){$scope.productSearchResult=null,$scope.selectedSearchedProduct=product,$scope.productSkuOrName=product.name},$scope.addProductToCart=function(product,quantity){$scope.cartIsUpdating=!0,cartService.addLineItem(product.id,quantity).then(function(response){getCart(),$scope.productSkuOrName=null,$scope.selectedSearchedProduct=null,$rootScope.$broadcast("cartItemsChanged")})}}]),storefrontApp.controller("cartBarController",["$scope","cartService",function($scope,cartService){function getCartItemsCount(){cartService.getCartItemsCount().then(function(response){$scope.cartItemsCount=response.data})}getCartItemsCount(),$scope.$on("cartItemsChanged",function(event,data){getCartItemsCount()})}]),storefrontApp.controller("recentlyAddedCartItemDialogController",["$scope","$window","$uibModalInstance","dialogData",function($scope,$window,$uibModalInstance,dialogData){$scope.$on("cartItemsChanged",function(event,data){dialogData.updated=!0}),$scope.dialogData=dialogData,$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("quoteRequestController",["$rootScope","$scope","$window","$location","quoteRequestService","cartService",function($rootScope,$scope,$window,$location,quoteRequestService,cartService){function getQuoteRequest(number){quoteRequestService.getQuoteRequest(number).then(function(response){var quoteRequest=response.data;quoteRequest.billingAddress||($scope.customer.addresses&&$scope.customer.addresses.length?(quoteRequest.billingAddress=angular.copy($scope.customer.addresses[0]),quoteRequest.billingAddress.type="Billing",quoteRequest.billingAddress.countryCode&&getCountryRegions("Billing",quoteRequest.billingAddress.countryCode)):quoteRequest.billingAddress={firstName:$scope.customer.firstName,lastName:$scope.customer.lastName}),_.each(quoteRequest.items,function(quoteItem){var i=1;_.each(quoteItem.proposalPrices,function(tierPrice){tierPrice.id=i,quoteItem.selectedTierPrice.quantity==tierPrice.quantity&&(quoteItem.selectedTierPrice=tierPrice),i++})}),quoteRequest.requestShippingQuote=!0,$scope.quoteRequest=quoteRequest})}function getCountries(){cartService.getCountries().then(function(response){$scope.countries=response.data})}function getCountryRegions(addressType,countryCode){cartService.getCountryRegions(countryCode).then(function(response){var countryRegions=response.data;"Billing"==addressType&&($scope.billingCountryRegions=countryRegions||[]),"Shipping"==addressType&&($scope.shippingCountryRegions=countryRegions||[])})}function toFormModel(quoteRequest){var quoteRequestFormModel={id:quoteRequest.id,tag:quoteRequest.tag,status:quoteRequest.status,comment:quoteRequest.comment,billingAddress:quoteRequest.billingAddress,shippingAddress:quoteRequest.shippingAddress,items:[]};return _.each(quoteRequest.items,function(quoteItem){var quoteItemFormModel={id:quoteItem.id,comment:quoteItem.comment,selectedTierPrice:{price:quoteItem.selectedTierPrice.price.amount,quantity:quoteItem.selectedTierPrice.quantity},proposalPrices:[]};_.each(quoteItem.proposalPrices,function(tierPrice){quoteItemFormModel.proposalPrices.push({price:tierPrice.price.amount,quantity:tierPrice.quantity})}),quoteRequestFormModel.items.push(quoteItemFormModel)}),quoteRequestFormModel}!function(){var quoteRequestNumber=$location.url().replace("/","")||$window.currentQuoteRequestNumber;$scope.billingCountry=null,$scope.shippingCountry=null,getCountries(),quoteRequestNumber?getQuoteRequest(quoteRequestNumber):$scope.quoteRequest={itemsCount:0}}(),$scope.setQuoteRequestForm=function(form){$scope.formQuoteRequest=form},$scope.displayForStatuses=function(statuses){return _.contains(statuses,$scope.quoteRequest.status)},$scope.addTierPrice=function(quoteItem){quoteItem.proposalPrices.push({id:quoteItem.proposalPrices.length+1,price:quoteItem.salePrice,quantity:1})},$scope.changeTierPriceQuantity=function(tierPrice,quantity){quantity<1||quantity.isNaN||(tierPrice.quantity=quantity)},$scope.removeTierPrice=function(quoteItem,tierPrice){quoteItem.proposalPrices=_.without(quoteItem.proposalPrices,tierPrice)},$scope.removeProductFromQuoteRequest=function(quoteItem){var initialQuoteItems=angular.copy($scope.quoteRequest.items);$scope.quoteRequest.items=_.without($scope.quoteRequest.items,quoteItem),quoteRequestService.removeProductFromQuoteRequest($scope.quoteRequest.id,quoteItem.id).then(function(response){getQuoteRequest($scope.quoteRequest.id),$rootScope.$broadcast("actualQuoteRequestItemsChanged")},function(response){$scope.quoteRequest.items=initialQuoteItems})},$scope.setCountry=function(addressType,countryName){var country=_.find($scope.countries,function(c){return c.name==countryName});country&&("Billing"==addressType&&($scope.billingCountry=country,$scope.billingCountryRegions=[],$scope.quoteRequest.billingAddress.countryCode=country.code3||country.code2,$scope.quoteRequest.billingAddress.regionId=null,$scope.quoteRequest.billingAddress.regionName=null),"Shipping"==addressType&&($scope.shippingCountry=country,$scope.shippingCountryRegions=[],$scope.quoteRequest.shippingAddress.countryCode=country.code3||country.code2,$scope.quoteRequest.shippingAddress.regionId=null,$scope.quoteRequest.shippingAddress.regionName=null),country.code3&&getCountryRegions(addressType,country.code3))},$scope.setCountryRegion=function(addressType){if("Billing"==addressType){var countryRegion=_.find($scope.billingCountryRegions,function(r){return r.name==$scope.quoteRequest.billingAddress.regionName});if(!countryRegion)return;$scope.quoteRequest.billingAddress.regionId=countryRegion.code}if("Shipping"==addressType){var countryRegion=_.find($scope.shippingCountryRegions,function(r){return r.name==$scope.quoteRequest.shippingAddress.regionName});if(!countryRegion)return;$scope.quoteRequest.shippingAddress.regionId=countryRegion.code}},$scope.selectCustomerAddress=function(addressType){if("Billing"===addressType){var billingAddress=_.find($scope.customer.addresses,function(a){return a.id===$scope.quoteRequest.billingAddress.id});billingAddress&&(billingAddress.type="Billing",billingAddress.countryCode&&getCountryRegions("Billing",billingAddress.countryCode),$scope.quoteRequest.billingAddress=angular.copy(billingAddress))}if("Shipping"===addressType){var shippingAddress=_.find($scope.customer.addresses,function(a){return a.id===$scope.quoteRequest.shippingAddress.id});shippingAddress&&(shippingAddress.type="Shipping",shippingAddress.countryCode&&getCountryRegions("Shipping",shippingAddress.countryCode),$scope.quoteRequest.shippingAddress=angular.copy(shippingAddress))}},$scope.stringifyAddress=function(address){if(address){var stringifiedAddress=address.firstName+" "+address.lastName+", ";return stringifiedAddress+=address.organization?address.organization+", ":"",stringifiedAddress+=address.countryName+", ",stringifiedAddress+=address.regionName?address.regionName+", ":"",stringifiedAddress+=address.city+" ",stringifiedAddress+=address.line1+", ",stringifiedAddress+=address.line2?address.line2:"",stringifiedAddress+=address.postalCode}},$scope.submitQuoteRequest=function(){$scope.formQuoteRequest.$setSubmitted(),$scope.formQuoteRequest.$invalid||($scope.quoteRequest.billingAddress.email=$scope.quoteRequest.email,$scope.quoteRequest.shippingAddress&&($scope.quoteRequest.shippingAddress.email=$scope.quoteRequest.email),quoteRequestService.submitQuoteRequest($scope.quoteRequest.id,toFormModel($scope.quoteRequest)).then(function(response){$scope.customer.isRegisteredUser?$scope.outerRedirect($scope.baseUrl+"account/quoterequests"):$scope.outerRedirect($scope.baseUrl+"account/login")}))},$scope.rejectQuoteRequest=function(){quoteRequestService.rejectQuoteRequest($scope.quoteRequest.id).then(function(response){quoteRequestService.getQuoteRequest($scope.quoteRequest.id).then(function(response){$scope.quoteRequest=response.data})})},$scope.selectTierPrice=function(){quoteRequestService.getTotals($scope.quoteRequest.id,toFormModel($scope.quoteRequest)).then(function(response){$scope.quoteRequest.totals=response.data})},$scope.confirmQuoteRequest=function(){quoteRequestService.confirmQuoteRequest($scope.quoteRequest.id,toFormModel($scope.quoteRequest)).then(function(response){$scope.outerRedirect($scope.baseUrl+"cart/checkout/#/shipping-address")})},$scope.setRequestShippingQuote=function(){$scope.quoteRequest.requestShippingQuote||($scope.quoteRequest.shippingAddress=null)},$scope.setShippingAddressEqualsBilling=function(){$scope.quoteRequest.shippingAddressEqualsBilling&&($scope.quoteRequest.shippingAddress=angular.copy($scope.quoteRequest.billingAddress),$scope.quoteRequest.shippingAddress.type="Shipping",$scope.quoteRequest.shippingAddress.countryCode&&($scope.shippingCountry=$scope.billingCountry,getCountryRegions("Shipping",$scope.quoteRequest.shippingAddress.countryCode)))},$scope.tierPricesUnique=function(quoteItem){var quantities=_.map(quoteItem.proposalPrices,function(p){return p.quantity});return _.uniq(quantities).length==quoteItem.proposalPrices.length}}]),storefrontApp.controller("actualQuoteRequestBarController",["$scope","quoteRequestService",function($scope,quoteRequestService){function getCurrentQuoteRequest(){quoteRequestService.getCurrentQuoteRequest().then(function(response){$scope.actualQuoteRequest=response.data})}getCurrentQuoteRequest(),$scope.$on("actualQuoteRequestItemsChanged",function(event,data){getCurrentQuoteRequest()})}]),storefrontApp.controller("recentlyAddedActualQuoteRequestItemDialogController",["$scope","$window","$uibModalInstance","dialogData",function($scope,$window,$uibModalInstance,dialogData){$scope.$on("actualQuoteRequestItemsChanged",function(event,data){dialogData.updated=!0}),$scope.dialogData=dialogData,$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url}}]),angular.module("storefrontApp").component("addToCompareButton",{templateUrl:"themes/assets/js/products-compare/add-to-compare-button.tpl.html",bindings:{productId:"<",buttonType:"<",customClass:"<",buttonWidth:"<"},controller:["$rootScope","catalogService","dialogService","compareProductService",function($rootScope,catalogService,dialogService,compareProductService){var $ctrl=this;$ctrl.showButtonName=!0,"small"==$ctrl.buttonType&&($ctrl.showButtonName=!1),$ctrl.$onInit=function(){$ctrl.containProduct=compareProductService.isInProductCompareList($ctrl.productId)},$ctrl.addProductToCompareList=function(event){event.preventDefault(),catalogService.getProduct($ctrl.productId).then(function(response){var product=response.data[0],productQuantity=compareProductService.getProductsCount();if(4==productQuantity)return void dialogService.showDialog({capacityExceeded:!0},"productCompareListDialogController","storefront.product-compare-list-dialog.tpl");if($ctrl.containProduct||!(productQuantity<4)){var existingProduct=product;return void dialogService.showDialog(existingProduct,"productCompareListDialogController","storefront.product-compare-list-dialog.tpl")}compareProductService.addProduct($ctrl.productId),dialogService.showDialog(product,"productCompareListDialogController","storefront.product-compare-list-dialog.tpl"),$rootScope.$broadcast("productCompareListChanged"),$ctrl.containProduct=!0})}}]}),angular.module("storefrontApp").component("productCompareListBar",{templateUrl:"product-compare-bar.tpl.html",controller:["compareProductService","$scope",function(compareProductService,$scope){var $ctrl=this;$ctrl.$onInit=function(){$ctrl.itemsCount=compareProductService.getProductsCount()},$scope.$on("productCompareListChanged",function(event,data){$ctrl.itemsCount=compareProductService.getProductsCount()})}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("productCompareListController",["$rootScope","$scope","catalogService","compareProductService",function($rootScope,$scope,catalogService,compareProductService){function modifyProperty(product){return _.each(product.properties,function(property){property.productId=product.id,"number"===property.valueType.toLowerCase()&&(property.value=formatNumber(property.value))}),product}function formatNumber(number){var float=parseFloat(number);return isNaN(float)?number:float}$scope.properties=[],$scope.products=[],$scope.getProductProperties=function(){if(_.isEmpty($scope.products))return[];var grouped={},properties=_.flatten(_.map($scope.products,function(product){return product.properties})),propertyDisplayNames=_.uniq(_.map(properties,function(property){return property.displayName}));_.each(propertyDisplayNames,function(displayName){grouped[displayName]=[];var props=_.where(properties,{displayName:displayName});_.each($scope.products,function(product){var productProperty=_.find(props,function(prop){return prop.productId===product.id});productProperty?grouped[displayName].push(productProperty):grouped[displayName].push({valueType:"ShortText",value:"-"})})}),$scope.properties=grouped},$scope.hasValues=function(properties,onlyDifferences){var uniqueValues=_.uniq(_.map(properties,function(p){return p.value}));return!(onlyDifferences&&properties.length>1&&1==uniqueValues.length)},$scope.clearCompareList=function(){compareProductService.clearComapreList(),$scope.products=[],$rootScope.$broadcast("productCompareListChanged"),$scope.properties=[]},$scope.removeProduct=function(product){compareProductService.removeProduct(product.id),$scope.products=_.without($scope.products,product),$rootScope.$broadcast("productCompareListChanged"),$scope.getProductProperties()},function(){$scope.loaded=!1;var productsIds=compareProductService.getProductsIds();if(_.isEmpty(productsIds))return void($scope.loaded=!0);catalogService.getProducts(productsIds).then(function(response){if(-1!=_.indexOf(productsIds,"&"))$scope.products=response.data,_.each($scope.products,function(product){modifyProperty(product)});else{var product=response.data[0];modifyProperty(product),$scope.products.push(product)}$scope.getProductProperties(),$scope.loaded=!0})}()}]).controller("productCompareListDialogController",["$scope","$window","dialogData","$uibModalInstance",function($scope,$window,dialogData,$uibModalInstance){$scope.dialogData=dialogData,$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("searchBarController",["$scope","$timeout","$window","catalogService",function($scope,$timeout,$window,catalogService){var timer;$scope.query=$window.searchQuery,$scope.getSuggestions=function(){$scope.query&&($timeout.cancel(timer),timer=$timeout(function(){$scope.searching=!0,$scope.categorySuggestions=[],$scope.productSuggestions=[];var searchCriteria={keyword:$scope.query,start:0,pageSize:$window.suggestionsLimit};catalogService.searchCategories(searchCriteria).then(function(response){ -var categories=response.data.categories;categories.length>5?(searchCriteria.pageSize=$window.suggestionsLimit-5,$scope.categorySuggestions=_.first(categories,5)):(searchCriteria.pageSize=$window.suggestionsLimit-categories.length,$scope.categorySuggestions=categories),catalogService.search(searchCriteria).then(function(response){var products=response.data.products;$scope.productSuggestions=products,$scope.searching=!1})})},300))}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcAddress",{templateUrl:"themes/assets/js/common-components/address.tpl.html",bindings:{address:"=",addresses:"<",countries:"=",validationContainer:"=",getCountryRegions:"&",editMode:"<",onUpdate:"&"},require:{checkoutStep:"?^vcCheckoutWizardStep"},controller:["$scope",function($scope){function populateRegionalDataForAddress(address){address&&(address.country=_.findWhere(ctrl.countries,{code3:address.countryCode}),null!=address.country&&(ctrl.address.countryName=ctrl.address.country.name,ctrl.address.countryCode=ctrl.address.country.code3),address.country&&(address.country.regions?setAddressRegion(address,address.country.regions):ctrl.getCountryRegions({country:address.country}).then(function(regions){address.country.regions=regions,setAddressRegion(address,regions)})))}function setAddressRegion(address,regions){address.region=_.findWhere(regions,{code:address.regionId}),address.region?(ctrl.address.regionId=ctrl.address.region.code,ctrl.address.regionName=ctrl.address.region.name):(ctrl.address.regionId=void 0,ctrl.address.regionName=void 0)}function stringifyAddress(address){var stringifiedAddress=address.firstName+" "+address.lastName+", ";return stringifiedAddress+=address.organization?address.organization+", ":"",stringifiedAddress+=address.countryName+", ",stringifiedAddress+=address.regionName?address.regionName+", ":"",stringifiedAddress+=address.city+" ",stringifiedAddress+=address.line1+", ",stringifiedAddress+=address.line2?address.line2:"",stringifiedAddress+=address.postalCode}var ctrl=this;this.$onInit=function(){ctrl.validationContainer&&ctrl.validationContainer.addComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.addComponent(this)},this.$onDestroy=function(){ctrl.validationContainer&&ctrl.validationContainer.removeComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.removeComponent(this)},ctrl.setForm=function(frm){ctrl.form=frm},ctrl.validate=function(){return!ctrl.form||(ctrl.form.$setSubmitted(),ctrl.form.$valid)},$scope.$watch("$ctrl.address",function(){ctrl.address&&(populateRegionalDataForAddress(ctrl.address),ctrl.address.name=stringifyAddress(ctrl.address)),ctrl.onUpdate({address:ctrl.address})},!0)}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcCreditCard",{templateUrl:"themes/assets/js/common-components/creditCard.tpl.html",require:{checkoutStep:"?^vcCheckoutWizardStep"},bindings:{card:"=",validationContainer:"="},controller:["$scope","$filter",function($scope,$filter){var ctrl=this;this.$onInit=function(){ctrl.validationContainer&&ctrl.validationContainer.addComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.addComponent(this)},this.$onDestroy=function(){ctrl.validationContainer&&ctrl.validationContainer.removeComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.removeComponent(this)},$scope.$watch("$ctrl.card.bankCardHolderName",function(val){ctrl.card&&(ctrl.card.bankCardHolderName=$filter("uppercase")(val))},!0),ctrl.validate=function(){return ctrl.form.$setSubmitted(),!ctrl.form.$invalid}}]}),angular.module("storefrontApp").component("vcLabeledInput",{templateUrl:"themes/assets/js/common-components/labeled-input.tpl.html",bindings:{value:"=",form:"=",name:"@",placeholder:"@",type:"@?",required:"<",requiredError:"@?",autofocus:"<"},controller:[function(){var $ctrl=this;$ctrl.validate=function(){return $ctrl.form.$setSubmitted(),$ctrl.form.$valid}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcLineItems",{templateUrl:"themes/assets/js/common-components/lineItems.tpl.liquid",bindings:{items:"="}});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcPaymentMethods",{templateUrl:"themes/assets/js/common-components/paymentMethods.tpl.html",require:{checkoutStep:"?^vcCheckoutWizardStep"},bindings:{getAvailPaymentMethods:"&",onSelectMethod:"&",paymentMethod:"=",validationContainer:"="},controller:["$scope",function($scope){var ctrl=this;this.$onInit=function(){ctrl.getAvailPaymentMethods().then(function(methods){ctrl.availPaymentMethods=_.sortBy(methods,function(x){return x.priority}),ctrl.paymentMethod&&(ctrl.paymentMethod=_.findWhere(ctrl.availPaymentMethods,{code:ctrl.paymentMethod.code})),!ctrl.paymentMethod&&ctrl.availPaymentMethods.length>0&&ctrl.selectMethod(ctrl.availPaymentMethods[0])}),ctrl.validationContainer&&ctrl.validationContainer.addComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.addComponent(this)},this.$onDestroy=function(){ctrl.validationContainer&&ctrl.validationContainer.removeComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.removeComponent(this)},ctrl.validate=function(){return ctrl.paymentMethod},ctrl.selectMethod=function(method){ctrl.paymentMethod=method,ctrl.onSelectMethod({paymentMethod:method})}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcTotals",{templateUrl:"themes/assets/js/common-components/totals.tpl.liquid",bindings:{order:"<"}});var moduleName="storefront.account";void 0!==storefrontAppDependencies&&storefrontAppDependencies.push(moduleName),angular.module(moduleName,["ngResource","ngComponentRouter","credit-cards","pascalprecht.translate","ngSanitize","storefrontApp"]).config(["$translateProvider",function($translateProvider){$translateProvider.useSanitizeValueStrategy("sanitizeParameters"),$translateProvider.useUrlLoader(BASE_URL+"themes/localization.json"),$translateProvider.preferredLanguage("en")}]).run(["$templateCache",function($templateCache){$templateCache.put("pagerTemplate.html",'')}]).value("$routerRootComponent","vcAccountManager").component("vcAccountManager",{templateUrl:"account-manager.tpl",bindings:{baseUrl:"<",customer:"<"},$routeConfig:[{path:"/orders/...",name:"Orders",component:"vcAccountOrders"},{path:"/subscriptions/...",name:"Subscriptions",component:"vcAccountSubscriptions"},{path:"/quotes",name:"Quotes",component:"vcAccountQuotes"},{path:"/profile",name:"Profile",component:"vcAccountProfileUpdate",useAsDefault:!0},{path:"/addresses",name:"Addresses",component:"vcAccountAddresses"},{path:"/changePassword",name:"PasswordChange",component:"vcAccountPasswordChange"},{path:"/lists/...",name:"Lists",component:"vcAccountLists"}],controller:["storefront.accountApi","storefrontApp.mainContext","loadingIndicatorService",function(accountApi,mainContext,loader){var $ctrl=this;$ctrl.loader=loader,$ctrl.getQuotes=function(pageNumber,pageSize,sortInfos,callback){loader.wrapLoading(function(){return accountApi.searchQuotes({pageNumber:pageNumber,pageSize:pageSize},callback).$promise})},$ctrl.updateProfile=function(updateRequest){loader.wrapLoading(function(){return accountApi.updateAccount(updateRequest,mainContext.getCustomer).$promise})},$ctrl.updateAddresses=function(data){return loader.wrapLoading(function(){return accountApi.updateAddresses(data,mainContext.getCustomer).$promise})},$ctrl.availCountries=accountApi.getCountries(),$ctrl.getCountryRegions=function(country){return accountApi.getCountryRegions(country).$promise},$ctrl.changePassword=function(changePasswordData){return loader.wrapLoading(function(){return accountApi.changePassword(changePasswordData).$promise})}}]}).service("confirmService",["$q",function($q){this.confirm=function(message){return $q.when(window.confirm(message||"Is it OK?"))}}]).factory("loadingIndicatorService",function(){var retVal={isLoading:!1,wrapLoading:function(func){return retVal.isLoading=!0,func().then(function(result){return retVal.isLoading=!1,result},function(){retVal.isLoading=!1})}};return retVal}),angular.module("storefront.account").component("vcAccountAddresses",{templateUrl:"themes/assets/js/account/account-addresses.tpl.liquid",require:{accountManager:"^vcAccountManager"},controller:["storefrontApp.mainContext","confirmService","$translate","$scope","loadingIndicatorService",function(mainContext,confirmService,$translate,$scope,loader){var $ctrl=this;$ctrl.loader=loader,$scope.$watch(function(){return mainContext.customer.addresses},function(){$ctrl.addresses=mainContext.customer.addresses}),$ctrl.addNewAddress=function(){_.last(components).validate()&&($ctrl.addresses.push($ctrl.newAddress),$ctrl.newAddress=null,$ctrl.accountManager.updateAddresses($ctrl.addresses))},$ctrl.submit=function(){components[$ctrl.editIdx].validate()&&(angular.copy($ctrl.editItem,$ctrl.addresses[$ctrl.editIdx]),$ctrl.accountManager.updateAddresses($ctrl.addresses).then($ctrl.cancel))},$ctrl.cancel=function(){$ctrl.editIdx=-1,$ctrl.editItem=null},$ctrl.edit=function($index){$ctrl.editIdx=$index,$ctrl.editItem=angular.copy($ctrl.addresses[$ctrl.editIdx])},$ctrl.delete=function($index){var showDialog=function(text){confirmService.confirm(text).then(function(confirmed){confirmed&&($ctrl.addresses.splice($index,1),$ctrl.accountManager.updateAddresses($ctrl.addresses))})};$translate("customer.addresses.delete_confirm").then(showDialog,showDialog)};var components=[];$ctrl.addComponent=function(component){components.push(component)},$ctrl.removeComponent=function(component){components=_.without(components,component)}}]}),angular.module("storefront.account").component("vcAccountOrders",{templateUrl:"themes/assets/js/account/account-orders.tpl.liquid",$routeConfig:[{path:"/",name:"OrderList",component:"vcAccountOrdersList",useAsDefault:!0},{path:"/:number",name:"OrderDetail",component:"vcAccountOrderDetail"}],controller:["orderHelper",function(orderHelper){this.orderHelper=orderHelper}]}).component("vcAccountOrdersList",{templateUrl:"account-orders-list.tpl",controller:["storefront.orderApi","loadingIndicatorService",function(orderApi,loader){var ctrl=this;ctrl.loader=loader,ctrl.pageSettings={currentPage:1,itemsPerPageCount:5,numPages:10},ctrl.pageSettings.pageChanged=function(){loader.wrapLoading(function(){return orderApi.search({pageNumber:ctrl.pageSettings.currentPage,pageSize:ctrl.pageSettings.itemsPerPageCount,sortInfos:ctrl.sortInfos},function(data){ctrl.entries=data.results,ctrl.pageSettings.totalItems=data.totalCount}).$promise})},this.$routerOnActivate=function(next){ctrl.pageSettings.currentPage=next.params.pageNumber||ctrl.pageSettings.currentPage,ctrl.pageSettings.pageChanged()}}]}).component("vcAccountOrderDetail",{templateUrl:"account-order-detail.tpl",require:{accountManager:"^vcAccountManager"},controller:["storefront.orderApi","$rootScope","$window","loadingIndicatorService","confirmService","orderHelper",function(orderApi,$rootScope,$window,loader,confirmService,orderHelper){function refresh(){loader.wrapLoading(function(){return $ctrl.order=orderApi.get({number:$ctrl.orderNumber},function(result){$ctrl.isShowPayment=!1;var lastPayment=_.last(_.sortBy($ctrl.order.inPayments,"createdDate"));$ctrl.billingAddress=lastPayment&&lastPayment.billingAddress||_.findWhere($ctrl.order.addresses,{type:"billing"})||_.first($ctrl.order.addresses),$ctrl.amountToPay=orderHelper.getNewPayment($ctrl.order).sum.amount,$ctrl.amountToPay>0&&($ctrl.billingAddressEqualsShipping=!0,loadPromise=orderApi.getNewPaymentData({number:$ctrl.orderNumber},function(result){configurePayment(result.paymentMethods,result.payment)}).$promise)}),$ctrl.order.$promise})}function configurePayment(paymentMethods,newPaymentTemplate){$ctrl.payment=orderHelper.getNewPayment($ctrl.order,paymentMethods,newPaymentTemplate),$ctrl.payment.purpose=$ctrl.payment.purpose||"Repeated payment",$ctrl.amountToPay=$ctrl.payment.sum.amount,$ctrl.canCancelPayment=$ctrl.payment.id!==newPaymentTemplate.id,$ctrl.canCancelPayment&&$ctrl.selectPaymentMethod(_.findWhere(paymentMethods,{code:$ctrl.payment.gatewayCode})),_.some($ctrl.order.shipments)||($ctrl.hasPhysicalProducts=!1,$ctrl.billingAddressEqualsShipping=!1)}function outerRedirect(absUrl){$window.location.href=absUrl}var $ctrl=this;$ctrl.loader=loader,$ctrl.hasPhysicalProducts=!0,this.$routerOnActivate=function(next){$ctrl.pageNumber=next.params.pageNumber||1,$ctrl.orderNumber=next.params.number,refresh()},$ctrl.getInvoicePdf=function(){var url=$window.BASE_URL+"storefrontapi/orders/"+$ctrl.orderNumber+"/invoice";$window.open(url,"_blank")},$ctrl.showPayment=function(){loadPromise.then(function(result){$ctrl.isShowPayment=!0})};var loadPromise;$ctrl.getAvailPaymentMethods=function(){return loadPromise.then(function(result){var preselectedMaymentMethod;return $ctrl.payment.gatewayCode&&(preselectedMaymentMethod=_.findWhere(result.paymentMethods,{code:$ctrl.payment.gatewayCode})),preselectedMaymentMethod?[preselectedMaymentMethod]:result.paymentMethods})},$ctrl.selectPaymentMethod=function(paymentMethod){angular.extend($ctrl.payment,paymentMethod),$ctrl.payment.gatewayCode=paymentMethod.code,$ctrl.validate()},$ctrl.validate=function(){return $ctrl.isValid=$ctrl.payment&&$ctrl.payment.gatewayCode&&$ctrl.payment.sum&&$ctrl.payment.sum.amount>0&&_.every(components,function(x){return"function"!=typeof x.validate||x.validate()}),$ctrl.isValid},$ctrl.submit=function(){$ctrl.validate()&&loader.wrapLoading(function(){return $ctrl.payment.bankCardInfo=$ctrl.paymentMethod.card,orderApi.addOrUpdatePayment({number:$ctrl.orderNumber},$ctrl.payment,function(payment){orderApi.processPayment({number:$ctrl.orderNumber,paymentNumber:payment.number},$ctrl.paymentMethod.card,function(result){var orderProcessingResult=result.orderProcessingResult,paymentMethod=result.paymentMethod;if(!orderProcessingResult.isSuccess)return void $rootScope.$broadcast("storefrontError",{type:"error",title:["Error in new payment processing: ",orderProcessingResult.error,"New Payment status: "+orderProcessingResult.newPaymentStatus].join(" "),message:orderProcessingResult.error});paymentMethod.paymentMethodType&&"preparedform"===paymentMethod.paymentMethodType.toLowerCase()&&orderProcessingResult.htmlForm?outerRedirect($ctrl.accountManager.baseUrl+"cart/checkout/paymentform?orderNumber="+$ctrl.orderNumber):paymentMethod.paymentMethodType&&"redirection"===paymentMethod.paymentMethodType.toLowerCase()&&orderProcessingResult.redirectUrl?outerRedirect(orderProcessingResult.redirectUrl):$ctrl.accountManager.customer.isRegisteredUser?refresh():outerRedirect($ctrl.accountManager.baseUrl+"cart/thanks/"+$ctrl.orderNumber)})}).$promise})},$ctrl.cancel=function(){confirmService.confirm("Cancel this payment?").then(function(confirmed){confirmed&&loader.wrapLoading(function(){return orderApi.cancelPayment({number:$ctrl.orderNumber,paymentNumber:$ctrl.payment.number},null,refresh).$promise})})};var components=[];$ctrl.addComponent=function(component){components.push(component)},$ctrl.removeComponent=function(component){components=_.without(components,component)}}]}).factory("orderHelper",function(){return{getNewPayment:function(order,paymentMethods,newPaymentTemplate){var retVal,paidPayments=_.filter(order.inPayments,function(x){return"Paid"===x.status}),paidAmount=_.reduce(paidPayments,function(memo,num){return memo+num.sum.amount},0),amountToPay=order.total.amount-paidAmount,pendingPayments=_.filter(order.inPayments,function(x){return!x.isCancelled&&("New"===x.status||"Pending"===x.status)&&x.sum.amount>0}),pendingPayment=_.last(_.sortBy(pendingPayments,"createdDate"));return!pendingPayment||paymentMethods&&!_.findWhere(paymentMethods,{code:pendingPayment.gatewayCode})?(newPaymentTemplate=newPaymentTemplate||{sum:{}},newPaymentTemplate.sum.amount=amountToPay,retVal=newPaymentTemplate):retVal=pendingPayment,retVal}}}).filter("orderToSummarizedStatusLabel",["orderHelper",function(orderHelper){return function(order){var retVal=order.status||"New",found=_.findWhere(orderHelper.statusLabels,{status:retVal.toLowerCase()});return found&&(retVal=found.label),retVal}}]),angular.module("storefront.account").component("vcAccountPasswordChange",{templateUrl:"themes/assets/js/account/account-password-change.tpl.liquid",require:{accountManager:"^vcAccountManager"},controller:["loadingIndicatorService",function(loader){var ctrl=this;ctrl.loader=loader,ctrl.passwordChangeData={},ctrl.submit=function(){ctrl.errors=null,ctrl.error={};var errorMsg,hasError=!1;errorMsg=ctrl.passwordChangeData.oldPassword===ctrl.passwordChangeData.newPassword,ctrl.error.newPassword=errorMsg,hasError=hasError||errorMsg,hasError||(errorMsg=ctrl.passwordChangeData.newPassword!==ctrl.passwordChangeData.newPassword2,ctrl.error.newPassword2=errorMsg,hasError=hasError||errorMsg),hasError||ctrl.accountManager.changePassword(ctrl.passwordChangeData).then(function(result){angular.extend(ctrl,result),ctrl.passwordChangeData={},ctrl.form.$setPristine()})},ctrl.setForm=function(frm){ctrl.form=frm}}]}),angular.module("storefront.account").component("vcAccountProfileUpdate",{templateUrl:"themes/assets/js/account/account-profile-update.tpl.liquid",bindings:{$router:"<"},require:{accountManager:"^vcAccountManager"},controller:["storefrontApp.mainContext","$scope","loadingIndicatorService",function(mainContext,$scope,loader){var $ctrl=this;$ctrl.loader=loader,$scope.$watch(function(){return mainContext.customer},function(customer){$ctrl.customer=customer,customer&&(customer.isContract&&$ctrl.$router.navigate(["Orders"]),$ctrl.changeData={firstName:customer.firstName,lastName:customer.lastName,email:customer.email})}),$ctrl.submit=function(){$ctrl.accountManager.updateProfile($ctrl.changeData)}}]}),angular.module("storefront.account").component("vcAccountQuotes",{templateUrl:"themes/assets/js/account/account-quotes.tpl.liquid",require:{accountManager:"^vcAccountManager"},controller:[function(){var ctrl=this;ctrl.pageSettings={currentPage:1,itemsPerPageCount:5,numPages:10},ctrl.pageSettings.pageChanged=function(){ctrl.accountManager.getQuotes(ctrl.pageSettings.currentPage,ctrl.pageSettings.itemsPerPageCount,ctrl.sortInfos,function(data){ctrl.entries=data.results,ctrl.pageSettings.totalItems=data.totalCount})},this.$routerOnActivate=function(next){ctrl.pageSettings.currentPage=next.params.pageNumber||ctrl.pageSettings.currentPage,ctrl.pageSettings.pageChanged()}}]}),angular.module("storefront.account").component("vcAccountSubscriptions",{templateUrl:"themes/assets/js/account/account-subscriptions.tpl.liquid",$routeConfig:[{path:"/",name:"SubscriptionList",component:"vcAccountSubscriptionsList",useAsDefault:!0},{path:"/:number",name:"SubscriptionDetail",component:"vcAccountSubscriptionDetail"}]}).component("vcAccountSubscriptionsList",{templateUrl:"account-subscriptions-list.tpl",controller:["storefront.subscriptionApi","confirmService","loadingIndicatorService","$translate",function(subscriptionApi,confirmService,loader,$translate){var $ctrl=this;$ctrl.loader=loader,$ctrl.pageSettings={currentPage:1,itemsPerPageCount:5,numPages:10},$ctrl.pageSettings.pageChanged=function(){loader.wrapLoading(function(){return subscriptionApi.search({pageNumber:$ctrl.pageSettings.currentPage,pageSize:$ctrl.pageSettings.itemsPerPageCount,sortInfos:$ctrl.sortInfos},function(data){$ctrl.entries=data.results,$ctrl.pageSettings.totalItems=data.totalCount}).$promise})},this.$routerOnActivate=function(next){$ctrl.pageSettings.currentPage=next.params.pageNumber||$ctrl.pageSettings.currentPage,$ctrl.pageSettings.pageChanged()}}]}).component("vcAccountSubscriptionDetail",{templateUrl:"account-subscription-detail.tpl",controller:["storefront.subscriptionApi","confirmService","loadingIndicatorService","$translate",function(subscriptionApi,confirmService,loader,$translate){function refresh(){loader.wrapLoading(function(){return subscriptionApi.get({number:$ctrl.entryNumber},function(result){$ctrl.subscription=angular.copy(result)}).$promise})}var $ctrl=this;$ctrl.loader=loader,this.$routerOnActivate=function(next){$ctrl.pageNumber=next.params.pageNumber||1,$ctrl.entryNumber=next.params.number,refresh()},$ctrl.cancel=function(){loader.wrapLoading(function(){return subscriptionApi.cancel({number:$ctrl.entryNumber},{number:$ctrl.entryNumber,cancelReason:$ctrl.cancelReason},function(result){$ctrl.subscription=angular.copy(result),$ctrl.isCancelFormVisible=!1}).$promise})}}]}).filter("toIntervalKey",function(){return function(data,data_intervalCount){return"customer.subscriptions.intervals."+data.interval.toLowerCase()+"_"+(1===data_intervalCount?1:"plural")}}),angular.module("storefront.account").factory("storefront.accountApi",["$resource",function($resource){return $resource("storefrontapi/account",null,{updateAccount:{url:"storefrontapi/account",method:"POST"},changePassword:{url:"storefrontapi/account/password",method:"POST"},searchQuotes:{url:"storefrontapi/quoterequests/search",method:"POST"},updateAddresses:{url:"storefrontapi/account/addresses",method:"POST"},getCountries:{url:"storefrontapi/countries",isArray:!0},getCountryRegions:{url:"storefrontapi/countries/:code3/regions",isArray:!0}})}]).factory("storefront.orderApi",["$resource",function($resource){return $resource("storefrontapi/orders/:number",null,{search:{url:"storefrontapi/orders/search",method:"POST"},getNewPaymentData:{url:"storefrontapi/orders/:number/newpaymentdata"},addOrUpdatePayment:{url:"storefrontapi/orders/:number/payments",method:"POST"},processPayment:{url:"storefrontapi/orders/:number/payments/:paymentNumber/process",method:"POST"},cancelPayment:{url:"storefrontapi/orders/:number/payments/:paymentNumber/cancel",method:"POST"}})}]).factory("storefront.subscriptionApi",["$resource",function($resource){return $resource("storefrontapi/subscriptions/:number",null,{search:{url:"storefrontapi/subscriptions/search",method:"POST"},cancel:{url:"storefrontapi/subscriptions/:number/cancel",method:"POST"}})}]),angular.module("storefront.account").component("vcAccountLists",{templateUrl:"lists-manager.tpl",$routeConfig:[{path:"/",name:"Lists",component:"vcAccountLists"},{path:"/myLists",name:"MyLists",component:"vcAccountMyLists",useAsDefault:!0}],controller:["listService","$rootScope","cartService","$translate","loadingIndicatorService","$timeout",function(listService,$rootScope,cartService,$translate,loader,$timeout){var $ctrl=this;$ctrl.loader=loader,$ctrl.selectedList={},$ctrl.errors=null,$ctrl.selectTab=function(tabName){$ctrl.selectedList={},$ctrl.selectedTab=tabName},$ctrl.selectList=function(list){$ctrl.errors=null,$ctrl.selectedList=list,loader.wrapLoading(function(){return listService.getWishlist(list.name,list.type).then(function(response){$ctrl.selectedList.items=response.data.items})})},$ctrl.removeLineItem=function(lineItem,list){loader.wrapLoading(function(){return listService.removeLineItem(lineItem.id,list.name,list.type).then(function(response){$ctrl.selectList(list)})})},$ctrl.addToCart=function(lineItem){loader.wrapLoading(function(){return cartService.addLineItem(lineItem.productId,1).then(function(response){$ctrl.productAdded=!0,$timeout(function(){$ctrl.productAdded=!1},2e3),$rootScope.$broadcast("cartItemsChanged")})})}}]}).component("vcAccountMyLists",{templateUrl:"themes/assets/js/lists/account-lists.tpl.liquid",require:{accountLists:"^^vcAccountLists"},controller:["$rootScope","listService","customerService","loadingIndicatorService","$q","dialogService",function($rootScope,listService,customerService,loader,$q,dialogService){function createList(listName,type){return listService.createList(listName,type)}var $ctrl=this;$ctrl.type=null,$ctrl.predefinedLists=[],$ctrl.pageSettings={currentPage:1,itemsPerPageCount:5,numPages:4},$ctrl.pageSettings.pageChanged=function(){$ctrl._searchLists()},$ctrl._searchLists=function(){$ctrl.accountLists.errors=null,loader.wrapLoading(function(){return listService.searchLists({pageNumber:$ctrl.pageSettings.currentPage,pageSize:$ctrl.pageSettings.itemsPerPageCount,type:$ctrl.type}).then(function(response){$ctrl.accountLists.lists=response.data.results,$ctrl.pageSettings.totalItems=response.data.totalCount,$ctrl.accountLists.selectedList=_.first(response.data.results)})})},$ctrl.initialize=function(lists){$ctrl.predefinedLists=lists.default_lists,$ctrl.type=lists.default_list_type;var promises=[];_.each($ctrl.predefinedLists,function(list){promises.push(createList(list.name,list.type))}),$q.all(promises).then(function(){$ctrl._searchLists()})},$ctrl.$onInit=function(){$ctrl.accountLists.selectTab("myLists")},$ctrl.createList=function(){var dialogData={lists:$ctrl.lists,type:$ctrl.type};dialogService.showDialog(dialogData,"recentlyCreateNewListDialogController","storefront.recently-create-new-list-dialog.tpl",function(result){result&&(result.error?$ctrl.accountLists.errors=[result.error]:($ctrl.pageSettings.currentPage=1,$ctrl._searchLists()))})},$ctrl.addToCartAllProducts=function(listName){loader.wrapLoading(function(){return listService.mergeWithCurrentCart(listName,$ctrl.type).then(function(response){$rootScope.$broadcast("cartItemsChanged")})})},$ctrl.listSettings=function(){loader.wrapLoading(function(){return listService.searchLists({pageSize:1e4,type:$ctrl.type}).then(function(response){var dialogData={lists:response.data.results,predefinedLists:$ctrl.predefinedLists,type:$ctrl.type};dialogService.showDialog(dialogData,"recentlyCreateNewListDialogController","storefront.list-settings-dialog.tpl",function(result){$ctrl.pageSettings.currentPage=1,$ctrl._searchLists()})})})}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("recentlyAddedListItemDialogController",["$scope","$window","$uibModalInstance","dialogData","listService","$translate",function($scope,$window,$uibModalInstance,dialogData,listService,$translate){$scope.availableLists=[],$scope.selectedList={},$scope.dialogData=dialogData,$scope.inProgress=!1,$scope.itemAdded=!1,$scope.type=dialogData.listType,$scope.addProductToList=function(){$scope.inProgress=!0,listService.addLineItem(dialogData.id,$scope.selectedList.name,$scope.selectedList.type).then(function(response){response.data&&($scope.inProgress=!1,$scope.itemAdded=!0)})},$scope.selectList=function(list){$scope.selectedList=list},$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url},$scope.initialize=function(){listService.searchLists({pageSize:1e4,type:$scope.type}).then(function(response){$scope.lists=response.data.results,_.each($scope.lists,function(list){_.find(list.items,function(item){return item.productId===dialogData.id})&&(list.contains=!0)})})},$scope.initialize()}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("recentlyCreateNewListDialogController",["$rootScope","$scope","$window","$uibModalInstance","customerService","dialogData","listService","$localStorage","loadingIndicatorService",function($rootScope,$scope,$window,$uibModalInstance,customerService,dialogData,listService,$localStorage,loader){$scope.dialogData=dialogData.lists,$scope.predefinedLists=dialogData.lists,$scope.userName=dialogData.userName,$scope.inProgress=!1,$scope.data=$scope.listName,$scope.selectedTab=dialogData.selectedTab,$scope.type=dialogData.type,$scope.createList=function(){listService.createList($scope.dialogData.listName,$scope.type).then(function(result){$uibModalInstance.close(result.data)})},$scope.selectedList=function(listName,type){var items=listService.getWishlist(listName,type).items;$scope.selectedList.items=items},$scope.submitSettings=function(){var listIds=[];_.each(dialogData.lists,function(list){list.delete&&listIds.push(list.id)}),listService.deleteListsByIds(listIds).then(function(result){$uibModalInstance.close()})},$scope.close=function(){$uibModalInstance.dismiss("cancel")},function(){_.each($scope.dialogData,function(list){_.find(dialogData.predefinedLists,function(predefinedList){return predefinedList.name===list.name})&&(list.disabled=!0)})}()}]); -//# sourceMappingURL=account-scripts.js.map diff --git a/assets/static/bundle/account-scripts.js.map b/assets/static/bundle/account-scripts.js.map deleted file mode 100644 index 4f428dac..00000000 --- a/assets/static/bundle/account-scripts.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../assets/modernizr.min.js","../../../assets/js/app.js","../../../assets/js/services.js","../../../assets/js/main.js","../../../assets/js/cart.js","../../../assets/js/quote-request.js","../../../assets/js/products-compare/add-to-compare-button.js","../../../assets/js/products-compare/product-compare-list-bar.js","../../../assets/js/products-compare/product-compare.js","../../../assets/js/searchBar.js","../../../assets/js/common-components/address.js","../../../assets/js/common-components/creditCard.js","../../../assets/js/common-components/labeled-input.js","../../../assets/js/common-components/lineItems.js","../../../assets/js/common-components/paymentMethods.js","../../../assets/js/common-components/totals.js","../../../assets/js/account/$account.js","../../../assets/js/account/account-addresses.js","../../../assets/js/account/account-orders.js","../../../assets/js/account/account-password-change.js","../../../assets/js/account/account-profile-update.js","../../../assets/js/account/account-quotes.js","../../../assets/js/account/account-subscriptions.js","../../../assets/js/account/accountApi.js","../../../assets/js/lists/account-lists.js","../../../assets/js/lists/add-to-list.js","../../../assets/js/lists/list-creation.js"],"names":["window","Modernizr","a","b","c","z","j","cssText","B","C","indexOf","D","d","e","E","f","bind","F","charAt","toUpperCase","slice","o","join","split","p","v","y","g","documentElement","h","i","createElement","style","m","n","toLowerCase","q","t","u","w","k","l","body","parseInt","id","appendChild","innerHTML","background","overflow","parentNode","removeChild","x","hasOwnProperty","call","constructor","prototype","Function","this","TypeError","arguments","apply","concat","Object","touch","DocumentTouch","offsetTop","csstransforms","csstransforms3d","offsetLeft","offsetHeight","fontface","getElementById","sheet","styleSheet","cssRules","test","G","push","addTest","className","_version","_prefixes","_domPrefixes","_cssomPrefixes","testProp","testAllProps","testStyles","replace","document","storefrontAppDependencies","storefrontApp","angular","module","factory","$q","$rootScope","httpErrorInterceptor","responseError","rejection","data","message","$broadcast","type","title","config","method","url","status","statusText","stackTrace","reject","requestError","$httpProvider","$translateProvider","interceptors","useSanitizeValueStrategy","useUrlLoader","BASE_URL","preferredLanguage","service","$uibModal","showDialog","dialogData","controller","templateUrl","onClosed","open","resolve","result","then","$http","postFeedback","post","getCurrentCustomer","get","Date","getTime","getDynamicContent","placeName","getActualProductPrices","products","$localStorage","isInProductCompareList","productId","_","some","addProduct","uniq","getProductsIds","ids","length","getProductsCount","clearComapreList","removeProduct","without","getProduct","productIds","getProducts","search","criteria","searchCategories","getCart","getCartItemsCount","addLineItem","quantity","changeLineItemQuantity","lineItemId","put","removeLineItem","delete","changeLineItemPrice","newPrice","clearCart","getCountries","getCountryRegions","countryCode","addCoupon","couponCode","removeCoupon","validateCoupon","coupon","addOrUpdateShipment","shipment","addOrUpdatePayment","payment","getAvailableShippingMethods","shipmentId","getAvailablePaymentMethods","addOrUpdatePaymentPlan","plan","removePaymentPlan","createOrder","bankCardInfo","updateCartComment","cartComment","comment","getWishlist","listName","getListsWithProduct","listNames","searchLists","searchCriteria","createList","deleteListsByIds","listIds","mergeWithCurrentCart","getCurrentQuoteRequest","getQuoteRequest","number","getQuoteRequestItemsCount","addProductToQuoteRequest","removeProductFromQuoteRequest","quoteRequestNumber","quoteItemId","submitQuoteRequest","quoteRequest","rejectQuoteRequest","updateQuoteRequest","getTotals","confirmQuoteRequest","getRecommendedProducts","requestData","getOrder","orderNumber","$scope","$location","$window","customerService","mainContext","baseUrl","$watch","currentPath","$$path","$on","event","storefrontNotification","detailsVisible","toggleNotificationDetails","closeNotification","outerRedirect","absUrl","location","href","innerRedirect","path","stringifyAddress","address","stringifiedAddress","firstName","lastName","organization","countryName","regionName","city","line1","line2","postalCode","getObjectSize","obj","key","size","getCustomer","response","addresses","addressId","each","isContact","memberType","customer","$timeout","cartService","catalogService","cartIsUpdating","cart","hasValidationErrors","validationErrors","items","item","timer","setCartForm","form","formCart","lineItem","find","$invalid","initialQuantity","cancel","initialItems","copy","recentCartItemModalVisible","submitCart","$setSubmitted","resp","searchProduct","productSearchResult","productSkuOrName","productSearchProcessing","keyword","start","pageSize","selectSearchedProduct","product","selectedSearchedProduct","name","addProductToCart","cartItemsCount","$uibModalInstance","updated","close","redirect","quoteRequestService","billingAddress","quoteItem","proposalPrices","tierPrice","selectedTierPrice","requestShippingQuote","countries","addressType","countryRegions","billingCountryRegions","shippingCountryRegions","toFormModel","quoteRequestFormModel","tag","shippingAddress","quoteItemFormModel","price","amount","currentQuoteRequestNumber","billingCountry","shippingCountry","itemsCount","setQuoteRequestForm","formQuoteRequest","displayForStatuses","statuses","contains","addTierPrice","salePrice","changeTierPriceQuantity","isNaN","removeTierPrice","initialQuoteItems","setCountry","country","code3","code2","regionId","setCountryRegion","countryRegion","r","code","selectCustomerAddress","email","isRegisteredUser","selectTierPrice","totals","setRequestShippingQuote","setShippingAddressEqualsBilling","shippingAddressEqualsBilling","tierPricesUnique","quantities","map","actualQuoteRequest","component","bindings","buttonType","customClass","buttonWidth","dialogService","compareProductService","$ctrl","showButtonName","$onInit","containProduct","addProductToCompareList","preventDefault","productQuantity","capacityExceeded","existingProduct","modifyProperty","properties","property","valueType","value","formatNumber","float","parseFloat","getProductProperties","isEmpty","grouped","flatten","propertyDisplayNames","displayName","props","where","productProperty","prop","hasValues","onlyDifferences","uniqueValues","clearCompareList","loaded","productsIds","query","searchQuery","getSuggestions","searching","categorySuggestions","productSuggestions","suggestionsLimit","categories","first","validationContainer","editMode","onUpdate","require","checkoutStep","populateRegionalDataForAddress","findWhere","ctrl","regions","setAddressRegion","region","undefined","addComponent","$onDestroy","removeComponent","setForm","frm","validate","$valid","card","$filter","val","bankCardHolderName","placeholder","required","requiredError","autofocus","getAvailPaymentMethods","onSelectMethod","paymentMethod","methods","availPaymentMethods","sortBy","priority","selectMethod","order","moduleName","run","$templateCache","$routeConfig","useAsDefault","accountApi","loader","getQuotes","pageNumber","sortInfos","callback","wrapLoading","searchQuotes","$promise","updateProfile","updateRequest","updateAccount","updateAddresses","availCountries","changePassword","changePasswordData","confirm","when","retVal","isLoading","func","accountManager","confirmService","$translate","addNewAddress","last","components","newAddress","submit","editIdx","editItem","edit","$index","text","confirmed","splice","orderHelper","orderApi","pageSettings","currentPage","itemsPerPageCount","numPages","pageChanged","entries","results","totalItems","totalCount","$routerOnActivate","next","params","refresh","isShowPayment","lastPayment","inPayments","amountToPay","getNewPayment","sum","billingAddressEqualsShipping","loadPromise","getNewPaymentData","configurePayment","paymentMethods","newPaymentTemplate","purpose","canCancelPayment","selectPaymentMethod","gatewayCode","shipments","hasPhysicalProducts","getInvoicePdf","showPayment","preselectedMaymentMethod","extend","isValid","every","processPayment","paymentNumber","orderProcessingResult","isSuccess","error","newPaymentStatus","paymentMethodType","htmlForm","redirectUrl","cancelPayment","paidPayments","filter","paidAmount","reduce","memo","num","total","pendingPayments","isCancelled","pendingPayment","found","statusLabels","label","passwordChangeData","errors","errorMsg","hasError","oldPassword","newPassword","newPassword2","$setPristine","$router","isContract","navigate","changeData","subscriptionApi","entryNumber","subscription","cancelReason","isCancelFormVisible","data_intervalCount","interval","$resource","isArray","listService","selectedList","selectTab","tabName","selectedTab","selectList","list","addToCart","productAdded","accountLists","predefinedLists","_searchLists","lists","initialize","default_lists","default_list_type","promises","all","addToCartAllProducts","listSettings","availableLists","inProgress","itemAdded","listType","addProductToList","userName","submitSettings","dismiss","predefinedList","disabled"],"mappings":"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","file":"account-scripts.js","sourcesContent":["/* Modernizr 2.8.2 (Custom Build) | MIT & BSD\r\n * Build: http://modernizr.com/download/#-fontface-csstransforms-csstransforms3d-touch-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-cssclassprefix:supports!\r\n */\r\n;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+\";\")+(b||\"\"))}function B(a,b){return typeof a===b}function C(a,b){return!!~(\"\"+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,\"-\")&&j[e]!==c)return b==\"pfx\"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,\"function\")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+\" \"+o.join(d+\" \")+d).split(\" \");return B(b,\"string\")||B(b,\"undefined\")?D(e,b):(e=(a+\" \"+p.join(d+\" \")+d).split(\" \"),E(e,b,c))}var d=\"2.8.2\",e={},f=!0,g=b.documentElement,h=\"modernizr\",i=b.createElement(h),j=i.style,k,l={}.toString,m=\" -webkit- -moz- -o- -ms- \".split(\" \"),n=\"Webkit Moz O ms\",o=n.split(\" \"),p=n.toLowerCase().split(\" \"),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement(\"div\"),m=b.body,n=m||b.createElement(\"body\");if(parseInt(d,10))while(d--)j=b.createElement(\"div\"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=[\"­\",'\"].join(\"\"),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background=\"\",n.style.overflow=\"hidden\",k=g.style.overflow,g.style.overflow=\"hidden\",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,\"undefined\")&&!B(x.call,\"undefined\")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],\"undefined\")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!=\"function\")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return\"ontouchstart\"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w([\"@media (\",m.join(\"touch-enabled),(\"),h,\")\",\"{#modernizr{top:9px;position:absolute}}\"].join(\"\"),function(a){c=a.offsetTop===9}),c},q.csstransforms=function(){return!!F(\"transform\")},q.csstransforms3d=function(){var a=!!F(\"perspective\");return a&&\"webkitPerspective\"in g.style&&w(\"@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}\",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},q.fontface=function(){var a;return w('@font-face {font-family:\"font\";src:url(\"https://\")}',function(c,d){var e=b.getElementById(\"smodernizr\"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||\"\":\"\";a=/src/i.test(g)&&g.indexOf(d.split(\" \")[0])===0}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?\"\":\"no-\")+v));return e.addTest=function(a,b){if(typeof a==\"object\")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b==\"function\"?b():b,typeof f!=\"undefined\"&&f&&(g.className+=\" supports-\"+(b?\"\":\"no-\")+a),e[a]=b}return e},z(\"\"),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\\s)no-js(\\s|$)/,\"$1$2\")+(f?\" supports-js supports-\"+t.join(\" supports-\"):\"\"),e}(this,this.document);","var storefrontAppDependencies = [\r\n 'ui.bootstrap',\r\n 'ngStorage',\r\n 'pascalprecht.translate',\r\n 'ngSanitize',\r\n]\r\nvar storefrontApp = angular.module('storefrontApp', storefrontAppDependencies);\r\n\r\nstorefrontApp.factory('httpErrorInterceptor', ['$q', '$rootScope', function ($q, $rootScope) {\r\n var httpErrorInterceptor = {};\r\n\r\n httpErrorInterceptor.responseError = function (rejection) {\r\n if (rejection.data && rejection.data.message) {\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: [rejection.config.method, rejection.config.url, rejection.status, rejection.statusText, rejection.data.message].join(' '),\r\n message: rejection.data.stackTrace,\r\n });\r\n }\r\n return $q.reject(rejection);\r\n };\r\n httpErrorInterceptor.requestError = function (rejection) {\r\n if (rejection.data && rejection.data.message) {\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: [rejection.config.method, rejection.config.url, rejection.status, rejection.statusText, rejection.data.message].join(' '),\r\n message: rejection.data.stackTrace,\r\n });\r\n }\r\n return $q.reject(rejection);\r\n };\r\n\r\n return httpErrorInterceptor;\r\n}])\r\n\r\nstorefrontApp.config(['$httpProvider', '$translateProvider', function ($httpProvider, $translateProvider) {\r\n $httpProvider.interceptors.push('httpErrorInterceptor');\r\n\r\n $translateProvider.useSanitizeValueStrategy('sanitizeParameters');\r\n $translateProvider.useUrlLoader(BASE_URL + 'themes/localization.json');\r\n $translateProvider.preferredLanguage('en');\r\n\r\n}]);","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.service('dialogService', ['$uibModal', function ($uibModal) {\r\n return {\r\n showDialog: function (dialogData, controller, templateUrl, onClosed) {\r\n var modalInstance = $uibModal.open({\r\n controller: controller,\r\n templateUrl: templateUrl,\r\n resolve: {\r\n dialogData: function () {\r\n return dialogData;\r\n }\r\n }\r\n }).result.then(function (result) {\r\n if (onClosed) {\r\n onClosed(result);\r\n }\r\n });\r\n return modalInstance;\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('feedbackService', ['$http', function ($http) {\r\n return {\r\n postFeedback: function (data) {\r\n return $http.post('storefrontapi/feedback', data);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('customerService', ['$http', function ($http) {\r\n return {\r\n getCurrentCustomer: function () {\r\n return $http.get('storefrontapi/account?t=' + new Date().getTime());\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('marketingService', ['$http', function ($http) {\r\n return {\r\n getDynamicContent: function (placeName) {\r\n return $http.get('storefrontapi/marketing/dynamiccontent/' + placeName + '?t=' + new Date().getTime());\r\n },\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('pricingService', ['$http', function ($http) {\r\n\treturn {\r\n\t\tgetActualProductPrices: function (products) {\r\n\t\t return $http.post('storefrontapi/pricing/actualprices', products);\r\n\t\t}\r\n\t}\r\n}]);\r\n\r\nstorefrontApp.service('compareProductService', ['$http', '$localStorage', function($http, $localStorage) {\r\n return {\r\n isInProductCompareList: function(productId) {\r\n var containProduct;\r\n if (!_.some($localStorage['productCompareListIds'], function(id) { return id === productId })) {\r\n containProduct = false;\r\n }\r\n else\r\n containProduct = true\r\n return containProduct;\r\n },\r\n addProduct: function(productId) {\r\n if (!$localStorage['productCompareListIds']) {\r\n $localStorage['productCompareListIds'] = [];\r\n }\r\n $localStorage['productCompareListIds'].push(productId);\r\n _.uniq($localStorage['productCompareListIds']);\r\n },\r\n getProductsIds: function() {\r\n if (!$localStorage['productCompareListIds']) {\r\n $localStorage['productCompareListIds'] = [];\r\n return;\r\n }\r\n var ids = [];\r\n for (i = 0; i < $localStorage['productCompareListIds'].length; i++) {\r\n ids.push('productIds=' + $localStorage['productCompareListIds'][i]);\r\n }\r\n return ids.join(\"&\");\r\n },\r\n getProductsCount: function() {\r\n var count = $localStorage['productCompareListIds'] ? $localStorage['productCompareListIds'].length : 0;\r\n return count;\r\n },\r\n clearComapreList: function() {\r\n $localStorage['productCompareListIds'] = [];\r\n },\r\n removeProduct: function(productId) {\r\n $localStorage['productCompareListIds'] = _.without($localStorage['productCompareListIds'], productId);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('catalogService', ['$http', function($http, $localStorage) {\r\n return {\r\n getProduct: function(productIds) {\r\n return $http.get('storefrontapi/products?productIds=' + productIds + '&t=' + new Date().getTime());\r\n },\r\n getProducts: function(productIds) {\r\n return $http.get('storefrontapi/products?' + productIds + '&t=' + new Date().getTime());\r\n },\r\n search: function (criteria) {\r\n return $http.post('storefrontapi/catalog/search', criteria);\r\n },\r\n searchCategories: function (criteria) {\r\n return $http.post('storefrontapi/categories/search', criteria);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('cartService', ['$http', function ($http) {\r\n return {\r\n getCart: function () {\r\n return $http.get('storefrontapi/cart?t=' + new Date().getTime());\r\n },\r\n getCartItemsCount: function () {\r\n return $http.get('storefrontapi/cart/itemscount?t=' + new Date().getTime());\r\n },\r\n addLineItem: function (productId, quantity) {\r\n return $http.post('storefrontapi/cart/items', { id: productId, quantity: quantity });\r\n },\r\n changeLineItemQuantity: function (lineItemId, quantity) {\r\n return $http.put('storefrontapi/cart/items', { lineItemId: lineItemId, quantity: quantity });\r\n },\r\n removeLineItem: function (lineItemId) {\r\n return $http.delete('storefrontapi/cart/items?lineItemId=' + lineItemId);\r\n },\r\n changeLineItemPrice: function (lineItemId, newPrice) {\r\n \treturn $http.put('storefrontapi/cart/items/price', { lineItemId: lineItemId, newPrice: newPrice});\r\n },\r\n clearCart: function () {\r\n return $http.post('storefrontapi/cart/clear');\r\n },\r\n getCountries: function () {\r\n return $http.get('storefrontapi/countries?t=' + new Date().getTime());\r\n },\r\n getCountryRegions: function (countryCode) {\r\n \treturn $http.get('storefrontapi/countries/' + countryCode + '/regions?t=' + new Date().getTime());\r\n },\r\n addCoupon: function (couponCode) {\r\n return $http.post('storefrontapi/cart/coupons/' + couponCode);\r\n },\r\n removeCoupon: function (couponCode) { \r\n return $http.delete('storefrontapi/cart/coupons?couponCode=' + couponCode);\r\n },\r\n validateCoupon: function (coupon) {\r\n return $http.post('storefrontapi/cart/coupons/validate', coupon);\r\n },\r\n addOrUpdateShipment: function (shipment) {\r\n return $http.post('storefrontapi/cart/shipments', shipment);\r\n },\r\n addOrUpdatePayment: function (payment) {\r\n return $http.post('storefrontapi/cart/payments', payment );\r\n },\r\n getAvailableShippingMethods: function (shipmentId) {\r\n return $http.get('storefrontapi/cart/shipments/' + shipmentId + '/shippingmethods?t=' + new Date().getTime());\r\n },\r\n getAvailablePaymentMethods: function () {\r\n return $http.get('storefrontapi/cart/paymentmethods?t=' + new Date().getTime());\r\n },\r\n addOrUpdatePaymentPlan: function (plan) {\r\n return $http.post('storefrontapi/cart/paymentPlan', plan);\r\n },\r\n removePaymentPlan: function () {\r\n return $http.delete('storefrontapi/cart/paymentPlan');\r\n },\r\n createOrder: function (bankCardInfo) {\r\n return $http.post('storefrontapi/cart/createorder', bankCardInfo);\r\n },\r\n updateCartComment: function (cartComment) {\r\n return $http.put('storefrontapi/cart/comment', { comment: cartComment });\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('listService', ['$http', function ($http) {\r\n return {\r\n getWishlist: function (listName, type) {\r\n return $http.get('storefrontapi/lists/' + listName + '/' + type + '?t=' + new Date().getTime());\r\n },\r\n getListsWithProduct: function (productId, listNames, type) {\r\n return $http.post('storefrontapi/lists/getlistswithproduct', { productId: productId, listNames: listNames, type: type });\r\n },\r\n addLineItem: function (productId, listName, type) {\r\n return $http.post('storefrontapi/lists/items', { productId: productId, listName: listName, type: type });\r\n },\r\n removeLineItem: function (lineItemId, listName, type) {\r\n return $http.delete('storefrontapi/lists/' + listName + '/' + type + '/items/' + lineItemId);\r\n },\r\n searchLists: function (searchCriteria) {\r\n return $http.post('storefrontapi/lists/search', searchCriteria);\r\n },\r\n createList: function(listName, type) {\r\n return $http.post('storefrontapi/lists/' + listName + '/' + type + '/create');\r\n },\r\n deleteListsByIds: function(listIds) {\r\n return $http.delete('storefrontapi/lists/deletelistsbyids?listIds=' + listIds.join('&listIds='));\r\n },\r\n mergeWithCurrentCart: function(listName, type) {\r\n return $http.post('storefrontapi/lists/' + listName + '/' + type + '/mergewithcurrentcart');\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('quoteRequestService', ['$http', function ($http) {\r\n return {\r\n getCurrentQuoteRequest: function () {\r\n return $http.get('storefrontapi/quoterequest/current?t=' + new Date().getTime());\r\n },\r\n getQuoteRequest: function (number) {\r\n return $http.get('storefrontapi/quoterequests/' + number + '?t=' + new Date().getTime());\r\n },\r\n getQuoteRequestItemsCount: function (number) {\r\n return $http.get('storefrontapi/quoterequests/' + number + '/itemscount?t=' + new Date().getTime());\r\n },\r\n addProductToQuoteRequest: function (productId, quantity) {\r\n return $http.post('storefrontapi/quoterequests/current/items', { productId: productId, quantity: quantity });\r\n },\r\n removeProductFromQuoteRequest: function (quoteRequestNumber, quoteItemId) {\r\n return $http.delete('storefrontapi/quoterequests/' + quoteRequestNumber + '/items/' + quoteItemId);\r\n },\r\n submitQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/submit', quoteRequest);\r\n },\r\n rejectQuoteRequest: function (quoteRequestNumber) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/reject');\r\n },\r\n updateQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.put('storefrontapi/quoterequests/' + quoteRequestNumber + '/update', quoteRequest);\r\n },\r\n getTotals: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/totals', quoteRequest);\r\n },\r\n confirmQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/confirm', quoteRequest);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('recommendationService', ['$http', function ($http) {\r\n return {\r\n getRecommendedProducts: function (requestData) {\r\n return $http.post('storefrontapi/recommendations', requestData );\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('orderService', ['$http', function ($http) {\r\n return {\r\n getOrder: function (orderNumber) {\r\n return $http.get('storefrontapi/orders/' + orderNumber + '?t=' + new Date().getTime());\r\n }\r\n }\r\n}]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\n\r\nstorefrontApp.controller('mainController', ['$scope', '$location', '$window', 'customerService', 'storefrontApp.mainContext',\r\n function($scope, $location, $window, customerService, mainContext) {\r\n\r\n //Base store url populated in layout and can be used for construction url inside controller\r\n $scope.baseUrl = {};\r\n\r\n $scope.$watch(function() {\r\n $scope.currentPath = $location.$$path.replace('/', '');\r\n });\r\n\r\n $scope.$on('storefrontError', function(event, data) {\r\n $scope.storefrontNotification = data;\r\n $scope.storefrontNotification.detailsVisible = false;\r\n });\r\n\r\n $scope.toggleNotificationDetails = function() {\r\n $scope.storefrontNotification.detailsVisible = !$scope.storefrontNotification.detailsVisible;\r\n }\r\n\r\n $scope.closeNotification = function() {\r\n $scope.storefrontNotification = null;\r\n }\r\n\r\n //For outside app redirect (To reload the page after changing the URL, use the lower-level API)\r\n $scope.outerRedirect = function(absUrl) {\r\n $window.location.href = absUrl;\r\n };\r\n\r\n //change in the current URL or change the current URL in the browser (for app route)\r\n $scope.innerRedirect = function(path) {\r\n $location.path(path);\r\n $scope.currentPath = $location.$$path.replace('/', '');\r\n };\r\n\r\n $scope.stringifyAddress = function(address) {\r\n var stringifiedAddress = address.firstName + ' ' + address.lastName + ', ';\r\n stringifiedAddress += address.organization ? address.organization + ', ' : '';\r\n stringifiedAddress += address.countryName + ', ';\r\n stringifiedAddress += address.regionName ? address.regionName + ', ' : '';\r\n stringifiedAddress += address.city + ' ';\r\n stringifiedAddress += address.line1 + ', ';\r\n stringifiedAddress += address.line2 ? address.line2 : '';\r\n stringifiedAddress += address.postalCode;\r\n return stringifiedAddress;\r\n }\r\n\r\n $scope.getObjectSize = function(obj) {\r\n var size = 0, key;\r\n for (key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n size++;\r\n }\r\n }\r\n return size;\r\n }\r\n\r\n mainContext.getCustomer = $scope.getCustomer = function() {\r\n customerService.getCurrentCustomer().then(function(response) {\r\n if (!response.data.addresses) {\r\n response.data.addresses = [];\r\n }\r\n var addressId = 1;\r\n _.each(response.data.addresses, function(address) {\r\n address.id = addressId;\r\n addressId++;\r\n });\r\n response.data.isContact = response.data.memberType === 'Contact';\r\n mainContext.customer = $scope.customer = response.data;\r\n });\r\n };\r\n\r\n $scope.getCustomer();\r\n }])\r\n\r\n .factory('storefrontApp.mainContext', function() {\r\n return {};\r\n });\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('cartController', ['$rootScope', '$scope', '$timeout', 'cartService', 'catalogService', function ($rootScope, $scope, $timeout, cartService, catalogService) {\r\n var timer;\r\n\r\n initialize();\r\n\r\n $scope.setCartForm = function (form) {\r\n $scope.formCart = form;\r\n }\r\n\r\n $scope.changeLineItemQuantity = function (lineItemId, quantity) {\r\n var lineItem = _.find($scope.cart.items, function (i) { return i.id == lineItemId });\r\n if (!lineItem || quantity < 1 || $scope.cartIsUpdating || $scope.formCart.$invalid) {\r\n return;\r\n }\r\n var initialQuantity = lineItem.quantity;\r\n lineItem.quantity = quantity;\r\n $timeout.cancel(timer);\r\n timer = $timeout(function () {\r\n $scope.cartIsUpdating = true;\r\n cartService.changeLineItemQuantity(lineItemId, quantity).then(function (response) {\r\n getCart();\r\n $rootScope.$broadcast('cartItemsChanged');\r\n }, function (response) {\r\n lineItem.quantity = initialQuantity;\r\n $scope.cartIsUpdating = false;\r\n });\r\n }, 300);\r\n }\r\n\r\n $scope.changeLineItemPrice = function (lineItemId, newPrice) {\r\n \tvar lineItem = _.find($scope.cart.items, function (i) { return i.id == lineItemId });\r\n \tif (!lineItem || $scope.cartIsUpdating) {\r\n \t\treturn;\r\n \t}\r\n \t$scope.cartIsUpdating = true;\r\n cartService.changeLineItemPrice(lineItemId, newPrice).then(function (response) {\r\n \t\tgetCart();\r\n \t\t$rootScope.$broadcast('cartItemsChanged');\r\n \t}, function (response) {\r\n \t\t$scope.cart.items = initialItems;\r\n \t\t$scope.cartIsUpdating = false;\r\n \t});\r\n };\r\n $scope.removeLineItem = function (lineItemId) {\r\n var lineItem = _.find($scope.cart.items, function (i) { return i.id == lineItemId });\r\n if (!lineItem || $scope.cartIsUpdating) {\r\n return;\r\n }\r\n $scope.cartIsUpdating = true;\r\n var initialItems = angular.copy($scope.cart.items);\r\n $scope.recentCartItemModalVisible = false;\r\n $scope.cart.items = _.without($scope.cart.items, lineItem);\r\n cartService.removeLineItem(lineItemId).then(function (response) {\r\n getCart();\r\n $rootScope.$broadcast('cartItemsChanged');\r\n }, function (response) {\r\n $scope.cart.items = initialItems;\r\n $scope.cartIsUpdating = false;\r\n });\r\n } \r\n\r\n $scope.submitCart = function () {\r\n $scope.formCart.$setSubmitted();\r\n if ($scope.formCart.$invalid) {\r\n return;\r\n }\r\n cartService.updateCartComment($scope.cart.comment).then(function (resp) {\r\n $scope.outerRedirect($scope.baseUrl + 'cart/checkout');\r\n });\r\n }\r\n\r\n $scope.searchProduct = function () {\r\n $scope.productSearchResult = null;\r\n if ($scope.productSkuOrName) {\r\n $timeout.cancel(timer);\r\n timer = $timeout(function () {\r\n $scope.productSearchProcessing = true;\r\n var criteria = {\r\n keyword: $scope.productSkuOrName,\r\n start: 0,\r\n pageSize: 5\r\n }\r\n catalogService.search(criteria).then(function (response) {\r\n $scope.productSearchProcessing = false;\r\n $scope.productSearchResult = response.data.products;\r\n }, function (response) {\r\n $scope.productSearchProcessing = false;\r\n });\r\n }, 300);\r\n }\r\n }\r\n\r\n $scope.selectSearchedProduct = function (product) {\r\n $scope.productSearchResult = null;\r\n $scope.selectedSearchedProduct = product;\r\n $scope.productSkuOrName = product.name;\r\n }\r\n\r\n $scope.addProductToCart = function (product, quantity) {\r\n $scope.cartIsUpdating = true;\r\n cartService.addLineItem(product.id, quantity).then(function (response) {\r\n getCart();\r\n $scope.productSkuOrName = null;\r\n $scope.selectedSearchedProduct = null;\r\n $rootScope.$broadcast('cartItemsChanged');\r\n });\r\n }\r\n\r\n function initialize() {\r\n getCart();\r\n }\r\n\r\n function getCart() {\r\n $scope.cartIsUpdating = true;\r\n cartService.getCart().then(function (response) {\r\n var cart = response.data;\r\n cart.hasValidationErrors = _.some(cart.validationErrors) || _.some(cart.items, function (item) { return _.some(item.validationErrors) });\r\n $scope.cart = cart;\r\n $scope.cartIsUpdating = false;\r\n }, function (response) {\r\n $scope.cartIsUpdating = false;\r\n });\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('cartBarController', ['$scope', 'cartService', function ($scope, cartService) {\r\n getCartItemsCount();\r\n\r\n $scope.$on('cartItemsChanged', function (event, data) {\r\n getCartItemsCount();\r\n });\r\n\r\n function getCartItemsCount() {\r\n cartService.getCartItemsCount().then(function (response) {\r\n $scope.cartItemsCount = response.data;\r\n });\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('recentlyAddedCartItemDialogController', ['$scope', '$window', '$uibModalInstance', 'dialogData', function ($scope, $window, $uibModalInstance, dialogData) {\r\n $scope.$on('cartItemsChanged', function (event, data) {\r\n dialogData.updated = true;\r\n });\r\n\r\n $scope.dialogData = dialogData;\r\n\r\n $scope.close = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n $scope.redirect = function (url) {\r\n $window.location = url;\r\n }\r\n}]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('quoteRequestController', ['$rootScope', '$scope', '$window', '$location', 'quoteRequestService', 'cartService',\r\n function ($rootScope, $scope, $window, $location, quoteRequestService, cartService) {\r\n initialize();\r\n\r\n $scope.setQuoteRequestForm = function (form) {\r\n $scope.formQuoteRequest = form;\r\n }\r\n\r\n $scope.displayForStatuses = function (statuses) {\r\n return _.contains(statuses, $scope.quoteRequest.status);\r\n }\r\n\r\n $scope.addTierPrice = function (quoteItem) {\r\n quoteItem.proposalPrices.push({\r\n id: quoteItem.proposalPrices.length + 1,\r\n price: quoteItem.salePrice,\r\n quantity: 1\r\n });\r\n }\r\n\r\n $scope.changeTierPriceQuantity = function (tierPrice, quantity) {\r\n if (quantity < 1 || quantity.isNaN) {\r\n return;\r\n }\r\n tierPrice.quantity = quantity;\r\n }\r\n\r\n $scope.removeTierPrice = function (quoteItem, tierPrice) {\r\n quoteItem.proposalPrices = _.without(quoteItem.proposalPrices, tierPrice);\r\n }\r\n\r\n $scope.removeProductFromQuoteRequest = function (quoteItem) {\r\n var initialQuoteItems = angular.copy($scope.quoteRequest.items);\r\n $scope.quoteRequest.items = _.without($scope.quoteRequest.items, quoteItem);\r\n quoteRequestService.removeProductFromQuoteRequest($scope.quoteRequest.id, quoteItem.id).then(function (response) {\r\n getQuoteRequest($scope.quoteRequest.id);\r\n $rootScope.$broadcast('actualQuoteRequestItemsChanged');\r\n }, function (response) {\r\n $scope.quoteRequest.items = initialQuoteItems;\r\n });\r\n }\r\n\r\n $scope.setCountry = function (addressType, countryName) {\r\n var country = _.find($scope.countries, function (c) { return c.name == countryName });\r\n if (!country) {\r\n return;\r\n }\r\n if (addressType == 'Billing') {\r\n $scope.billingCountry = country;\r\n $scope.billingCountryRegions = [];\r\n $scope.quoteRequest.billingAddress.countryCode = country.code3 || country.code2;\r\n $scope.quoteRequest.billingAddress.regionId = null;\r\n $scope.quoteRequest.billingAddress.regionName = null;\r\n }\r\n if (addressType == 'Shipping') {\r\n $scope.shippingCountry = country;\r\n $scope.shippingCountryRegions = [];\r\n $scope.quoteRequest.shippingAddress.countryCode = country.code3 || country.code2;\r\n $scope.quoteRequest.shippingAddress.regionId = null;\r\n $scope.quoteRequest.shippingAddress.regionName = null;\r\n }\r\n if (country.code3) {\r\n getCountryRegions(addressType, country.code3);\r\n }\r\n }\r\n\r\n $scope.setCountryRegion = function (addressType) {\r\n if (addressType == 'Billing') {\r\n var countryRegion = _.find($scope.billingCountryRegions, function (r) { return r.name == $scope.quoteRequest.billingAddress.regionName });\r\n if (!countryRegion) {\r\n return;\r\n }\r\n $scope.quoteRequest.billingAddress.regionId = countryRegion.code;\r\n }\r\n if (addressType == 'Shipping') {\r\n var countryRegion = _.find($scope.shippingCountryRegions, function (r) { return r.name == $scope.quoteRequest.shippingAddress.regionName });\r\n if (!countryRegion) {\r\n return;\r\n }\r\n $scope.quoteRequest.shippingAddress.regionId = countryRegion.code;\r\n }\r\n }\r\n\r\n $scope.selectCustomerAddress = function (addressType) {\r\n if (addressType === 'Billing') {\r\n var billingAddress = _.find($scope.customer.addresses, function (a) { return a.id === $scope.quoteRequest.billingAddress.id });\r\n if (billingAddress) {\r\n billingAddress.type = 'Billing';\r\n if (billingAddress.countryCode) {\r\n getCountryRegions('Billing', billingAddress.countryCode);\r\n }\r\n $scope.quoteRequest.billingAddress = angular.copy(billingAddress);\r\n }\r\n }\r\n if (addressType === 'Shipping') {\r\n var shippingAddress = _.find($scope.customer.addresses, function (a) { return a.id === $scope.quoteRequest.shippingAddress.id });\r\n if (shippingAddress) {\r\n shippingAddress.type = 'Shipping';\r\n if (shippingAddress.countryCode) {\r\n getCountryRegions('Shipping', shippingAddress.countryCode);\r\n }\r\n $scope.quoteRequest.shippingAddress = angular.copy(shippingAddress);\r\n }\r\n }\r\n }\r\n\r\n $scope.stringifyAddress = function (address) {\r\n if (!address) {\r\n return;\r\n }\r\n var stringifiedAddress = address.firstName + ' ' + address.lastName + ', ';\r\n stringifiedAddress += address.organization ? address.organization + ', ' : '';\r\n stringifiedAddress += address.countryName + ', ';\r\n stringifiedAddress += address.regionName ? address.regionName + ', ' : '';\r\n stringifiedAddress += address.city + ' ';\r\n stringifiedAddress += address.line1 + ', ';\r\n stringifiedAddress += address.line2 ? address.line2 : '';\r\n stringifiedAddress += address.postalCode;\r\n return stringifiedAddress;\r\n }\r\n\r\n $scope.submitQuoteRequest = function () {\r\n $scope.formQuoteRequest.$setSubmitted();\r\n if ($scope.formQuoteRequest.$invalid) {\r\n return;\r\n }\r\n $scope.quoteRequest.billingAddress.email = $scope.quoteRequest.email;\r\n if ($scope.quoteRequest.shippingAddress) {\r\n $scope.quoteRequest.shippingAddress.email = $scope.quoteRequest.email;\r\n }\r\n quoteRequestService.submitQuoteRequest($scope.quoteRequest.id, toFormModel($scope.quoteRequest)).then(function (response) {\r\n if ($scope.customer.isRegisteredUser) {\r\n $scope.outerRedirect($scope.baseUrl + 'account/quoterequests');\r\n } else {\r\n $scope.outerRedirect($scope.baseUrl + 'account/login');\r\n }\r\n });\r\n }\r\n\r\n $scope.rejectQuoteRequest = function () {\r\n quoteRequestService.rejectQuoteRequest($scope.quoteRequest.id).then(function (response) {\r\n quoteRequestService.getQuoteRequest($scope.quoteRequest.id).then(function (response) {\r\n $scope.quoteRequest = response.data;\r\n });\r\n });\r\n }\r\n\r\n $scope.selectTierPrice = function () {\r\n quoteRequestService.getTotals($scope.quoteRequest.id, toFormModel($scope.quoteRequest)).then(function (response) {\r\n $scope.quoteRequest.totals = response.data;\r\n });\r\n }\r\n\r\n $scope.confirmQuoteRequest = function () {\r\n quoteRequestService.confirmQuoteRequest($scope.quoteRequest.id, toFormModel($scope.quoteRequest)).then(function (response) {\r\n $scope.outerRedirect($scope.baseUrl + 'cart/checkout/#/shipping-address');\r\n });\r\n }\r\n\r\n $scope.setRequestShippingQuote = function () {\r\n if (!$scope.quoteRequest.requestShippingQuote) {\r\n $scope.quoteRequest.shippingAddress = null;\r\n }\r\n }\r\n\r\n $scope.setShippingAddressEqualsBilling = function () {\r\n if ($scope.quoteRequest.shippingAddressEqualsBilling) {\r\n $scope.quoteRequest.shippingAddress = angular.copy($scope.quoteRequest.billingAddress);\r\n $scope.quoteRequest.shippingAddress.type = 'Shipping';\r\n if ($scope.quoteRequest.shippingAddress.countryCode) {\r\n $scope.shippingCountry = $scope.billingCountry;\r\n getCountryRegions('Shipping', $scope.quoteRequest.shippingAddress.countryCode);\r\n }\r\n }\r\n }\r\n\r\n $scope.tierPricesUnique = function (quoteItem) {\r\n var quantities = _.map(quoteItem.proposalPrices, function (p) { return p.quantity });\r\n return _.uniq(quantities).length == quoteItem.proposalPrices.length;\r\n }\r\n\r\n function initialize() {\r\n var quoteRequestNumber = $location.url().replace('/', '') || $window.currentQuoteRequestNumber;\r\n $scope.billingCountry = null;\r\n $scope.shippingCountry = null;\r\n getCountries();\r\n if (quoteRequestNumber) {\r\n getQuoteRequest(quoteRequestNumber);\r\n } else {\r\n $scope.quoteRequest = { itemsCount: 0 };\r\n }\r\n }\r\n\r\n function getQuoteRequest(number) {\r\n quoteRequestService.getQuoteRequest(number).then(function (response) {\r\n var quoteRequest = response.data;\r\n if (!quoteRequest.billingAddress) {\r\n if ($scope.customer.addresses && $scope.customer.addresses.length) {\r\n quoteRequest.billingAddress = angular.copy($scope.customer.addresses[0]);\r\n quoteRequest.billingAddress.type = 'Billing';\r\n if (quoteRequest.billingAddress.countryCode) {\r\n getCountryRegions('Billing', quoteRequest.billingAddress.countryCode);\r\n }\r\n } else {\r\n quoteRequest.billingAddress = {\r\n firstName: $scope.customer.firstName,\r\n lastName: $scope.customer.lastName\r\n };\r\n }\r\n }\r\n _.each(quoteRequest.items, function (quoteItem) {\r\n var i = 1;\r\n _.each(quoteItem.proposalPrices, function (tierPrice) {\r\n tierPrice.id = i;\r\n if (quoteItem.selectedTierPrice.quantity == tierPrice.quantity) {\r\n quoteItem.selectedTierPrice = tierPrice;\r\n }\r\n i++;\r\n });\r\n });\r\n quoteRequest.requestShippingQuote = true;\r\n $scope.quoteRequest = quoteRequest;\r\n });\r\n }\r\n\r\n function getCountries() {\r\n cartService.getCountries().then(function (response) {\r\n $scope.countries = response.data;\r\n });\r\n }\r\n\r\n function getCountryRegions(addressType, countryCode) {\r\n cartService.getCountryRegions(countryCode).then(function (response) {\r\n var countryRegions = response.data;\r\n if (addressType == 'Billing') {\r\n $scope.billingCountryRegions = countryRegions || [];\r\n }\r\n if (addressType == 'Shipping') {\r\n $scope.shippingCountryRegions = countryRegions || [];\r\n }\r\n });\r\n }\r\n\r\n function toFormModel(quoteRequest) {\r\n var quoteRequestFormModel = {\r\n id: quoteRequest.id,\r\n tag: quoteRequest.tag,\r\n status: quoteRequest.status,\r\n comment: quoteRequest.comment,\r\n billingAddress: quoteRequest.billingAddress,\r\n shippingAddress: quoteRequest.shippingAddress,\r\n items: []\r\n };\r\n _.each(quoteRequest.items, function (quoteItem) {\r\n var quoteItemFormModel = {\r\n id: quoteItem.id,\r\n comment: quoteItem.comment,\r\n selectedTierPrice: {\r\n price: quoteItem.selectedTierPrice.price.amount,\r\n quantity: quoteItem.selectedTierPrice.quantity\r\n },\r\n proposalPrices: []\r\n };\r\n _.each(quoteItem.proposalPrices, function (tierPrice) {\r\n quoteItemFormModel.proposalPrices.push({\r\n price: tierPrice.price.amount,\r\n quantity: tierPrice.quantity\r\n });\r\n });\r\n quoteRequestFormModel.items.push(quoteItemFormModel);\r\n });\r\n\r\n return quoteRequestFormModel;\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('actualQuoteRequestBarController', ['$scope', 'quoteRequestService', function ($scope, quoteRequestService) {\r\n getCurrentQuoteRequest();\r\n\r\n $scope.$on('actualQuoteRequestItemsChanged', function (event, data) {\r\n getCurrentQuoteRequest();\r\n });\r\n\r\n function getCurrentQuoteRequest() {\r\n quoteRequestService.getCurrentQuoteRequest().then(function (response) {\r\n $scope.actualQuoteRequest = response.data;\r\n });\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('recentlyAddedActualQuoteRequestItemDialogController', ['$scope', '$window', '$uibModalInstance', 'dialogData',\r\n function ($scope, $window, $uibModalInstance, dialogData) {\r\n\r\n $scope.$on('actualQuoteRequestItemsChanged', function (event, data) {\r\n dialogData.updated = true;\r\n });\r\n\r\n $scope.dialogData = dialogData;\r\n\r\n $scope.close = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n $scope.redirect = function (url) {\r\n $window.location = url;\r\n }\r\n}]);\r\n","angular.module('storefrontApp')\r\n .component('addToCompareButton', {\r\n templateUrl: 'themes/assets/js/products-compare/add-to-compare-button.tpl.html',\r\n bindings: {\r\n productId: '<',\r\n buttonType: '<',\r\n customClass: '<',\r\n buttonWidth: '<'\r\n },\r\n controller: ['$rootScope', 'catalogService', 'dialogService', 'compareProductService', function($rootScope, catalogService, dialogService, compareProductService) {\r\n var $ctrl = this;\r\n\r\n $ctrl.showButtonName = true;\r\n if ($ctrl.buttonType == 'small') {\r\n $ctrl.showButtonName = false;\r\n }\r\n\r\n $ctrl.$onInit = function () {\r\n $ctrl.containProduct = compareProductService.isInProductCompareList($ctrl.productId);\r\n }\r\n\r\n $ctrl.addProductToCompareList = function (event) {\r\n event.preventDefault();\r\n catalogService.getProduct($ctrl.productId).then(function(response) {\r\n var product = response.data[0];\r\n var productQuantity = compareProductService.getProductsCount();\r\n if (productQuantity == 4) {\r\n dialogService.showDialog({ capacityExceeded: true }, 'productCompareListDialogController', 'storefront.product-compare-list-dialog.tpl');\r\n return;\r\n }\r\n if (!$ctrl.containProduct && productQuantity < 4) {\r\n compareProductService.addProduct($ctrl.productId);\r\n dialogService.showDialog(product, 'productCompareListDialogController', 'storefront.product-compare-list-dialog.tpl');\r\n $rootScope.$broadcast('productCompareListChanged');\r\n }\r\n else {\r\n var existingProduct = product;\r\n dialogService.showDialog(existingProduct, 'productCompareListDialogController', 'storefront.product-compare-list-dialog.tpl');\r\n return;\r\n }\r\n $ctrl.containProduct = true;\r\n })\r\n };\r\n }]\r\n })\r\n","angular.module('storefrontApp')\r\n .component('productCompareListBar', {\r\n templateUrl: \"product-compare-bar.tpl.html\",\r\n controller: ['compareProductService', '$scope',\r\n function(compareProductService, $scope) {\r\n var $ctrl = this;\r\n $ctrl.$onInit = function() {\r\n $ctrl.itemsCount = compareProductService.getProductsCount();\r\n }\r\n $scope.$on('productCompareListChanged', function(event, data) {\r\n $ctrl.itemsCount = compareProductService.getProductsCount();\r\n });\r\n }]\r\n });\r\n","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.controller('productCompareListController', ['$rootScope', '$scope', 'catalogService', 'compareProductService',\r\n function($rootScope, $scope, catalogService, compareProductService) {\r\n\r\n $scope.properties = [];\r\n $scope.products = [];\r\n\r\n function initialize() {\r\n $scope.loaded = false;\r\n var productsIds = compareProductService.getProductsIds();\r\n if (_.isEmpty(productsIds)) {\r\n $scope.loaded = true;\r\n return;\r\n }\r\n catalogService.getProducts(productsIds).then(function(response) {\r\n if (_.indexOf(productsIds, '&') != -1) {\r\n $scope.products = response.data;\r\n _.each($scope.products, function(product) {\r\n modifyProperty(product);\r\n })\r\n }\r\n else {\r\n var product = response.data[0];\r\n modifyProperty(product);\r\n $scope.products.push(product);\r\n }\r\n $scope.getProductProperties();\r\n $scope.loaded = true;\r\n })\r\n };\r\n\r\n $scope.getProductProperties = function () {\r\n if (_.isEmpty($scope.products))\r\n return [];\r\n var grouped = {};\r\n var properties = _.flatten(_.map($scope.products, function(product) { return product.properties; }));\r\n var propertyDisplayNames = _.uniq(_.map(properties, function(property) { return property.displayName; }));\r\n _.each(propertyDisplayNames, function(displayName) {\r\n grouped[displayName] = [];\r\n var props = _.where(properties, { displayName: displayName });\r\n _.each($scope.products, function(product) {\r\n var productProperty = _.find(props, function(prop) { return prop.productId === product.id });\r\n if (productProperty) {\r\n grouped[displayName].push(productProperty);\r\n } else {\r\n grouped[displayName].push({ valueType: 'ShortText', value: '-' });\r\n }\r\n });\r\n });\r\n $scope.properties = grouped;\r\n };\r\n\r\n function modifyProperty(product) {\r\n _.each(product.properties, function(property) {\r\n property.productId = product.id;\r\n if (property.valueType.toLowerCase() === 'number') {\r\n property.value = formatNumber(property.value);\r\n }\r\n })\r\n return product;\r\n }\r\n\r\n $scope.hasValues = function(properties, onlyDifferences) {\r\n var uniqueValues = _.uniq(_.map(properties, function (p) { return p.value }));\r\n if (onlyDifferences && properties.length > 1 && uniqueValues.length == 1) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n $scope.clearCompareList = function() {\r\n compareProductService.clearComapreList();\r\n $scope.products = [];\r\n $rootScope.$broadcast('productCompareListChanged');\r\n $scope.properties = [];\r\n };\r\n\r\n $scope.removeProduct = function (product) {\r\n compareProductService.removeProduct(product.id)\r\n $scope.products = _.without($scope.products, product);\r\n $rootScope.$broadcast('productCompareListChanged');\r\n $scope.getProductProperties();\r\n };\r\n\r\n function formatNumber(number) {\r\n var float = parseFloat(number);\r\n return !isNaN(float) ? float : number;\r\n };\r\n initialize();\r\n }\r\n])\r\n\r\n.controller('productCompareListDialogController', ['$scope', '$window', 'dialogData', '$uibModalInstance',\r\n function ($scope, $window, dialogData, $uibModalInstance) {\r\n $scope.dialogData = dialogData;\r\n\r\n $scope.close = function() {\r\n $uibModalInstance.close();\r\n };\r\n\r\n $scope.redirect = function(url) {\r\n $window.location = url;\r\n };\r\n }\r\n]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.controller('searchBarController', ['$scope', '$timeout', '$window', 'catalogService', function ($scope, $timeout, $window, catalogService) {\r\n var timer;\r\n\r\n $scope.query = $window.searchQuery;\r\n\r\n $scope.getSuggestions = function () {\r\n if (!$scope.query) {\r\n return;\r\n }\r\n $timeout.cancel(timer);\r\n timer = $timeout(function () {\r\n $scope.searching = true;\r\n $scope.categorySuggestions = [];\r\n $scope.productSuggestions = [];\r\n var searchCriteria = {\r\n keyword: $scope.query,\r\n start: 0,\r\n pageSize: $window.suggestionsLimit\r\n }\r\n catalogService.searchCategories(searchCriteria).then(function (response) {\r\n var categories = response.data.categories;\r\n if (categories.length > 5) {\r\n searchCriteria.pageSize = $window.suggestionsLimit - 5;\r\n $scope.categorySuggestions = _.first(categories, 5);\r\n } else {\r\n searchCriteria.pageSize = $window.suggestionsLimit - categories.length;\r\n $scope.categorySuggestions = categories;\r\n }\r\n catalogService.search(searchCriteria).then(function (response) {\r\n var products = response.data.products;\r\n $scope.productSuggestions = products;\r\n $scope.searching = false;\r\n });\r\n });\r\n }, 300);\r\n }\r\n}]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.component('vcAddress', {\r\n templateUrl: \"themes/assets/js/common-components/address.tpl.html\",\r\n bindings: {\r\n address: '=',\r\n addresses: '<',\r\n countries: '=',\r\n validationContainer: '=',\r\n getCountryRegions: '&',\r\n editMode: '<',\r\n onUpdate: '&'\r\n },\r\n require: {\r\n checkoutStep: '?^vcCheckoutWizardStep'\r\n },\r\n controller: ['$scope', function ($scope) {\r\n var ctrl = this;\r\n this.$onInit = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.addComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.addComponent(this);\r\n };\r\n\r\n this.$onDestroy = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.removeComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.removeComponent(this);\r\n };\r\n\r\n function populateRegionalDataForAddress(address) {\r\n if (address) {\r\n //Set country object for address\r\n address.country = _.findWhere(ctrl.countries, { code3: address.countryCode });\r\n if (address.country != null) {\r\n ctrl.address.countryName = ctrl.address.country.name;\r\n ctrl.address.countryCode = ctrl.address.country.code3;\r\n }\r\n\r\n if (address.country) {\r\n if (address.country.regions) {\r\n setAddressRegion(address, address.country.regions);\r\n }\r\n else {\r\n ctrl.getCountryRegions({ country: address.country }).then(function (regions) {\r\n address.country.regions = regions;\r\n setAddressRegion(address, regions);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n function setAddressRegion(address, regions) {\r\n address.region = _.findWhere(regions, { code: address.regionId });\r\n if (address.region) {\r\n ctrl.address.regionId = ctrl.address.region.code;\r\n ctrl.address.regionName = ctrl.address.region.name;\r\n }\r\n else {\r\n ctrl.address.regionId = undefined;\r\n ctrl.address.regionName = undefined;\r\n }\r\n }\r\n\r\n ctrl.setForm = function (frm) { ctrl.form = frm; };\r\n\r\n ctrl.validate = function () {\r\n if (ctrl.form) {\r\n ctrl.form.$setSubmitted();\r\n return ctrl.form.$valid;\r\n }\r\n return true;\r\n };\r\n\r\n function stringifyAddress(address) {\r\n var stringifiedAddress = address.firstName + ' ' + address.lastName + ', ';\r\n stringifiedAddress += address.organization ? address.organization + ', ' : '';\r\n stringifiedAddress += address.countryName + ', ';\r\n stringifiedAddress += address.regionName ? address.regionName + ', ' : '';\r\n stringifiedAddress += address.city + ' ';\r\n stringifiedAddress += address.line1 + ', ';\r\n stringifiedAddress += address.line2 ? address.line2 : '';\r\n stringifiedAddress += address.postalCode;\r\n return stringifiedAddress;\r\n }\r\n\r\n $scope.$watch('$ctrl.address', function () {\r\n if (ctrl.address) {\r\n populateRegionalDataForAddress(ctrl.address);\r\n ctrl.address.name = stringifyAddress(ctrl.address);\r\n }\r\n ctrl.onUpdate({ address: ctrl.address });\r\n }, true);\r\n\r\n }]\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcCreditCard', {\r\n templateUrl: \"themes/assets/js/common-components/creditCard.tpl.html\",\r\n require: {\r\n checkoutStep: '?^vcCheckoutWizardStep'\r\n },\r\n bindings: {\r\n card: '=',\r\n validationContainer: '='\r\n },\r\n controller: ['$scope', '$filter', function ($scope, $filter) {\r\n var ctrl = this;\r\n\r\n this.$onInit = function () {\r\n if(ctrl.validationContainer)\r\n ctrl.validationContainer.addComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.addComponent(this);\r\n };\r\n\r\n this.$onDestroy = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.removeComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.removeComponent(this);\r\n };\r\n\r\n $scope.$watch('$ctrl.card.bankCardHolderName', function (val) {\r\n if (ctrl.card) {\r\n ctrl.card.bankCardHolderName = $filter('uppercase')(val);\r\n }\r\n }, true);\r\n\r\n ctrl.validate = function () {\r\n ctrl.form.$setSubmitted();\r\n return !ctrl.form.$invalid;\r\n }\r\n\r\n }]\r\n});\r\n","angular.module('storefrontApp')\r\n\r\n.component('vcLabeledInput', {\r\n templateUrl: \"themes/assets/js/common-components/labeled-input.tpl.html\",\r\n bindings: {\r\n value: '=',\r\n form: '=',\r\n name: '@',\r\n placeholder: '@',\r\n type: '@?',\r\n required: '<',\r\n requiredError: '@?',\r\n autofocus: '<'\r\n },\r\n controller: [function () {\r\n var $ctrl = this;\r\n \r\n $ctrl.validate = function () {\r\n $ctrl.form.$setSubmitted();\r\n return $ctrl.form.$valid;\r\n };\r\n\r\n }]\r\n});","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcLineItems', {\r\n templateUrl: \"themes/assets/js/common-components/lineItems.tpl.liquid\",\r\n bindings: {\r\n items: '='\r\n }\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcPaymentMethods', {\r\n templateUrl: \"themes/assets/js/common-components/paymentMethods.tpl.html\",\r\n require: {\r\n checkoutStep: '?^vcCheckoutWizardStep'\r\n },\r\n bindings: {\r\n getAvailPaymentMethods: '&',\r\n onSelectMethod: '&',\r\n paymentMethod: '=',\r\n validationContainer: '='\r\n },\r\n controller: ['$scope', function ($scope) {\r\n var ctrl = this;\r\n\r\n this.$onInit = function () {\r\n ctrl.getAvailPaymentMethods().then(function (methods) {\r\n ctrl.availPaymentMethods = _.sortBy(methods, function (x) { return x.priority; });\r\n if (ctrl.paymentMethod) {\r\n ctrl.paymentMethod = _.findWhere(ctrl.availPaymentMethods, { code: ctrl.paymentMethod.code });\r\n }\r\n if (!ctrl.paymentMethod && ctrl.availPaymentMethods.length > 0) {\r\n ctrl.selectMethod(ctrl.availPaymentMethods[0]);\r\n }\r\n })\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.addComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.addComponent(this);\r\n };\r\n\r\n this.$onDestroy = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.removeComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.removeComponent(this);\r\n };\r\n\r\n ctrl.validate = function () {\r\n return ctrl.paymentMethod;\r\n }\r\n\r\n ctrl.selectMethod = function (method) {\r\n ctrl.paymentMethod = method;\r\n ctrl.onSelectMethod({ paymentMethod: method });\r\n };\r\n }]\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcTotals', {\r\n templateUrl: \"themes/assets/js/common-components/totals.tpl.liquid\",\r\n\tbindings: {\r\n\t\torder: '<'\r\n\t}\r\n});\r\n","//Call this to register our module to main application\r\nvar moduleName = \"storefront.account\";\r\n\r\nif (storefrontAppDependencies !== undefined) {\r\n storefrontAppDependencies.push(moduleName);\r\n}\r\nangular.module(moduleName, ['ngResource', 'ngComponentRouter', 'credit-cards', 'pascalprecht.translate', 'ngSanitize', 'storefrontApp'])\r\n\r\n.config(['$translateProvider', function ($translateProvider) {\r\n $translateProvider.useSanitizeValueStrategy('sanitizeParameters');\r\n $translateProvider.useUrlLoader(BASE_URL + 'themes/localization.json');\r\n $translateProvider.preferredLanguage('en');\r\n}])\r\n\r\n.run(['$templateCache', function ($templateCache) {\r\n // cache application level templates\r\n $templateCache.put('pagerTemplate.html', '');\r\n}])\r\n\r\n.value('$routerRootComponent', 'vcAccountManager')\r\n\r\n.component('vcAccountManager', {\r\n templateUrl: \"account-manager.tpl\",\r\n bindings: {\r\n baseUrl: '<',\r\n customer: '<'\r\n },\r\n $routeConfig: [\r\n { path: '/orders/...', name: 'Orders', component: 'vcAccountOrders'},\r\n { path: '/subscriptions/...', name: 'Subscriptions', component: 'vcAccountSubscriptions' },\r\n { path: '/quotes', name: 'Quotes', component: 'vcAccountQuotes' },\r\n { path: '/profile', name: 'Profile', component: 'vcAccountProfileUpdate', useAsDefault: true },\r\n { path: '/addresses', name: 'Addresses', component: 'vcAccountAddresses' },\r\n { path: '/changePassword', name: 'PasswordChange', component: 'vcAccountPasswordChange' },\r\n { path: '/lists/...', name: 'Lists', component: 'vcAccountLists' }\r\n ],\r\n controller: ['storefront.accountApi', 'storefrontApp.mainContext', 'loadingIndicatorService', function (accountApi, mainContext, loader) {\r\n var $ctrl = this;\r\n $ctrl.loader = loader;\r\n\r\n $ctrl.getQuotes = function (pageNumber, pageSize, sortInfos, callback) {\r\n loader.wrapLoading(function () {\r\n return accountApi.searchQuotes({ pageNumber: pageNumber, pageSize: pageSize }, callback).$promise;\r\n });\r\n };\r\n\r\n $ctrl.updateProfile = function (updateRequest) {\r\n loader.wrapLoading(function () {\r\n return accountApi.updateAccount(updateRequest, mainContext.getCustomer).$promise;\r\n });\r\n };\r\n\r\n $ctrl.updateAddresses = function (data) {\r\n return loader.wrapLoading(function () {\r\n return accountApi.updateAddresses(data, mainContext.getCustomer).$promise;\r\n });\r\n };\r\n\r\n $ctrl.availCountries = accountApi.getCountries();\r\n\r\n $ctrl.getCountryRegions = function (country) {\r\n return accountApi.getCountryRegions(country).$promise;\r\n };\r\n\r\n $ctrl.changePassword = function (changePasswordData) {\r\n return loader.wrapLoading(function () {\r\n return accountApi.changePassword(changePasswordData).$promise;\r\n });\r\n };\r\n }]\r\n})\r\n\r\n.service('confirmService', ['$q', function ($q) {\r\n this.confirm = function (message) {\r\n return $q.when(window.confirm(message || 'Is it OK?'));\r\n };\r\n}])\r\n\r\n.factory('loadingIndicatorService', function () {\r\n var retVal = {\r\n isLoading: false,\r\n wrapLoading: function (func) {\r\n retVal.isLoading = true;\r\n return func().then(function (result) {\r\n retVal.isLoading = false;\r\n return result;\r\n },\r\n function () { retVal.isLoading = false; });\r\n }\r\n };\r\n\r\n return retVal;\r\n});\r\n","angular.module('storefront.account')\r\n.component('vcAccountAddresses', {\r\n templateUrl: \"themes/assets/js/account/account-addresses.tpl.liquid\",\r\n require: {\r\n accountManager: '^vcAccountManager'\r\n },\r\n controller: ['storefrontApp.mainContext', 'confirmService', '$translate', '$scope', 'loadingIndicatorService', function (mainContext, confirmService, $translate, $scope, loader) {\r\n var $ctrl = this;\r\n $ctrl.loader = loader;\r\n\r\n $scope.$watch(\r\n function () { return mainContext.customer.addresses; },\r\n function () {\r\n $ctrl.addresses = mainContext.customer.addresses;\r\n }\r\n );\r\n\r\n $ctrl.addNewAddress = function () {\r\n if (_.last(components).validate()) {\r\n $ctrl.addresses.push($ctrl.newAddress);\r\n $ctrl.newAddress = null;\r\n $ctrl.accountManager.updateAddresses($ctrl.addresses);\r\n }\r\n };\r\n\r\n $ctrl.submit = function () {\r\n if (components[$ctrl.editIdx].validate()) {\r\n angular.copy($ctrl.editItem, $ctrl.addresses[$ctrl.editIdx]);\r\n $ctrl.accountManager.updateAddresses($ctrl.addresses).then($ctrl.cancel);\r\n }\r\n };\r\n\r\n $ctrl.cancel = function () {\r\n $ctrl.editIdx = -1;\r\n $ctrl.editItem = null;\r\n };\r\n\r\n $ctrl.edit = function ($index) {\r\n $ctrl.editIdx = $index;\r\n $ctrl.editItem = angular.copy($ctrl.addresses[$ctrl.editIdx]);\r\n };\r\n\r\n $ctrl.delete = function ($index) {\r\n var showDialog = function (text) {\r\n confirmService.confirm(text).then(function (confirmed) {\r\n if (confirmed) {\r\n $ctrl.addresses.splice($index, 1);\r\n $ctrl.accountManager.updateAddresses($ctrl.addresses);\r\n }\r\n });\r\n };\r\n\r\n $translate('customer.addresses.delete_confirm').then(showDialog, showDialog);\r\n };\r\n\r\n var components = [];\r\n $ctrl.addComponent = function (component) {\r\n components.push(component);\r\n };\r\n $ctrl.removeComponent = function (component) {\r\n components = _.without(components, component);\r\n };\r\n }]\r\n});\r\n","angular.module('storefront.account')\r\n.component('vcAccountOrders', {\r\n templateUrl: \"themes/assets/js/account/account-orders.tpl.liquid\",\r\n $routeConfig: [\r\n { path: '/', name: 'OrderList', component: 'vcAccountOrdersList', useAsDefault: true },\r\n { path: '/:number', name: 'OrderDetail', component: 'vcAccountOrderDetail' }\r\n ],\r\n controller: ['orderHelper', function (orderHelper) {\r\n var $ctrl = this;\r\n $ctrl.orderHelper = orderHelper;\r\n }]\r\n})\r\n\r\n.component('vcAccountOrdersList', {\r\n templateUrl: \"account-orders-list.tpl\",\r\n controller: ['storefront.orderApi', 'loadingIndicatorService', function (orderApi, loader) {\r\n var ctrl = this;\r\n ctrl.loader = loader;\r\n ctrl.pageSettings = { currentPage: 1, itemsPerPageCount: 5, numPages: 10 };\r\n ctrl.pageSettings.pageChanged = function () {\r\n loader.wrapLoading(function () {\r\n return orderApi.search({\r\n pageNumber: ctrl.pageSettings.currentPage,\r\n pageSize: ctrl.pageSettings.itemsPerPageCount,\r\n sortInfos: ctrl.sortInfos\r\n }, function (data) {\r\n ctrl.entries = data.results;\r\n ctrl.pageSettings.totalItems = data.totalCount;\r\n }).$promise;\r\n });\r\n };\r\n\r\n this.$routerOnActivate = function (next) {\r\n ctrl.pageSettings.currentPage = next.params.pageNumber || ctrl.pageSettings.currentPage;\r\n ctrl.pageSettings.pageChanged();\r\n };\r\n }]\r\n})\r\n\r\n.component('vcAccountOrderDetail', {\r\n templateUrl: \"account-order-detail.tpl\",\r\n require: {\r\n accountManager: '^vcAccountManager'\r\n },\r\n controller: ['storefront.orderApi', '$rootScope', '$window', 'loadingIndicatorService', 'confirmService', 'orderHelper', function (orderApi, $rootScope, $window, loader, confirmService, orderHelper) {\r\n var $ctrl = this;\r\n $ctrl.loader = loader;\r\n $ctrl.hasPhysicalProducts = true;\r\n\r\n function refresh() {\r\n loader.wrapLoading(function () {\r\n $ctrl.order = orderApi.get({ number: $ctrl.orderNumber }, function (result) {\r\n $ctrl.isShowPayment = false;\r\n var lastPayment = _.last(_.sortBy($ctrl.order.inPayments, 'createdDate'));\r\n $ctrl.billingAddress = (lastPayment && lastPayment.billingAddress) ||\r\n _.findWhere($ctrl.order.addresses, { type: 'billing' }) ||\r\n _.first($ctrl.order.addresses);\r\n $ctrl.amountToPay = orderHelper.getNewPayment($ctrl.order).sum.amount;\r\n\r\n if ($ctrl.amountToPay > 0) {\r\n $ctrl.billingAddressEqualsShipping = true;\r\n loadPromise = orderApi.getNewPaymentData({ number: $ctrl.orderNumber }, function (result) {\r\n //$ctrl.order = result.order;\r\n configurePayment(result.paymentMethods, result.payment);\r\n }).$promise;\r\n }\r\n });\r\n return $ctrl.order.$promise;\r\n });\r\n }\r\n\r\n this.$routerOnActivate = function (next) {\r\n $ctrl.pageNumber = next.params.pageNumber || 1;\r\n $ctrl.orderNumber = next.params.number;\r\n\r\n refresh();\r\n };\r\n\r\n $ctrl.getInvoicePdf = function () {\r\n var url = $window.BASE_URL + 'storefrontapi/orders/' + $ctrl.orderNumber + '/invoice';\r\n $window.open(url, '_blank');\r\n }\r\n\r\n $ctrl.showPayment = function () {\r\n loadPromise.then(function (result) {\r\n $ctrl.isShowPayment = true;\r\n });\r\n };\r\n\r\n var loadPromise;\r\n $ctrl.getAvailPaymentMethods = function () {\r\n return loadPromise.then(function (result) {\r\n var preselectedMaymentMethod;\r\n if ($ctrl.payment.gatewayCode) {\r\n preselectedMaymentMethod = _.findWhere(result.paymentMethods, { code: $ctrl.payment.gatewayCode });\r\n }\r\n\r\n return preselectedMaymentMethod ? [preselectedMaymentMethod] : result.paymentMethods;\r\n });\r\n };\r\n\r\n $ctrl.selectPaymentMethod = function (paymentMethod) {\r\n angular.extend($ctrl.payment, paymentMethod);\r\n $ctrl.payment.gatewayCode = paymentMethod.code;\r\n // $ctrl.payment.sum = angular.copy($ctrl.order.total);\r\n // $ctrl.payment.sum.amount += paymentMethod.totalWithTax.amount;\r\n\r\n $ctrl.validate();\r\n };\r\n\r\n $ctrl.validate = function () {\r\n $ctrl.isValid = $ctrl.payment &&\r\n $ctrl.payment.gatewayCode &&\r\n $ctrl.payment.sum && $ctrl.payment.sum.amount > 0 &&\r\n _.every(components, function (x) {\r\n return typeof x.validate !== \"function\" || x.validate();\r\n });\r\n\r\n return $ctrl.isValid;\r\n };\r\n\r\n $ctrl.submit = function () {\r\n if ($ctrl.validate()) {\r\n loader.wrapLoading(function () {\r\n $ctrl.payment.bankCardInfo = $ctrl.paymentMethod.card;\r\n return orderApi.addOrUpdatePayment({ number: $ctrl.orderNumber }, $ctrl.payment, function (payment) {\r\n orderApi.processPayment({ number: $ctrl.orderNumber, paymentNumber: payment.number }, $ctrl.paymentMethod.card, function (result) {\r\n var orderProcessingResult = result.orderProcessingResult;\r\n var paymentMethod = result.paymentMethod;\r\n\r\n if (!orderProcessingResult.isSuccess) {\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: ['Error in new payment processing: ', orderProcessingResult.error, 'New Payment status: ' + orderProcessingResult.newPaymentStatus].join(' '),\r\n message: orderProcessingResult.error,\r\n });\r\n return;\r\n }\r\n\r\n if (paymentMethod.paymentMethodType && paymentMethod.paymentMethodType.toLowerCase() === 'preparedform' && orderProcessingResult.htmlForm) {\r\n outerRedirect($ctrl.accountManager.baseUrl + 'cart/checkout/paymentform?orderNumber=' + $ctrl.orderNumber);\r\n } else if (paymentMethod.paymentMethodType && paymentMethod.paymentMethodType.toLowerCase() === 'redirection' && orderProcessingResult.redirectUrl) {\r\n outerRedirect(orderProcessingResult.redirectUrl);\r\n } else {\r\n if ($ctrl.accountManager.customer.isRegisteredUser) {\r\n refresh();\r\n } else {\r\n outerRedirect($ctrl.accountManager.baseUrl + 'cart/thanks/' + $ctrl.orderNumber);\r\n }\r\n }\r\n })\r\n }).$promise;\r\n });\r\n }\r\n };\r\n\r\n $ctrl.cancel = function () {\r\n confirmService.confirm('Cancel this payment?').then(function (confirmed) {\r\n if (confirmed) {\r\n loader.wrapLoading(function () {\r\n return orderApi.cancelPayment({ number: $ctrl.orderNumber, paymentNumber: $ctrl.payment.number }, null, refresh).$promise;\r\n });\r\n }\r\n });\r\n };\r\n\r\n var components = [];\r\n $ctrl.addComponent = function (component) {\r\n components.push(component);\r\n };\r\n $ctrl.removeComponent = function (component) {\r\n components = _.without(components, component);\r\n };\r\n\r\n function configurePayment(paymentMethods, newPaymentTemplate) {\r\n $ctrl.payment = orderHelper.getNewPayment($ctrl.order, paymentMethods, newPaymentTemplate);\r\n $ctrl.payment.purpose = $ctrl.payment.purpose || 'Repeated payment';\r\n $ctrl.amountToPay = $ctrl.payment.sum.amount;\r\n\r\n $ctrl.canCancelPayment = $ctrl.payment.id !== newPaymentTemplate.id;\r\n if ($ctrl.canCancelPayment) {\r\n $ctrl.selectPaymentMethod(_.findWhere(paymentMethods, { code: $ctrl.payment.gatewayCode }));\r\n }\r\n\r\n if (!_.some($ctrl.order.shipments)) {\r\n $ctrl.hasPhysicalProducts = false;\r\n $ctrl.billingAddressEqualsShipping = false;\r\n }\r\n }\r\n\r\n function outerRedirect(absUrl) {\r\n $window.location.href = absUrl;\r\n };\r\n }]\r\n})\r\n\r\n.factory('orderHelper', function () {\r\n var retVal = {\r\n getNewPayment: function (order, paymentMethods, newPaymentTemplate) {\r\n var retVal;\r\n var paidPayments = _.filter(order.inPayments, function (x) {\r\n return x.status === 'Paid';\r\n });\r\n var paidAmount = _.reduce(paidPayments, function (memo, num) { return memo + num.sum.amount; }, 0);\r\n var amountToPay = order.total.amount - paidAmount;\r\n\r\n var pendingPayments = _.filter(order.inPayments, function (x) {\r\n return !x.isCancelled &&\r\n (x.status === 'New' || x.status === 'Pending') &&\r\n x.sum.amount > 0; // && x.sum.amount === amountToPay;\r\n });\r\n var pendingPayment = _.last(_.sortBy(pendingPayments, 'createdDate'));\r\n if (pendingPayment && (!paymentMethods || _.findWhere(paymentMethods, { code: pendingPayment.gatewayCode }))) {\r\n retVal = pendingPayment;\r\n } else {\r\n newPaymentTemplate = newPaymentTemplate || { sum: {} };\r\n newPaymentTemplate.sum.amount = amountToPay;\r\n retVal = newPaymentTemplate;\r\n }\r\n\r\n return retVal;\r\n }\r\n };\r\n\r\n return retVal;\r\n})\r\n\r\n.filter('orderToSummarizedStatusLabel', ['orderHelper', function (orderHelper) {\r\n return function (order) {\r\n var retVal = order.status || 'New';\r\n\r\n var found = _.findWhere(orderHelper.statusLabels, { status: retVal.toLowerCase() });\r\n if (found) {\r\n retVal = found.label;\r\n }\r\n\r\n return retVal;\r\n };\r\n}])\r\n;\r\n","angular.module('storefront.account')\r\n.component('vcAccountPasswordChange', {\r\n templateUrl: \"themes/assets/js/account/account-password-change.tpl.liquid\",\r\n require: {\r\n accountManager: '^vcAccountManager'\r\n },\r\n controller: ['loadingIndicatorService', function (loader) {\r\n var ctrl = this;\r\n ctrl.loader = loader;\r\n ctrl.passwordChangeData = {};\r\n\r\n ctrl.submit = function () {\r\n // validation\r\n ctrl.errors = null;\r\n ctrl.error = {};\r\n var hasError = false;\r\n var errorMsg;\r\n\r\n errorMsg = ctrl.passwordChangeData.oldPassword === ctrl.passwordChangeData.newPassword;\r\n ctrl.error.newPassword = errorMsg\r\n hasError = hasError || errorMsg;\r\n\r\n if (!hasError) {\r\n errorMsg = ctrl.passwordChangeData.newPassword !== ctrl.passwordChangeData.newPassword2;\r\n ctrl.error.newPassword2 = errorMsg;\r\n hasError = hasError || errorMsg;\r\n }\r\n\r\n if (!hasError) {\r\n ctrl.accountManager.changePassword(ctrl.passwordChangeData).then(function (result) {\r\n angular.extend(ctrl, result);\r\n ctrl.passwordChangeData = {};\r\n ctrl.form.$setPristine();\r\n });\r\n }\r\n };\r\n\r\n ctrl.setForm = function (frm) { ctrl.form = frm; };\r\n }]\r\n});\r\n","angular.module('storefront.account')\r\n.component('vcAccountProfileUpdate', {\r\n templateUrl: \"themes/assets/js/account/account-profile-update.tpl.liquid\",\r\n bindings: {\r\n $router: '<'\r\n },\r\n require: {\r\n accountManager: '^vcAccountManager'\r\n },\r\n controller: ['storefrontApp.mainContext', '$scope', 'loadingIndicatorService', function (mainContext, $scope, loader) {\r\n var $ctrl = this;\r\n $ctrl.loader = loader;\r\n \r\n $scope.$watch(\r\n function () { return mainContext.customer; },\r\n function (customer) {\r\n $ctrl.customer = customer;\r\n if (customer) {\r\n if (customer.isContract) {\r\n $ctrl.$router.navigate(['Orders']);\r\n }\r\n $ctrl.changeData =\r\n {\r\n firstName: customer.firstName,\r\n lastName: customer.lastName,\r\n email: customer.email\r\n };\r\n }\r\n });\r\n\r\n $ctrl.submit = function () {\r\n // no validation\r\n $ctrl.accountManager.updateProfile($ctrl.changeData);\r\n };\r\n }]\r\n});\r\n","angular.module('storefront.account')\r\n.component('vcAccountQuotes', {\r\n templateUrl: \"themes/assets/js/account/account-quotes.tpl.liquid\",\r\n require: {\r\n accountManager: '^vcAccountManager'\r\n },\r\n controller: [function () {\r\n var ctrl = this;\r\n ctrl.pageSettings = { currentPage: 1, itemsPerPageCount: 5, numPages: 10 };\r\n ctrl.pageSettings.pageChanged = function () {\r\n ctrl.accountManager.getQuotes(ctrl.pageSettings.currentPage, ctrl.pageSettings.itemsPerPageCount, ctrl.sortInfos, function (data) {\r\n ctrl.entries = data.results;\r\n ctrl.pageSettings.totalItems = data.totalCount;\r\n });\r\n };\r\n \r\n this.$routerOnActivate = function (next) {\r\n ctrl.pageSettings.currentPage = next.params.pageNumber || ctrl.pageSettings.currentPage;\r\n ctrl.pageSettings.pageChanged();\r\n };\r\n }]\r\n});\r\n","angular.module('storefront.account')\r\n.component('vcAccountSubscriptions', {\r\n templateUrl: \"themes/assets/js/account/account-subscriptions.tpl.liquid\",\r\n $routeConfig: [\r\n { path: '/', name: 'SubscriptionList', component: 'vcAccountSubscriptionsList', useAsDefault: true },\r\n { path: '/:number', name: 'SubscriptionDetail', component: 'vcAccountSubscriptionDetail' }\r\n ]\r\n})\r\n\r\n.component('vcAccountSubscriptionsList', {\r\n templateUrl: \"account-subscriptions-list.tpl\",\r\n controller: ['storefront.subscriptionApi', 'confirmService', 'loadingIndicatorService', '$translate', function (subscriptionApi, confirmService, loader, $translate) {\r\n var $ctrl = this;\r\n $ctrl.loader = loader;\r\n $ctrl.pageSettings = { currentPage: 1, itemsPerPageCount: 5, numPages: 10 };\r\n $ctrl.pageSettings.pageChanged = function () {\r\n loader.wrapLoading(function () {\r\n return subscriptionApi.search({\r\n pageNumber: $ctrl.pageSettings.currentPage,\r\n pageSize: $ctrl.pageSettings.itemsPerPageCount,\r\n sortInfos: $ctrl.sortInfos\r\n }, function (data) {\r\n $ctrl.entries = data.results;\r\n $ctrl.pageSettings.totalItems = data.totalCount;\r\n }).$promise;\r\n });\r\n };\r\n\r\n this.$routerOnActivate = function (next) {\r\n $ctrl.pageSettings.currentPage = next.params.pageNumber || $ctrl.pageSettings.currentPage;\r\n $ctrl.pageSettings.pageChanged();\r\n };\r\n }]\r\n})\r\n\r\n.component('vcAccountSubscriptionDetail', {\r\n templateUrl: \"account-subscription-detail.tpl\",\r\n controller: ['storefront.subscriptionApi', 'confirmService', 'loadingIndicatorService', '$translate', function (subscriptionApi, confirmService, loader, $translate) {\r\n var $ctrl = this;\r\n $ctrl.loader = loader;\r\n\r\n function refresh() {\r\n loader.wrapLoading(function () {\r\n return subscriptionApi.get({ number: $ctrl.entryNumber }, function (result) {\r\n $ctrl.subscription = angular.copy(result);\r\n }).$promise;\r\n });\r\n }\r\n\r\n this.$routerOnActivate = function (next) {\r\n $ctrl.pageNumber = next.params.pageNumber || 1;\r\n $ctrl.entryNumber = next.params.number;\r\n\r\n refresh();\r\n };\r\n\r\n $ctrl.cancel = function () {\r\n //var showDialog = function (text) {\r\n // confirmService.confirm(text).then(function (confirmed) {\r\n // if (confirmed) {\r\n loader.wrapLoading(function () {\r\n return subscriptionApi.cancel({ number: $ctrl.entryNumber }, { number: $ctrl.entryNumber, cancelReason: $ctrl.cancelReason }, function (result) {\r\n $ctrl.subscription = angular.copy(result);\r\n $ctrl.isCancelFormVisible = false;\r\n }).$promise;\r\n });\r\n // }\r\n // });\r\n //};\r\n //$translate('customer.subscription.cancel_confirmation').then(showDialog, showDialog);\r\n };\r\n }]\r\n})\r\n\r\n.filter('toIntervalKey', function () {\r\n return function (data, data_intervalCount) {\r\n var retVal = 'customer.subscriptions.intervals.' + data.interval.toLowerCase() + '_' + (data_intervalCount === 1 ? 1 : 'plural');\r\n //var everyKey = 'customer.subscriptions.intervals.every';\r\n\r\n //$translate([intervalKey, everyKey]).then(function (translations) {\r\n //var intervalVal = translations[intervalKey];\r\n // var everyVal = translations[everyKey];\r\n\r\n //if (data_intervalCount === 1) {\r\n // retVal = intervalKey;\r\n //} else {\r\n // retVal = data_intervalCount + intervalVal;\r\n //}\r\n //});\r\n\r\n return retVal;\r\n };\r\n})\r\n;","angular.module('storefront.account')\r\n .factory('storefront.accountApi', ['$resource', function ($resource) {\r\n return $resource('storefrontapi/account', null, {\r\n updateAccount: { url: 'storefrontapi/account', method: 'POST' },\r\n changePassword: { url: 'storefrontapi/account/password', method: 'POST' },\r\n searchQuotes: { url: 'storefrontapi/quoterequests/search', method: 'POST' },\r\n updateAddresses: { url: 'storefrontapi/account/addresses', method: 'POST' },\r\n getCountries: { url: 'storefrontapi/countries', isArray: true },\r\n getCountryRegions: { url: 'storefrontapi/countries/:code3/regions', isArray: true }\r\n });\r\n }])\r\n .factory('storefront.orderApi', ['$resource', function ($resource) {\r\n return $resource('storefrontapi/orders/:number', null, {\r\n search: { url: 'storefrontapi/orders/search', method: 'POST' },\r\n getNewPaymentData: { url: 'storefrontapi/orders/:number/newpaymentdata' },\r\n addOrUpdatePayment: { url: 'storefrontapi/orders/:number/payments', method: 'POST' },\r\n processPayment: { url: 'storefrontapi/orders/:number/payments/:paymentNumber/process', method: 'POST' },\r\n cancelPayment: { url: 'storefrontapi/orders/:number/payments/:paymentNumber/cancel', method: 'POST' }\r\n });\r\n }])\r\n .factory('storefront.subscriptionApi', ['$resource', function ($resource) {\r\n return $resource('storefrontapi/subscriptions/:number', null, {\r\n search: { url: 'storefrontapi/subscriptions/search', method: 'POST' },\r\n cancel: { url: 'storefrontapi/subscriptions/:number/cancel', method: 'POST' }\r\n });\r\n }]);\r\n","angular.module('storefront.account')\r\n .component('vcAccountLists',\r\n {\r\n templateUrl: \"lists-manager.tpl\",\r\n $routeConfig: [\r\n { path: '/', name: 'Lists', component: 'vcAccountLists' },\r\n { path: '/myLists', name: 'MyLists', component: 'vcAccountMyLists', useAsDefault: true }\r\n ],\r\n controller: [\r\n 'listService', '$rootScope', 'cartService', '$translate', 'loadingIndicatorService', '$timeout',\r\n function (listService, $rootScope, cartService, $translate, loader, $timeout) {\r\n var $ctrl = this;\r\n\r\n $ctrl.loader = loader;\r\n $ctrl.selectedList = {};\r\n $ctrl.errors = null;\r\n\r\n $ctrl.selectTab = function (tabName) {\r\n $ctrl.selectedList = {};\r\n $ctrl.selectedTab = tabName;\r\n };\r\n\r\n $ctrl.selectList = function (list) {\r\n $ctrl.errors = null;\r\n $ctrl.selectedList = list;\r\n loader.wrapLoading(function () {\r\n return listService.getWishlist(list.name, list.type).then(function (response) {\r\n $ctrl.selectedList.items = response.data.items;\r\n });\r\n });\r\n };\r\n\r\n $ctrl.removeLineItem = function (lineItem, list) {\r\n loader.wrapLoading(function () {\r\n return listService.removeLineItem(lineItem.id, list.name, list.type).then(function (response) {\r\n $ctrl.selectList(list);\r\n });\r\n });\r\n };\r\n\r\n $ctrl.addToCart = function (lineItem) {\r\n loader.wrapLoading(function () {\r\n return cartService.addLineItem(lineItem.productId, 1).then(function (response) {\r\n $ctrl.productAdded = true;\r\n $timeout(function () { $ctrl.productAdded = false; }, 2000);\r\n $rootScope.$broadcast('cartItemsChanged');\r\n });\r\n });\r\n }\r\n\r\n\r\n }]\r\n })\r\n .component('vcAccountMyLists',\r\n {\r\n templateUrl: 'themes/assets/js/lists/account-lists.tpl.liquid',\r\n require: {\r\n accountLists: '^^vcAccountLists'\r\n },\r\n controller: [\r\n '$rootScope', 'listService', 'customerService', 'loadingIndicatorService', '$q', 'dialogService', function ($rootScope, listService, customerService, loader, $q, dialogService) {\r\n\r\n var $ctrl = this;\r\n\r\n $ctrl.type = null;\r\n $ctrl.predefinedLists = [];\r\n\r\n $ctrl.pageSettings = { currentPage: 1, itemsPerPageCount: 5, numPages: 4 };\r\n\r\n $ctrl.pageSettings.pageChanged = function () {\r\n $ctrl._searchLists();\r\n };\r\n\r\n $ctrl._searchLists = function () {\r\n $ctrl.accountLists.errors = null;\r\n loader.wrapLoading(function () {\r\n return listService.searchLists({\r\n pageNumber: $ctrl.pageSettings.currentPage,\r\n pageSize: $ctrl.pageSettings.itemsPerPageCount,\r\n type: $ctrl.type\r\n }).then(function (response) {\r\n $ctrl.accountLists.lists = response.data.results;\r\n $ctrl.pageSettings.totalItems = response.data.totalCount;\r\n\r\n $ctrl.accountLists.selectedList = _.first(response.data.results);\r\n });\r\n });\r\n };\r\n\r\n $ctrl.initialize = function (lists) {\r\n $ctrl.predefinedLists = lists.default_lists;\r\n $ctrl.type = lists.default_list_type;\r\n\r\n var promises = [];\r\n _.each($ctrl.predefinedLists, function (list) {\r\n promises.push(createList(list.name, list.type));\r\n });\r\n\r\n $q.all(promises).then(function () {\r\n $ctrl._searchLists();\r\n });\r\n };\r\n\r\n $ctrl.$onInit = function () {\r\n $ctrl.accountLists.selectTab('myLists');\r\n }\r\n\r\n $ctrl.createList = function () {\r\n var dialogData = {\r\n lists: $ctrl.lists,\r\n type: $ctrl.type\r\n }\r\n dialogService.showDialog(dialogData, 'recentlyCreateNewListDialogController', 'storefront.recently-create-new-list-dialog.tpl', function (result) {\r\n if (!result)\r\n return;\r\n\r\n if (result.error) {\r\n $ctrl.accountLists.errors = [result.error];\r\n } else {\r\n $ctrl.pageSettings.currentPage = 1;\r\n $ctrl._searchLists();\r\n }\r\n });\r\n };\r\n\r\n $ctrl.addToCartAllProducts = function (listName) {\r\n loader.wrapLoading(function () {\r\n return listService.mergeWithCurrentCart(listName, $ctrl.type).then(function (response) {\r\n $rootScope.$broadcast('cartItemsChanged');\r\n });\r\n });\r\n }\r\n\r\n $ctrl.listSettings = function () {\r\n loader.wrapLoading(function () {\r\n return listService.searchLists({\r\n pageSize: 10000,\r\n type: $ctrl.type\r\n }).then(function (response) {\r\n var dialogData = {\r\n lists: response.data.results,\r\n predefinedLists: $ctrl.predefinedLists,\r\n type: $ctrl.type\r\n }\r\n dialogService.showDialog(dialogData, 'recentlyCreateNewListDialogController', 'storefront.list-settings-dialog.tpl', function (result) {\r\n $ctrl.pageSettings.currentPage = 1;\r\n $ctrl._searchLists();\r\n });\r\n });\r\n });\r\n\r\n\r\n };\r\n\r\n function createList(listName, type) {\r\n return listService.createList(listName, type);\r\n }\r\n }\r\n ]\r\n });\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('recentlyAddedListItemDialogController', ['$scope', '$window', '$uibModalInstance', 'dialogData', 'listService', '$translate', function ($scope, $window, $uibModalInstance, dialogData, listService, $translate) {\r\n $scope.availableLists = [];\r\n $scope.selectedList = {};\r\n $scope.dialogData = dialogData;\r\n $scope.inProgress = false;\r\n $scope.itemAdded = false;\r\n $scope.type = dialogData.listType;\r\n\r\n $scope.addProductToList = function () {\r\n $scope.inProgress = true;\r\n listService.addLineItem(dialogData.id, $scope.selectedList.name, $scope.selectedList.type).then(function (response) {\r\n if (response.data) {\r\n $scope.inProgress = false;\r\n $scope.itemAdded = true;\r\n }\r\n });\r\n };\r\n $scope.selectList = function (list) {\r\n $scope.selectedList = list;\r\n };\r\n\r\n $scope.close = function () {\r\n $uibModalInstance.close();\r\n };\r\n\r\n $scope.redirect = function (url) {\r\n $window.location = url;\r\n };\r\n\r\n $scope.initialize = function () {\r\n listService.searchLists({\r\n pageSize: 10000,\r\n type: $scope.type\r\n }).then(function (response) {\r\n $scope.lists = response.data.results;\r\n\r\n _.each($scope.lists, function(list) {\r\n var foundItem = _.find(list.items, function(item) {\r\n return item.productId === dialogData.id;\r\n });\r\n\r\n if (foundItem) {\r\n list.contains = true;\r\n }\r\n });\r\n });\r\n };\r\n\r\n $scope.initialize();\r\n}]);","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('recentlyCreateNewListDialogController', ['$rootScope', '$scope', '$window', '$uibModalInstance', 'customerService', 'dialogData', 'listService', '$localStorage', 'loadingIndicatorService', function ($rootScope, $scope, $window, $uibModalInstance, customerService, dialogData, listService, $localStorage, loader) {\r\n\r\n $scope.dialogData = dialogData.lists;\r\n $scope.predefinedLists = dialogData.lists;\r\n $scope.userName = dialogData.userName;\r\n $scope.inProgress = false;\r\n $scope.data = $scope.listName;\r\n $scope.selectedTab = dialogData.selectedTab;\r\n $scope.type = dialogData.type;\r\n\r\n $scope.createList = function () {\r\n listService.createList($scope.dialogData.listName, $scope.type).then(function(result) {\r\n $uibModalInstance.close(result.data);\r\n });\r\n };\r\n\r\n $scope.selectedList = function (listName, type) {\r\n var items = listService.getWishlist(listName, type).items;\r\n $scope.selectedList.items = items;\r\n };\r\n\r\n $scope.submitSettings = function () {\r\n var listIds = [];\r\n _.each(dialogData.lists, function (list) {\r\n if (list.delete)\r\n listIds.push(list.id);\r\n });\r\n\r\n listService.deleteListsByIds(listIds).then(function (result) {\r\n $uibModalInstance.close();\r\n });\r\n };\r\n\r\n $scope.close = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n\r\n function inititlize() {\r\n _.each($scope.dialogData, function(list) {\r\n var foundList = _.find(dialogData.predefinedLists, function (predefinedList) { return predefinedList.name === list.name });\r\n if (foundList) {\r\n list.disabled = true;\r\n }\r\n });\r\n }\r\n\r\n inititlize();\r\n\r\n}]);\r\n"]} \ No newline at end of file diff --git a/assets/static/bundle/account-styles.css b/assets/static/bundle/account-styles.css deleted file mode 100644 index 361f4607..00000000 --- a/assets/static/bundle/account-styles.css +++ /dev/null @@ -1,2 +0,0 @@ -.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:1;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.cols{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -5px}.cols .col{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 5px;width:100%}.cols .col-50{width:50%}.cols .col-66{width:66.6666%}.cols .col-33{width:33.3333%}.col.main{padding-right:4%}button,input,select{font-family:inherit;font-size:inherit}.add-to-favorite-icon{background-image:url(../assets/star_favorite_add.png)}.add-to-favorite-icon,.remove-from-favorite-icon{width:32px;height:32px;display:block;float:right;position:relative;cursor:pointer}.remove-from-favorite-icon{background-image:url(../assets/star_favorite_remove.png)}.vc-form select{-webkit-appearance:none;-moz-appearance:none;text-transform:none}.vc-form .form-group{margin:0 0 10px;position:relative}.vc-form .form-label{color:#999;font-size:12px;opacity:0;padding:0 11px;position:absolute;top:50%;-webkit-transform:translateY(3px);transform:translateY(3px)}.vc-form .form-input,.vc-form .form-label{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.vc-form .form-input{background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 0 0 1px #d9d9d9;box-shadow:0 0 0 1px #d9d9d9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:14px;margin:0;padding:13px 11px;width:100%}.vc-form .form-input:focus{-webkit-box-shadow:0 0 0 2px #1990c6;box-shadow:0 0 0 2px #1990c6}.vc-form .form-group.keyuped .form-label{opacity:1;-webkit-transform:none;transform:none;top:5px}.vc-form .form-group.keyuped .form-input{padding:21px 11px 5px}.vc-form .form-group.error .form-input{-webkit-box-shadow:0 0 0 2px #ff6d6d;box-shadow:0 0 0 2px #ff6d6d}.vc-form .form-error{background:none;border:none;color:#ff6d6d;display:block;font-size:12px;margin:9px 0 3px}.vc-form .form-select:after{border-left:1px solid #ccc;height:20px;width:21px}.vc-form .form-select:after,.vc-form .form-select:before{content:" ";position:absolute;right:11px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none}.vc-form .form-select:before{border-color:#333 transparent transparent;border-style:solid;border-width:5px 5px 0}.vc-btn{background:#1990c6;border:none;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:19px 23px;position:relative;text-align:center;text-decoration:none;-webkit-transition:background-color .2s ease-in-out,color .2s ease-in-out;transition:background-color .2s ease-in-out,color .2s ease-in-out}.vc-btn.secondary{background:#dcdcdc;color:#585858}.vc-btn.loading{pointer-events:none}.vc-btn.loading .btn-text{opacity:0}.vc-btn.loading .btn-loading{border:3px solid hsla(0,0%,100%,.7);border-top-color:transparent;border-radius:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:30px;margin:-15px 0 0 -15px;left:50%;position:absolute;top:50%;width:30px;-webkit-animation:a .75s linear infinite;animation:a .75s linear infinite}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vc-btn:hover{background:#136f99;color:#fff}.vc-btn:active,.vc-btn:focus{color:#fff;-webkit-box-shadow:0 0 0 2px #136f99 inset;box-shadow:inset 0 0 0 2px #136f99}.vc-form .form-input::-webkit-input-placeholder{color:#999}.vc-form .form-input::-moz-placeholder{color:#999}.vc-form .form-box{border-radius:4px;-webkit-box-shadow:0 0 0 1px #d9d9d9;box-shadow:0 0 0 1px #d9d9d9;color:#737373;font-size:14px;margin:0 0 10px}.vc-form .form-box .box-row+.box-row{border-top:1px solid #d9d9d9}.vc-form .check-box,.vc-form .radio-box{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;padding:18px}.vc-form .form-box .check,.vc-form .form-box .radio{display:none}.vc-form .form-box .switch{border:1px solid #ccc;border-radius:50%;margin:0 15px 0 0;height:18px;position:relative;width:18px}.vc-form .form-box .radio:checked~.switch:after,.vc-form .form-box .switch{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.vc-form .form-box .radio:checked~.switch:after{border:7px solid #1990c6;border-radius:50%;bottom:-1px;content:" ";left:-1px;position:absolute;right:-1px;top:-1px}.vc-form .check-box .switch{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;border-radius:3px}.vc-form .form-box .check:not(:checked)~.switch{background-color:#fff}.vc-form .form-box .check:checked~.switch{background:#1990c6;border:1px solid #1990c6}.vc-form .form-box .check:checked~.switch:after{color:#fff;content:"";font-family:FontAwesome;font-size:10px;margin:auto}.vc-form .form-box .name{-webkit-flex-grow:1;-webkit-box-flex:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vc-section-header{margin:0 0 25px}.vc-section-header .vc-t{font-size:18px;margin:0 0 10px}.vc-section-header .vc-descr{color:#737373;font-size:14px}.vc-product-table{border-collapse:collapse;border-spacing:0;padding:0;width:100%}.vc-product-table .wishlist-item-remove{font-size:13px;font-weight:500;min-width:10px;padding:4px 7px;line-height:1;position:absolute;right:-19px;text-align:center;top:-20px;z-index:1}.vc-product-table td{border:none;color:#737373;font-size:14px;padding:0}.vc-product-table .product-img{height:64px;width:64px}.vc-product-table .img-inner{border:1px solid #ccc;border-radius:5px;position:relative}.vc-product-table .product-img img{border-radius:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;padding:5px;width:100%}.vc-product-table .product-qty{background-color:hsla(0,0%,60%,.9);border-radius:50%;color:#fff;font-size:13px;font-weight:500;min-width:10px;padding:4px 7px;line-height:1;position:absolute;right:-10px;text-align:center;top:-10px;z-index:1}.vc-product-table .product-descr{padding:0 0 0 15px}.vc-product-table .product-price{font-size:14px;padding:0 0 0 15px;text-align:right}.vc-product-table .product-price .old{color:#969696;font-size:12px;text-decoration:line-through}.vc-product-table .product-descr,.vc-product-table .product-img,.vc-product-table .product-price{padding-bottom:15px}.vc-product-totals .list{list-style:none}.vc-product-totals .list-item{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;color:#717171;font-size:14px;padding:0 0 10px}.vc-product-totals .list-name{-webkit-flex-grow:1;-webkit-box-flex:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vc-product-totals .list-price{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.vc-product-totals .list-currency{color:#969696;font-size:12px;margin:0 10px 0 0;text-transform:uppercase}.vc-product-totals .list-item.total{border-top:1px solid #e1e1e1;color:#4b4b4b;margin:15px 0 0;padding:15px 0}.vc-product-totals .list-item.total .list-name{font-size:16px}.vc-product-totals .list-item.total .list-price{font-size:24px}.vc-product-totals .list-item.summary{border:0;margin:0;padding:0}.vc-product-address .list{list-style:none}.vc-product-address .list-item{background:#eee;border:1px solid #ddd;color:#353535;border-radius:3px;font-size:13px;margin:5px 0;padding:10px;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.vc-product-address .list-action{cursor:pointer;margin:0 10px 0 0}.form-fieldset{background-color:#fafafa;padding:15px 15px 5px}@media (max-width:990px){.cols .col-33,.cols .col-50,.cols .col-66{margin:0 0 20px;width:100%}}.vc-compare-button{color:#585858;z-index:5}.disabled-compare-button{color:#b6b6b6!important;background-color:#f6f6f6!important}.field__icon{position:absolute;top:10px;right:1.125em}.icon--lock{width:12px;height:14px;background-image:url(lock-dark.svg);background-image:url(lock-dark.svg),none}.icon--lock.field__icon{top:15px}.icon--question{width:16px;height:16px;top:15px;background-image:url(question-dark.svg);background-image:url(question-dark.svg),none}.field__icon:focus{outline:none}.payment-icon{display:inline-block;right:40px;width:38px;height:24px;-webkit-transition:opacity .5s cubic-bezier(.3,0,0,1);transition:opacity .5s cubic-bezier(.3,0,0,1);-webkit-backface-visibility:hidden}.payment-name{visibility:hidden}.blank-slate .payment-icon{vertical-align:middle}.payment-icon--amazon{background-image:url(amazon.svg);background-image:url(amazon.svg),none}.payment-icon--american-express{background-image:url(american-express.svg);background-image:url(american-express.svg),none}.payment-icon--bitcoin{background-image:url(bitcoin.svg);background-image:url(bitcoin.svg),none}.payment-icon--bogus{background-image:url(bogus.svg);background-image:url(bogus.svg),none}.payment-icon--boleto{background-image:url(boleto.svg);background-image:url(boleto.svg),none}.payment-icon--cash{background-image:url(cash.svg);background-image:url(cash.svg),none}.payment-icon--dankort{background-image:url(dankort.svg);background-image:url(dankort.svg),none}.payment-icon--diners-club{background-image:url(diners-club.svg);background-image:url(diners-club.svg),none}.payment-icon--discover{background-image:url(discover.svg);background-image:url(discover.svg),none}.payment-icon--dogecoin{background-image:url(dogecoin.svg);background-image:url(dogecoin.svg),none}.payment-icon--litecoin{background-image:url(litecoin.svg);background-image:url(litecoin.svg),none}.payment-icon--forbrugsforeningen{background-image:url(forbrugsforeningen.svg);background-image:url(forbrugsforeningen.svg),none}.payment-icon--generic{background-image:url(generic.svg);background-image:url(generic.svg),none}.payment-icon--gift-card{background-image:url(gift-card-payment.svg);background-image:url(gift-card-payment.svg),none}.payment-icon--google-wallet{background-image:url(google-wallet-payment.svg);background-image:url(google-wallet-payment.svg),none}.payment-icon--jcb{background-image:url(jcb.svg);background-image:url(jcb.svg),none}.payment-icon--laser{background-image:url(laser.svg);background-image:url(laser.svg),none}.payment-icon--maestro{background-image:url(maestro.svg);background-image:url(maestro.svg),none}.payment-icon--master{background-image:url(master.svg);background-image:url(master.svg),none}.payment-icon--paypal{background-image:url(paypal.svg);background-image:url(paypal.svg),none}.payment-icon--sofort{background-image:url(sofort.svg);background-image:url(sofort.svg),none}.payment-icon--solo{background-image:url(solo.svg);background-image:url(solo.svg),none}.payment-icon--switch{background-image:url(switch.svg);background-image:url(switch.svg),none}.payment-icon--unionpay{background-image:url(unionpay.svg);background-image:url(unionpay.svg),none}.payment-icon--visa{background-image:url(visa.svg);background-image:url(visa.svg),none}.tooltip{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;bottom:130%;left:50%;width:180px;margin:0 0 5px -90px;padding:.75em 1em;border-radius:4px;white-space:normal;font-size:.85714em;font-style:normal;text-align:center;color:#fff;display:none;z-index:3;-webkit-transition:all .3s cubic-bezier(.3,0,0,1);transition:all .3s cubic-bezier(.3,0,0,1);-webkit-transform:rotateX(20deg) scale(.8);transform:rotateX(20deg) scale(.8);-webkit-transform-origin:center 120%;transform-origin:center 120%;-webkit-backface-visibility:hidden;background-color:rgba(51,51,51,.9);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=" 0 ")";filter:alpha(opacity=0)}@media (min-width:750px){.tooltip{display:block}}.tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;width:0;border:6px solid transparent;border-top-color:rgba(51,51,51,.9)}@media (min-width:750px){.has-tooltip:focus .tooltip,.has-tooltip:hover .tooltip{-webkit-transform:rotateX(0deg) scale(1);transform:rotateX(0deg) scale(1);pointer-events:auto;visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=" 100 ")";filter:alpha(opacity=100)}}.flicker-animation{-webkit-animation:b 2s linear 2;animation:b 2s linear 2}@-webkit-keyframes b{0%{opacity:0}15%{opacity:.25}25%{opacity:.5}40%{opacity:.75}50%{opacity:1}60%{opacity:.75}75%{opacity:.5}85%{opacity:.25}to{opacity:0}}@keyframes b{0%{opacity:0}15%{opacity:.25}25%{opacity:.5}40%{opacity:.75}50%{opacity:1}60%{opacity:.75}75%{opacity:.5}85%{opacity:.25}to{opacity:0}}.selectedTypeOfList:hover{background:#ecf7fc;cursor:pointer}.selectedList{background:#d9effa;height:90px;padding-top:15px;position:relative}.activeList{background:#d9effa;cursor:default!important}.list-container{display:grid;position:relative}.list-text-title{margin-left:30px;font-size:22px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.list-modal-row-fix{padding-top:0;margin-top:0}.list-text-descr{color:#999;margin-left:30px;font-size:14px;margin-bottom:10px}.list-text-descr-inList{margin-left:450px;width:180px;position:relative;top:-30px;color:#000;font-weight:700;opacity:1}.product-list-container{margin-top:-45px;position:relative;right:93px}.wishlist-remove{font-size:13px;font-weight:500;min-width:10px;line-height:1;position:relative;left:-30px;text-align:left;top:-40px;z-index:1}.product-list-name{cursor:pointer;word-break:break-word;width:220px;height:50px;padding-top:8px;padding-left:10px;font-size:22px;margin-right:10px;margin-bottom:0;line-height:1.6;z-index:4;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,"sans-serif";color:#585858;border-bottom:1px solid #ececec}.product-list-modal-wrapper{position:relative;margin-top:-20px}.product-list-modal-wrapper .product-list-modal-borders{margin-top:0!important}.product-list-modal-wrapper .product-list-modal-titleShift{height:90px;padding-top:15px;position:relative}.product-list-modal-added-toList{font-weight:700;margin-bottom:20px;margin-top:10px}.product-list-createdDate{position:relative;top:30px;left:-78px}.product-list-advanced{position:relative;font-size:larger}.list-item-header{margin-top:-36px;margin-bottom:20px;font-size:23px;border-bottom:1px solid #ececec}.list-item-addToCartBtn{padding:7px!important}.list-table{border-collapse:separate!important}.vc-product-table td{border-right:0!important;border-left:0!important}.vc-product-table tr{border:5px solid #fff;border-radius:12px!important;border-bottom:1px solid gray}.vc-product-table td:first-child{border-top-left-radius:10px;border-spacing:5em;border-bottom-left-radius:10px;border-right:0!important;border-left:0!important}.vc-product-table td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.product-row td.list-item-price{font-size:14px;padding:0 0 15px 15px;text-align:right;position:relative}.btn-clearfix{margin:3px 1px}.list-icon-clearfix{width:30px;margin-left:-6px}.disabled{opacity:.6;pointer-events:none}.btn-secondary-clearfix{margin:0!important}.list-btn-alignment{width:152.2px;position:relative}@media (max-width:980px) and (min-width:200px){.sidebar{position:relative;display:-webkit-inline-box;text-align:center;float:inherit}.sidebar ul li.product-list-name{margin-right:0}.hide-if-lowWidth{display:none}}.list-item-oldPrice{color:#969696;font-size:12px;text-decoration:line-through}.list-table{position:relative;top:-40px}.has-error{border-color:#a94442;-webkit-box-shadow:0 0 5px #f39f9f;box-shadow:0 0 5px #f39f9f}.nav>li:hover{text-decoration:none;background-color:#eee}.nav-pills>li.active,.nav-pills>li.active>a:focus{color:#fff;border-radius:4px;background-color:#337ab7}.wish-list-row:nth-child(2n) .property-name,.wish-list-row:nth-child(2n) .value{background-color:#f2f2f2}.wish-list-row:hover{cursor:pointer;background-color:#fafafa}.wish-list-cell.value{border:1px solid #dcdcdc}.lists-navBar-clearfix{margin-bottom:-34px;font-size:15px;margin-top:-12px;right:20px;position:absolute}.lists-settings{cursor:pointer;float:right}.lists-sideBar{padding-left:0!important;padding-top:0!important;text-align:left}.lists-sideBar .lists-sideBar-content{cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;width:170px}.lists-sideBar .lists-sideBar-textAlign{text-align:left!important}.lists-sideBar .lists-sideBar-content .lists-sideBar-globalIcon{padding-right:8px;text-align:right;vertical-align:top;padding-top:14px;float:right;margin-left:auto}.lists-title-shareIcon{cursor:pointer;font-size:14pt;padding-left:15px;padding-top:11px}.lists-productsList-descr{height:100%;padding-bottom:30px!important}.lists-productsList-descr .lists-productsList-descr-contentAllign{display:table;min-height:70px}.lists-productsList-descr .lists-productsList-descr-title{top:7px;display:table-cell;vertical-align:middle}.lists-productsList-descr .lists-productsList-descr-modify{position:absolute;left:1px;padding-top:10px}.lists-productsList-addAllToCart{position:absolute;bottom:30px;right:29px}.lists-creationDialog-wrapper{opacity:1;width:600px!important}.lists-creationDialog-closeButtonWrapper{position:relative;bottom:15px}.lists-creationDialog-closeButtonWrapper .lists-creationDialog-closeButtonClearFix{position:fixed;top:5px}.lists-creationDialog-wrapper .lists-creationDialog-inputWrapper{margin-left:-35px}.lists-creationDialog-wrapper .lists-creationDialog-inputClearFix{height:40px;margin-top:20px}.lists-creationDialog-wrapper .lists-creationDialog-checkboxWrapper{top:26px;left:30px;position:relative;vertical-align:bottom;font-size:12pt}.lists-creationDialog-wrapper .lists-creationDialog-checkboxClearfix{height:15px;width:15px;position:relative} -/*# sourceMappingURL=account-styles.css.map */ diff --git a/assets/static/bundle/account-styles.css.map b/assets/static/bundle/account-styles.css.map deleted file mode 100644 index 62d649f9..00000000 --- a/assets/static/bundle/account-styles.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../assets/account-bootstrap.css","../../../assets/common-components.css"],"names":[],"mappings":"AACA,KACA,eAAA,AACA,gBAAA,AACA,eAAA,CACA,AAKA,kBAHA,kBAAA,AACA,aAAA,CAEA,AAIA,UADA,iBAAA,CACA,AACA,gCAEA,qBAAA,AACA,qBAAA,CACA,AACA,mBACA,UAAA,CACA,AACA,kDAEA,WAAA,AACA,qBAAA,AACA,mBAAA,AACA,4BAAA,CACA,AACA,mDAGA,sBAAA,AACA,oBAAA,CACA,AACA,kBACA,WAAA,AACA,aAAA,AACA,gBAAA,AACA,wBAAA,CACA,AACA,cACA,cAAA,CACA,AACA,UACA,4BAAA,CACA,AACA,aACA,WAAA,AACA,kBAAA,CACA,AACA,eACA,iBAAA,AACA,uBAAA,AACA,6BAAA,AACA,yBAAA,CACA,AACA,qBACA,2BAAA,CACA,AACA,8EAGA,WAAA,AACA,eAAA,AACA,sBAAA,AACA,sBAAA,AACA,+BAAA,CACA,AACA,wBACA,WAAA,AACA,eAAA,CACA,AACA,2BACA,UAAA,CACA,AACA,6BACA,kBAAA,AACA,iBAAA,CACA,AACA,iDACA,SAAA,AACA,SAAA,CACA,AACA,yBACA,2BACA,mBAAA,AACA,QAAA,CACA,AACA,6BACA,eAAA,CACA,CACA,AACA,6BACA,eAAA,AACA,iBAAA,CACA,AACA,kHAGA,qBAAA,CACA,AACA,yBACA,6BACA,6BAAA,AACA,yBAAA,CACA,AACA,kHAGA,wBAAA,CACA,CACA,AACA,cACA,UAAA,CACA,AACA,gBACA,iBAAA,CACA,AACA,iBACA,eAAA,CACA,AACA,iFAGA,WAAA,AACA,wBAAA,CACA,AACA,gBACA,UAAA,CACA,AACA,mBACA,eAAA,AACA,aAAA,CACA,AACA,eACA,UAAA,CACA,AACA,kBACA,UAAA,CACA,AACA,oBACA,kBAAA,AACA,iBAAA,CACA,AACA,wCACA,SAAA,AACA,SAAA,CACA,AACA,yBACA,kBACA,mBAAA,AACA,QAAA,CACA,AACA,oBACA,eAAA,CACA,CACA,AACA,oBACA,eAAA,CACA,AACA,yBACA,eAAA,AACA,iBAAA,CACA,AACA,sGAGA,qBAAA,CACA,AACA,yBACA,yBACA,6BAAA,AACA,yBAAA,CACA,AACA,sGAGA,wBAAA,CACA,CACA,AACA,uBACA,YAAA,CACA,AACA,qBACA,aAAA,CACA,AACA,yBACA,gBAAA,AACA,yBAAA,AACA,yBAAA,CACA,AAEA,YACA,qBAAA,AACA,eAAA,AACA,cAAA,AACA,iBAAA,CACA,AACA,eACA,cAAA,CACA,AACA,qCAEA,kBAAA,AACA,WAAA,AACA,iBAAA,AACA,iBAAA,AACA,uBAAA,AACA,cAAA,AACA,qBAAA,AACA,sBAAA,AACA,qBAAA,CACA,AACA,6DAEA,cAAA,AACA,2BAAA,AACA,6BAAA,CACA,AACA,2DAEA,4BAAA,AACA,8BAAA,CACA,AACA,kGAIA,UAAA,AACA,cAAA,AACA,sBAAA,AACA,iBAAA,CACA,AACA,qKAMA,UAAA,AACA,WAAA,AACA,eAAA,AACA,yBAAA,AACA,oBAAA,CACA,AACA,iLAMA,WAAA,AACA,mBAAA,AACA,sBAAA,AACA,iBAAA,CACA,AACA,2CAEA,kBAAA,AACA,eAAA,AACA,qBAAA,CACA,AACA,mEAEA,2BAAA,AACA,6BAAA,CACA,AACA,iEAEA,4BAAA,AACA,8BAAA,CACA,AACA,2CAEA,iBAAA,AACA,eAAA,AACA,eAAA,CACA,AACA,mEAEA,2BAAA,AACA,6BAAA,CACA,AACA,iEAEA,4BAAA,AACA,8BAAA,CACA,AAEA,opBAgCA,cAAA,AACA,WAAA,CACA,AACA,kUAgBA,UAAA,CACA,ACvVA,MACA,qBAAA,AACA,kBAAA,AACA,iBAAA,AACA,gBAAA,AACA,oBAAA,iBAAA,oBAAA,aAAA,AACA,uBAAA,AACA,mBAAA,eAAA,AACA,aAAA,CACA,AAEA,WACA,8BAAA,2BAAA,sBAAA,AACA,cAAA,AACA,UAAA,CACA,AAEA,cACA,SAAA,CACA,AAEA,cACA,cAAA,CACA,AAEA,cACA,cAAA,CACA,AAEA,UACA,gBAAA,CACA,AAEA,oBAGA,oBAAA,AACA,iBAAA,CACA,AAEA,sBACA,qDAAA,CAOA,AACA,iDAPA,WAAA,AACA,YAAA,AACA,cAAA,AACA,YAAA,AACA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A,CACA,AACA,mBACA,cAAA,AACA,SAAA,CACA,AACA,yBACA,wBAAA,AACA,kCAAA,CACA,AAEA,aACA,kBAAA,AACA,SAAA,AACA,aAAA,CACA,AAEA,YACA,WAAA,AACA,YAAA,AACA,oCAAA,AACA,wCAAA,CACA,AAEA,wBACA,QAAA,CACA,AAEA,gBACA,WAAA,AACA,YAAA,AACA,SAAA,AAIA,wCAAA,AACA,4CAAA,CAJA,AAoBA,mBACA,YAAA,CACA,AAEA,cACA,qBAAA,AACA,WAAA,AACA,WAAA,AACA,YAAA,AACA,sDAAA,AACA,8CAAA,AACA,kCAAA,CACA,AAEA,cACA,iBAAA,CACA,AAEA,2BACA,qBAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,gCACA,2CAAA,AACA,+CAAA,CACA,AAEA,uBACA,kCAAA,AACA,sCAAA,CACA,AAEA,qBACA,gCAAA,AACA,oCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,oBACA,+BAAA,AACA,mCAAA,CACA,AAEA,uBACA,kCAAA,AACA,sCAAA,CACA,AAEA,2BACA,sCAAA,AACA,0CAAA,CACA,AAEA,wBACA,mCAAA,AACA,uCAAA,CACA,AAEA,wBACA,mCAAA,AACA,uCAAA,CACA,AAEA,wBACA,mCAAA,AACA,uCAAA,CACA,AAEA,kCACA,6CAAA,AACA,iDAAA,CACA,AAEA,uBACA,kCAAA,AACA,sCAAA,CACA,AAEA,yBACA,4CAAA,AACA,gDAAA,CACA,AAEA,6BACA,gDAAA,AACA,oDAAA,CACA,AAEA,mBACA,8BAAA,AACA,kCAAA,CACA,AAEA,qBACA,gCAAA,AACA,oCAAA,CACA,AAEA,uBACA,kCAAA,AACA,sCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,oBACA,+BAAA,AACA,mCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,wBACA,mCAAA,AACA,uCAAA,CACA,AAEA,oBACA,+BAAA,AACA,mCAAA,CACA,AAEA,SACA,8BAAA,2BAAA,sBAAA,AACA,kBAAA,AACA,YAAA,AACA,SAAA,AACA,YAAA,AACA,qBAAA,AACA,kBAAA,AACA,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,kBAAA,AACA,kBAAA,AACA,WAAA,AACA,aAAA,AACA,UAAA,AACA,kDAAA,AACA,0CAAA,AACA,2CAAA,AACA,mCAAA,AACA,qCAAA,AAEA,6BAAA,AACA,mCAAA,AACA,mCAAA,AACA,kBAAA,AACA,UAAA,AACA,oEAAA,AACA,uBAAA,CACA,AAEA,yBACA,SACA,aAAA,CACA,CACA,AAEA,eACA,WAAA,AACA,kBAAA,AACA,SAAA,AACA,SAAA,AACA,iBAAA,AACA,QAAA,AACA,6BAAA,AACA,kCAAA,CACA,AAEA,yBACA,wDAEA,yCAAA,AACA,iCAAA,AACA,oBAAA,AACA,mBAAA,AACA,UAAA,AACA,sEAAA,AACA,yBAAA,CACA,CACA,AACA,mBACA,gCAAA,AACA,uBAAA,CACA,AAEA,qBACA,GACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,GACA,SAAA,CACA,CACA,AAEA,aACA,GACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,GACA,SAAA,CACA,CACA,AAEA,0BACA,mBAAA,AACA,cAAA,CACA,AACA,cACA,mBAAA,AACA,YAAA,AACA,iBAAA,AACA,iBAAA,CACA,AAEA,YACA,mBAAA,AACA,wBAAA,CACA,AAEA,gBACA,aAAA,AACA,iBAAA,CACA,AACA,iBACA,iBAAA,AACA,eAAA,AACA,gBAAA,AACA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,CACA,AAEA,oBACA,cAAA,AACA,YAAA,CACA,AAEA,iBACA,WAAA,AACA,iBAAA,AACA,eAAA,AACA,kBAAA,CACA,AACA,wBACA,kBAAA,AACA,YAAA,AACA,kBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,SAAA,CACA,AAEA,wBACA,iBAAA,AACA,kBAAA,AACA,UAAA,CACA,AAEA,iBACA,eAAA,AACA,gBAAA,AACA,eAAA,AACA,cAAA,AACA,kBAAA,AACA,WAAA,AACA,gBAAA,AACA,UAAA,AACA,SAAA,CACA,AAEA,mBACA,eAAA,AACA,sBAAA,AACA,YAAA,AACA,YAAA,AACA,gBAAA,AACA,kBAAA,AACA,eAAA,AACA,kBAAA,AACA,gBAAA,AACA,gBAAA,AACA,UAAA,AACA,sEAAA,AACA,cAAA,AACA,+BAAA,CACA,AACA,4BACA,kBAAA,AACA,gBAAA,CACA,AACA,wDACA,sBAAA,CACA,AACA,2DACA,YAAA,AACA,iBAAA,AACA,iBAAA,CACA,AACA,iCACA,gBAAA,AACA,mBAAA,AACA,eAAA,CACA,AACA,0BACA,kBAAA,AACA,SAAA,AACA,UAAA,CACA,AAEA,uBACA,kBAAA,AACA,gBAAA,CACA,AAEA,kBACA,iBAAA,AACA,mBAAA,AACA,eAAA,AACA,+BAAA,CACA,AACA,wBACA,qBAAA,CACA,AAEA,YACA,kCAAA,CAEA,AAEA,qBACA,yBAAA,AACA,uBAAA,CACA,AAEA,qBACA,sBAAA,AACA,6BAAA,AAEA,4BAAA,CACA,AAEA,iCACA,4BAAA,AACA,mBAAA,AACA,+BAAA,AAEA,yBAAA,AACA,uBAAA,CACA,AAMA,gCAEA,6BAAA,AACA,+BAAA,CAEA,AAEA,gCACA,eAAA,AACA,sBAAA,AACA,iBAAA,AACA,iBAAA,CAEA,AAEA,cACA,cAAA,CACA,AAEA,oBACA,WAAA,AACA,gBAAA,CACA,AAEA,UACA,WAAA,AACA,mBAAA,CACA,AAEA,wBACA,kBAAA,CACA,AAEA,oBACA,cAAA,AACA,iBAAA,CACA,AAEA,+CACA,SACA,kBAAA,AACA,2BAAA,AACA,kBAAA,AACA,aAAA,CACA,AACA,iCACA,cAAA,CACA,AACA,kBACA,YAAA,CACA,CACA,AACA,oBACA,cAAA,AACA,eAAA,AACA,4BAAA,CACA,AAEA,YACA,kBAAA,AACA,SAAA,CACA,AAEA,WACA,qBAAA,AACA,mCAAA,AACA,0BAAA,CACA,AAEA,cACA,qBAAA,AACA,qBAAA,CACA,AAEA,kDACA,WAAA,AACA,kBAAA,AACA,wBAAA,CACA,AASA,gFACA,wBAAA,CACA,AAEA,qBACA,eAAA,AACA,wBAAA,CACA,AAEA,sBACA,wBAAA,CACA,AAEA,uBACA,oBAAA,AACA,eAAA,AACA,iBAAA,AACA,WAAA,AACA,iBAAA,CACA,AAEA,gBACA,eAAA,AACA,WAAA,CACA,AAEA,eACA,yBAAA,AACA,wBAAA,AACA,eAAA,CACA,AAEA,sCACA,eAAA,AACA,oBAAA,qBAAA,iBAAA,oBAAA,aAAA,AACA,WAAA,CACA,AAEA,wCACA,yBAAA,CACA,AAEA,gEACA,kBAAA,AACA,iBAAA,AACA,mBAAA,AACA,iBAAA,AACA,YAAA,AACA,gBAAA,CACA,AAEA,uBACA,eAAA,AACA,eAAA,AACA,kBAAA,AACA,gBAAA,CACA,AAEA,0BACA,YAAA,AACA,6BAAA,CACA,AAEA,kEACA,cAAA,AACA,eAAA,CACA,AAEA,0DACA,QAAA,AACA,mBAAA,AACA,qBAAA,CACA,AACA,2DACA,kBAAA,AACA,SAAA,AACA,gBAAA,CACA,AACA,iCACA,kBAAA,AACA,YAAA,AACA,UAAA,CACA,AACA,8BACA,UAAA,AACA,qBAAA,CACA,AACA,yCACA,kBAAA,AACA,WAAA,CACA,AACA,mFACA,eAAA,AACA,OAAA,CACA,AACA,iEACA,iBAAA,CACA,AACA,kEACA,YAAA,AACA,eAAA,CACA,AACA,oEACA,SAAA,AACA,UAAA,AACA,kBAAA,AACA,sBAAA,AACA,cAAA,CACA,AAEA,qEACA,YAAA,AACA,WAAA,AACA,iBAAA,CACA","file":"account-styles.css","sourcesContent":["/*tabs*/\r\n.nav {\r\n padding-left: 0;\r\n margin-bottom: 0;\r\n list-style: none;\r\n}\r\n.nav > li {\r\n position: relative;\r\n display: block;\r\n}\r\n.nav > li > a {\r\n position: relative;\r\n display: block;\r\n padding: 10px 15px;\r\n}\r\n.nav > li > a:hover,\r\n.nav > li > a:focus {\r\n text-decoration: none;\r\n background-color: #eee;\r\n}\r\n.nav > li.disabled > a {\r\n color: #777;\r\n}\r\n.nav > li.disabled > a:hover,\r\n.nav > li.disabled > a:focus {\r\n color: #777;\r\n text-decoration: none;\r\n cursor: not-allowed;\r\n background-color: transparent;\r\n}\r\n.nav .open > a,\r\n.nav .open > a:hover,\r\n.nav .open > a:focus {\r\n background-color: #eee;\r\n border-color: #337ab7;\r\n}\r\n.nav .nav-divider {\r\n height: 1px;\r\n margin: 9px 0;\r\n overflow: hidden;\r\n background-color: #e5e5e5;\r\n}\r\n.nav > li > a > img {\r\n max-width: none;\r\n}\r\n.nav-tabs {\r\n border-bottom: 1px solid #ddd;\r\n}\r\n.nav-tabs > li {\r\n float: left;\r\n margin-bottom: -1px;\r\n}\r\n.nav-tabs > li > a {\r\n margin-right: 2px;\r\n line-height: 1.42857143;\r\n border: 1px solid transparent;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n.nav-tabs > li > a:hover {\r\n border-color: #eee #eee #ddd;\r\n}\r\n.nav-tabs > li.active > a,\r\n.nav-tabs > li.active > a:hover,\r\n.nav-tabs > li.active > a:focus {\r\n color: #555;\r\n cursor: default;\r\n background-color: #fff;\r\n border: 1px solid #ddd;\r\n border-bottom-color: transparent;\r\n}\r\n.nav-tabs.nav-justified {\r\n width: 100%;\r\n border-bottom: 0;\r\n}\r\n.nav-tabs.nav-justified > li {\r\n float: none;\r\n}\r\n.nav-tabs.nav-justified > li > a {\r\n margin-bottom: 5px;\r\n text-align: center;\r\n}\r\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\r\n top: auto;\r\n left: auto;\r\n}\r\n@media (min-width: 768px) {\r\n .nav-tabs.nav-justified > li {\r\n display: table-cell;\r\n width: 1%;\r\n }\r\n .nav-tabs.nav-justified > li > a {\r\n margin-bottom: 0;\r\n }\r\n}\r\n.nav-tabs.nav-justified > li > a {\r\n margin-right: 0;\r\n border-radius: 4px;\r\n}\r\n.nav-tabs.nav-justified > .active > a,\r\n.nav-tabs.nav-justified > .active > a:hover,\r\n.nav-tabs.nav-justified > .active > a:focus {\r\n border: 1px solid #ddd;\r\n}\r\n@media (min-width: 768px) {\r\n .nav-tabs.nav-justified > li > a {\r\n border-bottom: 1px solid #ddd;\r\n border-radius: 4px 4px 0 0;\r\n }\r\n .nav-tabs.nav-justified > .active > a,\r\n .nav-tabs.nav-justified > .active > a:hover,\r\n .nav-tabs.nav-justified > .active > a:focus {\r\n border-bottom-color: #fff;\r\n }\r\n}\r\n.nav-pills > li {\r\n float: left;\r\n}\r\n.nav-pills > li > a {\r\n border-radius: 4px;\r\n}\r\n.nav-pills > li + li {\r\n margin-left: 2px;\r\n}\r\n.nav-pills > li.active > a,\r\n.nav-pills > li.active > a:hover,\r\n.nav-pills > li.active > a:focus {\r\n color: #fff;\r\n background-color: #337ab7;\r\n}\r\n.nav-stacked > li {\r\n float: none;\r\n}\r\n.nav-stacked > li + li {\r\n margin-top: 2px;\r\n margin-left: 0;\r\n}\r\n.nav-justified {\r\n width: 100%;\r\n}\r\n.nav-justified > li {\r\n float: none;\r\n}\r\n.nav-justified > li > a {\r\n margin-bottom: 5px;\r\n text-align: center;\r\n}\r\n.nav-justified > .dropdown .dropdown-menu {\r\n top: auto;\r\n left: auto;\r\n}\r\n@media (min-width: 768px) {\r\n .nav-justified > li {\r\n display: table-cell;\r\n width: 1%;\r\n }\r\n .nav-justified > li > a {\r\n margin-bottom: 0;\r\n }\r\n}\r\n.nav-tabs-justified {\r\n border-bottom: 0;\r\n}\r\n.nav-tabs-justified > li > a {\r\n margin-right: 0;\r\n border-radius: 4px;\r\n}\r\n.nav-tabs-justified > .active > a,\r\n.nav-tabs-justified > .active > a:hover,\r\n.nav-tabs-justified > .active > a:focus {\r\n border: 1px solid #ddd;\r\n}\r\n@media (min-width: 768px) {\r\n .nav-tabs-justified > li > a {\r\n border-bottom: 1px solid #ddd;\r\n border-radius: 4px 4px 0 0;\r\n }\r\n .nav-tabs-justified > .active > a,\r\n .nav-tabs-justified > .active > a:hover,\r\n .nav-tabs-justified > .active > a:focus {\r\n border-bottom-color: #fff;\r\n }\r\n}\r\n.tab-content > .tab-pane {\r\n display: none;\r\n}\r\n.tab-content > .active {\r\n display: block;\r\n}\r\n.nav-tabs .dropdown-menu {\r\n margin-top: -1px;\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n}\r\n/*pagination*/\r\n.pagination {\r\n display: inline-block;\r\n padding-left: 0;\r\n margin: 20px 0;\r\n border-radius: 4px;\r\n}\r\n.pagination > li {\r\n display: inline;\r\n}\r\n.pagination > li > a,\r\n.pagination > li > span {\r\n position: relative;\r\n float: left;\r\n padding: 6px 12px;\r\n margin-left: -1px;\r\n line-height: 1.42857143;\r\n color: #337ab7;\r\n text-decoration: none;\r\n background-color: #fff;\r\n border: 1px solid #ddd;\r\n}\r\n.pagination > li:first-child > a,\r\n.pagination > li:first-child > span {\r\n margin-left: 0;\r\n border-top-left-radius: 4px;\r\n border-bottom-left-radius: 4px;\r\n}\r\n.pagination > li:last-child > a,\r\n.pagination > li:last-child > span {\r\n border-top-right-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n}\r\n.pagination > li > a:hover,\r\n.pagination > li > span:hover,\r\n.pagination > li > a:focus,\r\n.pagination > li > span:focus {\r\n z-index: 2;\r\n color: #23527c;\r\n background-color: #eee;\r\n border-color: #ddd;\r\n}\r\n.pagination > .active > a,\r\n.pagination > .active > span,\r\n.pagination > .active > a:hover,\r\n.pagination > .active > span:hover,\r\n.pagination > .active > a:focus,\r\n.pagination > .active > span:focus {\r\n z-index: 3;\r\n color: #fff;\r\n cursor: default;\r\n background-color: #337ab7;\r\n border-color: #337ab7;\r\n}\r\n.pagination > .disabled > span,\r\n.pagination > .disabled > span:hover,\r\n.pagination > .disabled > span:focus,\r\n.pagination > .disabled > a,\r\n.pagination > .disabled > a:hover,\r\n.pagination > .disabled > a:focus {\r\n color: #777;\r\n cursor: not-allowed;\r\n background-color: #fff;\r\n border-color: #ddd;\r\n}\r\n.pagination-lg > li > a,\r\n.pagination-lg > li > span {\r\n padding: 10px 16px;\r\n font-size: 18px;\r\n line-height: 1.3333333;\r\n}\r\n.pagination-lg > li:first-child > a,\r\n.pagination-lg > li:first-child > span {\r\n border-top-left-radius: 6px;\r\n border-bottom-left-radius: 6px;\r\n}\r\n.pagination-lg > li:last-child > a,\r\n.pagination-lg > li:last-child > span {\r\n border-top-right-radius: 6px;\r\n border-bottom-right-radius: 6px;\r\n}\r\n.pagination-sm > li > a,\r\n.pagination-sm > li > span {\r\n padding: 5px 10px;\r\n font-size: 12px;\r\n line-height: 1.5;\r\n}\r\n.pagination-sm > li:first-child > a,\r\n.pagination-sm > li:first-child > span {\r\n border-top-left-radius: 3px;\r\n border-bottom-left-radius: 3px;\r\n}\r\n.pagination-sm > li:last-child > a,\r\n.pagination-sm > li:last-child > span {\r\n border-top-right-radius: 3px;\r\n border-bottom-right-radius: 3px;\r\n}\r\n/*clearfix*/\r\n.clearfix:before,\r\n.clearfix:after,\r\n.dl-horizontal dd:before,\r\n.dl-horizontal dd:after,\r\n.container:before,\r\n.container:after,\r\n.container-fluid:before,\r\n.container-fluid:after,\r\n.row:before,\r\n.row:after,\r\n.form-horizontal .form-group:before,\r\n.form-horizontal .form-group:after,\r\n.btn-toolbar:before,\r\n.btn-toolbar:after,\r\n.btn-group-vertical > .btn-group:before,\r\n.btn-group-vertical > .btn-group:after,\r\n.nav:before,\r\n.nav:after,\r\n.navbar:before,\r\n.navbar:after,\r\n.navbar-header:before,\r\n.navbar-header:after,\r\n.navbar-collapse:before,\r\n.navbar-collapse:after,\r\n.pager:before,\r\n.pager:after,\r\n.panel-body:before,\r\n.panel-body:after,\r\n.modal-header:before,\r\n.modal-header:after,\r\n.modal-footer:before,\r\n.modal-footer:after {\r\n display: table;\r\n content: \" \";\r\n}\r\n.clearfix:after,\r\n.dl-horizontal dd:after,\r\n.container:after,\r\n.container-fluid:after,\r\n.row:after,\r\n.form-horizontal .form-group:after,\r\n.btn-toolbar:after,\r\n.btn-group-vertical > .btn-group:after,\r\n.nav:after,\r\n.navbar:after,\r\n.navbar-header:after,\r\n.navbar-collapse:after,\r\n.pager:after,\r\n.panel-body:after,\r\n.modal-header:after,\r\n.modal-footer:after {\r\n clear: both;\r\n}",".cols {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-flex-wrap: wrap;\r\n flex-wrap: wrap;\r\n margin: 0 -5px;\r\n}\r\n\r\n.cols .col {\r\n box-sizing: border-box;\r\n padding: 0 5px;\r\n width: 100%;\r\n}\r\n\r\n.cols .col-50 {\r\n width: 50%;\r\n}\r\n\r\n.cols .col-66 {\r\n width: 66.6666%;\r\n}\r\n\r\n.cols .col-33 {\r\n width: 33.3333%;\r\n}\r\n\r\n.col.main {\r\n padding-right: 4%;\r\n}\r\n\r\nbutton,\r\ninput,\r\nselect {\r\n font-family: inherit;\r\n font-size: inherit;\r\n}\r\n\r\n.add-to-favorite-icon {\r\n background-image: url(../assets/star_favorite_add.png);\r\n width: 32px;\r\n height: 32px;\r\n display: block;\r\n float: right;\r\n position: relative;\r\n cursor:pointer;\r\n}\r\n.remove-from-favorite-icon {\r\n background-image: url(../assets/star_favorite_remove.png);\r\n width: 32px;\r\n height: 32px;\r\n display: block;\r\n float: right;\r\n position: relative;\r\n cursor: pointer;\r\n}\r\n\r\n.vc-form select {\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n text-transform: none;\r\n}\r\n\r\n.vc-form .form-group {\r\n margin: 0 0 10px;\r\n position: relative;\r\n}\r\n\r\n.vc-form .form-label {\r\n color: #999;\r\n font-size: 12px;\r\n opacity: 0;\r\n padding: 0 11px;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(3px);\r\n transition: all .2s ease-out;\r\n}\r\n\r\n.vc-form .form-input {\r\n background-color: white;\r\n border: none;\r\n border-radius: 4px;\r\n box-shadow: 0 0 0 1px #d9d9d9;\r\n box-sizing: border-box;\r\n font-size: 14px;\r\n margin: 0;\r\n padding: 13px 11px;\r\n width: 100%;\r\n transition: all .2s ease-out;\r\n}\r\n\r\n.vc-form .form-input:focus {\r\n box-shadow: 0 0 0 2px #1990c6;\r\n}\r\n\r\n.vc-form .form-group.keyuped .form-label {\r\n opacity: 1;\r\n transform: none;\r\n top: 5px;\r\n}\r\n\r\n.vc-form .form-group.keyuped .form-input {\r\n padding: 21px 11px 5px;\r\n}\r\n\r\n.vc-form .form-group.error .form-input {\r\n box-shadow: 0 0 0 2px #ff6d6d;\r\n}\r\n\r\n.vc-form .form-error {\r\n background: none;\r\n border: none;\r\n color: #ff6d6d;\r\n display: block;\r\n font-size: 12px;\r\n margin: 9px 0 3px;\r\n}\r\n\r\n.vc-form .form-select::after {\r\n border-left: 1px solid #ccc;\r\n content: ' ';\r\n height: 20px;\r\n position: absolute;\r\n right: 11px;\r\n top: 50%;\r\n width: 21px;\r\n transform: translateY(-50%);\r\n pointer-events: none;\r\n}\r\n\r\n.vc-form .form-select::before {\r\n border-color: #333 transparent transparent;\r\n border-style: solid;\r\n border-width: 5px 5px 0;\r\n content: ' ';\r\n position: absolute;\r\n right: 11px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n pointer-events: none;\r\n}\r\n\r\n.vc-btn {\r\n background: #1990c6;\r\n border: none;\r\n border-radius: 4px;\r\n box-sizing: border-box;\r\n color: #fff;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-size: 14px;\r\n padding: 19px 23px;\r\n position: relative;\r\n text-align: center;\r\n text-decoration: none;\r\n transition: background-color .2s ease-in-out, color .2s ease-in-out;\r\n}\r\n\r\n.vc-btn.secondary {\r\n background: #dcdcdc;\r\n color: #585858;\r\n}\r\n\r\n.vc-btn.loading {\r\n pointer-events: none;\r\n}\r\n\r\n.vc-btn.loading .btn-text {\r\n opacity: 0;\r\n}\r\n\r\n.vc-btn.loading .btn-loading {\r\n border: 3px solid rgba(255,255,255,.7);\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n height: 30px;\r\n margin: -15px 0 0 -15px;\r\n left: 50%;\r\n position: absolute;\r\n top: 50%;\r\n width: 30px;\r\n -webkit-animation: loading .75s linear infinite;\r\n animation: loading .75s linear infinite;\r\n}\r\n\r\n@-webkit-keyframes loading {\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n\r\n@keyframes loading {\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n\r\n.vc-btn:hover {\r\n background: #136f99;\r\n color: #fff;\r\n}\r\n\r\n.vc-btn:focus,\r\n.vc-btn:active {\r\n color: #fff;\r\n box-shadow: 0 0 0 2px #136f99 inset;\r\n}\r\n\r\n.vc-form .form-input::-webkit-input-placeholder {\r\n color: #999;\r\n}\r\n\r\n.vc-form .form-input::-moz-placeholder {\r\n color: #999;\r\n}\r\n\r\n.vc-form .form-box {\r\n border-radius: 4px;\r\n box-shadow: 0 0 0 1px #d9d9d9;\r\n color: #737373;\r\n font-size: 14px;\r\n margin: 0 0 10px;\r\n}\r\n\r\n.vc-form .form-box .box-row + .box-row {\r\n border-top: 1px solid #d9d9d9;\r\n}\r\n\r\n.vc-form .radio-box,\r\n.vc-form .check-box {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n cursor: pointer;\r\n padding: 18px;\r\n}\r\n\r\n.vc-form .form-box .radio,\r\n.vc-form .form-box .check {\r\n display: none;\r\n}\r\n\r\n.vc-form .form-box .switch {\r\n border: 1px solid #ccc;\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n margin: 0 15px 0 0;\r\n height: 18px;\r\n position: relative;\r\n width: 18px;\r\n}\r\n\r\n.vc-form .form-box .radio:checked ~ .switch::after {\r\n border: 7px solid #1990c6;\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n bottom: -1px;\r\n content: ' ';\r\n left: -1px;\r\n position: absolute;\r\n right: -1px;\r\n top: -1px;\r\n}\r\n\r\n.vc-form .check-box .switch {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n border-radius: 3px;\r\n}\r\n\r\n.vc-form .form-box .check:not(:checked) ~ .switch {\r\n background-color: white;\r\n}\r\n\r\n.vc-form .form-box .check:checked ~ .switch {\r\n background: #1990c6;\r\n border: 1px solid #1990c6;\r\n}\r\n\r\n.vc-form .form-box .check:checked ~ .switch::after {\r\n color: #fff;\r\n content: '';\r\n font-family: 'FontAwesome';\r\n font-size: 10px;\r\n margin: auto;\r\n}\r\n\r\n.vc-form .form-box .name {\r\n -webkit-flex-grow: 1;\r\n flex-grow: 1;\r\n}\r\n\r\n.vc-section-header {\r\n margin: 0 0 25px;\r\n}\r\n\r\n.vc-section-header .vc-t {\r\n font-size: 18px;\r\n margin: 0 0 10px;\r\n}\r\n\r\n.vc-section-header .vc-descr {\r\n color: #737373;\r\n font-size: 14px;\r\n}\r\n\r\n.vc-product-table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n padding: 0;\r\n width: 100%;\r\n}\r\n.vc-product-table .wishlist-item-remove {\r\n font-size: 13px;\r\n font-weight: 500;\r\n min-width: 10px;\r\n padding: 4px 7px;\r\n line-height: 1;\r\n position: absolute;\r\n right: -19px;\r\n text-align: center;\r\n top: -20px;\r\n z-index: 2;\r\n}\r\n\r\n.vc-product-table td {\r\n border: none;\r\n color: #737373;\r\n font-size: 14px;\r\n padding: 0;\r\n}\r\n\r\n\r\n.vc-product-table .product-img {\r\n height: 64px;\r\n width: 64px;\r\n}\r\n\r\n.vc-product-table .img-inner {\r\n border: 1px solid #ccc;\r\n border-radius: 5px;\r\n position: relative;\r\n}\r\n\r\n.vc-product-table .product-img img {\r\n border-radius: 5px;\r\n box-sizing: border-box;\r\n display: block;\r\n padding: 5px;\r\n width: 100%;\r\n}\r\n\r\n.vc-product-table .product-qty {\r\n background-color: rgba(153, 153, 153, 0.9);\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 13px;\r\n font-weight: 500;\r\n min-width: 10px;\r\n padding: 4px 7px;\r\n line-height: 1;\r\n position: absolute;\r\n right: -10px;\r\n text-align: center;\r\n top: -10px;\r\n z-index: 2;\r\n}\r\n\r\n.vc-product-table .product-descr {\r\n padding: 0 0 0 15px;\r\n}\r\n\r\n.vc-product-table .product-price {\r\n font-size: 14px;\r\n padding: 0 0 0 15px;\r\n text-align: right;\r\n}\r\n\r\n.vc-product-table .product-price .old {\r\n color: #969696;\r\n font-size: 12px;\r\n text-decoration: line-through;\r\n}\r\n\r\n.vc-product-table .product-img,\r\n.vc-product-table .product-descr,\r\n.vc-product-table .product-price {\r\n padding-bottom: 15px;\r\n}\r\n\r\n.vc-product-totals .list {\r\n list-style: none;\r\n}\r\n\r\n.vc-product-totals .list-item {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n color: #717171;\r\n font-size: 14px;\r\n padding: 0 0 10px;\r\n}\r\n\r\n.vc-product-totals .list-name {\r\n -webkit-flex-grow: 1;\r\n flex-grow: 1;\r\n}\r\n\r\n.vc-product-totals .list-price {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n}\r\n\r\n.vc-product-totals .list-currency {\r\n color: #969696;\r\n font-size: 12px;\r\n margin: 0 10px 0 0;\r\n text-transform: uppercase;\r\n}\r\n\r\n.vc-product-totals .list-item.total {\r\n border-top: 1px solid #e1e1e1;\r\n color: #4b4b4b;\r\n margin: 15px 0 0;\r\n padding: 15px 0;\r\n}\r\n\r\n.vc-product-totals .list-item.total .list-name {\r\n font-size: 16px;\r\n}\r\n\r\n.vc-product-totals .list-item.total .list-price {\r\n font-size: 24px;\r\n}\r\n\r\n.vc-product-totals .list-item.summary {\r\n border: 0;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.vc-product-address .list {\r\n list-style: none;\r\n}\r\n\r\n.vc-product-address .list-item {\r\n background: #eee;\r\n border: 1px solid #ddd;\r\n color: #353535;\r\n border-radius: 3px;\r\n font-size: 13px;\r\n margin: 5px 0;\r\n padding: 10px;\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n}\r\n\r\n.vc-product-address .list-action {\r\n cursor: pointer;\r\n margin: 0 10px 0 0;\r\n}\r\n\r\n.form-fieldset {\r\n background-color: #fafafa;\r\n padding: 15px 15px 5px;\r\n}\r\n\r\n@media (max-width: 990px) {\r\n .cols .col-50,\r\n .cols .col-66,\r\n .cols .col-33 {\r\n margin: 0 0 20px;\r\n width: 100%;\r\n }\r\n}\r\n.vc-compare-button {\r\n color: #585858;\r\n z-index:9999;\r\n}\r\n.disabled-compare-button {\r\n color: #b6b6b6!important;\r\n background-color:#f6f6f6!important;\r\n}\r\n/*ICONS*/\r\n.field__icon {\r\n position: absolute;\r\n top: 10px;\r\n right: 1.125em;\r\n}\r\n\r\n.icon--lock {\r\n width: 12px;\r\n height: 14px;\r\n background-image: url('lock-dark.svg');\r\n background-image: url('lock-dark.svg'), none;\r\n}\r\n\r\n.icon--lock.field__icon {\r\n top: 15px;\r\n}\r\n\r\n.icon--question {\r\n width: 16px;\r\n height: 16px;\r\n top: 15px;\r\n}\r\n\r\n.icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none;\r\n}\r\n/*.main \r\n.sidebar .icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none\r\n}\r\n.content-box .icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none\r\n}\r\n.leaflet-popup-content .icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none\r\n}*/\r\n\r\n.field__icon:focus {\r\n outline: none;\r\n}\r\n\r\n.payment-icon {\r\n display: inline-block;\r\n right: 40px;\r\n width: 38px;\r\n height: 24px;\r\n -webkit-transition: opacity 0.5s cubic-bezier(0.3, 0, 0, 1);\r\n transition: opacity 0.5s cubic-bezier(0.3, 0, 0, 1);\r\n -webkit-backface-visibility: hidden;\r\n}\r\n\r\n.payment-name {\r\n visibility: hidden;\r\n}\r\n\r\n.blank-slate .payment-icon {\r\n vertical-align: middle;\r\n}\r\n\r\n.payment-icon--amazon {\r\n background-image: url('amazon.svg');\r\n background-image: url('amazon.svg'), none;\r\n}\r\n\r\n.payment-icon--american-express {\r\n background-image: url('american-express.svg');\r\n background-image: url('american-express.svg'), none;\r\n}\r\n\r\n.payment-icon--bitcoin {\r\n background-image: url('bitcoin.svg');\r\n background-image: url('bitcoin.svg'), none;\r\n}\r\n\r\n.payment-icon--bogus {\r\n background-image: url('bogus.svg');\r\n background-image: url('bogus.svg'), none;\r\n}\r\n\r\n.payment-icon--boleto {\r\n background-image: url('boleto.svg');\r\n background-image: url('boleto.svg'), none;\r\n}\r\n\r\n.payment-icon--cash {\r\n background-image: url('cash.svg');\r\n background-image: url('cash.svg'), none;\r\n}\r\n\r\n.payment-icon--dankort {\r\n background-image: url('dankort.svg');\r\n background-image: url('dankort.svg'), none;\r\n}\r\n\r\n.payment-icon--diners-club {\r\n background-image: url('diners-club.svg');\r\n background-image: url('diners-club.svg'), none;\r\n}\r\n\r\n.payment-icon--discover {\r\n background-image: url('discover.svg');\r\n background-image: url('discover.svg'), none;\r\n}\r\n\r\n.payment-icon--dogecoin {\r\n background-image: url('dogecoin.svg');\r\n background-image: url('dogecoin.svg'), none;\r\n}\r\n\r\n.payment-icon--litecoin {\r\n background-image: url('litecoin.svg');\r\n background-image: url('litecoin.svg'), none;\r\n}\r\n\r\n.payment-icon--forbrugsforeningen {\r\n background-image: url('forbrugsforeningen.svg');\r\n background-image: url('forbrugsforeningen.svg'), none;\r\n}\r\n\r\n.payment-icon--generic {\r\n background-image: url('generic.svg');\r\n background-image: url('generic.svg'), none;\r\n}\r\n\r\n.payment-icon--gift-card {\r\n background-image: url('gift-card-payment.svg');\r\n background-image: url('gift-card-payment.svg'), none;\r\n}\r\n\r\n.payment-icon--google-wallet {\r\n background-image: url('google-wallet-payment.svg');\r\n background-image: url('google-wallet-payment.svg'), none;\r\n}\r\n\r\n.payment-icon--jcb {\r\n background-image: url('jcb.svg');\r\n background-image: url('jcb.svg'), none;\r\n}\r\n\r\n.payment-icon--laser {\r\n background-image: url('laser.svg');\r\n background-image: url('laser.svg'), none;\r\n}\r\n\r\n.payment-icon--maestro {\r\n background-image: url('maestro.svg');\r\n background-image: url('maestro.svg'), none;\r\n}\r\n\r\n.payment-icon--master {\r\n background-image: url('master.svg');\r\n background-image: url('master.svg'), none;\r\n}\r\n\r\n.payment-icon--paypal {\r\n background-image: url('paypal.svg');\r\n background-image: url('paypal.svg'), none;\r\n}\r\n\r\n.payment-icon--sofort {\r\n background-image: url('sofort.svg');\r\n background-image: url('sofort.svg'), none;\r\n}\r\n\r\n.payment-icon--solo {\r\n background-image: url('solo.svg');\r\n background-image: url('solo.svg'), none;\r\n}\r\n\r\n.payment-icon--switch {\r\n background-image: url('switch.svg');\r\n background-image: url('switch.svg'), none;\r\n}\r\n\r\n.payment-icon--unionpay {\r\n background-image: url('unionpay.svg');\r\n background-image: url('unionpay.svg'), none;\r\n}\r\n\r\n.payment-icon--visa {\r\n background-image: url('visa.svg');\r\n background-image: url('visa.svg'), none;\r\n}\r\n\r\n.tooltip {\r\n box-sizing: border-box;\r\n position: absolute;\r\n bottom: 130%;\r\n left: 50%;\r\n width: 180px;\r\n margin: 0 0 5px -90px;\r\n padding: 0.75em 1em;\r\n border-radius: 4px;\r\n white-space: normal;\r\n font-size: 0.85714em;\r\n font-style: normal;\r\n text-align: center;\r\n color: #fff;\r\n display: none;\r\n z-index: 200;\r\n -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0, 1);\r\n transition: all 0.3s cubic-bezier(0.3, 0, 0, 1);\r\n -webkit-transform: rotateX(20deg) scale(0.8);\r\n transform: rotateX(20deg) scale(0.8);\r\n -webkit-transform-origin: center 120%;\r\n -ms-transform-origin: center 120%;\r\n transform-origin: center 120%;\r\n -webkit-backface-visibility: hidden;\r\n background-color: rgba(51, 51, 51, 0.9);\r\n visibility: hidden;\r\n opacity: 0;\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=\" 0 \")\";\r\n filter: alpha(opacity=0);\r\n}\r\n\r\n@media (min-width: 750px) {\r\n .tooltip {\r\n display: block;\r\n }\r\n}\r\n\r\n.tooltip:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 100%;\r\n left: 50%;\r\n margin-left: -6px;\r\n width: 0;\r\n border: 6px solid transparent;\r\n border-top-color: rgba(51, 51, 51, 0.9);\r\n}\r\n\r\n@media (min-width: 750px) {\r\n .has-tooltip:hover .tooltip,\r\n .has-tooltip:focus .tooltip {\r\n -webkit-transform: rotateX(0deg) scale(1);\r\n transform: rotateX(0deg) scale(1);\r\n pointer-events: auto;\r\n visibility: visible;\r\n opacity: 1;\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=\" 100 \")\";\r\n filter: alpha(opacity=100);\r\n }\r\n}\r\n.flicker-animation {\r\n -webkit-animation: flicker 2s linear 2;\r\n animation: flicker 2s linear 2;\r\n}\r\n\r\n@-webkit-keyframes flicker {\r\n 0% {\r\n opacity: 0;\r\n }\r\n\r\n 15% {\r\n opacity: 0.25;\r\n }\r\n\r\n 25% {\r\n opacity: 0.5;\r\n }\r\n\r\n 40% {\r\n opacity: 0.75;\r\n }\r\n\r\n 50% {\r\n opacity: 1;\r\n }\r\n\r\n 60% {\r\n opacity: 0.75;\r\n }\r\n\r\n 75% {\r\n opacity: 0.5;\r\n }\r\n\r\n 85% {\r\n opacity: 0.25;\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes flicker {\r\n 0% {\r\n opacity: 0;\r\n }\r\n\r\n 15% {\r\n opacity: 0.25;\r\n }\r\n\r\n 25% {\r\n opacity: 0.5;\r\n }\r\n\r\n 40% {\r\n opacity: 0.75;\r\n }\r\n\r\n 50% {\r\n opacity: 1;\r\n }\r\n\r\n 60% {\r\n opacity: 0.75;\r\n }\r\n\r\n 75% {\r\n opacity: 0.5;\r\n }\r\n\r\n 85% {\r\n opacity: 0.25;\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.selectedTypeOfList:hover {\r\n background: #ecf7fc;\r\n cursor: pointer;\r\n}\r\n.selectedList {\r\n background: #d9effa;\r\n height: 90px;\r\n padding-top: 15px;\r\n position: relative;\r\n}\r\n\r\n.activeList {\r\n background: #d9effa;\r\n cursor: default !important;\r\n}\r\n\r\n.list-container {\r\n display: grid;\r\n position: relative;\r\n}\r\n.list-text-title {\r\n margin-left:30px;\r\n font-size: 22px;\r\n font-weight: 500;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n vertical-align: middle;\r\n}\r\n\r\n.list-modal-row-fix {\r\n padding-top: 0px;\r\n margin-top: 0px;\r\n}\r\n\r\n.list-text-descr {\r\n color: #999;\r\n margin-left: 30px;\r\n font-size: 14px;\r\n margin-bottom: 10px;\r\n}\r\n.list-text-descr-inList {\r\n margin-left: 450px;\r\n width: 180px;\r\n position: relative;\r\n top: -30px;\r\n color: black;\r\n font-weight: bold;\r\n opacity: 1;\r\n}\r\n\r\n.product-list-container {\r\n margin-top: -45px;\r\n position: relative;\r\n right: 93px;\r\n}\r\n\r\n.wishlist-remove {\r\n font-size: 13px;\r\n font-weight: 500;\r\n min-width: 10px;\r\n line-height: 1;\r\n position: relative;\r\n left: -30px;\r\n text-align: left;\r\n top: -40px;\r\n z-index: 2;\r\n}\r\n\r\n.product-list-name {\r\n cursor: pointer;\r\n word-break: break-word;\r\n width: 220px;\r\n height: 50px;\r\n padding-top: 8px;\r\n padding-left: 10px;\r\n font-size: 22px;\r\n margin-right: 10px;\r\n margin-bottom: 0px;\r\n line-height: 1.6;\r\n z-index: 999;\r\n font-family: 'HelveticaNeue','Helvetica Neue','Helvetica','Arial','sans-serif';\r\n color: #585858;\r\n border-bottom: 1px solid #ececec;\r\n}\r\n.product-list-modal-wrapper {\r\n position: relative;\r\n margin-top: -20px;\r\n}\r\n .product-list-modal-wrapper .product-list-modal-borders {\r\n margin-top: 0px !important;\r\n }\r\n .product-list-modal-wrapper .product-list-modal-titleShift {\r\n height: 90px;\r\n padding-top: 15px;\r\n position: relative;\r\n }\r\n.product-list-modal-added-toList {\r\n font-weight: bold;\r\n margin-bottom: 20px;\r\n margin-top: 10px;\r\n}\r\n.product-list-createdDate {\r\n position: relative;\r\n top: 30px;\r\n left: -78px;\r\n}\r\n\r\n.product-list-advanced {\r\n position: relative;\r\n font-size: larger;\r\n}\r\n\r\n.list-item-header {\r\n margin-top: -36px;\r\n margin-bottom: 20px;\r\n font-size: 23px;\r\n border-bottom: 1px solid #ececec;\r\n}\r\n.list-item-addToCartBtn {\r\n padding: 7px !important;\r\n}\r\n\r\n.list-table {\r\n border-collapse: separate !important;\r\n /*border-spacing: 10pt !important;*/\r\n}\r\n\r\n.vc-product-table td {\r\n border-right: 0 !important;\r\n border-left: 0 !important;\r\n}\r\n\r\n.vc-product-table tr {\r\n border: solid 5px white;\r\n border-radius: 12px !important;\r\n /*background-color: ghostwhite;*/\r\n border-bottom: 1px solid gray;\r\n}\r\n\r\n.vc-product-table td:first-child {\r\n border-top-left-radius: 10px;\r\n border-spacing: 5em;\r\n border-bottom-left-radius: 10px;\r\n /*border-color: ghostwhite;*/\r\n border-right: 0 !important;\r\n border-left: 0 !important;\r\n}\r\n\r\n/*.vc-product-table tr:hover {\r\n box-shadow: 0 0 4px rgba(0,0,0,0.5);\r\n z-index:9999;\r\n}*/\r\n.vc-product-table td:last-child {\r\n /*border-color: ghostwhite;*/\r\n border-top-right-radius: 10px;\r\n border-bottom-right-radius: 10px;\r\n /*background-color: ghostwhite;*/\r\n}\r\n\r\n.product-row td.list-item-price {\r\n font-size: 14px;\r\n padding: 0px 0 15px 15px;\r\n text-align: right;\r\n position: relative;\r\n /*bottom: 5px;*/\r\n}\r\n\r\n.btn-clearfix {\r\n margin: 3px 1px;\r\n}\r\n\r\n.list-icon-clearfix {\r\n width: 30px;\r\n margin-left: -6px;\r\n}\r\n\r\n.disabled {\r\n opacity: .6;\r\n pointer-events: none;\r\n}\r\n\r\n.btn-secondary-clearfix {\r\n margin: 0 !important;\r\n}\r\n\r\n.list-btn-alignment {\r\n width: 152.2px;\r\n position: relative;\r\n}\r\n\r\n@media (max-width: 980px) and (min-width: 200px) {\r\n .sidebar {\r\n position: relative;\r\n display: -webkit-inline-box;\r\n text-align: center;\r\n float: inherit;\r\n }\r\n .sidebar ul li.product-list-name {\r\n margin-right: 0px;\r\n }\r\n .hide-if-lowWidth {\r\n display: none;\r\n }\r\n}\r\n.list-item-oldPrice {\r\n color: #969696;\r\n font-size: 12px;\r\n text-decoration: line-through;\r\n}\r\n\r\n.list-table {\r\n position: relative;\r\n top: -40px;\r\n}\r\n\r\n.has-error {\r\n border-color: #a94442;\r\n -webkit-box-shadow: 0 0 5px #f39f9f;\r\n box-shadow: 0 0 5px #f39f9f;\r\n}\r\n\r\n.nav > li:hover {\r\n text-decoration: none;\r\n background-color: #eee;\r\n}\r\n\r\n.nav-pills > li.active, .nav-pills > li.active > a:focus, .nav-pills > li.active {\r\n color: #fff;\r\n border-radius: 4px;\r\n background-color: #337ab7;\r\n}\r\n.wish-list-row:nth-child(odd) {\r\n /*background-color: #f2f2f2;*/\r\n}\r\n\r\n.wish-list-row:nth-child(even) .value {\r\n background-color: #f2f2f2;\r\n}\r\n\r\n.wish-list-row:nth-child(even) .property-name {\r\n background-color: #f2f2f2;\r\n}\r\n\r\n.wish-list-row:hover {\r\n cursor: pointer;\r\n background-color: rgb(250, 250, 250);\r\n}\r\n\r\n.wish-list-cell.value {\r\n border: 1px solid #dcdcdc;\r\n}\r\n\r\n.lists-navBar-clearfix {\r\n margin-bottom: -34px;\r\n font-size: 15px;\r\n margin-top: -12px;\r\n right: 20px;\r\n position: absolute;\r\n}\r\n\r\n.lists-settings {\r\n cursor: pointer;\r\n float: right;\r\n}\r\n\r\n.lists-sideBar {\r\n padding-left: 0px !important;\r\n padding-top: 0px !important;\r\n text-align: left;\r\n}\r\n\r\n.lists-sideBar .lists-sideBar-content {\r\n cursor: pointer;\r\n display: flex;\r\n width: 170px;\r\n}\r\n\r\n.lists-sideBar .lists-sideBar-textAlign {\r\n text-align: left !important;\r\n}\r\n\r\n.lists-sideBar .lists-sideBar-content .lists-sideBar-globalIcon {\r\n padding-right: 8px;\r\n text-align: right;\r\n vertical-align: top;\r\n padding-top: 14px;\r\n float: right;\r\n margin-left: auto;\r\n}\r\n\r\n.lists-title-shareIcon {\r\n cursor: pointer;\r\n font-size: 14pt;\r\n padding-left: 15px;\r\n padding-top: 11px;\r\n}\r\n\r\n.lists-productsList-descr {\r\n height: 100%;\r\n padding-bottom: 30px !important;\r\n}\r\n\r\n.lists-productsList-descr .lists-productsList-descr-contentAllign {\r\n display: table;\r\n min-height: 70px\r\n}\r\n\r\n.lists-productsList-descr .lists-productsList-descr-title {\r\n top: 7px;\r\n display: table-cell;\r\n vertical-align: middle;\r\n}\r\n.lists-productsList-descr .lists-productsList-descr-modify {\r\n position: absolute;\r\n left: 1px;\r\n padding-top: 10px;\r\n}\r\n.lists-productsList-addAllToCart {\r\n position: absolute;\r\n bottom: 30px;\r\n right: 29px;\r\n}\r\n.lists-creationDialog-wrapper {\r\n opacity: 1;\r\n width: 600px !important;\r\n}\r\n.lists-creationDialog-closeButtonWrapper {\r\n position: relative;\r\n bottom: 15px;\r\n}\r\n.lists-creationDialog-closeButtonWrapper .lists-creationDialog-closeButtonClearFix {\r\n position: fixed;\r\n top: 5px;\r\n}\r\n.lists-creationDialog-wrapper .lists-creationDialog-inputWrapper {\r\n margin-left: -35px;\r\n}\r\n.lists-creationDialog-wrapper .lists-creationDialog-inputClearFix {\r\n height: 40px;\r\n margin-top: 20px;\r\n}\r\n.lists-creationDialog-wrapper .lists-creationDialog-checkboxWrapper {\r\n top: 26px;\r\n left: 30px;\r\n position: relative;\r\n vertical-align: bottom;\r\n font-size: 12pt;\r\n}\r\n\r\n.lists-creationDialog-wrapper .lists-creationDialog-checkboxClearfix {\r\n height: 15px;\r\n width: 15px;\r\n position: relative;\r\n}\r\n"]} \ No newline at end of file diff --git a/assets/static/bundle/checkout-scripts.js b/assets/static/bundle/checkout-scripts.js deleted file mode 100644 index 606128f3..00000000 --- a/assets/static/bundle/checkout-scripts.js +++ /dev/null @@ -1,2 +0,0 @@ -var storefrontAppDependencies=["ui.bootstrap","ngStorage","pascalprecht.translate","ngSanitize"],storefrontApp=angular.module("storefrontApp",storefrontAppDependencies);storefrontApp.factory("httpErrorInterceptor",["$q","$rootScope",function($q,$rootScope){var httpErrorInterceptor={};return httpErrorInterceptor.responseError=function(rejection){return rejection.data&&rejection.data.message&&$rootScope.$broadcast("storefrontError",{type:"error",title:[rejection.config.method,rejection.config.url,rejection.status,rejection.statusText,rejection.data.message].join(" "),message:rejection.data.stackTrace}),$q.reject(rejection)},httpErrorInterceptor.requestError=function(rejection){return rejection.data&&rejection.data.message&&$rootScope.$broadcast("storefrontError",{type:"error",title:[rejection.config.method,rejection.config.url,rejection.status,rejection.statusText,rejection.data.message].join(" "),message:rejection.data.stackTrace}),$q.reject(rejection)},httpErrorInterceptor}]),storefrontApp.config(["$httpProvider","$translateProvider",function($httpProvider,$translateProvider){$httpProvider.interceptors.push("httpErrorInterceptor"),$translateProvider.useSanitizeValueStrategy("sanitizeParameters"),$translateProvider.useUrlLoader(BASE_URL+"themes/localization.json"),$translateProvider.preferredLanguage("en")}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.service("dialogService",["$uibModal",function($uibModal){return{showDialog:function(dialogData,controller,templateUrl,onClosed){return $uibModal.open({controller:controller,templateUrl:templateUrl,resolve:{dialogData:function(){return dialogData}}}).result.then(function(result){onClosed&&onClosed(result)})}}}]),storefrontApp.service("feedbackService",["$http",function($http){return{postFeedback:function(data){return $http.post("storefrontapi/feedback",data)}}}]),storefrontApp.service("customerService",["$http",function($http){return{getCurrentCustomer:function(){return $http.get("storefrontapi/account?t="+(new Date).getTime())}}}]),storefrontApp.service("marketingService",["$http",function($http){return{getDynamicContent:function(placeName){return $http.get("storefrontapi/marketing/dynamiccontent/"+placeName+"?t="+(new Date).getTime())}}}]),storefrontApp.service("pricingService",["$http",function($http){return{getActualProductPrices:function(products){return $http.post("storefrontapi/pricing/actualprices",products)}}}]),storefrontApp.service("compareProductService",["$http","$localStorage",function($http,$localStorage){return{isInProductCompareList:function(productId){return!!_.some($localStorage.productCompareListIds,function(id){return id===productId})},addProduct:function(productId){$localStorage.productCompareListIds||($localStorage.productCompareListIds=[]),$localStorage.productCompareListIds.push(productId),_.uniq($localStorage.productCompareListIds)},getProductsIds:function(){if(!$localStorage.productCompareListIds)return void($localStorage.productCompareListIds=[]);var ids=[];for(i=0;i<$localStorage.productCompareListIds.length;i++)ids.push("productIds="+$localStorage.productCompareListIds[i]);return ids.join("&")},getProductsCount:function(){return $localStorage.productCompareListIds?$localStorage.productCompareListIds.length:0},clearComapreList:function(){$localStorage.productCompareListIds=[]},removeProduct:function(productId){$localStorage.productCompareListIds=_.without($localStorage.productCompareListIds,productId)}}}]),storefrontApp.service("catalogService",["$http",function($http,$localStorage){return{getProduct:function(productIds){return $http.get("storefrontapi/products?productIds="+productIds+"&t="+(new Date).getTime())},getProducts:function(productIds){return $http.get("storefrontapi/products?"+productIds+"&t="+(new Date).getTime())},search:function(criteria){return $http.post("storefrontapi/catalog/search",criteria)},searchCategories:function(criteria){return $http.post("storefrontapi/categories/search",criteria)}}}]),storefrontApp.service("cartService",["$http",function($http){return{getCart:function(){return $http.get("storefrontapi/cart?t="+(new Date).getTime())},getCartItemsCount:function(){return $http.get("storefrontapi/cart/itemscount?t="+(new Date).getTime())},addLineItem:function(productId,quantity){return $http.post("storefrontapi/cart/items",{id:productId,quantity:quantity})},changeLineItemQuantity:function(lineItemId,quantity){return $http.put("storefrontapi/cart/items",{lineItemId:lineItemId,quantity:quantity})},removeLineItem:function(lineItemId){return $http.delete("storefrontapi/cart/items?lineItemId="+lineItemId)},changeLineItemPrice:function(lineItemId,newPrice){return $http.put("storefrontapi/cart/items/price",{lineItemId:lineItemId,newPrice:newPrice})},clearCart:function(){return $http.post("storefrontapi/cart/clear")},getCountries:function(){return $http.get("storefrontapi/countries?t="+(new Date).getTime())},getCountryRegions:function(countryCode){return $http.get("storefrontapi/countries/"+countryCode+"/regions?t="+(new Date).getTime())},addCoupon:function(couponCode){return $http.post("storefrontapi/cart/coupons/"+couponCode)},removeCoupon:function(couponCode){return $http.delete("storefrontapi/cart/coupons?couponCode="+couponCode)},validateCoupon:function(coupon){return $http.post("storefrontapi/cart/coupons/validate",coupon)},addOrUpdateShipment:function(shipment){return $http.post("storefrontapi/cart/shipments",shipment)},addOrUpdatePayment:function(payment){return $http.post("storefrontapi/cart/payments",payment)},getAvailableShippingMethods:function(shipmentId){return $http.get("storefrontapi/cart/shipments/"+shipmentId+"/shippingmethods?t="+(new Date).getTime())},getAvailablePaymentMethods:function(){return $http.get("storefrontapi/cart/paymentmethods?t="+(new Date).getTime())},addOrUpdatePaymentPlan:function(plan){return $http.post("storefrontapi/cart/paymentPlan",plan)},removePaymentPlan:function(){return $http.delete("storefrontapi/cart/paymentPlan")},createOrder:function(bankCardInfo){return $http.post("storefrontapi/cart/createorder",bankCardInfo)},updateCartComment:function(cartComment){return $http.put("storefrontapi/cart/comment",{comment:cartComment})}}}]),storefrontApp.service("listService",["$http",function($http){return{getWishlist:function(listName,type){return $http.get("storefrontapi/lists/"+listName+"/"+type+"?t="+(new Date).getTime())},getListsWithProduct:function(productId,listNames,type){return $http.post("storefrontapi/lists/getlistswithproduct",{productId:productId,listNames:listNames,type:type})},addLineItem:function(productId,listName,type){return $http.post("storefrontapi/lists/items",{productId:productId,listName:listName,type:type})},removeLineItem:function(lineItemId,listName,type){return $http.delete("storefrontapi/lists/"+listName+"/"+type+"/items/"+lineItemId)},searchLists:function(searchCriteria){return $http.post("storefrontapi/lists/search",searchCriteria)},createList:function(listName,type){return $http.post("storefrontapi/lists/"+listName+"/"+type+"/create")},deleteListsByIds:function(listIds){return $http.delete("storefrontapi/lists/deletelistsbyids?listIds="+listIds.join("&listIds="))},mergeWithCurrentCart:function(listName,type){return $http.post("storefrontapi/lists/"+listName+"/"+type+"/mergewithcurrentcart")}}}]),storefrontApp.service("quoteRequestService",["$http",function($http){return{getCurrentQuoteRequest:function(){return $http.get("storefrontapi/quoterequest/current?t="+(new Date).getTime())},getQuoteRequest:function(number){return $http.get("storefrontapi/quoterequests/"+number+"?t="+(new Date).getTime())},getQuoteRequestItemsCount:function(number){return $http.get("storefrontapi/quoterequests/"+number+"/itemscount?t="+(new Date).getTime())},addProductToQuoteRequest:function(productId,quantity){return $http.post("storefrontapi/quoterequests/current/items",{productId:productId,quantity:quantity})},removeProductFromQuoteRequest:function(quoteRequestNumber,quoteItemId){return $http.delete("storefrontapi/quoterequests/"+quoteRequestNumber+"/items/"+quoteItemId)},submitQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/submit",quoteRequest)},rejectQuoteRequest:function(quoteRequestNumber){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/reject")},updateQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.put("storefrontapi/quoterequests/"+quoteRequestNumber+"/update",quoteRequest)},getTotals:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/totals",quoteRequest)},confirmQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/confirm",quoteRequest)}}}]),storefrontApp.service("recommendationService",["$http",function($http){return{getRecommendedProducts:function(requestData){return $http.post("storefrontapi/recommendations",requestData)}}}]),storefrontApp.service("orderService",["$http",function($http){return{getOrder:function(orderNumber){return $http.get("storefrontapi/orders/"+orderNumber+"?t="+(new Date).getTime())}}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.directive("vcContentPlace",["$compile","marketingService",function($compile,marketingService){return{restrict:"E",link:function(scope,element,attrs){marketingService.getDynamicContent(attrs.id).then(function(response){element.html($compile(response.data)(scope))})},replace:!0}}]),storefrontApp.directive("fallbackSrc",function(){return{link:function(scope,element,attrs){function errorHandler(event){element.attr("src")!==attrs.fallbackSrc?element.attr("src",attrs.fallbackSrc):element.off(event)}element.on("error",errorHandler),scope.$on("$destroy",function(){element.off("error",errorHandler)})}}});var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("mainController",["$scope","$location","$window","customerService","storefrontApp.mainContext",function($scope,$location,$window,customerService,mainContext){$scope.baseUrl={},$scope.$watch(function(){$scope.currentPath=$location.$$path.replace("/","")}),$scope.$on("storefrontError",function(event,data){$scope.storefrontNotification=data,$scope.storefrontNotification.detailsVisible=!1}),$scope.toggleNotificationDetails=function(){$scope.storefrontNotification.detailsVisible=!$scope.storefrontNotification.detailsVisible},$scope.closeNotification=function(){$scope.storefrontNotification=null},$scope.outerRedirect=function(absUrl){$window.location.href=absUrl},$scope.innerRedirect=function(path){$location.path(path),$scope.currentPath=$location.$$path.replace("/","")},$scope.stringifyAddress=function(address){var stringifiedAddress=address.firstName+" "+address.lastName+", ";return stringifiedAddress+=address.organization?address.organization+", ":"",stringifiedAddress+=address.countryName+", ",stringifiedAddress+=address.regionName?address.regionName+", ":"",stringifiedAddress+=address.city+" ",stringifiedAddress+=address.line1+", ",stringifiedAddress+=address.line2?address.line2:"",stringifiedAddress+=address.postalCode},$scope.getObjectSize=function(obj){var key,size=0;for(key in obj)obj.hasOwnProperty(key)&&size++;return size},mainContext.getCustomer=$scope.getCustomer=function(){customerService.getCurrentCustomer().then(function(response){response.data.addresses||(response.data.addresses=[]);var addressId=1;_.each(response.data.addresses,function(address){address.id=addressId,addressId++}),response.data.isContact="Contact"===response.data.memberType,mainContext.customer=$scope.customer=response.data})},$scope.getCustomer()}]).factory("storefrontApp.mainContext",function(){return{}});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcAddress",{templateUrl:"themes/assets/js/common-components/address.tpl.html",bindings:{address:"=",addresses:"<",countries:"=",validationContainer:"=",getCountryRegions:"&",editMode:"<",onUpdate:"&"},require:{checkoutStep:"?^vcCheckoutWizardStep"},controller:["$scope",function($scope){function populateRegionalDataForAddress(address){address&&(address.country=_.findWhere(ctrl.countries,{code3:address.countryCode}),null!=address.country&&(ctrl.address.countryName=ctrl.address.country.name,ctrl.address.countryCode=ctrl.address.country.code3),address.country&&(address.country.regions?setAddressRegion(address,address.country.regions):ctrl.getCountryRegions({country:address.country}).then(function(regions){address.country.regions=regions,setAddressRegion(address,regions)})))}function setAddressRegion(address,regions){address.region=_.findWhere(regions,{code:address.regionId}),address.region?(ctrl.address.regionId=ctrl.address.region.code,ctrl.address.regionName=ctrl.address.region.name):(ctrl.address.regionId=void 0,ctrl.address.regionName=void 0)}function stringifyAddress(address){var stringifiedAddress=address.firstName+" "+address.lastName+", ";return stringifiedAddress+=address.organization?address.organization+", ":"",stringifiedAddress+=address.countryName+", ",stringifiedAddress+=address.regionName?address.regionName+", ":"",stringifiedAddress+=address.city+" ",stringifiedAddress+=address.line1+", ",stringifiedAddress+=address.line2?address.line2:"",stringifiedAddress+=address.postalCode}var ctrl=this;this.$onInit=function(){ctrl.validationContainer&&ctrl.validationContainer.addComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.addComponent(this)},this.$onDestroy=function(){ctrl.validationContainer&&ctrl.validationContainer.removeComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.removeComponent(this)},ctrl.setForm=function(frm){ctrl.form=frm},ctrl.validate=function(){return!ctrl.form||(ctrl.form.$setSubmitted(),ctrl.form.$valid)},$scope.$watch("$ctrl.address",function(){ctrl.address&&(populateRegionalDataForAddress(ctrl.address),ctrl.address.name=stringifyAddress(ctrl.address)),ctrl.onUpdate({address:ctrl.address})},!0)}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcCreditCard",{templateUrl:"themes/assets/js/common-components/creditCard.tpl.html",require:{checkoutStep:"?^vcCheckoutWizardStep"},bindings:{card:"=",validationContainer:"="},controller:["$scope","$filter",function($scope,$filter){var ctrl=this;this.$onInit=function(){ctrl.validationContainer&&ctrl.validationContainer.addComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.addComponent(this)},this.$onDestroy=function(){ctrl.validationContainer&&ctrl.validationContainer.removeComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.removeComponent(this)},$scope.$watch("$ctrl.card.bankCardHolderName",function(val){ctrl.card&&(ctrl.card.bankCardHolderName=$filter("uppercase")(val))},!0),ctrl.validate=function(){return ctrl.form.$setSubmitted(),!ctrl.form.$invalid}}]}),angular.module("storefrontApp").component("vcLabeledInput",{templateUrl:"themes/assets/js/common-components/labeled-input.tpl.html",bindings:{value:"=",form:"=",name:"@",placeholder:"@",type:"@?",required:"<",requiredError:"@?",autofocus:"<"},controller:[function(){var $ctrl=this;$ctrl.validate=function(){return $ctrl.form.$setSubmitted(),$ctrl.form.$valid}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcLineItems",{templateUrl:"themes/assets/js/common-components/lineItems.tpl.liquid",bindings:{items:"="}});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcPaymentMethods",{templateUrl:"themes/assets/js/common-components/paymentMethods.tpl.html",require:{checkoutStep:"?^vcCheckoutWizardStep"},bindings:{getAvailPaymentMethods:"&",onSelectMethod:"&",paymentMethod:"=",validationContainer:"="},controller:["$scope",function($scope){var ctrl=this;this.$onInit=function(){ctrl.getAvailPaymentMethods().then(function(methods){ctrl.availPaymentMethods=_.sortBy(methods,function(x){return x.priority}),ctrl.paymentMethod&&(ctrl.paymentMethod=_.findWhere(ctrl.availPaymentMethods,{code:ctrl.paymentMethod.code})),!ctrl.paymentMethod&&ctrl.availPaymentMethods.length>0&&ctrl.selectMethod(ctrl.availPaymentMethods[0])}),ctrl.validationContainer&&ctrl.validationContainer.addComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.addComponent(this)},this.$onDestroy=function(){ctrl.validationContainer&&ctrl.validationContainer.removeComponent(this),ctrl.checkoutStep&&ctrl.checkoutStep.removeComponent(this)},ctrl.validate=function(){return ctrl.paymentMethod},ctrl.selectMethod=function(method){ctrl.paymentMethod=method,ctrl.onSelectMethod({paymentMethod:method})}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcTotals",{templateUrl:"themes/assets/js/common-components/totals.tpl.liquid",bindings:{order:"<"}});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcCheckoutCoupon",{templateUrl:"themes/assets/js/checkout/checkout-coupon.tpl.liquid",bindings:{coupons:"=",onApplyCoupon:"&",onRemoveCoupon:"&",onValidateCoupon:"&"},controller:["$scope",function($scope){var ctrl=this;ctrl.coupon={appliedSuccessfully:!0},$scope.$watch("$ctrl.coupon",function(){ctrl.coupon.code||(ctrl.coupon.appliedSuccessfully=!0)},!0),ctrl.applyCoupon=function(coupon){ctrl.onValidateCoupon({coupon:coupon}).then(function(result){result.appliedSuccessfully&&(ctrl.onApplyCoupon({coupon:coupon}),ctrl.coupon={})})}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcCheckoutEmail",{templateUrl:"themes/assets/js/checkout/checkout-email.tpl.html",require:{checkoutStep:"^vcCheckoutWizardStep"},bindings:{email:"="},controller:[function(){var ctrl=this;this.$onInit=function(){ctrl.checkoutStep.addComponent(this)},this.$onDestroy=function(){ctrl.checkoutStep.removeComponent(this)},ctrl.validate=function(){return ctrl.form.$setSubmitted(),!ctrl.form.$invalid}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcCheckoutShippingMethods",{templateUrl:"themes/assets/js/checkout/checkout-shippingMethods.tpl.liquid",require:{checkoutStep:"^vcCheckoutWizardStep"},bindings:{shipment:"=",getAvailShippingMethods:"&",onSelectShippingMethod:"&"},controller:[function(){function getMethodId(method){var retVal=method.shipmentMethodCode;return method.optionName&&(retVal+=":"+method.optionName),retVal}var ctrl=this;ctrl.availShippingMethods=[],ctrl.selectedMethod={},this.$onInit=function(){ctrl.checkoutStep.addComponent(this),ctrl.loading=!0,ctrl.getAvailShippingMethods(ctrl.shipment).then(function(availMethods){ctrl.availShippingMethods=availMethods,_.each(ctrl.availShippingMethods,function(x){x.id=getMethodId(x)}),ctrl.selectedMethod=_.find(ctrl.availShippingMethods,function(x){return ctrl.shipment.shipmentMethodCode==x.shipmentMethodCode&&ctrl.shipment.shipmentMethodOption==x.optionName}),ctrl.loading=!1})},this.$onDestroy=function(){ctrl.checkoutStep.removeComponent(this)},ctrl.selectMethod=function(method){ctrl.selectedMethod=method,ctrl.onSelectShippingMethod({shippingMethod:method})},ctrl.validate=function(){return ctrl.form.$setSubmitted(),!ctrl.form.$invalid}}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.component("vcCheckoutWizardStep",{templateUrl:"themes/assets/js/checkout/checkout-wizard-step.tpl.html",transclude:!0,require:{wizard:"^vcCheckoutWizard"},bindings:{name:"@",title:"@",stepDisabled:"=?",onNextStep:"&?",canEnter:"=?",final:"0;)steps[i].prevStep=void 0,steps[i].nextStep=void 0,nextStep&&!steps[i].disabled&&(nextStep.prevStep=steps[i]),steps[i].disabled||(steps[i].nextStep=nextStep,nextStep=steps[i])}var ctrl=this;ctrl.wizard=ctrl,ctrl.steps=[],ctrl.goToStep=function(step){angular.isString(step)&&(step=_.find(ctrl.steps,function(x){return x.name==step})),step&&ctrl.currentStep!=step&&step.canEnter&&(step.final?ctrl.onFinish&&ctrl.onFinish():(step.isActive=!0,ctrl.currentStep&&(ctrl.currentStep.isActive=!1),ctrl.currentStep=step))},ctrl.nextStep=function(){if((!ctrl.currentStep.validate||ctrl.currentStep.validate())&&ctrl.currentStep.nextStep)if(ctrl.currentStep.onNextStep){var promise=ctrl.currentStep.onNextStep();promise&&angular.isFunction(promise.then)?promise.then(function(){ctrl.goToStep(ctrl.currentStep.nextStep)}):ctrl.goToStep(ctrl.currentStep.nextStep)}else ctrl.goToStep(ctrl.currentStep.nextStep)},ctrl.prevStep=function(){ctrl.goToStep(ctrl.currentStep.prevStep)},ctrl.addStep=function(step){ctrl.steps.push(step),$scope.$watch(function(){return step.disabled},function(){rebuildStepsLinkedList(ctrl.steps)}),rebuildStepsLinkedList(ctrl.steps),ctrl.currentStep||ctrl.goToStep(step),step.final&&ctrl.onInitialized&&ctrl.onInitialized()}}]});var moduleName="storefront.checkout";void 0!=storefrontAppDependencies&&storefrontAppDependencies.push(moduleName),angular.module(moduleName,["credit-cards","angular.filter"]).controller("checkoutController",["$rootScope","$scope","$window","cartService",function($rootScope,$scope,$window,cartService){function updatePayment(payment){return $scope.checkout.billingAddressEqualsShipping&&(payment.billingAddress=void 0),payment.billingAddress&&(payment.billingAddress.type="Billing"),wrapLoading(function(){return cartService.addOrUpdatePayment(payment).then($scope.reloadCart)})}function handlePostPaymentResult(order,orderProcessingResult,paymentMethod){if(!orderProcessingResult.isSuccess)return $scope.checkout.loading=!1,void $rootScope.$broadcast("storefrontError",{type:"error",title:["Error in new order processing: ",orderProcessingResult.error,"New Payment status: "+orderProcessingResult.newPaymentStatus].join(" "),message:orderProcessingResult.error});paymentMethod.paymentMethodType&&"preparedform"==paymentMethod.paymentMethodType.toLowerCase()&&orderProcessingResult.htmlForm?$scope.outerRedirect($scope.baseUrl+"cart/checkout/paymentform?orderNumber="+order.number):paymentMethod.paymentMethodType&&"redirection"==paymentMethod.paymentMethodType.toLowerCase()&&orderProcessingResult.redirectUrl?$window.location.href=orderProcessingResult.redirectUrl:$scope.customer.isRegisteredUser?$scope.outerRedirect($scope.baseUrl+"account#/orders/"+order.number):$scope.outerRedirect($scope.baseUrl+"cart/thanks/"+order.number)}function wrapLoading(func){return $scope.checkout.loading=!0,func().then(function(result){return $scope.checkout.loading=!1,result},function(){$scope.checkout.loading=!1})}$scope.checkout={wizard:{},paymentMethod:{},shipment:{},payment:{},coupons:[],availCountries:[],loading:!1,isValid:!1},$scope.validateCheckout=function(checkout){checkout.isValid=checkout.payment&&checkout.payment.paymentGatewayCode,checkout.isValid&&!checkout.billingAddressEqualsShipping&&(checkout.isValid=angular.isObject(checkout.payment.billingAddress)),checkout.isValid&&checkout.cart&&checkout.cart.hasPhysicalProducts&&(checkout.isValid=angular.isObject(checkout.shipment)&&checkout.shipment.shipmentMethodCode&&angular.isObject(checkout.shipment.deliveryAddress))},$scope.reloadCart=function(){return cartService.getCart().then(function(response){var cart=response.data;return cart&&cart.id?($scope.checkout.cart=cart,$scope.checkout.coupons=cart.coupons||$scope.checkout.coupons,cart.payments.length&&($scope.checkout.payment=cart.payments[0],$scope.checkout.paymentMethod.code=$scope.checkout.payment.paymentGatewayCode),cart.shipments.length?$scope.checkout.shipment=cart.shipments[0]:($scope.checkout.shipment.deliveryAddress=$scope.checkout.cart.customer.addresses&&$scope.checkout.cart.customer.addresses[0],$scope.checkout.shipment.deliveryAddress||($scope.checkout.shipment.deliveryAddress={firstName:$scope.checkout.cart.customer.firstName,lastName:$scope.checkout.cart.customer.lastName})),$scope.checkout.billingAddressEqualsShipping=cart.hasPhysicalProducts&&!angular.isObject($scope.checkout.payment.billingAddress),$scope.checkout.canCartBeRecurring=$scope.customer.isRegisteredUser&&_.all(cart.items,function(x){return!x.isReccuring}),$scope.checkout.paymentPlan=cart.paymentPlan&&_.findWhere($scope.checkout.availablePaymentPlans,{intervalCount:cart.paymentPlan.intervalCount,interval:cart.paymentPlan.interval})||_.findWhere($scope.checkout.availablePaymentPlans,{intervalCount:1,interval:"months"})):$scope.outerRedirect($scope.baseUrl+"cart"),$scope.validateCheckout($scope.checkout),cart})},$scope.validateCoupon=function(coupon){return coupon.processing=!0,cartService.validateCoupon(coupon).then(function(result){return coupon.processing=!1,angular.extend(coupon,result.data)},function(){coupon.processing=!1})},$scope.applyCoupon=function(coupon){coupon.processing=!0,cartService.addCoupon(coupon.code).then(function(){coupon.processing=!1,$scope.reloadCart()},function(){coupon.processing=!1})},$scope.removeCoupon=function(coupon){coupon.processing=!0,cartService.removeCoupon(coupon.code).then(function(){coupon.processing=!1,$scope.checkout.coupon={},$scope.reloadCart()},function(){coupon.processing=!1})},$scope.selectPaymentMethod=function(paymentMethod){angular.extend($scope.checkout.payment,paymentMethod),$scope.checkout.payment.paymentGatewayCode=paymentMethod.code,$scope.checkout.payment.amount=angular.copy($scope.checkout.cart.total),$scope.checkout.payment.amount.amount+=paymentMethod.totalWithTax.amount,updatePayment($scope.checkout.payment)},$scope.getCountryRegions=function(country){return cartService.getCountryRegions(country.code3).then(function(response){return response.data})},$scope.getAvailShippingMethods=function(shipment){return wrapLoading(function(){return cartService.getAvailableShippingMethods(shipment.id).then(function(response){return response.data})})},$scope.getAvailPaymentMethods=function(){return wrapLoading(function(){return cartService.getAvailablePaymentMethods().then(function(response){return response.data})})},$scope.selectShippingMethod=function(shippingMethod){shippingMethod?($scope.checkout.shipment.shipmentMethodCode=shippingMethod.shipmentMethodCode,$scope.checkout.shipment.shipmentMethodOption=shippingMethod.optionName):($scope.checkout.shipment.shipmentMethodCode=void 0,$scope.checkout.shipment.shipmentMethodOption=void 0),$scope.updateShipment($scope.checkout.shipment)},$scope.updateShipment=function(shipment){return shipment.deliveryAddress&&($scope.checkout.shipment.deliveryAddress.type="Shipping"),shipment.validationErrors=void 0,wrapLoading(function(){return cartService.addOrUpdateShipment(shipment).then($scope.reloadCart)})},$scope.createOrder=function(){updatePayment($scope.checkout.payment).then(function(){$scope.checkout.loading=!0,cartService.createOrder($scope.checkout.paymentMethod.card||[]).then(function(response){handlePostPaymentResult(response.data.order,response.data.orderProcessingResult,response.data.paymentMethod)})})},$scope.savePaymentPlan=function(){wrapLoading(function(){return cartService.addOrUpdatePaymentPlan($scope.checkout.paymentPlan).then(function(){$scope.checkout.cart.paymentPlan=$scope.checkout.paymentPlan})})},$scope.isRecurringChanged=function(isRecurring){$scope.checkout.paymentPlan&&(isRecurring?$scope.savePaymentPlan():wrapLoading(function(){return cartService.removePaymentPlan().then(function(){$scope.checkout.cart.paymentPlan=void 0})}))},$scope.initialize=function(){$scope.reloadCart().then(function(cart){$scope.checkout.wizard.goToStep(cart.hasPhysicalProducts?"shipping-address":"payment-method")})},function(){return cartService.getCountries().then(function(response){return response.data})}().then(function(countries){$scope.checkout.availCountries=countries})}]); -//# sourceMappingURL=checkout-scripts.js.map diff --git a/assets/static/bundle/checkout-scripts.js.map b/assets/static/bundle/checkout-scripts.js.map deleted file mode 100644 index ec50584e..00000000 --- a/assets/static/bundle/checkout-scripts.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../assets/js/app.js","../../../assets/js/services.js","../../../assets/js/directives.js","../../../assets/js/main.js","../../../assets/js/common-components/address.js","../../../assets/js/common-components/creditCard.js","../../../assets/js/common-components/labeled-input.js","../../../assets/js/common-components/lineItems.js","../../../assets/js/common-components/paymentMethods.js","../../../assets/js/common-components/totals.js","../../../assets/js/checkout/checkout-coupon.js","../../../assets/js/checkout/checkout-email.js","../../../assets/js/checkout/checkout-shippingMethods.js","../../../assets/js/checkout/checkout-wizard-step.js","../../../assets/js/checkout/checkout-wizard.js","../../../assets/js/checkout/checkout.js"],"names":["storefrontAppDependencies","storefrontApp","angular","module","factory","$q","$rootScope","httpErrorInterceptor","responseError","rejection","data","message","$broadcast","type","title","config","method","url","status","statusText","join","stackTrace","reject","requestError","$httpProvider","$translateProvider","interceptors","push","useSanitizeValueStrategy","useUrlLoader","BASE_URL","preferredLanguage","service","$uibModal","showDialog","dialogData","controller","templateUrl","onClosed","open","resolve","result","then","$http","postFeedback","post","getCurrentCustomer","get","Date","getTime","getDynamicContent","placeName","getActualProductPrices","products","$localStorage","isInProductCompareList","productId","_","some","id","addProduct","uniq","getProductsIds","ids","i","length","getProductsCount","clearComapreList","removeProduct","without","getProduct","productIds","getProducts","search","criteria","searchCategories","getCart","getCartItemsCount","addLineItem","quantity","changeLineItemQuantity","lineItemId","put","removeLineItem","delete","changeLineItemPrice","newPrice","clearCart","getCountries","getCountryRegions","countryCode","addCoupon","couponCode","removeCoupon","validateCoupon","coupon","addOrUpdateShipment","shipment","addOrUpdatePayment","payment","getAvailableShippingMethods","shipmentId","getAvailablePaymentMethods","addOrUpdatePaymentPlan","plan","removePaymentPlan","createOrder","bankCardInfo","updateCartComment","cartComment","comment","getWishlist","listName","getListsWithProduct","listNames","searchLists","searchCriteria","createList","deleteListsByIds","listIds","mergeWithCurrentCart","getCurrentQuoteRequest","getQuoteRequest","number","getQuoteRequestItemsCount","addProductToQuoteRequest","removeProductFromQuoteRequest","quoteRequestNumber","quoteItemId","submitQuoteRequest","quoteRequest","rejectQuoteRequest","updateQuoteRequest","getTotals","confirmQuoteRequest","getRecommendedProducts","requestData","getOrder","orderNumber","directive","$compile","marketingService","restrict","link","scope","element","attrs","response","html","replace","errorHandler","event","attr","fallbackSrc","off","on","$on","$scope","$location","$window","customerService","mainContext","baseUrl","$watch","currentPath","$$path","storefrontNotification","detailsVisible","toggleNotificationDetails","closeNotification","outerRedirect","absUrl","location","href","innerRedirect","path","stringifyAddress","address","stringifiedAddress","firstName","lastName","organization","countryName","regionName","city","line1","line2","postalCode","getObjectSize","obj","key","size","hasOwnProperty","getCustomer","addresses","addressId","each","isContact","memberType","customer","component","bindings","countries","validationContainer","editMode","onUpdate","require","checkoutStep","populateRegionalDataForAddress","country","findWhere","ctrl","code3","name","regions","setAddressRegion","region","code","regionId","undefined","this","$onInit","addComponent","$onDestroy","removeComponent","setForm","frm","form","validate","$setSubmitted","$valid","card","$filter","val","bankCardHolderName","$invalid","value","placeholder","required","requiredError","autofocus","$ctrl","items","getAvailPaymentMethods","onSelectMethod","paymentMethod","methods","availPaymentMethods","sortBy","x","priority","selectMethod","order","coupons","onApplyCoupon","onRemoveCoupon","onValidateCoupon","appliedSuccessfully","applyCoupon","email","getAvailShippingMethods","onSelectShippingMethod","getMethodId","retVal","shipmentMethodCode","optionName","availShippingMethods","selectedMethod","loading","availMethods","find","shipmentMethodOption","shippingMethod","transclude","wizard","stepDisabled","onNextStep","canEnter","final","components","addStep","every","onFinish","onInitialized","rebuildStepsLinkedList","steps","nextStep","prevStep","disabled","goToStep","step","isString","currentStep","isActive","promise","isFunction","moduleName","cartService","updatePayment","checkout","billingAddressEqualsShipping","billingAddress","wrapLoading","reloadCart","handlePostPaymentResult","orderProcessingResult","isSuccess","error","newPaymentStatus","paymentMethodType","toLowerCase","htmlForm","redirectUrl","isRegisteredUser","func","availCountries","isValid","validateCheckout","paymentGatewayCode","isObject","cart","hasPhysicalProducts","deliveryAddress","payments","shipments","canCartBeRecurring","all","isReccuring","paymentPlan","availablePaymentPlans","intervalCount","interval","processing","extend","selectPaymentMethod","amount","copy","total","totalWithTax","selectShippingMethod","updateShipment","validationErrors","savePaymentPlan","isRecurringChanged","isRecurring","initialize"],"mappings":"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","file":"checkout-scripts.js","sourcesContent":["var storefrontAppDependencies = [\r\n 'ui.bootstrap',\r\n 'ngStorage',\r\n 'pascalprecht.translate',\r\n 'ngSanitize',\r\n]\r\nvar storefrontApp = angular.module('storefrontApp', storefrontAppDependencies);\r\n\r\nstorefrontApp.factory('httpErrorInterceptor', ['$q', '$rootScope', function ($q, $rootScope) {\r\n var httpErrorInterceptor = {};\r\n\r\n httpErrorInterceptor.responseError = function (rejection) {\r\n if (rejection.data && rejection.data.message) {\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: [rejection.config.method, rejection.config.url, rejection.status, rejection.statusText, rejection.data.message].join(' '),\r\n message: rejection.data.stackTrace,\r\n });\r\n }\r\n return $q.reject(rejection);\r\n };\r\n httpErrorInterceptor.requestError = function (rejection) {\r\n if (rejection.data && rejection.data.message) {\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: [rejection.config.method, rejection.config.url, rejection.status, rejection.statusText, rejection.data.message].join(' '),\r\n message: rejection.data.stackTrace,\r\n });\r\n }\r\n return $q.reject(rejection);\r\n };\r\n\r\n return httpErrorInterceptor;\r\n}])\r\n\r\nstorefrontApp.config(['$httpProvider', '$translateProvider', function ($httpProvider, $translateProvider) {\r\n $httpProvider.interceptors.push('httpErrorInterceptor');\r\n\r\n $translateProvider.useSanitizeValueStrategy('sanitizeParameters');\r\n $translateProvider.useUrlLoader(BASE_URL + 'themes/localization.json');\r\n $translateProvider.preferredLanguage('en');\r\n\r\n}]);","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.service('dialogService', ['$uibModal', function ($uibModal) {\r\n return {\r\n showDialog: function (dialogData, controller, templateUrl, onClosed) {\r\n var modalInstance = $uibModal.open({\r\n controller: controller,\r\n templateUrl: templateUrl,\r\n resolve: {\r\n dialogData: function () {\r\n return dialogData;\r\n }\r\n }\r\n }).result.then(function (result) {\r\n if (onClosed) {\r\n onClosed(result);\r\n }\r\n });\r\n return modalInstance;\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('feedbackService', ['$http', function ($http) {\r\n return {\r\n postFeedback: function (data) {\r\n return $http.post('storefrontapi/feedback', data);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('customerService', ['$http', function ($http) {\r\n return {\r\n getCurrentCustomer: function () {\r\n return $http.get('storefrontapi/account?t=' + new Date().getTime());\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('marketingService', ['$http', function ($http) {\r\n return {\r\n getDynamicContent: function (placeName) {\r\n return $http.get('storefrontapi/marketing/dynamiccontent/' + placeName + '?t=' + new Date().getTime());\r\n },\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('pricingService', ['$http', function ($http) {\r\n\treturn {\r\n\t\tgetActualProductPrices: function (products) {\r\n\t\t return $http.post('storefrontapi/pricing/actualprices', products);\r\n\t\t}\r\n\t}\r\n}]);\r\n\r\nstorefrontApp.service('compareProductService', ['$http', '$localStorage', function($http, $localStorage) {\r\n return {\r\n isInProductCompareList: function(productId) {\r\n var containProduct;\r\n if (!_.some($localStorage['productCompareListIds'], function(id) { return id === productId })) {\r\n containProduct = false;\r\n }\r\n else\r\n containProduct = true\r\n return containProduct;\r\n },\r\n addProduct: function(productId) {\r\n if (!$localStorage['productCompareListIds']) {\r\n $localStorage['productCompareListIds'] = [];\r\n }\r\n $localStorage['productCompareListIds'].push(productId);\r\n _.uniq($localStorage['productCompareListIds']);\r\n },\r\n getProductsIds: function() {\r\n if (!$localStorage['productCompareListIds']) {\r\n $localStorage['productCompareListIds'] = [];\r\n return;\r\n }\r\n var ids = [];\r\n for (i = 0; i < $localStorage['productCompareListIds'].length; i++) {\r\n ids.push('productIds=' + $localStorage['productCompareListIds'][i]);\r\n }\r\n return ids.join(\"&\");\r\n },\r\n getProductsCount: function() {\r\n var count = $localStorage['productCompareListIds'] ? $localStorage['productCompareListIds'].length : 0;\r\n return count;\r\n },\r\n clearComapreList: function() {\r\n $localStorage['productCompareListIds'] = [];\r\n },\r\n removeProduct: function(productId) {\r\n $localStorage['productCompareListIds'] = _.without($localStorage['productCompareListIds'], productId);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('catalogService', ['$http', function($http, $localStorage) {\r\n return {\r\n getProduct: function(productIds) {\r\n return $http.get('storefrontapi/products?productIds=' + productIds + '&t=' + new Date().getTime());\r\n },\r\n getProducts: function(productIds) {\r\n return $http.get('storefrontapi/products?' + productIds + '&t=' + new Date().getTime());\r\n },\r\n search: function (criteria) {\r\n return $http.post('storefrontapi/catalog/search', criteria);\r\n },\r\n searchCategories: function (criteria) {\r\n return $http.post('storefrontapi/categories/search', criteria);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('cartService', ['$http', function ($http) {\r\n return {\r\n getCart: function () {\r\n return $http.get('storefrontapi/cart?t=' + new Date().getTime());\r\n },\r\n getCartItemsCount: function () {\r\n return $http.get('storefrontapi/cart/itemscount?t=' + new Date().getTime());\r\n },\r\n addLineItem: function (productId, quantity) {\r\n return $http.post('storefrontapi/cart/items', { id: productId, quantity: quantity });\r\n },\r\n changeLineItemQuantity: function (lineItemId, quantity) {\r\n return $http.put('storefrontapi/cart/items', { lineItemId: lineItemId, quantity: quantity });\r\n },\r\n removeLineItem: function (lineItemId) {\r\n return $http.delete('storefrontapi/cart/items?lineItemId=' + lineItemId);\r\n },\r\n changeLineItemPrice: function (lineItemId, newPrice) {\r\n \treturn $http.put('storefrontapi/cart/items/price', { lineItemId: lineItemId, newPrice: newPrice});\r\n },\r\n clearCart: function () {\r\n return $http.post('storefrontapi/cart/clear');\r\n },\r\n getCountries: function () {\r\n return $http.get('storefrontapi/countries?t=' + new Date().getTime());\r\n },\r\n getCountryRegions: function (countryCode) {\r\n \treturn $http.get('storefrontapi/countries/' + countryCode + '/regions?t=' + new Date().getTime());\r\n },\r\n addCoupon: function (couponCode) {\r\n return $http.post('storefrontapi/cart/coupons/' + couponCode);\r\n },\r\n removeCoupon: function (couponCode) { \r\n return $http.delete('storefrontapi/cart/coupons?couponCode=' + couponCode);\r\n },\r\n validateCoupon: function (coupon) {\r\n return $http.post('storefrontapi/cart/coupons/validate', coupon);\r\n },\r\n addOrUpdateShipment: function (shipment) {\r\n return $http.post('storefrontapi/cart/shipments', shipment);\r\n },\r\n addOrUpdatePayment: function (payment) {\r\n return $http.post('storefrontapi/cart/payments', payment );\r\n },\r\n getAvailableShippingMethods: function (shipmentId) {\r\n return $http.get('storefrontapi/cart/shipments/' + shipmentId + '/shippingmethods?t=' + new Date().getTime());\r\n },\r\n getAvailablePaymentMethods: function () {\r\n return $http.get('storefrontapi/cart/paymentmethods?t=' + new Date().getTime());\r\n },\r\n addOrUpdatePaymentPlan: function (plan) {\r\n return $http.post('storefrontapi/cart/paymentPlan', plan);\r\n },\r\n removePaymentPlan: function () {\r\n return $http.delete('storefrontapi/cart/paymentPlan');\r\n },\r\n createOrder: function (bankCardInfo) {\r\n return $http.post('storefrontapi/cart/createorder', bankCardInfo);\r\n },\r\n updateCartComment: function (cartComment) {\r\n return $http.put('storefrontapi/cart/comment', { comment: cartComment });\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('listService', ['$http', function ($http) {\r\n return {\r\n getWishlist: function (listName, type) {\r\n return $http.get('storefrontapi/lists/' + listName + '/' + type + '?t=' + new Date().getTime());\r\n },\r\n getListsWithProduct: function (productId, listNames, type) {\r\n return $http.post('storefrontapi/lists/getlistswithproduct', { productId: productId, listNames: listNames, type: type });\r\n },\r\n addLineItem: function (productId, listName, type) {\r\n return $http.post('storefrontapi/lists/items', { productId: productId, listName: listName, type: type });\r\n },\r\n removeLineItem: function (lineItemId, listName, type) {\r\n return $http.delete('storefrontapi/lists/' + listName + '/' + type + '/items/' + lineItemId);\r\n },\r\n searchLists: function (searchCriteria) {\r\n return $http.post('storefrontapi/lists/search', searchCriteria);\r\n },\r\n createList: function(listName, type) {\r\n return $http.post('storefrontapi/lists/' + listName + '/' + type + '/create');\r\n },\r\n deleteListsByIds: function(listIds) {\r\n return $http.delete('storefrontapi/lists/deletelistsbyids?listIds=' + listIds.join('&listIds='));\r\n },\r\n mergeWithCurrentCart: function(listName, type) {\r\n return $http.post('storefrontapi/lists/' + listName + '/' + type + '/mergewithcurrentcart');\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('quoteRequestService', ['$http', function ($http) {\r\n return {\r\n getCurrentQuoteRequest: function () {\r\n return $http.get('storefrontapi/quoterequest/current?t=' + new Date().getTime());\r\n },\r\n getQuoteRequest: function (number) {\r\n return $http.get('storefrontapi/quoterequests/' + number + '?t=' + new Date().getTime());\r\n },\r\n getQuoteRequestItemsCount: function (number) {\r\n return $http.get('storefrontapi/quoterequests/' + number + '/itemscount?t=' + new Date().getTime());\r\n },\r\n addProductToQuoteRequest: function (productId, quantity) {\r\n return $http.post('storefrontapi/quoterequests/current/items', { productId: productId, quantity: quantity });\r\n },\r\n removeProductFromQuoteRequest: function (quoteRequestNumber, quoteItemId) {\r\n return $http.delete('storefrontapi/quoterequests/' + quoteRequestNumber + '/items/' + quoteItemId);\r\n },\r\n submitQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/submit', quoteRequest);\r\n },\r\n rejectQuoteRequest: function (quoteRequestNumber) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/reject');\r\n },\r\n updateQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.put('storefrontapi/quoterequests/' + quoteRequestNumber + '/update', quoteRequest);\r\n },\r\n getTotals: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/totals', quoteRequest);\r\n },\r\n confirmQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/confirm', quoteRequest);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('recommendationService', ['$http', function ($http) {\r\n return {\r\n getRecommendedProducts: function (requestData) {\r\n return $http.post('storefrontapi/recommendations', requestData );\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('orderService', ['$http', function ($http) {\r\n return {\r\n getOrder: function (orderNumber) {\r\n return $http.get('storefrontapi/orders/' + orderNumber + '?t=' + new Date().getTime());\r\n }\r\n }\r\n}]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.directive('vcContentPlace', ['$compile', 'marketingService', function ($compile, marketingService) {\r\n return {\r\n restrict: 'E',\r\n link: function (scope, element, attrs) {\r\n marketingService.getDynamicContent(attrs.id).then(function (response) {\r\n element.html($compile(response.data)(scope));\r\n });\r\n },\r\n replace: true\r\n }\r\n}]);\r\n\r\nstorefrontApp.directive('fallbackSrc', function () {\r\n return {\r\n link: function (scope, element, attrs) {\r\n element.on('error', errorHandler);\r\n\r\n scope.$on('$destroy', function() {\r\n element.off('error', errorHandler);\r\n });\r\n\r\n function errorHandler(event) {\r\n if (element.attr('src') !== attrs.fallbackSrc) {\r\n element.attr('src', attrs.fallbackSrc);\r\n }\r\n else {\r\n element.off(event);\r\n }\r\n };\r\n }\r\n }\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\n\r\nstorefrontApp.controller('mainController', ['$scope', '$location', '$window', 'customerService', 'storefrontApp.mainContext',\r\n function($scope, $location, $window, customerService, mainContext) {\r\n\r\n //Base store url populated in layout and can be used for construction url inside controller\r\n $scope.baseUrl = {};\r\n\r\n $scope.$watch(function() {\r\n $scope.currentPath = $location.$$path.replace('/', '');\r\n });\r\n\r\n $scope.$on('storefrontError', function(event, data) {\r\n $scope.storefrontNotification = data;\r\n $scope.storefrontNotification.detailsVisible = false;\r\n });\r\n\r\n $scope.toggleNotificationDetails = function() {\r\n $scope.storefrontNotification.detailsVisible = !$scope.storefrontNotification.detailsVisible;\r\n }\r\n\r\n $scope.closeNotification = function() {\r\n $scope.storefrontNotification = null;\r\n }\r\n\r\n //For outside app redirect (To reload the page after changing the URL, use the lower-level API)\r\n $scope.outerRedirect = function(absUrl) {\r\n $window.location.href = absUrl;\r\n };\r\n\r\n //change in the current URL or change the current URL in the browser (for app route)\r\n $scope.innerRedirect = function(path) {\r\n $location.path(path);\r\n $scope.currentPath = $location.$$path.replace('/', '');\r\n };\r\n\r\n $scope.stringifyAddress = function(address) {\r\n var stringifiedAddress = address.firstName + ' ' + address.lastName + ', ';\r\n stringifiedAddress += address.organization ? address.organization + ', ' : '';\r\n stringifiedAddress += address.countryName + ', ';\r\n stringifiedAddress += address.regionName ? address.regionName + ', ' : '';\r\n stringifiedAddress += address.city + ' ';\r\n stringifiedAddress += address.line1 + ', ';\r\n stringifiedAddress += address.line2 ? address.line2 : '';\r\n stringifiedAddress += address.postalCode;\r\n return stringifiedAddress;\r\n }\r\n\r\n $scope.getObjectSize = function(obj) {\r\n var size = 0, key;\r\n for (key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n size++;\r\n }\r\n }\r\n return size;\r\n }\r\n\r\n mainContext.getCustomer = $scope.getCustomer = function() {\r\n customerService.getCurrentCustomer().then(function(response) {\r\n if (!response.data.addresses) {\r\n response.data.addresses = [];\r\n }\r\n var addressId = 1;\r\n _.each(response.data.addresses, function(address) {\r\n address.id = addressId;\r\n addressId++;\r\n });\r\n response.data.isContact = response.data.memberType === 'Contact';\r\n mainContext.customer = $scope.customer = response.data;\r\n });\r\n };\r\n\r\n $scope.getCustomer();\r\n }])\r\n\r\n .factory('storefrontApp.mainContext', function() {\r\n return {};\r\n });\r\n","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.component('vcAddress', {\r\n templateUrl: \"themes/assets/js/common-components/address.tpl.html\",\r\n bindings: {\r\n address: '=',\r\n addresses: '<',\r\n countries: '=',\r\n validationContainer: '=',\r\n getCountryRegions: '&',\r\n editMode: '<',\r\n onUpdate: '&'\r\n },\r\n require: {\r\n checkoutStep: '?^vcCheckoutWizardStep'\r\n },\r\n controller: ['$scope', function ($scope) {\r\n var ctrl = this;\r\n this.$onInit = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.addComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.addComponent(this);\r\n };\r\n\r\n this.$onDestroy = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.removeComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.removeComponent(this);\r\n };\r\n\r\n function populateRegionalDataForAddress(address) {\r\n if (address) {\r\n //Set country object for address\r\n address.country = _.findWhere(ctrl.countries, { code3: address.countryCode });\r\n if (address.country != null) {\r\n ctrl.address.countryName = ctrl.address.country.name;\r\n ctrl.address.countryCode = ctrl.address.country.code3;\r\n }\r\n\r\n if (address.country) {\r\n if (address.country.regions) {\r\n setAddressRegion(address, address.country.regions);\r\n }\r\n else {\r\n ctrl.getCountryRegions({ country: address.country }).then(function (regions) {\r\n address.country.regions = regions;\r\n setAddressRegion(address, regions);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n function setAddressRegion(address, regions) {\r\n address.region = _.findWhere(regions, { code: address.regionId });\r\n if (address.region) {\r\n ctrl.address.regionId = ctrl.address.region.code;\r\n ctrl.address.regionName = ctrl.address.region.name;\r\n }\r\n else {\r\n ctrl.address.regionId = undefined;\r\n ctrl.address.regionName = undefined;\r\n }\r\n }\r\n\r\n ctrl.setForm = function (frm) { ctrl.form = frm; };\r\n\r\n ctrl.validate = function () {\r\n if (ctrl.form) {\r\n ctrl.form.$setSubmitted();\r\n return ctrl.form.$valid;\r\n }\r\n return true;\r\n };\r\n\r\n function stringifyAddress(address) {\r\n var stringifiedAddress = address.firstName + ' ' + address.lastName + ', ';\r\n stringifiedAddress += address.organization ? address.organization + ', ' : '';\r\n stringifiedAddress += address.countryName + ', ';\r\n stringifiedAddress += address.regionName ? address.regionName + ', ' : '';\r\n stringifiedAddress += address.city + ' ';\r\n stringifiedAddress += address.line1 + ', ';\r\n stringifiedAddress += address.line2 ? address.line2 : '';\r\n stringifiedAddress += address.postalCode;\r\n return stringifiedAddress;\r\n }\r\n\r\n $scope.$watch('$ctrl.address', function () {\r\n if (ctrl.address) {\r\n populateRegionalDataForAddress(ctrl.address);\r\n ctrl.address.name = stringifyAddress(ctrl.address);\r\n }\r\n ctrl.onUpdate({ address: ctrl.address });\r\n }, true);\r\n\r\n }]\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcCreditCard', {\r\n templateUrl: \"themes/assets/js/common-components/creditCard.tpl.html\",\r\n require: {\r\n checkoutStep: '?^vcCheckoutWizardStep'\r\n },\r\n bindings: {\r\n card: '=',\r\n validationContainer: '='\r\n },\r\n controller: ['$scope', '$filter', function ($scope, $filter) {\r\n var ctrl = this;\r\n\r\n this.$onInit = function () {\r\n if(ctrl.validationContainer)\r\n ctrl.validationContainer.addComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.addComponent(this);\r\n };\r\n\r\n this.$onDestroy = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.removeComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.removeComponent(this);\r\n };\r\n\r\n $scope.$watch('$ctrl.card.bankCardHolderName', function (val) {\r\n if (ctrl.card) {\r\n ctrl.card.bankCardHolderName = $filter('uppercase')(val);\r\n }\r\n }, true);\r\n\r\n ctrl.validate = function () {\r\n ctrl.form.$setSubmitted();\r\n return !ctrl.form.$invalid;\r\n }\r\n\r\n }]\r\n});\r\n","angular.module('storefrontApp')\r\n\r\n.component('vcLabeledInput', {\r\n templateUrl: \"themes/assets/js/common-components/labeled-input.tpl.html\",\r\n bindings: {\r\n value: '=',\r\n form: '=',\r\n name: '@',\r\n placeholder: '@',\r\n type: '@?',\r\n required: '<',\r\n requiredError: '@?',\r\n autofocus: '<'\r\n },\r\n controller: [function () {\r\n var $ctrl = this;\r\n \r\n $ctrl.validate = function () {\r\n $ctrl.form.$setSubmitted();\r\n return $ctrl.form.$valid;\r\n };\r\n\r\n }]\r\n});","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcLineItems', {\r\n templateUrl: \"themes/assets/js/common-components/lineItems.tpl.liquid\",\r\n bindings: {\r\n items: '='\r\n }\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcPaymentMethods', {\r\n templateUrl: \"themes/assets/js/common-components/paymentMethods.tpl.html\",\r\n require: {\r\n checkoutStep: '?^vcCheckoutWizardStep'\r\n },\r\n bindings: {\r\n getAvailPaymentMethods: '&',\r\n onSelectMethod: '&',\r\n paymentMethod: '=',\r\n validationContainer: '='\r\n },\r\n controller: ['$scope', function ($scope) {\r\n var ctrl = this;\r\n\r\n this.$onInit = function () {\r\n ctrl.getAvailPaymentMethods().then(function (methods) {\r\n ctrl.availPaymentMethods = _.sortBy(methods, function (x) { return x.priority; });\r\n if (ctrl.paymentMethod) {\r\n ctrl.paymentMethod = _.findWhere(ctrl.availPaymentMethods, { code: ctrl.paymentMethod.code });\r\n }\r\n if (!ctrl.paymentMethod && ctrl.availPaymentMethods.length > 0) {\r\n ctrl.selectMethod(ctrl.availPaymentMethods[0]);\r\n }\r\n })\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.addComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.addComponent(this);\r\n };\r\n\r\n this.$onDestroy = function () {\r\n if (ctrl.validationContainer)\r\n ctrl.validationContainer.removeComponent(this);\r\n if (ctrl.checkoutStep)\r\n ctrl.checkoutStep.removeComponent(this);\r\n };\r\n\r\n ctrl.validate = function () {\r\n return ctrl.paymentMethod;\r\n }\r\n\r\n ctrl.selectMethod = function (method) {\r\n ctrl.paymentMethod = method;\r\n ctrl.onSelectMethod({ paymentMethod: method });\r\n };\r\n }]\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcTotals', {\r\n templateUrl: \"themes/assets/js/common-components/totals.tpl.liquid\",\r\n\tbindings: {\r\n\t\torder: '<'\r\n\t}\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcCheckoutCoupon', {\r\n\ttemplateUrl: \"themes/assets/js/checkout/checkout-coupon.tpl.liquid\",\r\n\tbindings: {\r\n coupons: '=',\r\n\t\tonApplyCoupon: '&',\r\n onRemoveCoupon: '&',\r\n onValidateCoupon: '&'\r\n\t},\r\n controller: ['$scope', function ($scope) {\r\n var ctrl = this;\r\n ctrl.coupon = { appliedSuccessfully: true};\r\n $scope.$watch(\"$ctrl.coupon\", function () {\r\n if (!ctrl.coupon.code) {\r\n ctrl.coupon.appliedSuccessfully = true;\r\n }\r\n }, true);\r\n ctrl.applyCoupon = function (coupon) {\r\n ctrl.onValidateCoupon({ coupon: coupon }).then(function (result) {\r\n if (result.appliedSuccessfully) {\r\n ctrl.onApplyCoupon({ coupon: coupon });\r\n ctrl.coupon = {};\r\n } \r\n });\r\n };\r\n\t}]\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcCheckoutEmail', {\r\n\ttemplateUrl: \"themes/assets/js/checkout/checkout-email.tpl.html\",\r\n\trequire: {\r\n\t\tcheckoutStep: '^vcCheckoutWizardStep'\r\n\t},\r\n\tbindings: {\r\n\t\temail: '='\r\n\t},\r\n\tcontroller: [function () {\r\n\t\tvar ctrl = this;\r\n\r\n\t\tthis.$onInit = function () {\r\n\t\t\tctrl.checkoutStep.addComponent(this);\r\n\t\t};\r\n\r\n\t\tthis.$onDestroy = function () {\r\n\t\t\tctrl.checkoutStep.removeComponent(this);\r\n\t\t};\r\n\t\r\n\t\tctrl.validate = function () {\r\n\t\t\tctrl.form.$setSubmitted();\r\n\t\t\treturn !ctrl.form.$invalid;\r\n\t\t}\r\n\r\n\t}]\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.component('vcCheckoutShippingMethods', {\r\n\ttemplateUrl: \"themes/assets/js/checkout/checkout-shippingMethods.tpl.liquid\",\r\n\trequire: {\r\n\t\tcheckoutStep: '^vcCheckoutWizardStep'\r\n\t},\r\n\tbindings: {\r\n\t\tshipment: '=',\r\n\t\tgetAvailShippingMethods: '&',\r\n\t\tonSelectShippingMethod: '&'\r\n\t},\r\n\tcontroller: [function () {\r\n\r\n\t\tvar ctrl = this;\r\n\t\t\r\n\t\tctrl.availShippingMethods = [];\r\n\t\tctrl.selectedMethod = {};\r\n\t\tthis.$onInit = function () {\r\n\t\t\tctrl.checkoutStep.addComponent(this);\r\n\t\t\tctrl.loading = true;\r\n\t\t\tctrl.getAvailShippingMethods(ctrl.shipment).then(function (availMethods) {\r\n\t\t\t\tctrl.availShippingMethods = availMethods;\r\n\t\t\t\t_.each(ctrl.availShippingMethods, function (x) {\r\n\t\t\t\t\tx.id = getMethodId(x);\r\n\t\t\t\t});\r\n\t\t\t\tctrl.selectedMethod = _.find(ctrl.availShippingMethods, function (x) { return ctrl.shipment.shipmentMethodCode == x.shipmentMethodCode && ctrl.shipment.shipmentMethodOption == x.optionName });\r\n\t\t\t\tctrl.loading = false;\r\n\t\t\t});\r\n\t\t};\t\t\r\n\t\t\r\n\t\tthis.$onDestroy = function () {\r\n\t\t\tctrl.checkoutStep.removeComponent(this);\r\n\t\t};\r\n\t\t\t\r\n\t\tfunction getMethodId(method) {\r\n\t\t\tvar retVal = method.shipmentMethodCode;\r\n\t\t\tif (method.optionName) {\r\n\t\t\t\tretVal += ':' + method.optionName;\r\n\t\t\t}\r\n\t\t\treturn retVal;\r\n\t\t}\r\n\r\n\t\tctrl.selectMethod = function (method) {\r\n\t\t\tctrl.selectedMethod = method;\r\n\t\t\tctrl.onSelectShippingMethod({ shippingMethod: method });\r\n\t\t};\r\n\t\r\n\t\tctrl.validate = function () {\r\n\t\t\tctrl.form.$setSubmitted();\r\n\t\t\treturn !ctrl.form.$invalid;\r\n\t\t}\r\n\t}]\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.component('vcCheckoutWizardStep', {\r\n templateUrl: \"themes/assets/js/checkout/checkout-wizard-step.tpl.html\",\r\n transclude: true,\r\n require: {\r\n wizard: '^vcCheckoutWizard'\r\n },\r\n bindings: {\r\n name: '@',\r\n title: '@',\r\n stepDisabled: '=?',\r\n onNextStep: '&?',\r\n canEnter: '=?',\r\n final: ' 0;) {\r\n\t\t\t\tsteps[i].prevStep = undefined;\r\n\t\t\t\tsteps[i].nextStep = undefined;\r\n\t\t\t\tif (nextStep && !steps[i].disabled) {\r\n\t\t\t\t\tnextStep.prevStep = steps[i]\r\n\t\t\t\t};\t\t\t\t\r\n\t\t\t\tif (!steps[i].disabled) {\r\n\t\t\t\t\tsteps[i].nextStep = nextStep;\r\n\t\t\t\t\tnextStep = steps[i];\r\n\t\t\t\t}\r\n\t\t\t}\t\t\r\n\t\t};\r\n\t\t\r\n\t\tctrl.addStep = function (step) {\r\n\t\t\tctrl.steps.push(step);\r\n\t\t\t$scope.$watch(function () { return step.disabled; }, function () {\r\n\t\t\t\trebuildStepsLinkedList(ctrl.steps);\t\t\t\r\n\t\t\t});\r\n\t\t\trebuildStepsLinkedList(ctrl.steps);\r\n\t\t\tif(!ctrl.currentStep)\r\n\t\t\t{\r\n\t\t\t\tctrl.goToStep(step);\r\n\t\t\t}\r\n\t\t\tif (step.final && ctrl.onInitialized)\r\n\t\t\t{\r\n\t\t\t\tctrl.onInitialized();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t}]\r\n});\r\n","//Call this to register our module to main application\r\nvar moduleName = \"storefront.checkout\";\r\n\r\nif (storefrontAppDependencies != undefined) {\r\n storefrontAppDependencies.push(moduleName);\r\n}\r\nangular.module(moduleName, ['credit-cards', 'angular.filter'])\r\n .controller('checkoutController', ['$rootScope', '$scope', '$window', 'cartService',\r\n function($rootScope, $scope, $window, cartService) {\r\n $scope.checkout = {\r\n wizard: {},\r\n paymentMethod: {},\r\n shipment: {},\r\n payment: {},\r\n coupons: [],\r\n availCountries: [],\r\n loading: false,\r\n isValid: false\r\n };\r\n\r\n $scope.validateCheckout = function(checkout) {\r\n checkout.isValid = checkout.payment && checkout.payment.paymentGatewayCode;\r\n if (checkout.isValid && !checkout.billingAddressEqualsShipping) {\r\n checkout.isValid = angular.isObject(checkout.payment.billingAddress);\r\n }\r\n if (checkout.isValid && checkout.cart && checkout.cart.hasPhysicalProducts) {\r\n checkout.isValid = angular.isObject(checkout.shipment)\r\n && checkout.shipment.shipmentMethodCode\r\n && angular.isObject(checkout.shipment.deliveryAddress);\r\n }\r\n };\r\n\r\n $scope.reloadCart = function() {\r\n return cartService.getCart().then(function(response) {\r\n var cart = response.data;\r\n if (!cart || !cart.id) {\r\n $scope.outerRedirect($scope.baseUrl + 'cart');\r\n }\r\n else {\r\n $scope.checkout.cart = cart;\r\n $scope.checkout.coupons = cart.coupons || $scope.checkout.coupons;\r\n \r\n if (cart.payments.length) {\r\n $scope.checkout.payment = cart.payments[0];\r\n $scope.checkout.paymentMethod.code = $scope.checkout.payment.paymentGatewayCode;\r\n }\r\n if (cart.shipments.length) {\r\n $scope.checkout.shipment = cart.shipments[0];\r\n }\r\n else {\r\n $scope.checkout.shipment.deliveryAddress = $scope.checkout.cart.customer.addresses && $scope.checkout.cart.customer.addresses[0]\r\n if (!$scope.checkout.shipment.deliveryAddress) {\r\n $scope.checkout.shipment.deliveryAddress = {\r\n firstName : $scope.checkout.cart.customer.firstName,\r\n lastName : $scope.checkout.cart.customer.lastName\r\n }\r\n }\r\n }\r\n $scope.checkout.billingAddressEqualsShipping = cart.hasPhysicalProducts && !angular.isObject($scope.checkout.payment.billingAddress);\r\n\r\n $scope.checkout.canCartBeRecurring = $scope.customer.isRegisteredUser && _.all(cart.items, function(x) { return !x.isReccuring });\r\n $scope.checkout.paymentPlan = cart.paymentPlan && _.findWhere($scope.checkout.availablePaymentPlans, { intervalCount: cart.paymentPlan.intervalCount, interval: cart.paymentPlan.interval }) ||\r\n _.findWhere($scope.checkout.availablePaymentPlans, { intervalCount: 1, interval: 'months' });\r\n }\r\n $scope.validateCheckout($scope.checkout);\r\n return cart;\r\n });\r\n };\r\n\r\n $scope.validateCoupon = function (coupon) {\r\n coupon.processing = true;\r\n return cartService.validateCoupon(coupon).then(function (result) {\r\n coupon.processing = false;\r\n return angular.extend(coupon, result.data);\r\n }, function () {\r\n coupon.processing = false;\r\n });\r\n }\r\n\r\n $scope.applyCoupon = function(coupon) {\r\n coupon.processing = true;\r\n cartService.addCoupon(coupon.code).then(function() {\r\n coupon.processing = false;\r\n $scope.reloadCart();\r\n }, function() {\r\n coupon.processing = false;\r\n });\r\n }\r\n\r\n $scope.removeCoupon = function(coupon) {\r\n coupon.processing = true;\r\n cartService.removeCoupon(coupon.code).then(function() {\r\n coupon.processing = false;\r\n $scope.checkout.coupon = {};\r\n $scope.reloadCart();\r\n }, function() {\r\n coupon.processing = false;\r\n });\r\n }\r\n\r\n $scope.selectPaymentMethod = function(paymentMethod) {\r\n angular.extend($scope.checkout.payment, paymentMethod);\r\n $scope.checkout.payment.paymentGatewayCode = paymentMethod.code;\r\n $scope.checkout.payment.amount = angular.copy($scope.checkout.cart.total);\r\n $scope.checkout.payment.amount.amount += paymentMethod.totalWithTax.amount;\r\n\r\n updatePayment($scope.checkout.payment);\r\n };\r\n\r\n function getAvailCountries() {\r\n //Load avail countries\r\n return cartService.getCountries().then(function(response) {\r\n return response.data;\r\n });\r\n };\r\n\r\n $scope.getCountryRegions = function(country) {\r\n return cartService.getCountryRegions(country.code3).then(function(response) {\r\n return response.data;\r\n });\r\n };\r\n\r\n $scope.getAvailShippingMethods = function(shipment) {\r\n return wrapLoading(function() {\r\n return cartService.getAvailableShippingMethods(shipment.id).then(function(response) {\r\n return response.data;\r\n });\r\n });\r\n }\r\n\r\n $scope.getAvailPaymentMethods = function() {\r\n return wrapLoading(function() {\r\n return cartService.getAvailablePaymentMethods().then(function(response) {\r\n return response.data;\r\n });\r\n });\r\n };\r\n\r\n $scope.selectShippingMethod = function(shippingMethod) {\r\n if (shippingMethod) {\r\n $scope.checkout.shipment.shipmentMethodCode = shippingMethod.shipmentMethodCode;\r\n $scope.checkout.shipment.shipmentMethodOption = shippingMethod.optionName;\r\n }\r\n else {\r\n $scope.checkout.shipment.shipmentMethodCode = undefined;\r\n $scope.checkout.shipment.shipmentMethodOption = undefined;\r\n }\r\n $scope.updateShipment($scope.checkout.shipment);\r\n };\r\n\r\n $scope.updateShipment = function(shipment) {\r\n if (shipment.deliveryAddress) {\r\n $scope.checkout.shipment.deliveryAddress.type = 'Shipping';\r\n };\r\n //Does not pass validation errors to API\r\n shipment.validationErrors = undefined;\r\n return wrapLoading(function() {\r\n return cartService.addOrUpdateShipment(shipment).then($scope.reloadCart);\r\n });\r\n };\r\n\r\n $scope.createOrder = function() {\r\n updatePayment($scope.checkout.payment).then(function() {\r\n $scope.checkout.loading = true;\r\n cartService.createOrder($scope.checkout.paymentMethod.card || []).then(function(response) {\r\n var order = response.data.order;\r\n var orderProcessingResult = response.data.orderProcessingResult;\r\n var paymentMethod = response.data.paymentMethod;\r\n handlePostPaymentResult(order, orderProcessingResult, paymentMethod);\r\n });\r\n });\r\n };\r\n\r\n $scope.savePaymentPlan = function() {\r\n wrapLoading(function() {\r\n return cartService.addOrUpdatePaymentPlan($scope.checkout.paymentPlan).then(function() {\r\n $scope.checkout.cart.paymentPlan = $scope.checkout.paymentPlan;\r\n });\r\n });\r\n };\r\n\r\n $scope.isRecurringChanged = function(isRecurring) {\r\n if ($scope.checkout.paymentPlan) {\r\n if (isRecurring) {\r\n $scope.savePaymentPlan();\r\n } else {\r\n wrapLoading(function() {\r\n return cartService.removePaymentPlan().then(function() {\r\n $scope.checkout.cart.paymentPlan = undefined;\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n function updatePayment(payment) {\r\n if ($scope.checkout.billingAddressEqualsShipping) {\r\n payment.billingAddress = undefined;\r\n }\r\n\r\n if (payment.billingAddress) {\r\n payment.billingAddress.type = 'Billing';\r\n }\r\n return wrapLoading(function() {\r\n return cartService.addOrUpdatePayment(payment).then($scope.reloadCart);\r\n });\r\n }\r\n\r\n function handlePostPaymentResult(order, orderProcessingResult, paymentMethod) {\r\n if (!orderProcessingResult.isSuccess) {\r\n $scope.checkout.loading = false;\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: ['Error in new order processing: ', orderProcessingResult.error, 'New Payment status: ' + orderProcessingResult.newPaymentStatus].join(' '),\r\n message: orderProcessingResult.error,\r\n });\r\n return;\r\n }\r\n\r\n if (paymentMethod.paymentMethodType && paymentMethod.paymentMethodType.toLowerCase() == 'preparedform' && orderProcessingResult.htmlForm) {\r\n $scope.outerRedirect($scope.baseUrl + 'cart/checkout/paymentform?orderNumber=' + order.number);\r\n } else if (paymentMethod.paymentMethodType && paymentMethod.paymentMethodType.toLowerCase() == 'redirection' && orderProcessingResult.redirectUrl) {\r\n $window.location.href = orderProcessingResult.redirectUrl;\r\n } else {\r\n if (!$scope.customer.isRegisteredUser) {\r\n $scope.outerRedirect($scope.baseUrl + 'cart/thanks/' + order.number);\r\n } else {\r\n $scope.outerRedirect($scope.baseUrl + 'account#/orders/' + order.number);\r\n }\r\n }\r\n }\r\n\r\n function wrapLoading(func) {\r\n $scope.checkout.loading = true;\r\n return func().then(function(result) {\r\n $scope.checkout.loading = false;\r\n return result;\r\n },\r\n function() {\r\n $scope.checkout.loading = false;\r\n });\r\n }\r\n\r\n $scope.initialize = function() {\r\n\r\n $scope.reloadCart().then(function(cart) {\r\n $scope.checkout.wizard.goToStep(cart.hasPhysicalProducts ? 'shipping-address' : 'payment-method');\r\n });\r\n };\r\n\r\n getAvailCountries().then(function(countries) {\r\n $scope.checkout.availCountries = countries;\r\n });\r\n\r\n }]);\r\n"]} \ No newline at end of file diff --git a/assets/static/bundle/checkout-styles.css b/assets/static/bundle/checkout-styles.css deleted file mode 100644 index 461eaf49..00000000 --- a/assets/static/bundle/checkout-styles.css +++ /dev/null @@ -1,2 +0,0 @@ -.cols{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -5px}.cols .col{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0 5px;width:100%}.cols .col-50{width:50%}.cols .col-66{width:66.6666%}.cols .col-33{width:33.3333%}.col.main{padding-right:4%}button,input,select{font-family:inherit;font-size:inherit}.add-to-favorite-icon{background-image:url(../assets/star_favorite_add.png)}.add-to-favorite-icon,.remove-from-favorite-icon{width:32px;height:32px;display:block;float:right;position:relative;cursor:pointer}.remove-from-favorite-icon{background-image:url(../assets/star_favorite_remove.png)}.vc-form select{-webkit-appearance:none;-moz-appearance:none;text-transform:none}.vc-form .form-group{margin:0 0 10px;position:relative}.vc-form .form-label{color:#999;font-size:12px;opacity:0;padding:0 11px;position:absolute;top:50%;-webkit-transform:translateY(3px);transform:translateY(3px)}.vc-form .form-input,.vc-form .form-label{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.vc-form .form-input{background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 0 0 1px #d9d9d9;box-shadow:0 0 0 1px #d9d9d9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:14px;margin:0;padding:13px 11px;width:100%}.vc-form .form-input:focus{-webkit-box-shadow:0 0 0 2px #1990c6;box-shadow:0 0 0 2px #1990c6}.vc-form .form-group.keyuped .form-label{opacity:1;-webkit-transform:none;transform:none;top:5px}.vc-form .form-group.keyuped .form-input{padding:21px 11px 5px}.vc-form .form-group.error .form-input{-webkit-box-shadow:0 0 0 2px #ff6d6d;box-shadow:0 0 0 2px #ff6d6d}.vc-form .form-error{background:none;border:none;color:#ff6d6d;display:block;font-size:12px;margin:9px 0 3px}.vc-form .form-select:after{border-left:1px solid #ccc;height:20px;width:21px}.vc-form .form-select:after,.vc-form .form-select:before{content:" ";position:absolute;right:11px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none}.vc-form .form-select:before{border-color:#333 transparent transparent;border-style:solid;border-width:5px 5px 0}.vc-btn{background:#1990c6;border:none;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:19px 23px;position:relative;text-align:center;text-decoration:none;-webkit-transition:background-color .2s ease-in-out,color .2s ease-in-out;transition:background-color .2s ease-in-out,color .2s ease-in-out}.vc-btn.secondary{background:#dcdcdc;color:#585858}.vc-btn.loading{pointer-events:none}.vc-btn.loading .btn-text{opacity:0}.vc-btn.loading .btn-loading{border:3px solid hsla(0,0%,100%,.7);border-top-color:transparent;border-radius:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:30px;margin:-15px 0 0 -15px;left:50%;position:absolute;top:50%;width:30px;-webkit-animation:a .75s linear infinite;animation:a .75s linear infinite}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vc-btn:hover{background:#136f99;color:#fff}.vc-btn:active,.vc-btn:focus{color:#fff;-webkit-box-shadow:0 0 0 2px #136f99 inset;box-shadow:inset 0 0 0 2px #136f99}.vc-form .form-input::-webkit-input-placeholder{color:#999}.vc-form .form-input::-moz-placeholder{color:#999}.vc-form .form-box{border-radius:4px;-webkit-box-shadow:0 0 0 1px #d9d9d9;box-shadow:0 0 0 1px #d9d9d9;color:#737373;font-size:14px;margin:0 0 10px}.vc-form .form-box .box-row+.box-row{border-top:1px solid #d9d9d9}.vc-form .check-box,.vc-form .radio-box{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;padding:18px}.vc-form .form-box .check,.vc-form .form-box .radio{display:none}.vc-form .form-box .switch{border:1px solid #ccc;border-radius:50%;margin:0 15px 0 0;height:18px;position:relative;width:18px}.vc-form .form-box .radio:checked~.switch:after,.vc-form .form-box .switch{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.vc-form .form-box .radio:checked~.switch:after{border:7px solid #1990c6;border-radius:50%;bottom:-1px;content:" ";left:-1px;position:absolute;right:-1px;top:-1px}.vc-form .check-box .switch{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;border-radius:3px}.vc-form .form-box .check:not(:checked)~.switch{background-color:#fff}.vc-form .form-box .check:checked~.switch{background:#1990c6;border:1px solid #1990c6}.vc-form .form-box .check:checked~.switch:after{color:#fff;content:"";font-family:FontAwesome;font-size:10px;margin:auto}.vc-form .form-box .name{-webkit-flex-grow:1;-webkit-box-flex:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vc-section-header{margin:0 0 25px}.vc-section-header .vc-t{font-size:18px;margin:0 0 10px}.vc-section-header .vc-descr{color:#737373;font-size:14px}.vc-product-table{border-collapse:collapse;border-spacing:0;padding:0;width:100%}.vc-product-table .wishlist-item-remove{font-size:13px;font-weight:500;min-width:10px;padding:4px 7px;line-height:1;position:absolute;right:-19px;text-align:center;top:-20px;z-index:1}.vc-product-table td{border:none;color:#737373;font-size:14px;padding:0}.vc-product-table .product-img{height:64px;width:64px}.vc-product-table .img-inner{border:1px solid #ccc;border-radius:5px;position:relative}.vc-product-table .product-img img{border-radius:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;padding:5px;width:100%}.vc-product-table .product-qty{background-color:hsla(0,0%,60%,.9);border-radius:50%;color:#fff;font-size:13px;font-weight:500;min-width:10px;padding:4px 7px;line-height:1;position:absolute;right:-10px;text-align:center;top:-10px;z-index:1}.vc-product-table .product-descr{padding:0 0 0 15px}.vc-product-table .product-price{font-size:14px;padding:0 0 0 15px;text-align:right}.vc-product-table .product-price .old{color:#969696;font-size:12px;text-decoration:line-through}.vc-product-table .product-descr,.vc-product-table .product-img,.vc-product-table .product-price{padding-bottom:15px}.vc-product-totals .list{list-style:none}.vc-product-totals .list-item{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;color:#717171;font-size:14px;padding:0 0 10px}.vc-product-totals .list-name{-webkit-flex-grow:1;-webkit-box-flex:1;-moz-box-flex:1;-ms-flex-positive:1;flex-grow:1}.vc-product-totals .list-price{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.vc-product-totals .list-currency{color:#969696;font-size:12px;margin:0 10px 0 0;text-transform:uppercase}.vc-product-totals .list-item.total{border-top:1px solid #e1e1e1;color:#4b4b4b;margin:15px 0 0;padding:15px 0}.vc-product-totals .list-item.total .list-name{font-size:16px}.vc-product-totals .list-item.total .list-price{font-size:24px}.vc-product-totals .list-item.summary{border:0;margin:0;padding:0}.vc-product-address .list{list-style:none}.vc-product-address .list-item{background:#eee;border:1px solid #ddd;color:#353535;border-radius:3px;font-size:13px;margin:5px 0;padding:10px;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;align-items:center}.vc-product-address .list-action{cursor:pointer;margin:0 10px 0 0}.form-fieldset{background-color:#fafafa;padding:15px 15px 5px}@media (max-width:990px){.cols .col-33,.cols .col-50,.cols .col-66{margin:0 0 20px;width:100%}}.vc-compare-button{color:#585858;z-index:4}.disabled-compare-button{color:#b6b6b6!important;background-color:#f6f6f6!important}.field__icon{position:absolute;top:10px;right:1.125em}.icon--lock{width:12px;height:14px;background-image:url(lock-dark.svg);background-image:url(lock-dark.svg),none}.icon--lock.field__icon{top:15px}.icon--question{width:16px;height:16px;top:15px;background-image:url(question-dark.svg);background-image:url(question-dark.svg),none}.field__icon:focus{outline:none}.payment-icon{display:inline-block;right:40px;width:38px;height:24px;-webkit-transition:opacity .5s cubic-bezier(.3,0,0,1);transition:opacity .5s cubic-bezier(.3,0,0,1);-webkit-backface-visibility:hidden}.payment-name{visibility:hidden}.blank-slate .payment-icon{vertical-align:middle}.payment-icon--amazon{background-image:url(amazon.svg);background-image:url(amazon.svg),none}.payment-icon--american-express{background-image:url(american-express.svg);background-image:url(american-express.svg),none}.payment-icon--bitcoin{background-image:url(bitcoin.svg);background-image:url(bitcoin.svg),none}.payment-icon--bogus{background-image:url(bogus.svg);background-image:url(bogus.svg),none}.payment-icon--boleto{background-image:url(boleto.svg);background-image:url(boleto.svg),none}.payment-icon--cash{background-image:url(cash.svg);background-image:url(cash.svg),none}.payment-icon--dankort{background-image:url(dankort.svg);background-image:url(dankort.svg),none}.payment-icon--diners-club{background-image:url(diners-club.svg);background-image:url(diners-club.svg),none}.payment-icon--discover{background-image:url(discover.svg);background-image:url(discover.svg),none}.payment-icon--dogecoin{background-image:url(dogecoin.svg);background-image:url(dogecoin.svg),none}.payment-icon--litecoin{background-image:url(litecoin.svg);background-image:url(litecoin.svg),none}.payment-icon--forbrugsforeningen{background-image:url(forbrugsforeningen.svg);background-image:url(forbrugsforeningen.svg),none}.payment-icon--generic{background-image:url(generic.svg);background-image:url(generic.svg),none}.payment-icon--gift-card{background-image:url(gift-card-payment.svg);background-image:url(gift-card-payment.svg),none}.payment-icon--google-wallet{background-image:url(google-wallet-payment.svg);background-image:url(google-wallet-payment.svg),none}.payment-icon--jcb{background-image:url(jcb.svg);background-image:url(jcb.svg),none}.payment-icon--laser{background-image:url(laser.svg);background-image:url(laser.svg),none}.payment-icon--maestro{background-image:url(maestro.svg);background-image:url(maestro.svg),none}.payment-icon--master{background-image:url(master.svg);background-image:url(master.svg),none}.payment-icon--paypal{background-image:url(paypal.svg);background-image:url(paypal.svg),none}.payment-icon--sofort{background-image:url(sofort.svg);background-image:url(sofort.svg),none}.payment-icon--solo{background-image:url(solo.svg);background-image:url(solo.svg),none}.payment-icon--switch{background-image:url(switch.svg);background-image:url(switch.svg),none}.payment-icon--unionpay{background-image:url(unionpay.svg);background-image:url(unionpay.svg),none}.payment-icon--visa{background-image:url(visa.svg);background-image:url(visa.svg),none}.tooltip{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;bottom:130%;left:50%;width:180px;margin:0 0 5px -90px;padding:.75em 1em;border-radius:4px;white-space:normal;font-size:.85714em;font-style:normal;text-align:center;color:#fff;display:none;z-index:2;-webkit-transition:all .3s cubic-bezier(.3,0,0,1);transition:all .3s cubic-bezier(.3,0,0,1);-webkit-transform:rotateX(20deg) scale(.8);transform:rotateX(20deg) scale(.8);-webkit-transform-origin:center 120%;transform-origin:center 120%;-webkit-backface-visibility:hidden;background-color:rgba(51,51,51,.9);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=" 0 ")";filter:alpha(opacity=0)}@media (min-width:750px){.tooltip{display:block}}.tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;width:0;border:6px solid transparent;border-top-color:rgba(51,51,51,.9)}@media (min-width:750px){.has-tooltip:focus .tooltip,.has-tooltip:hover .tooltip{-webkit-transform:rotateX(0deg) scale(1);transform:rotateX(0deg) scale(1);pointer-events:auto;visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=" 100 ")";filter:alpha(opacity=100)}}.flicker-animation{-webkit-animation:b 2s linear 2;animation:b 2s linear 2}@-webkit-keyframes b{0%{opacity:0}15%{opacity:.25}25%{opacity:.5}40%{opacity:.75}50%{opacity:1}60%{opacity:.75}75%{opacity:.5}85%{opacity:.25}to{opacity:0}}@keyframes b{0%{opacity:0}15%{opacity:.25}25%{opacity:.5}40%{opacity:.75}50%{opacity:1}60%{opacity:.75}75%{opacity:.5}85%{opacity:.25}to{opacity:0}}.selectedTypeOfList:hover{background:#ecf7fc;cursor:pointer}.selectedList{background:#d9effa;height:90px;padding-top:15px;position:relative}.activeList{background:#d9effa;cursor:default!important}.list-container{display:grid;position:relative}.list-text-title{margin-left:30px;font-size:22px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.list-modal-row-fix{padding-top:0;margin-top:0}.list-text-descr{color:#999;margin-left:30px;font-size:14px;margin-bottom:10px}.list-text-descr-inList{margin-left:450px;width:180px;position:relative;top:-30px;color:#000;font-weight:700;opacity:1}.product-list-container{margin-top:-45px;position:relative;right:93px}.wishlist-remove{font-size:13px;font-weight:500;min-width:10px;line-height:1;position:relative;left:-30px;text-align:left;top:-40px;z-index:1}.product-list-name{cursor:pointer;word-break:break-word;width:220px;height:50px;padding-top:8px;padding-left:10px;font-size:22px;margin-right:10px;margin-bottom:0;line-height:1.6;z-index:3;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,"sans-serif";color:#585858;border-bottom:1px solid #ececec}.product-list-modal-wrapper{position:relative;margin-top:-20px}.product-list-modal-wrapper .product-list-modal-borders{margin-top:0!important}.product-list-modal-wrapper .product-list-modal-titleShift{height:90px;padding-top:15px;position:relative}.product-list-modal-added-toList{font-weight:700;margin-bottom:20px;margin-top:10px}.product-list-createdDate{position:relative;top:30px;left:-78px}.product-list-advanced{position:relative;font-size:larger}.list-item-header{margin-top:-36px;margin-bottom:20px;font-size:23px;border-bottom:1px solid #ececec}.list-item-addToCartBtn{padding:7px!important}.list-table{border-collapse:separate!important}.vc-product-table td{border-right:0!important;border-left:0!important}.vc-product-table tr{border:5px solid #fff;border-radius:12px!important;border-bottom:1px solid gray}.vc-product-table td:first-child{border-top-left-radius:10px;border-spacing:5em;border-bottom-left-radius:10px;border-right:0!important;border-left:0!important}.vc-product-table td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.product-row td.list-item-price{font-size:14px;padding:0 0 15px 15px;text-align:right;position:relative}.btn-clearfix{margin:3px 1px}.list-icon-clearfix{width:30px;margin-left:-6px}.disabled{opacity:.6;pointer-events:none}.btn-secondary-clearfix{margin:0!important}.list-btn-alignment{width:152.2px;position:relative}@media (max-width:980px) and (min-width:200px){.sidebar{position:relative;display:-webkit-inline-box;text-align:center;float:inherit}.sidebar ul li.product-list-name{margin-right:0}.hide-if-lowWidth{display:none}}.list-item-oldPrice{color:#969696;font-size:12px;text-decoration:line-through}.list-table{position:relative;top:-40px}.has-error{border-color:#a94442;-webkit-box-shadow:0 0 5px #f39f9f;box-shadow:0 0 5px #f39f9f}.nav>li:hover{text-decoration:none;background-color:#eee}.nav-pills>li.active,.nav-pills>li.active>a:focus{color:#fff;border-radius:4px;background-color:#337ab7}.wish-list-row:nth-child(2n) .property-name,.wish-list-row:nth-child(2n) .value{background-color:#f2f2f2}.wish-list-row:hover{cursor:pointer;background-color:#fafafa}.wish-list-cell.value{border:1px solid #dcdcdc}.lists-navBar-clearfix{margin-bottom:-34px;font-size:15px;margin-top:-12px;right:20px;position:absolute}.lists-settings{cursor:pointer;float:right}.lists-sideBar{padding-left:0!important;padding-top:0!important;text-align:left}.lists-sideBar .lists-sideBar-content{cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;width:170px}.lists-sideBar .lists-sideBar-textAlign{text-align:left!important}.lists-sideBar .lists-sideBar-content .lists-sideBar-globalIcon{padding-right:8px;text-align:right;vertical-align:top;padding-top:14px;float:right;margin-left:auto}.lists-title-shareIcon{cursor:pointer;font-size:14pt;padding-left:15px;padding-top:11px}.lists-productsList-descr{height:100%;padding-bottom:30px!important}.lists-productsList-descr .lists-productsList-descr-contentAllign{display:table;min-height:70px}.lists-productsList-descr .lists-productsList-descr-title{top:7px;display:table-cell;vertical-align:middle}.lists-productsList-descr .lists-productsList-descr-modify{position:absolute;left:1px;padding-top:10px}.lists-productsList-addAllToCart{position:absolute;bottom:30px;right:29px}.lists-creationDialog-wrapper{opacity:1;width:600px!important}.lists-creationDialog-closeButtonWrapper{position:relative;bottom:15px}.lists-creationDialog-closeButtonWrapper .lists-creationDialog-closeButtonClearFix{position:fixed;top:5px}.lists-creationDialog-wrapper .lists-creationDialog-inputWrapper{margin-left:-35px}.lists-creationDialog-wrapper .lists-creationDialog-inputClearFix{height:40px;margin-top:20px}.lists-creationDialog-wrapper .lists-creationDialog-checkboxWrapper{top:26px;left:30px;position:relative;vertical-align:bottom;font-size:12pt}.lists-creationDialog-wrapper .lists-creationDialog-checkboxClearfix{height:15px;width:15px;position:relative} -/*# sourceMappingURL=checkout-styles.css.map */ diff --git a/assets/static/bundle/checkout-styles.css.map b/assets/static/bundle/checkout-styles.css.map deleted file mode 100644 index f53d76ca..00000000 --- a/assets/static/bundle/checkout-styles.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../assets/common-components.css"],"names":[],"mappings":"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,AACA,gDAAA,CACA,AAEA,6BACA,gDAAA,AACA,oDAAA,CACA,AAEA,mBACA,8BAAA,AACA,kCAAA,CACA,AAEA,qBACA,gCAAA,AACA,oCAAA,CACA,AAEA,uBACA,kCAAA,AACA,sCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,oBACA,+BAAA,AACA,mCAAA,CACA,AAEA,sBACA,iCAAA,AACA,qCAAA,CACA,AAEA,wBACA,mCAAA,AACA,uCAAA,CACA,AAEA,oBACA,+BAAA,AACA,mCAAA,CACA,AAEA,SACA,8BAAA,2BAAA,sBAAA,AACA,kBAAA,AACA,YAAA,AACA,SAAA,AACA,YAAA,AACA,qBAAA,AACA,kBAAA,AACA,kBAAA,AACA,mBAAA,AACA,mBAAA,AACA,kBAAA,AACA,kBAAA,AACA,WAAA,AACA,aAAA,AACA,UAAA,AACA,kDAAA,AACA,0CAAA,AACA,2CAAA,AACA,mCAAA,AACA,qCAAA,AAEA,6BAAA,AACA,mCAAA,AACA,mCAAA,AACA,kBAAA,AACA,UAAA,AACA,oEAAA,AACA,uBAAA,CACA,AAEA,yBACA,SACA,aAAA,CACA,CACA,AAEA,eACA,WAAA,AACA,kBAAA,AACA,SAAA,AACA,SAAA,AACA,iBAAA,AACA,QAAA,AACA,6BAAA,AACA,kCAAA,CACA,AAEA,yBACA,wDAEA,yCAAA,AACA,iCAAA,AACA,oBAAA,AACA,mBAAA,AACA,UAAA,AACA,sEAAA,AACA,yBAAA,CACA,CACA,AACA,mBACA,gCAAA,AACA,uBAAA,CACA,AAEA,qBACA,GACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,GACA,SAAA,CACA,CACA,AAEA,aACA,GACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,SAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,IACA,UAAA,CACA,AAEA,IACA,WAAA,CACA,AAEA,GACA,SAAA,CACA,CACA,AAEA,0BACA,mBAAA,AACA,cAAA,CACA,AACA,cACA,mBAAA,AACA,YAAA,AACA,iBAAA,AACA,iBAAA,CACA,AAEA,YACA,mBAAA,AACA,wBAAA,CACA,AAEA,gBACA,aAAA,AACA,iBAAA,CACA,AACA,iBACA,iBAAA,AACA,eAAA,AACA,gBAAA,AACA,eAAA,AACA,gBAAA,AACA,uBAAA,AACA,qBAAA,CACA,AAEA,oBACA,cAAA,AACA,YAAA,CACA,AAEA,iBACA,WAAA,AACA,iBAAA,AACA,eAAA,AACA,kBAAA,CACA,AACA,wBACA,kBAAA,AACA,YAAA,AACA,kBAAA,AACA,UAAA,AACA,WAAA,AACA,gBAAA,AACA,SAAA,CACA,AAEA,wBACA,iBAAA,AACA,kBAAA,AACA,UAAA,CACA,AAEA,iBACA,eAAA,AACA,gBAAA,AACA,eAAA,AACA,cAAA,AACA,kBAAA,AACA,WAAA,AACA,gBAAA,AACA,UAAA,AACA,SAAA,CACA,AAEA,mBACA,eAAA,AACA,sBAAA,AACA,YAAA,AACA,YAAA,AACA,gBAAA,AACA,kBAAA,AACA,eAAA,AACA,kBAAA,AACA,gBAAA,AACA,gBAAA,AACA,UAAA,AACA,sEAAA,AACA,cAAA,AACA,+BAAA,CACA,AACA,4BACA,kBAAA,AACA,gBAAA,CACA,AACA,wDACA,sBAAA,CACA,AACA,2DACA,YAAA,AACA,iBAAA,AACA,iBAAA,CACA,AACA,iCACA,gBAAA,AACA,mBAAA,AACA,eAAA,CACA,AACA,0BACA,kBAAA,AACA,SAAA,AACA,UAAA,CACA,AAEA,uBACA,kBAAA,AACA,gBAAA,CACA,AAEA,kBACA,iBAAA,AACA,mBAAA,AACA,eAAA,AACA,+BAAA,CACA,AACA,wBACA,qBAAA,CACA,AAEA,YACA,kCAAA,CAEA,AAEA,qBACA,yBAAA,AACA,uBAAA,CACA,AAEA,qBACA,sBAAA,AACA,6BAAA,AAEA,4BAAA,CACA,AAEA,iCACA,4BAAA,AACA,mBAAA,AACA,+BAAA,AAEA,yBAAA,AACA,uBAAA,CACA,AAMA,gCAEA,6BAAA,AACA,+BAAA,CAEA,AAEA,gCACA,eAAA,AACA,sBAAA,AACA,iBAAA,AACA,iBAAA,CAEA,AAEA,cACA,cAAA,CACA,AAEA,oBACA,WAAA,AACA,gBAAA,CACA,AAEA,UACA,WAAA,AACA,mBAAA,CACA,AAEA,wBACA,kBAAA,CACA,AAEA,oBACA,cAAA,AACA,iBAAA,CACA,AAEA,+CACA,SACA,kBAAA,AACA,2BAAA,AACA,kBAAA,AACA,aAAA,CACA,AACA,iCACA,cAAA,CACA,AACA,kBACA,YAAA,CACA,CACA,AACA,oBACA,cAAA,AACA,eAAA,AACA,4BAAA,CACA,AAEA,YACA,kBAAA,AACA,SAAA,CACA,AAEA,WACA,qBAAA,AACA,mCAAA,AACA,0BAAA,CACA,AAEA,cACA,qBAAA,AACA,qBAAA,CACA,AAEA,kDACA,WAAA,AACA,kBAAA,AACA,wBAAA,CACA,AASA,gFACA,wBAAA,CACA,AAEA,qBACA,eAAA,AACA,wBAAA,CACA,AAEA,sBACA,wBAAA,CACA,AAEA,uBACA,oBAAA,AACA,eAAA,AACA,iBAAA,AACA,WAAA,AACA,iBAAA,CACA,AAEA,gBACA,eAAA,AACA,WAAA,CACA,AAEA,eACA,yBAAA,AACA,wBAAA,AACA,eAAA,CACA,AAEA,sCACA,eAAA,AACA,oBAAA,qBAAA,iBAAA,oBAAA,aAAA,AACA,WAAA,CACA,AAEA,wCACA,yBAAA,CACA,AAEA,gEACA,kBAAA,AACA,iBAAA,AACA,mBAAA,AACA,iBAAA,AACA,YAAA,AACA,gBAAA,CACA,AAEA,uBACA,eAAA,AACA,eAAA,AACA,kBAAA,AACA,gBAAA,CACA,AAEA,0BACA,YAAA,AACA,6BAAA,CACA,AAEA,kEACA,cAAA,AACA,eAAA,CACA,AAEA,0DACA,QAAA,AACA,mBAAA,AACA,qBAAA,CACA,AACA,2DACA,kBAAA,AACA,SAAA,AACA,gBAAA,CACA,AACA,iCACA,kBAAA,AACA,YAAA,AACA,UAAA,CACA,AACA,8BACA,UAAA,AACA,qBAAA,CACA,AACA,yCACA,kBAAA,AACA,WAAA,CACA,AACA,mFACA,eAAA,AACA,OAAA,CACA,AACA,iEACA,iBAAA,CACA,AACA,kEACA,YAAA,AACA,eAAA,CACA,AACA,oEACA,SAAA,AACA,UAAA,AACA,kBAAA,AACA,sBAAA,AACA,cAAA,CACA,AAEA,qEACA,YAAA,AACA,WAAA,AACA,iBAAA,CACA","file":"checkout-styles.css","sourcesContent":[".cols {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-flex-wrap: wrap;\r\n flex-wrap: wrap;\r\n margin: 0 -5px;\r\n}\r\n\r\n.cols .col {\r\n box-sizing: border-box;\r\n padding: 0 5px;\r\n width: 100%;\r\n}\r\n\r\n.cols .col-50 {\r\n width: 50%;\r\n}\r\n\r\n.cols .col-66 {\r\n width: 66.6666%;\r\n}\r\n\r\n.cols .col-33 {\r\n width: 33.3333%;\r\n}\r\n\r\n.col.main {\r\n padding-right: 4%;\r\n}\r\n\r\nbutton,\r\ninput,\r\nselect {\r\n font-family: inherit;\r\n font-size: inherit;\r\n}\r\n\r\n.add-to-favorite-icon {\r\n background-image: url(../assets/star_favorite_add.png);\r\n width: 32px;\r\n height: 32px;\r\n display: block;\r\n float: right;\r\n position: relative;\r\n cursor:pointer;\r\n}\r\n.remove-from-favorite-icon {\r\n background-image: url(../assets/star_favorite_remove.png);\r\n width: 32px;\r\n height: 32px;\r\n display: block;\r\n float: right;\r\n position: relative;\r\n cursor: pointer;\r\n}\r\n\r\n.vc-form select {\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n text-transform: none;\r\n}\r\n\r\n.vc-form .form-group {\r\n margin: 0 0 10px;\r\n position: relative;\r\n}\r\n\r\n.vc-form .form-label {\r\n color: #999;\r\n font-size: 12px;\r\n opacity: 0;\r\n padding: 0 11px;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(3px);\r\n transition: all .2s ease-out;\r\n}\r\n\r\n.vc-form .form-input {\r\n background-color: white;\r\n border: none;\r\n border-radius: 4px;\r\n box-shadow: 0 0 0 1px #d9d9d9;\r\n box-sizing: border-box;\r\n font-size: 14px;\r\n margin: 0;\r\n padding: 13px 11px;\r\n width: 100%;\r\n transition: all .2s ease-out;\r\n}\r\n\r\n.vc-form .form-input:focus {\r\n box-shadow: 0 0 0 2px #1990c6;\r\n}\r\n\r\n.vc-form .form-group.keyuped .form-label {\r\n opacity: 1;\r\n transform: none;\r\n top: 5px;\r\n}\r\n\r\n.vc-form .form-group.keyuped .form-input {\r\n padding: 21px 11px 5px;\r\n}\r\n\r\n.vc-form .form-group.error .form-input {\r\n box-shadow: 0 0 0 2px #ff6d6d;\r\n}\r\n\r\n.vc-form .form-error {\r\n background: none;\r\n border: none;\r\n color: #ff6d6d;\r\n display: block;\r\n font-size: 12px;\r\n margin: 9px 0 3px;\r\n}\r\n\r\n.vc-form .form-select::after {\r\n border-left: 1px solid #ccc;\r\n content: ' ';\r\n height: 20px;\r\n position: absolute;\r\n right: 11px;\r\n top: 50%;\r\n width: 21px;\r\n transform: translateY(-50%);\r\n pointer-events: none;\r\n}\r\n\r\n.vc-form .form-select::before {\r\n border-color: #333 transparent transparent;\r\n border-style: solid;\r\n border-width: 5px 5px 0;\r\n content: ' ';\r\n position: absolute;\r\n right: 11px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n pointer-events: none;\r\n}\r\n\r\n.vc-btn {\r\n background: #1990c6;\r\n border: none;\r\n border-radius: 4px;\r\n box-sizing: border-box;\r\n color: #fff;\r\n cursor: pointer;\r\n display: inline-block;\r\n font-size: 14px;\r\n padding: 19px 23px;\r\n position: relative;\r\n text-align: center;\r\n text-decoration: none;\r\n transition: background-color .2s ease-in-out, color .2s ease-in-out;\r\n}\r\n\r\n.vc-btn.secondary {\r\n background: #dcdcdc;\r\n color: #585858;\r\n}\r\n\r\n.vc-btn.loading {\r\n pointer-events: none;\r\n}\r\n\r\n.vc-btn.loading .btn-text {\r\n opacity: 0;\r\n}\r\n\r\n.vc-btn.loading .btn-loading {\r\n border: 3px solid rgba(255,255,255,.7);\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n height: 30px;\r\n margin: -15px 0 0 -15px;\r\n left: 50%;\r\n position: absolute;\r\n top: 50%;\r\n width: 30px;\r\n -webkit-animation: loading .75s linear infinite;\r\n animation: loading .75s linear infinite;\r\n}\r\n\r\n@-webkit-keyframes loading {\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n\r\n@keyframes loading {\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n\r\n.vc-btn:hover {\r\n background: #136f99;\r\n color: #fff;\r\n}\r\n\r\n.vc-btn:focus,\r\n.vc-btn:active {\r\n color: #fff;\r\n box-shadow: 0 0 0 2px #136f99 inset;\r\n}\r\n\r\n.vc-form .form-input::-webkit-input-placeholder {\r\n color: #999;\r\n}\r\n\r\n.vc-form .form-input::-moz-placeholder {\r\n color: #999;\r\n}\r\n\r\n.vc-form .form-box {\r\n border-radius: 4px;\r\n box-shadow: 0 0 0 1px #d9d9d9;\r\n color: #737373;\r\n font-size: 14px;\r\n margin: 0 0 10px;\r\n}\r\n\r\n.vc-form .form-box .box-row + .box-row {\r\n border-top: 1px solid #d9d9d9;\r\n}\r\n\r\n.vc-form .radio-box,\r\n.vc-form .check-box {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n cursor: pointer;\r\n padding: 18px;\r\n}\r\n\r\n.vc-form .form-box .radio,\r\n.vc-form .form-box .check {\r\n display: none;\r\n}\r\n\r\n.vc-form .form-box .switch {\r\n border: 1px solid #ccc;\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n margin: 0 15px 0 0;\r\n height: 18px;\r\n position: relative;\r\n width: 18px;\r\n}\r\n\r\n.vc-form .form-box .radio:checked ~ .switch::after {\r\n border: 7px solid #1990c6;\r\n border-radius: 50%;\r\n box-sizing: border-box;\r\n bottom: -1px;\r\n content: ' ';\r\n left: -1px;\r\n position: absolute;\r\n right: -1px;\r\n top: -1px;\r\n}\r\n\r\n.vc-form .check-box .switch {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n border-radius: 3px;\r\n}\r\n\r\n.vc-form .form-box .check:not(:checked) ~ .switch {\r\n background-color: white;\r\n}\r\n\r\n.vc-form .form-box .check:checked ~ .switch {\r\n background: #1990c6;\r\n border: 1px solid #1990c6;\r\n}\r\n\r\n.vc-form .form-box .check:checked ~ .switch::after {\r\n color: #fff;\r\n content: '';\r\n font-family: 'FontAwesome';\r\n font-size: 10px;\r\n margin: auto;\r\n}\r\n\r\n.vc-form .form-box .name {\r\n -webkit-flex-grow: 1;\r\n flex-grow: 1;\r\n}\r\n\r\n.vc-section-header {\r\n margin: 0 0 25px;\r\n}\r\n\r\n.vc-section-header .vc-t {\r\n font-size: 18px;\r\n margin: 0 0 10px;\r\n}\r\n\r\n.vc-section-header .vc-descr {\r\n color: #737373;\r\n font-size: 14px;\r\n}\r\n\r\n.vc-product-table {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n padding: 0;\r\n width: 100%;\r\n}\r\n.vc-product-table .wishlist-item-remove {\r\n font-size: 13px;\r\n font-weight: 500;\r\n min-width: 10px;\r\n padding: 4px 7px;\r\n line-height: 1;\r\n position: absolute;\r\n right: -19px;\r\n text-align: center;\r\n top: -20px;\r\n z-index: 2;\r\n}\r\n\r\n.vc-product-table td {\r\n border: none;\r\n color: #737373;\r\n font-size: 14px;\r\n padding: 0;\r\n}\r\n\r\n\r\n.vc-product-table .product-img {\r\n height: 64px;\r\n width: 64px;\r\n}\r\n\r\n.vc-product-table .img-inner {\r\n border: 1px solid #ccc;\r\n border-radius: 5px;\r\n position: relative;\r\n}\r\n\r\n.vc-product-table .product-img img {\r\n border-radius: 5px;\r\n box-sizing: border-box;\r\n display: block;\r\n padding: 5px;\r\n width: 100%;\r\n}\r\n\r\n.vc-product-table .product-qty {\r\n background-color: rgba(153, 153, 153, 0.9);\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 13px;\r\n font-weight: 500;\r\n min-width: 10px;\r\n padding: 4px 7px;\r\n line-height: 1;\r\n position: absolute;\r\n right: -10px;\r\n text-align: center;\r\n top: -10px;\r\n z-index: 2;\r\n}\r\n\r\n.vc-product-table .product-descr {\r\n padding: 0 0 0 15px;\r\n}\r\n\r\n.vc-product-table .product-price {\r\n font-size: 14px;\r\n padding: 0 0 0 15px;\r\n text-align: right;\r\n}\r\n\r\n.vc-product-table .product-price .old {\r\n color: #969696;\r\n font-size: 12px;\r\n text-decoration: line-through;\r\n}\r\n\r\n.vc-product-table .product-img,\r\n.vc-product-table .product-descr,\r\n.vc-product-table .product-price {\r\n padding-bottom: 15px;\r\n}\r\n\r\n.vc-product-totals .list {\r\n list-style: none;\r\n}\r\n\r\n.vc-product-totals .list-item {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n color: #717171;\r\n font-size: 14px;\r\n padding: 0 0 10px;\r\n}\r\n\r\n.vc-product-totals .list-name {\r\n -webkit-flex-grow: 1;\r\n flex-grow: 1;\r\n}\r\n\r\n.vc-product-totals .list-price {\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n}\r\n\r\n.vc-product-totals .list-currency {\r\n color: #969696;\r\n font-size: 12px;\r\n margin: 0 10px 0 0;\r\n text-transform: uppercase;\r\n}\r\n\r\n.vc-product-totals .list-item.total {\r\n border-top: 1px solid #e1e1e1;\r\n color: #4b4b4b;\r\n margin: 15px 0 0;\r\n padding: 15px 0;\r\n}\r\n\r\n.vc-product-totals .list-item.total .list-name {\r\n font-size: 16px;\r\n}\r\n\r\n.vc-product-totals .list-item.total .list-price {\r\n font-size: 24px;\r\n}\r\n\r\n.vc-product-totals .list-item.summary {\r\n border: 0;\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\n.vc-product-address .list {\r\n list-style: none;\r\n}\r\n\r\n.vc-product-address .list-item {\r\n background: #eee;\r\n border: 1px solid #ddd;\r\n color: #353535;\r\n border-radius: 3px;\r\n font-size: 13px;\r\n margin: 5px 0;\r\n padding: 10px;\r\n display: -webkit-flex;\r\n display: -moz-flex;\r\n display: -ms-flex;\r\n display: -o-flex;\r\n display: flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n}\r\n\r\n.vc-product-address .list-action {\r\n cursor: pointer;\r\n margin: 0 10px 0 0;\r\n}\r\n\r\n.form-fieldset {\r\n background-color: #fafafa;\r\n padding: 15px 15px 5px;\r\n}\r\n\r\n@media (max-width: 990px) {\r\n .cols .col-50,\r\n .cols .col-66,\r\n .cols .col-33 {\r\n margin: 0 0 20px;\r\n width: 100%;\r\n }\r\n}\r\n.vc-compare-button {\r\n color: #585858;\r\n z-index:9999;\r\n}\r\n.disabled-compare-button {\r\n color: #b6b6b6!important;\r\n background-color:#f6f6f6!important;\r\n}\r\n/*ICONS*/\r\n.field__icon {\r\n position: absolute;\r\n top: 10px;\r\n right: 1.125em;\r\n}\r\n\r\n.icon--lock {\r\n width: 12px;\r\n height: 14px;\r\n background-image: url('lock-dark.svg');\r\n background-image: url('lock-dark.svg'), none;\r\n}\r\n\r\n.icon--lock.field__icon {\r\n top: 15px;\r\n}\r\n\r\n.icon--question {\r\n width: 16px;\r\n height: 16px;\r\n top: 15px;\r\n}\r\n\r\n.icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none;\r\n}\r\n/*.main \r\n.sidebar .icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none\r\n}\r\n.content-box .icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none\r\n}\r\n.leaflet-popup-content .icon--question {\r\n background-image: url('question-dark.svg');\r\n background-image: url('question-dark.svg'), none\r\n}*/\r\n\r\n.field__icon:focus {\r\n outline: none;\r\n}\r\n\r\n.payment-icon {\r\n display: inline-block;\r\n right: 40px;\r\n width: 38px;\r\n height: 24px;\r\n -webkit-transition: opacity 0.5s cubic-bezier(0.3, 0, 0, 1);\r\n transition: opacity 0.5s cubic-bezier(0.3, 0, 0, 1);\r\n -webkit-backface-visibility: hidden;\r\n}\r\n\r\n.payment-name {\r\n visibility: hidden;\r\n}\r\n\r\n.blank-slate .payment-icon {\r\n vertical-align: middle;\r\n}\r\n\r\n.payment-icon--amazon {\r\n background-image: url('amazon.svg');\r\n background-image: url('amazon.svg'), none;\r\n}\r\n\r\n.payment-icon--american-express {\r\n background-image: url('american-express.svg');\r\n background-image: url('american-express.svg'), none;\r\n}\r\n\r\n.payment-icon--bitcoin {\r\n background-image: url('bitcoin.svg');\r\n background-image: url('bitcoin.svg'), none;\r\n}\r\n\r\n.payment-icon--bogus {\r\n background-image: url('bogus.svg');\r\n background-image: url('bogus.svg'), none;\r\n}\r\n\r\n.payment-icon--boleto {\r\n background-image: url('boleto.svg');\r\n background-image: url('boleto.svg'), none;\r\n}\r\n\r\n.payment-icon--cash {\r\n background-image: url('cash.svg');\r\n background-image: url('cash.svg'), none;\r\n}\r\n\r\n.payment-icon--dankort {\r\n background-image: url('dankort.svg');\r\n background-image: url('dankort.svg'), none;\r\n}\r\n\r\n.payment-icon--diners-club {\r\n background-image: url('diners-club.svg');\r\n background-image: url('diners-club.svg'), none;\r\n}\r\n\r\n.payment-icon--discover {\r\n background-image: url('discover.svg');\r\n background-image: url('discover.svg'), none;\r\n}\r\n\r\n.payment-icon--dogecoin {\r\n background-image: url('dogecoin.svg');\r\n background-image: url('dogecoin.svg'), none;\r\n}\r\n\r\n.payment-icon--litecoin {\r\n background-image: url('litecoin.svg');\r\n background-image: url('litecoin.svg'), none;\r\n}\r\n\r\n.payment-icon--forbrugsforeningen {\r\n background-image: url('forbrugsforeningen.svg');\r\n background-image: url('forbrugsforeningen.svg'), none;\r\n}\r\n\r\n.payment-icon--generic {\r\n background-image: url('generic.svg');\r\n background-image: url('generic.svg'), none;\r\n}\r\n\r\n.payment-icon--gift-card {\r\n background-image: url('gift-card-payment.svg');\r\n background-image: url('gift-card-payment.svg'), none;\r\n}\r\n\r\n.payment-icon--google-wallet {\r\n background-image: url('google-wallet-payment.svg');\r\n background-image: url('google-wallet-payment.svg'), none;\r\n}\r\n\r\n.payment-icon--jcb {\r\n background-image: url('jcb.svg');\r\n background-image: url('jcb.svg'), none;\r\n}\r\n\r\n.payment-icon--laser {\r\n background-image: url('laser.svg');\r\n background-image: url('laser.svg'), none;\r\n}\r\n\r\n.payment-icon--maestro {\r\n background-image: url('maestro.svg');\r\n background-image: url('maestro.svg'), none;\r\n}\r\n\r\n.payment-icon--master {\r\n background-image: url('master.svg');\r\n background-image: url('master.svg'), none;\r\n}\r\n\r\n.payment-icon--paypal {\r\n background-image: url('paypal.svg');\r\n background-image: url('paypal.svg'), none;\r\n}\r\n\r\n.payment-icon--sofort {\r\n background-image: url('sofort.svg');\r\n background-image: url('sofort.svg'), none;\r\n}\r\n\r\n.payment-icon--solo {\r\n background-image: url('solo.svg');\r\n background-image: url('solo.svg'), none;\r\n}\r\n\r\n.payment-icon--switch {\r\n background-image: url('switch.svg');\r\n background-image: url('switch.svg'), none;\r\n}\r\n\r\n.payment-icon--unionpay {\r\n background-image: url('unionpay.svg');\r\n background-image: url('unionpay.svg'), none;\r\n}\r\n\r\n.payment-icon--visa {\r\n background-image: url('visa.svg');\r\n background-image: url('visa.svg'), none;\r\n}\r\n\r\n.tooltip {\r\n box-sizing: border-box;\r\n position: absolute;\r\n bottom: 130%;\r\n left: 50%;\r\n width: 180px;\r\n margin: 0 0 5px -90px;\r\n padding: 0.75em 1em;\r\n border-radius: 4px;\r\n white-space: normal;\r\n font-size: 0.85714em;\r\n font-style: normal;\r\n text-align: center;\r\n color: #fff;\r\n display: none;\r\n z-index: 200;\r\n -webkit-transition: all 0.3s cubic-bezier(0.3, 0, 0, 1);\r\n transition: all 0.3s cubic-bezier(0.3, 0, 0, 1);\r\n -webkit-transform: rotateX(20deg) scale(0.8);\r\n transform: rotateX(20deg) scale(0.8);\r\n -webkit-transform-origin: center 120%;\r\n -ms-transform-origin: center 120%;\r\n transform-origin: center 120%;\r\n -webkit-backface-visibility: hidden;\r\n background-color: rgba(51, 51, 51, 0.9);\r\n visibility: hidden;\r\n opacity: 0;\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=\" 0 \")\";\r\n filter: alpha(opacity=0);\r\n}\r\n\r\n@media (min-width: 750px) {\r\n .tooltip {\r\n display: block;\r\n }\r\n}\r\n\r\n.tooltip:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 100%;\r\n left: 50%;\r\n margin-left: -6px;\r\n width: 0;\r\n border: 6px solid transparent;\r\n border-top-color: rgba(51, 51, 51, 0.9);\r\n}\r\n\r\n@media (min-width: 750px) {\r\n .has-tooltip:hover .tooltip,\r\n .has-tooltip:focus .tooltip {\r\n -webkit-transform: rotateX(0deg) scale(1);\r\n transform: rotateX(0deg) scale(1);\r\n pointer-events: auto;\r\n visibility: visible;\r\n opacity: 1;\r\n -ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=\" 100 \")\";\r\n filter: alpha(opacity=100);\r\n }\r\n}\r\n.flicker-animation {\r\n -webkit-animation: flicker 2s linear 2;\r\n animation: flicker 2s linear 2;\r\n}\r\n\r\n@-webkit-keyframes flicker {\r\n 0% {\r\n opacity: 0;\r\n }\r\n\r\n 15% {\r\n opacity: 0.25;\r\n }\r\n\r\n 25% {\r\n opacity: 0.5;\r\n }\r\n\r\n 40% {\r\n opacity: 0.75;\r\n }\r\n\r\n 50% {\r\n opacity: 1;\r\n }\r\n\r\n 60% {\r\n opacity: 0.75;\r\n }\r\n\r\n 75% {\r\n opacity: 0.5;\r\n }\r\n\r\n 85% {\r\n opacity: 0.25;\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes flicker {\r\n 0% {\r\n opacity: 0;\r\n }\r\n\r\n 15% {\r\n opacity: 0.25;\r\n }\r\n\r\n 25% {\r\n opacity: 0.5;\r\n }\r\n\r\n 40% {\r\n opacity: 0.75;\r\n }\r\n\r\n 50% {\r\n opacity: 1;\r\n }\r\n\r\n 60% {\r\n opacity: 0.75;\r\n }\r\n\r\n 75% {\r\n opacity: 0.5;\r\n }\r\n\r\n 85% {\r\n opacity: 0.25;\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.selectedTypeOfList:hover {\r\n background: #ecf7fc;\r\n cursor: pointer;\r\n}\r\n.selectedList {\r\n background: #d9effa;\r\n height: 90px;\r\n padding-top: 15px;\r\n position: relative;\r\n}\r\n\r\n.activeList {\r\n background: #d9effa;\r\n cursor: default !important;\r\n}\r\n\r\n.list-container {\r\n display: grid;\r\n position: relative;\r\n}\r\n.list-text-title {\r\n margin-left:30px;\r\n font-size: 22px;\r\n font-weight: 500;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n vertical-align: middle;\r\n}\r\n\r\n.list-modal-row-fix {\r\n padding-top: 0px;\r\n margin-top: 0px;\r\n}\r\n\r\n.list-text-descr {\r\n color: #999;\r\n margin-left: 30px;\r\n font-size: 14px;\r\n margin-bottom: 10px;\r\n}\r\n.list-text-descr-inList {\r\n margin-left: 450px;\r\n width: 180px;\r\n position: relative;\r\n top: -30px;\r\n color: black;\r\n font-weight: bold;\r\n opacity: 1;\r\n}\r\n\r\n.product-list-container {\r\n margin-top: -45px;\r\n position: relative;\r\n right: 93px;\r\n}\r\n\r\n.wishlist-remove {\r\n font-size: 13px;\r\n font-weight: 500;\r\n min-width: 10px;\r\n line-height: 1;\r\n position: relative;\r\n left: -30px;\r\n text-align: left;\r\n top: -40px;\r\n z-index: 2;\r\n}\r\n\r\n.product-list-name {\r\n cursor: pointer;\r\n word-break: break-word;\r\n width: 220px;\r\n height: 50px;\r\n padding-top: 8px;\r\n padding-left: 10px;\r\n font-size: 22px;\r\n margin-right: 10px;\r\n margin-bottom: 0px;\r\n line-height: 1.6;\r\n z-index: 999;\r\n font-family: 'HelveticaNeue','Helvetica Neue','Helvetica','Arial','sans-serif';\r\n color: #585858;\r\n border-bottom: 1px solid #ececec;\r\n}\r\n.product-list-modal-wrapper {\r\n position: relative;\r\n margin-top: -20px;\r\n}\r\n .product-list-modal-wrapper .product-list-modal-borders {\r\n margin-top: 0px !important;\r\n }\r\n .product-list-modal-wrapper .product-list-modal-titleShift {\r\n height: 90px;\r\n padding-top: 15px;\r\n position: relative;\r\n }\r\n.product-list-modal-added-toList {\r\n font-weight: bold;\r\n margin-bottom: 20px;\r\n margin-top: 10px;\r\n}\r\n.product-list-createdDate {\r\n position: relative;\r\n top: 30px;\r\n left: -78px;\r\n}\r\n\r\n.product-list-advanced {\r\n position: relative;\r\n font-size: larger;\r\n}\r\n\r\n.list-item-header {\r\n margin-top: -36px;\r\n margin-bottom: 20px;\r\n font-size: 23px;\r\n border-bottom: 1px solid #ececec;\r\n}\r\n.list-item-addToCartBtn {\r\n padding: 7px !important;\r\n}\r\n\r\n.list-table {\r\n border-collapse: separate !important;\r\n /*border-spacing: 10pt !important;*/\r\n}\r\n\r\n.vc-product-table td {\r\n border-right: 0 !important;\r\n border-left: 0 !important;\r\n}\r\n\r\n.vc-product-table tr {\r\n border: solid 5px white;\r\n border-radius: 12px !important;\r\n /*background-color: ghostwhite;*/\r\n border-bottom: 1px solid gray;\r\n}\r\n\r\n.vc-product-table td:first-child {\r\n border-top-left-radius: 10px;\r\n border-spacing: 5em;\r\n border-bottom-left-radius: 10px;\r\n /*border-color: ghostwhite;*/\r\n border-right: 0 !important;\r\n border-left: 0 !important;\r\n}\r\n\r\n/*.vc-product-table tr:hover {\r\n box-shadow: 0 0 4px rgba(0,0,0,0.5);\r\n z-index:9999;\r\n}*/\r\n.vc-product-table td:last-child {\r\n /*border-color: ghostwhite;*/\r\n border-top-right-radius: 10px;\r\n border-bottom-right-radius: 10px;\r\n /*background-color: ghostwhite;*/\r\n}\r\n\r\n.product-row td.list-item-price {\r\n font-size: 14px;\r\n padding: 0px 0 15px 15px;\r\n text-align: right;\r\n position: relative;\r\n /*bottom: 5px;*/\r\n}\r\n\r\n.btn-clearfix {\r\n margin: 3px 1px;\r\n}\r\n\r\n.list-icon-clearfix {\r\n width: 30px;\r\n margin-left: -6px;\r\n}\r\n\r\n.disabled {\r\n opacity: .6;\r\n pointer-events: none;\r\n}\r\n\r\n.btn-secondary-clearfix {\r\n margin: 0 !important;\r\n}\r\n\r\n.list-btn-alignment {\r\n width: 152.2px;\r\n position: relative;\r\n}\r\n\r\n@media (max-width: 980px) and (min-width: 200px) {\r\n .sidebar {\r\n position: relative;\r\n display: -webkit-inline-box;\r\n text-align: center;\r\n float: inherit;\r\n }\r\n .sidebar ul li.product-list-name {\r\n margin-right: 0px;\r\n }\r\n .hide-if-lowWidth {\r\n display: none;\r\n }\r\n}\r\n.list-item-oldPrice {\r\n color: #969696;\r\n font-size: 12px;\r\n text-decoration: line-through;\r\n}\r\n\r\n.list-table {\r\n position: relative;\r\n top: -40px;\r\n}\r\n\r\n.has-error {\r\n border-color: #a94442;\r\n -webkit-box-shadow: 0 0 5px #f39f9f;\r\n box-shadow: 0 0 5px #f39f9f;\r\n}\r\n\r\n.nav > li:hover {\r\n text-decoration: none;\r\n background-color: #eee;\r\n}\r\n\r\n.nav-pills > li.active, .nav-pills > li.active > a:focus, .nav-pills > li.active {\r\n color: #fff;\r\n border-radius: 4px;\r\n background-color: #337ab7;\r\n}\r\n.wish-list-row:nth-child(odd) {\r\n /*background-color: #f2f2f2;*/\r\n}\r\n\r\n.wish-list-row:nth-child(even) .value {\r\n background-color: #f2f2f2;\r\n}\r\n\r\n.wish-list-row:nth-child(even) .property-name {\r\n background-color: #f2f2f2;\r\n}\r\n\r\n.wish-list-row:hover {\r\n cursor: pointer;\r\n background-color: rgb(250, 250, 250);\r\n}\r\n\r\n.wish-list-cell.value {\r\n border: 1px solid #dcdcdc;\r\n}\r\n\r\n.lists-navBar-clearfix {\r\n margin-bottom: -34px;\r\n font-size: 15px;\r\n margin-top: -12px;\r\n right: 20px;\r\n position: absolute;\r\n}\r\n\r\n.lists-settings {\r\n cursor: pointer;\r\n float: right;\r\n}\r\n\r\n.lists-sideBar {\r\n padding-left: 0px !important;\r\n padding-top: 0px !important;\r\n text-align: left;\r\n}\r\n\r\n.lists-sideBar .lists-sideBar-content {\r\n cursor: pointer;\r\n display: flex;\r\n width: 170px;\r\n}\r\n\r\n.lists-sideBar .lists-sideBar-textAlign {\r\n text-align: left !important;\r\n}\r\n\r\n.lists-sideBar .lists-sideBar-content .lists-sideBar-globalIcon {\r\n padding-right: 8px;\r\n text-align: right;\r\n vertical-align: top;\r\n padding-top: 14px;\r\n float: right;\r\n margin-left: auto;\r\n}\r\n\r\n.lists-title-shareIcon {\r\n cursor: pointer;\r\n font-size: 14pt;\r\n padding-left: 15px;\r\n padding-top: 11px;\r\n}\r\n\r\n.lists-productsList-descr {\r\n height: 100%;\r\n padding-bottom: 30px !important;\r\n}\r\n\r\n.lists-productsList-descr .lists-productsList-descr-contentAllign {\r\n display: table;\r\n min-height: 70px\r\n}\r\n\r\n.lists-productsList-descr .lists-productsList-descr-title {\r\n top: 7px;\r\n display: table-cell;\r\n vertical-align: middle;\r\n}\r\n.lists-productsList-descr .lists-productsList-descr-modify {\r\n position: absolute;\r\n left: 1px;\r\n padding-top: 10px;\r\n}\r\n.lists-productsList-addAllToCart {\r\n position: absolute;\r\n bottom: 30px;\r\n right: 29px;\r\n}\r\n.lists-creationDialog-wrapper {\r\n opacity: 1;\r\n width: 600px !important;\r\n}\r\n.lists-creationDialog-closeButtonWrapper {\r\n position: relative;\r\n bottom: 15px;\r\n}\r\n.lists-creationDialog-closeButtonWrapper .lists-creationDialog-closeButtonClearFix {\r\n position: fixed;\r\n top: 5px;\r\n}\r\n.lists-creationDialog-wrapper .lists-creationDialog-inputWrapper {\r\n margin-left: -35px;\r\n}\r\n.lists-creationDialog-wrapper .lists-creationDialog-inputClearFix {\r\n height: 40px;\r\n margin-top: 20px;\r\n}\r\n.lists-creationDialog-wrapper .lists-creationDialog-checkboxWrapper {\r\n top: 26px;\r\n left: 30px;\r\n position: relative;\r\n vertical-align: bottom;\r\n font-size: 12pt;\r\n}\r\n\r\n.lists-creationDialog-wrapper .lists-creationDialog-checkboxClearfix {\r\n height: 15px;\r\n width: 15px;\r\n position: relative;\r\n}\r\n"]} \ No newline at end of file diff --git a/assets/static/bundle/scripts.js b/assets/static/bundle/scripts.js deleted file mode 100644 index 275fc4b2..00000000 --- a/assets/static/bundle/scripts.js +++ /dev/null @@ -1,4 +0,0 @@ -window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return"pfx"!=b||e}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return!1===d?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var v,y,e={},g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},t=[],u=t.slice,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))for(;d--;)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty;y=B(x,"undefined")||B(x.call,"undefined")?function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")}:function(a,b){return x.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if("function"!=typeof c)throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w(["@media (",m.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},q.csstransforms=function(){return!!F("transform")},q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=9===b.offsetLeft&&3===b.offsetHeight}),a},q.fontface=function(){var a;return w('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if("object"==typeof a)for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{if(a=a.toLowerCase(),e[a]!==c)return e;b="function"==typeof b?b():b,g.className+=" supports-"+(b?"":"no-")+a,e[a]=b}return e},z(""),i=null,e._version="2.8.2",e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+" supports-js supports-"+t.join(" supports-"),e}(this,this.document);var Interactor=function(config){this.__init__(config)};Interactor.prototype={__init__:function(config){var interactor=this;return interactor.interactions="boolean"!=typeof config.interactions||config.interactions,interactor.interactionElements=!0===Array.isArray(config.interactionElements)?config.interactionElements:["interaction"],interactor.interactionEvents=!0===Array.isArray(config.interactionEvents)?config.interactionEvents:["mouseup","touchend"],interactor.endpoint="string"==typeof config.endpoint?config.endpoint:"/interactions",interactor.async="boolean"!=typeof config.async||config.async,interactor.debug="boolean"!=typeof config.debug||config.debug,interactor.records=[],interactor.session={},interactor.loadTime=new Date,interactor.__initializeSession__(),interactor.__bindEvents__(),interactor},__bindEvents__:function(){var interactor=this;if(!0===interactor.interactions)for(var i=0;i=c?b.call():f.value=a(d)}var e=(new Date).getTime(),f={};return f.value=a(d),f},c=function(a,b){var c=Object.prototype.toString.call(b).slice(8,-1);return void 0!==b&&null!==b&&c===a},d=function(a){return Math.round(a)===a},e=function(a){a=a||{};for(var b=1;b1||!(!window.matchMedia||!window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5),(min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),(min-resolution: 1.5dppx)").matches)},m=function(a,b,c){a.style.webkitTransitionDuration=a.style.MozTransitionDuration=a.style.msTransitionDuration=a.style.OTransitionDuration=a.style.transitionDuration=c+"ms",a.style.webkitTransform=a.style.MozTransform=a.style.msTransform=a.style.OTransform="translateX("+b+"px)"},n=function(a){a.style.removeProperty("-webkit-transition-duration"),a.style.removeProperty("transition-duration"),a.style.removeProperty("-webkit-transform"),a.style.removeProperty("-ms-transform"),a.style.removeProperty("transform")},o=function(b){var c=b.time,d=+new Date+c,e=function(){var f=+new Date,g=d-f;if(60>g)return void b.run(1);var h=1-g/c;b.run(h),a(e)};e()},p=function(a,b){if(void 0===b&&(b=!0),!d(a.settings.height)){var c=Math.round(a._attributes.container.offsetHeight),e=c;if(a._attributes.aspectWidth&&a._attributes.aspectHeight)e=a._attributes.aspectHeight/a._attributes.aspectWidth*a._attributes.container.offsetWidth;else{var f=a._attributes.currentSlide.getAttribute("data-actual-width"),g=a._attributes.currentSlide.getAttribute("data-actual-height");f&&g&&(e=g/f*a._attributes.container.offsetWidth)}var h=parseInt(a.settings.maxHeight,10);h&&e>h&&(e=h),(e=Math.round(e))!==c&&(b?o({time:a.settings.transitionDuration,run:function(b){a._attributes.container.style.height=Math.round(b*(e-c)+c)+"px"}}):a._attributes.container.style.height=e+"px")}},q={vars:{start:{},delta:{},isScrolling:void 0,direction:null},start:function(a){if(!f(this._attributes.container,this.settings.classes.animating)){var b=a.touches[0];q.vars.start={x:b.pageX,y:b.pageY,time:+new Date},q.vars.delta={},q.vars.isScrolling=void 0,q.vars.direction=null,this.stop(),this.settings.beforeChange.apply(this),g(this._attributes.container,this.settings.classes.touching)}},move:function(a){if(!f(this._attributes.container,this.settings.classes.animating)&&!(a.touches.length>1||a.scale&&1!==a.scale)){var b=a.touches[0];q.vars.delta={x:b.pageX-q.vars.start.x,y:b.pageY-q.vars.start.y},void 0===q.vars.isScrolling&&(q.vars.isScrolling=!!(q.vars.isScrolling||Math.abs(q.vars.delta.x)20||Math.abs(q.vars.delta.x)>this._attributes.currentSlide.offsetWidth/2,e=q.vars.delta.x<0?"next":"previous",i=this.settings.transitionDuration?this.settings.transitionDuration/2:0;q.vars.isScrolling||(d?(q.vars.direction=e,"next"==q.vars.direction?(m(this._attributes.currentSlide,-this._attributes.currentSlide.offsetWidth,i),m(this._attributes.nextSlide,0,i)):(m(this._attributes.previousSlide,0,i),m(this._attributes.currentSlide,this._attributes.currentSlide.offsetWidth,i)),b(q.transitionEnd.bind(this),i)):"next"==e?(m(this._attributes.currentSlide,0,i),m(this._attributes.nextSlide,this._attributes.currentSlide.offsetWidth,i)):(m(this._attributes.previousSlide,-this._attributes.previousSlide.offsetWidth,i),m(this._attributes.currentSlide,0,i)),i&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),i)))}},transitionEnd:function(a){if(q.vars.direction){n(this._attributes.previousSlide),n(this._attributes.currentSlide),n(this._attributes.nextSlide),h(this._attributes.container,this.settings.classes.touching),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true");var b=this._attributes.slides,c=b.indexOf(this._attributes.currentSlide);"next"==q.vars.direction?(this._attributes.previousSlide=this._attributes.currentSlide,this._attributes.currentSlide=b[c+1],this._attributes.nextSlide=b[c+2],void 0===this._attributes.currentSlide&&void 0===this._attributes.nextSlide?(this._attributes.currentSlide=b[0],this._attributes.nextSlide=b[1]):void 0===this._attributes.nextSlide&&(this._attributes.nextSlide=b[0]),k(this._attributes.nextSlide)):(this._attributes.nextSlide=this._attributes.currentSlide,this._attributes.previousSlide=b[c-2],this._attributes.currentSlide=b[c-1],void 0===this._attributes.currentSlide&&void 0===this._attributes.previousSlide?(this._attributes.currentSlide=b[b.length-1],this._attributes.previousSlide=b[b.length-2]):void 0===this._attributes.previousSlide&&(this._attributes.previousSlide=b[b.length-1]),k(this._attributes.previousSlide)),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),p(this),this.settings.afterChange.apply(this)}}},r=function(a){this.settings={selector:"",height:"auto",initialHeight:400,maxHeight:null,interval:4e3,transitionDuration:700,effect:"slide",disableNav:!1,keyboardNav:!0,previousNavSelector:"",nextNavSelector:"",classes:{container:"ideal-image-slider",slide:"iis-slide",previousSlide:"iis-previous-slide",currentSlide:"iis-current-slide",nextSlide:"iis-next-slide",previousNav:"iis-previous-nav",nextNav:"iis-next-nav",animating:"iis-is-animating",touchEnabled:"iis-touch-enabled",touching:"iis-is-touching",directionPrevious:"iis-direction-previous",directionNext:"iis-direction-next"},onInit:function(){},onStart:function(){},onStop:function(){},onDestroy:function(){},beforeChange:function(){},afterChange:function(){}},"string"==typeof a?this.settings.selector=a:"object"==typeof a&&e(this.settings,a);var b=document.querySelector(this.settings.selector);if(!b)return null;var c=i(b.children),h=[];b.innerHTML="",Array.prototype.forEach.call(c,function(a,c){if(a instanceof HTMLImageElement||a instanceof HTMLAnchorElement){var d=document.createElement("a"),f="",i="";if(a instanceof HTMLAnchorElement){f=a.getAttribute("href"),i=a.getAttribute("target");var j=a.querySelector("img");if(null===j)return;a=j}void 0!==a.dataset?(e(d.dataset,a.dataset),a.dataset.src?d.dataset.src=a.dataset.src:d.dataset.src=a.src,l()&&a.dataset["src-2x"]&&(d.dataset.src=a.dataset["src-2x"])):a.getAttribute("data-src")?d.setAttribute("data-src",a.getAttribute("data-src")):d.setAttribute("data-src",a.getAttribute("src")),f&&d.setAttribute("href",f),i&&d.setAttribute("target",i),a.getAttribute("className")&&g(d,a.getAttribute("className")),a.getAttribute("id")&&d.setAttribute("id",a.getAttribute("id")),a.getAttribute("title")&&d.setAttribute("title",a.getAttribute("title")),a.getAttribute("alt")&&(d.innerHTML=a.getAttribute("alt")),d.setAttribute("role","tabpanel"),d.setAttribute("aria-hidden","true"),d.style.cssText+="-webkit-transition-duration:"+this.settings.transitionDuration+"ms;-moz-transition-duration:"+this.settings.transitionDuration+"ms;-o-transition-duration:"+this.settings.transitionDuration+"ms;transition-duration:"+this.settings.transitionDuration+"ms;",b.appendChild(d),h.push(d)}}.bind(this));var m=h;if(m.length<=1)return b.innerHTML="",Array.prototype.forEach.call(c,function(a,c){b.appendChild(a)}),null;if(!this.settings.disableNav){var n,o;this.settings.previousNavSelector?n=document.querySelector(this.settings.previousNavSelector):(n=document.createElement("a"),b.appendChild(n)),this.settings.nextNavSelector?o=document.querySelector(this.settings.nextNavSelector):(o=document.createElement("a"),b.appendChild(o)),g(n,this.settings.classes.previousNav),g(o,this.settings.classes.nextNav),j(n,"click",function(){return!f(this._attributes.container,this.settings.classes.animating)&&(this.stop(),void this.previousSlide())}.bind(this)),j(o,"click",function(){return!f(this._attributes.container,this.settings.classes.animating)&&(this.stop(),void this.nextSlide())}.bind(this)),("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)&&(this.settings.effect="slide",n.style.display="none",o.style.display="none",g(b,this.settings.classes.touchEnabled),j(b,"touchstart",q.start.bind(this)),j(b,"touchmove",q.move.bind(this)),j(b,"touchend",q.end.bind(this))),this.settings.keyboardNav&&j(document,"keyup",function(a){a=a||window.event;var b="number"==typeof a.which?a.which:a.keyCode;if(37==b){if(f(this._attributes.container,this.settings.classes.animating))return!1;this.stop(),this.previousSlide()}else if(39==b){if(f(this._attributes.container,this.settings.classes.animating))return!1;this.stop(),this.nextSlide()}}.bind(this))}if(this._attributes={container:b,slides:m,previousSlide:void 0!==m[m.length-1]?m[m.length-1]:m[0],currentSlide:m[0],nextSlide:void 0!==m[1]?m[1]:m[0],timerId:0,origChildren:c,aspectWidth:0,aspectHeight:0},d(this.settings.height))this._attributes.container.style.height=this.settings.height+"px";else{if(d(this.settings.initialHeight)&&(this._attributes.container.style.height=this.settings.initialHeight+"px"),this.settings.height.indexOf(":")>-1){var r=this.settings.height.split(":");2==r.length&&d(parseInt(r[0],10))&&d(parseInt(r[1],10))&&(this._attributes.aspectWidth=parseInt(r[0],10),this._attributes.aspectHeight=parseInt(r[1],10))}j(window,"resize",function(){p(this,!1)}.bind(this))}g(b,this.settings.classes.container),g(b,"iis-effect-"+this.settings.effect),Array.prototype.forEach.call(this._attributes.slides,function(a,b){g(a,this.settings.classes.slide)}.bind(this)),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),k(this._attributes.currentSlide,function(){this.settings.onInit.apply(this),p(this,!1)}.bind(this)),k(this._attributes.previousSlide),k(this._attributes.nextSlide)};return r.prototype.get=function(a){return this._attributes?this._attributes.hasOwnProperty(a)?this._attributes[a]:void 0:null},r.prototype.set=function(a,b){return this._attributes?this._attributes[a]=b:null},r.prototype.start=function(){this._attributes&&(this._attributes.timerId=setInterval(this.nextSlide.bind(this),this.settings.interval),this.settings.onStart.apply(this),window.onblur=function(){this.stop()}.bind(this))},r.prototype.stop=function(){this._attributes&&(clearInterval(this._attributes.timerId),this._attributes.timerId=0,this.settings.onStop.apply(this))},r.prototype.previousSlide=function(){this.settings.beforeChange.apply(this),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true");var a=this._attributes.slides,c=a.indexOf(this._attributes.currentSlide);this._attributes.nextSlide=this._attributes.currentSlide,this._attributes.previousSlide=a[c-2],this._attributes.currentSlide=a[c-1],void 0===this._attributes.currentSlide&&void 0===this._attributes.previousSlide?(this._attributes.currentSlide=a[a.length-1],this._attributes.previousSlide=a[a.length-2]):void 0===this._attributes.previousSlide&&(this._attributes.previousSlide=a[a.length-1]),k(this._attributes.previousSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),g(this._attributes.container,this.settings.classes.directionPrevious),b(function(){h(this._attributes.container,this.settings.classes.directionPrevious)}.bind(this),this.settings.transitionDuration),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.nextSlide=function(){this.settings.beforeChange.apply(this),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true");var a=this._attributes.slides,c=a.indexOf(this._attributes.currentSlide);this._attributes.previousSlide=this._attributes.currentSlide,this._attributes.currentSlide=a[c+1],this._attributes.nextSlide=a[c+2],void 0===this._attributes.currentSlide&&void 0===this._attributes.nextSlide?(this._attributes.currentSlide=a[0],this._attributes.nextSlide=a[1]):void 0===this._attributes.nextSlide&&(this._attributes.nextSlide=a[0]),k(this._attributes.nextSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),g(this._attributes.container,this.settings.classes.directionNext),b(function(){h(this._attributes.container,this.settings.classes.directionNext)}.bind(this),this.settings.transitionDuration),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.gotoSlide=function(a){this.settings.beforeChange.apply(this),this.stop(),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","true"),a--;var c=this._attributes.slides,d=c.indexOf(this._attributes.currentSlide);this._attributes.previousSlide=c[a-1],this._attributes.currentSlide=c[a],this._attributes.nextSlide=c[a+1],void 0===this._attributes.previousSlide&&(this._attributes.previousSlide=c[c.length-1]),void 0===this._attributes.nextSlide&&(this._attributes.nextSlide=c[0]),k(this._attributes.previousSlide),k(this._attributes.currentSlide),k(this._attributes.nextSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute("aria-hidden","false"),d>a?(g(this._attributes.container,this.settings.classes.directionPrevious),b(function(){h(this._attributes.container,this.settings.classes.directionPrevious)}.bind(this),this.settings.transitionDuration)):(g(this._attributes.container,this.settings.classes.directionNext),b(function(){h(this._attributes.container,this.settings.classes.directionNext)}.bind(this),this.settings.transitionDuration)),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.destroy=function(){clearInterval(this._attributes.timerId),this._attributes.timerId=0,this._attributes.container.innerHTML="",Array.prototype.forEach.call(this._attributes.origChildren,function(a,b){this._attributes.container.appendChild(a)}.bind(this)),h(this._attributes.container,this.settings.classes.container),h(this._attributes.container,"iis-effect-"+this.settings.effect),this._attributes.container.style.height="",this.settings.onDestroy.apply(this)},{_hasClass:f,_addClass:g,_removeClass:h,Slider:r}}();!function(IIS){"use strict";var _updateActiveBullet=function(slider,activeIndex){var bullets=slider._attributes.bulletNav.querySelectorAll("a");bullets&&Array.prototype.forEach.call(bullets,function(bullet,i){IIS._removeClass(bullet,"iis-bullet-active"),bullet.setAttribute("aria-selected","false"),i===activeIndex&&(IIS._addClass(bullet,"iis-bullet-active"),bullet.setAttribute("aria-selected","true"))}.bind(this))};IIS.Slider.prototype.addBulletNav=function(){IIS._addClass(this._attributes.container,"iis-has-bullet-nav");var bulletNav=document.createElement("div");IIS._addClass(bulletNav,"iis-bullet-nav"),bulletNav.setAttribute("role","tablist"),Array.prototype.forEach.call(this._attributes.slides,function(slide,i){var bullet=document.createElement("a");bullet.innerHTML=i+1,bullet.setAttribute("role","tab"),bullet.addEventListener("click",function(){if(IIS._hasClass(this._attributes.container,this.settings.classes.animating))return!1;this.stop(),this.gotoSlide(i+1)}.bind(this)),bulletNav.appendChild(bullet)}.bind(this)),this._attributes.bulletNav=bulletNav,this._attributes.container.appendChild(bulletNav),_updateActiveBullet(this,0);var origAfterChange=this.settings.afterChange,afterChange=function(){var slides=this._attributes.slides,index=slides.indexOf(this._attributes.currentSlide);return _updateActiveBullet(this,index),origAfterChange()}.bind(this);this.settings.afterChange=afterChange}}(IdealImageSlider),function(IIS){"use strict";IIS.Slider.prototype.addCaptions=function(){IIS._addClass(this._attributes.container,"iis-has-captions"),Array.prototype.forEach.call(this._attributes.slides,function(slide,i){var caption=document.createElement("div");IIS._addClass(caption,"iis-caption");var captionContent="";if(slide.getAttribute("title")&&(captionContent+='
'+slide.getAttribute("title")+"
"),slide.getAttribute("data-caption")){var dataCaption=slide.getAttribute("data-caption");if("#"==dataCaption.substring(0,1)||"."==dataCaption.substring(0,1)){var external=document.querySelector(dataCaption);external&&(captionContent+='
'+external.innerHTML+"
")}else captionContent+='
'+slide.getAttribute("data-caption")+"
"}else slide.innerHTML&&(captionContent+='
'+slide.innerHTML+"
");slide.innerHTML="",captionContent&&(caption.innerHTML=captionContent,slide.appendChild(caption))}.bind(this))}}(IdealImageSlider);var storefrontAppDependencies=["ui.bootstrap","ngStorage","pascalprecht.translate","ngSanitize"],storefrontApp=angular.module("storefrontApp",storefrontAppDependencies);storefrontApp.factory("httpErrorInterceptor",["$q","$rootScope",function($q,$rootScope){var httpErrorInterceptor={};return httpErrorInterceptor.responseError=function(rejection){return rejection.data&&rejection.data.message&&$rootScope.$broadcast("storefrontError",{type:"error",title:[rejection.config.method,rejection.config.url,rejection.status,rejection.statusText,rejection.data.message].join(" "),message:rejection.data.stackTrace}),$q.reject(rejection)},httpErrorInterceptor.requestError=function(rejection){return rejection.data&&rejection.data.message&&$rootScope.$broadcast("storefrontError",{type:"error",title:[rejection.config.method,rejection.config.url,rejection.status,rejection.statusText,rejection.data.message].join(" "),message:rejection.data.stackTrace}),$q.reject(rejection)},httpErrorInterceptor}]),storefrontApp.config(["$httpProvider","$translateProvider",function($httpProvider,$translateProvider){$httpProvider.interceptors.push("httpErrorInterceptor"),$translateProvider.useSanitizeValueStrategy("sanitizeParameters"),$translateProvider.useUrlLoader(BASE_URL+"themes/localization.json"),$translateProvider.preferredLanguage("en")}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("bulkOrderController",["$scope",function($scope){$scope.atLeastOneNotEmpty=function(){var bulkOrder=$scope.bulkOrder;$scope.skuRowsIsEmpty=!0,angular.isDefined(bulkOrder)&&angular.forEach(bulkOrder.skuRows,function(rows){angular.forEach(rows,function(row){row.length>0&&($scope.skuRowsIsEmpty=!1)})})}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("cartController",["$rootScope","$scope","$timeout","cartService","catalogService",function($rootScope,$scope,$timeout,cartService,catalogService){function getCart(){$scope.cartIsUpdating=!0,cartService.getCart().then(function(response){var cart=response.data;cart.hasValidationErrors=_.some(cart.validationErrors)||_.some(cart.items,function(item){return _.some(item.validationErrors)}),$scope.cart=cart,$scope.cartIsUpdating=!1},function(response){$scope.cartIsUpdating=!1})}var timer;!function(){getCart()}(),$scope.setCartForm=function(form){$scope.formCart=form},$scope.changeLineItemQuantity=function(lineItemId,quantity){var lineItem=_.find($scope.cart.items,function(i){return i.id==lineItemId});if(!(!lineItem||quantity<1||$scope.cartIsUpdating||$scope.formCart.$invalid)){var initialQuantity=lineItem.quantity;lineItem.quantity=quantity,$timeout.cancel(timer),timer=$timeout(function(){$scope.cartIsUpdating=!0,cartService.changeLineItemQuantity(lineItemId,quantity).then(function(response){getCart(),$rootScope.$broadcast("cartItemsChanged")},function(response){lineItem.quantity=initialQuantity,$scope.cartIsUpdating=!1})},300)}},$scope.changeLineItemPrice=function(lineItemId,newPrice){_.find($scope.cart.items,function(i){return i.id==lineItemId})&&!$scope.cartIsUpdating&&($scope.cartIsUpdating=!0,cartService.changeLineItemPrice(lineItemId,newPrice).then(function(response){getCart(),$rootScope.$broadcast("cartItemsChanged")},function(response){$scope.cart.items=initialItems,$scope.cartIsUpdating=!1}))},$scope.removeLineItem=function(lineItemId){var lineItem=_.find($scope.cart.items,function(i){return i.id==lineItemId});if(lineItem&&!$scope.cartIsUpdating){$scope.cartIsUpdating=!0;var initialItems=angular.copy($scope.cart.items);$scope.recentCartItemModalVisible=!1,$scope.cart.items=_.without($scope.cart.items,lineItem),cartService.removeLineItem(lineItemId).then(function(response){getCart(),$rootScope.$broadcast("cartItemsChanged")},function(response){$scope.cart.items=initialItems,$scope.cartIsUpdating=!1})}},$scope.submitCart=function(){$scope.formCart.$setSubmitted(),$scope.formCart.$invalid||cartService.updateCartComment($scope.cart.comment).then(function(resp){$scope.outerRedirect($scope.baseUrl+"cart/checkout")})},$scope.searchProduct=function(){$scope.productSearchResult=null,$scope.productSkuOrName&&($timeout.cancel(timer),timer=$timeout(function(){$scope.productSearchProcessing=!0;var criteria={keyword:$scope.productSkuOrName,start:0,pageSize:5};catalogService.search(criteria).then(function(response){$scope.productSearchProcessing=!1,$scope.productSearchResult=response.data.products},function(response){$scope.productSearchProcessing=!1})},300))},$scope.selectSearchedProduct=function(product){$scope.productSearchResult=null,$scope.selectedSearchedProduct=product,$scope.productSkuOrName=product.name},$scope.addProductToCart=function(product,quantity){$scope.cartIsUpdating=!0,cartService.addLineItem(product.id,quantity).then(function(response){getCart(),$scope.productSkuOrName=null,$scope.selectedSearchedProduct=null,$rootScope.$broadcast("cartItemsChanged")})}}]),storefrontApp.controller("cartBarController",["$scope","cartService",function($scope,cartService){function getCartItemsCount(){cartService.getCartItemsCount().then(function(response){$scope.cartItemsCount=response.data})}getCartItemsCount(),$scope.$on("cartItemsChanged",function(event,data){getCartItemsCount()})}]), -storefrontApp.controller("recentlyAddedCartItemDialogController",["$scope","$window","$uibModalInstance","dialogData",function($scope,$window,$uibModalInstance,dialogData){$scope.$on("cartItemsChanged",function(event,data){dialogData.updated=!0}),$scope.dialogData=dialogData,$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.directive("vcContentPlace",["$compile","marketingService",function($compile,marketingService){return{restrict:"E",link:function(scope,element,attrs){marketingService.getDynamicContent(attrs.id).then(function(response){element.html($compile(response.data)(scope))})},replace:!0}}]),storefrontApp.directive("fallbackSrc",function(){return{link:function(scope,element,attrs){function errorHandler(event){element.attr("src")!==attrs.fallbackSrc?element.attr("src",attrs.fallbackSrc):element.off(event)}element.on("error",errorHandler),scope.$on("$destroy",function(){element.off("error",errorHandler)})}}});var storefrontApp=angular.module("storefrontApp");storefrontApp.filter("imgurl",function(){return function(input,type){if(!type)return input;var extention="."+input.split(".").pop(),suffix="_"+type;return input.replace(extention,suffix+extention)}});var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("mainController",["$scope","$location","$window","customerService","storefrontApp.mainContext",function($scope,$location,$window,customerService,mainContext){$scope.baseUrl={},$scope.$watch(function(){$scope.currentPath=$location.$$path.replace("/","")}),$scope.$on("storefrontError",function(event,data){$scope.storefrontNotification=data,$scope.storefrontNotification.detailsVisible=!1}),$scope.toggleNotificationDetails=function(){$scope.storefrontNotification.detailsVisible=!$scope.storefrontNotification.detailsVisible},$scope.closeNotification=function(){$scope.storefrontNotification=null},$scope.outerRedirect=function(absUrl){$window.location.href=absUrl},$scope.innerRedirect=function(path){$location.path(path),$scope.currentPath=$location.$$path.replace("/","")},$scope.stringifyAddress=function(address){var stringifiedAddress=address.firstName+" "+address.lastName+", ";return stringifiedAddress+=address.organization?address.organization+", ":"",stringifiedAddress+=address.countryName+", ",stringifiedAddress+=address.regionName?address.regionName+", ":"",stringifiedAddress+=address.city+" ",stringifiedAddress+=address.line1+", ",stringifiedAddress+=address.line2?address.line2:"",stringifiedAddress+=address.postalCode},$scope.getObjectSize=function(obj){var key,size=0;for(key in obj)obj.hasOwnProperty(key)&&size++;return size},mainContext.getCustomer=$scope.getCustomer=function(){customerService.getCurrentCustomer().then(function(response){response.data.addresses||(response.data.addresses=[]);var addressId=1;_.each(response.data.addresses,function(address){address.id=addressId,addressId++}),response.data.isContact="Contact"===response.data.memberType,mainContext.customer=$scope.customer=response.data})},$scope.getCustomer()}]).factory("storefrontApp.mainContext",function(){return{}});var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("orderController",["$scope","$window","orderService",function($scope,$window,orderService){!function(orderNumber){orderService.getOrder(orderNumber).then(function(response){response&&response.data&&($scope.order=response.data)})}($window.orderNumber)}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("productListController",["$scope","$window","pricingService",function($scope,$window,pricingService){$scope.productListPricesLoaded=!1,$scope.productListPrices=[],pricingService.getActualProductPrices($window.productList).then(function(response){var prices=response.data;if(prices.length)for(var i=0;i0})}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("productController",["$rootScope","$scope","$window","dialogService","catalogService","cartService","quoteRequestService","customerService","listService","$localStorage",function($rootScope,$scope,$window,dialogService,catalogService,cartService,quoteRequestService,customerService,listService,$localStorage){function toDialogDataModel(product,quantity){return{imageUrl:product.primaryImage?product.primaryImage.url:null,listPrice:product.price.listPrice,id:product.id,listPriceWithTax:product.price.listPriceWithTax,name:product.name,placedPrice:product.price.actualPrice,placedPriceWithTax:product.price.actualPriceWithTax,quantity:quantity,updated:!1}}function getFlatternDistinctPropertiesMap(variations){var retVal={};return _.each(variations,function(variation){var propertyMap=getVariationPropertyMap(variation);_.each(_.keys(propertyMap),function(x){retVal[x]=_.uniq(_.union(retVal[x],propertyMap[x]),"value")})}),retVal}function getVariationPropertyMap(variation){return _.groupBy(variation.variationProperties,function(x){return x.displayName})}function getSelectedPropsMap(variationPropsMap){var retVal={};return _.each(_.keys(variationPropsMap),function(x){var property=_.find(variationPropsMap[x],function(y){return y.selected});property&&(retVal[x]=[property])}),retVal}function comparePropertyMaps(propMap1,propMap2){return _.every(_.keys(propMap1),function(x){var retVal=propMap2.hasOwnProperty(x);return retVal&&(retVal=propMap1[x][0].value==propMap2[x][0].value),retVal})}function findVariationBySelectedProps(variations,selectedPropMap){return _.find(variations,function(x){return comparePropertyMaps(getVariationPropertyMap(x),selectedPropMap)})}var allVariations=[];$scope.selectedVariation={},$scope.allVariationPropsMap={},$scope.productPrice=null,$scope.productPriceLoaded=!1,$scope.addToWishlistDisabled=!1,$scope.availableLists=null,$scope.listType=null,$scope.addProductToCart=function(product,quantity){var dialogData=toDialogDataModel(product,quantity);dialogService.showDialog(dialogData,"recentlyAddedCartItemDialogController","storefront.recently-added-cart-item-dialog.tpl"),cartService.addLineItem(product.id,quantity).then(function(response){$rootScope.$broadcast("cartItemsChanged")})},$scope.addProductToCartById=function(productId,quantity,event){event.preventDefault(),catalogService.getProduct([productId]).then(function(response){if(response.data&&response.data.length){var product=response.data[0];$scope.addProductToCart(product,quantity)}})},$scope.addProductToWishlist=function(product){var dialogData=toDialogDataModel(product,1);dialogData.listType=$scope.listType,dialogService.showDialog(dialogData,"recentlyAddedListItemDialogController","storefront.recently-added-list-item-dialog.tpl")},$scope.addProductToActualQuoteRequest=function(product,quantity){var dialogData=toDialogDataModel(product,quantity);dialogService.showDialog(dialogData,"recentlyAddedActualQuoteRequestItemDialogController","storefront.recently-added-actual-quote-request-item-dialog.tpl"),quoteRequestService.addProductToQuoteRequest(product.id,quantity).then(function(response){$rootScope.$broadcast("actualQuoteRequestItemsChanged")})},$scope.initAvailableLists=function(lists){$scope.listType=lists.default_list_type},$scope.checkProperty=function(property){_.each($scope.allVariationPropsMap[property.displayName],function(x){x.selected=x==property&&!x.selected}),$scope.selectedVariation=findVariationBySelectedProps(allVariations,getSelectedPropsMap($scope.allVariationPropsMap))},function(){var productIds=_.map($window.products,function(product){return product.id});productIds&&productIds.length&&catalogService.getProduct(productIds).then(function(response){var product=response.data[0];allVariations=[product].concat(product.variations||[]),$scope.allVariationPropsMap=getFlatternDistinctPropertiesMap(allVariations);var propertyMap=getVariationPropertyMap(product);_.each(_.keys(propertyMap),function(x){$scope.checkProperty(propertyMap[x][0])}),$scope.selectedVariation=product})}()}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("quoteRequestController",["$rootScope","$scope","$window","$location","quoteRequestService","cartService",function($rootScope,$scope,$window,$location,quoteRequestService,cartService){function getQuoteRequest(number){quoteRequestService.getQuoteRequest(number).then(function(response){var quoteRequest=response.data;quoteRequest.billingAddress||($scope.customer.addresses&&$scope.customer.addresses.length?(quoteRequest.billingAddress=angular.copy($scope.customer.addresses[0]),quoteRequest.billingAddress.type="Billing",quoteRequest.billingAddress.countryCode&&getCountryRegions("Billing",quoteRequest.billingAddress.countryCode)):quoteRequest.billingAddress={firstName:$scope.customer.firstName,lastName:$scope.customer.lastName}),_.each(quoteRequest.items,function(quoteItem){var i=1;_.each(quoteItem.proposalPrices,function(tierPrice){tierPrice.id=i,quoteItem.selectedTierPrice.quantity==tierPrice.quantity&&(quoteItem.selectedTierPrice=tierPrice),i++})}),quoteRequest.requestShippingQuote=!0,$scope.quoteRequest=quoteRequest})}function getCountries(){cartService.getCountries().then(function(response){$scope.countries=response.data})}function getCountryRegions(addressType,countryCode){cartService.getCountryRegions(countryCode).then(function(response){var countryRegions=response.data;"Billing"==addressType&&($scope.billingCountryRegions=countryRegions||[]),"Shipping"==addressType&&($scope.shippingCountryRegions=countryRegions||[])})}function toFormModel(quoteRequest){var quoteRequestFormModel={id:quoteRequest.id,tag:quoteRequest.tag,status:quoteRequest.status,comment:quoteRequest.comment,billingAddress:quoteRequest.billingAddress,shippingAddress:quoteRequest.shippingAddress,items:[]};return _.each(quoteRequest.items,function(quoteItem){var quoteItemFormModel={id:quoteItem.id,comment:quoteItem.comment,selectedTierPrice:{price:quoteItem.selectedTierPrice.price.amount,quantity:quoteItem.selectedTierPrice.quantity},proposalPrices:[]};_.each(quoteItem.proposalPrices,function(tierPrice){quoteItemFormModel.proposalPrices.push({price:tierPrice.price.amount,quantity:tierPrice.quantity})}),quoteRequestFormModel.items.push(quoteItemFormModel)}),quoteRequestFormModel}!function(){var quoteRequestNumber=$location.url().replace("/","")||$window.currentQuoteRequestNumber;$scope.billingCountry=null,$scope.shippingCountry=null,getCountries(),quoteRequestNumber?getQuoteRequest(quoteRequestNumber):$scope.quoteRequest={itemsCount:0}}(),$scope.setQuoteRequestForm=function(form){$scope.formQuoteRequest=form},$scope.displayForStatuses=function(statuses){return _.contains(statuses,$scope.quoteRequest.status)},$scope.addTierPrice=function(quoteItem){quoteItem.proposalPrices.push({id:quoteItem.proposalPrices.length+1,price:quoteItem.salePrice,quantity:1})},$scope.changeTierPriceQuantity=function(tierPrice,quantity){quantity<1||quantity.isNaN||(tierPrice.quantity=quantity)},$scope.removeTierPrice=function(quoteItem,tierPrice){quoteItem.proposalPrices=_.without(quoteItem.proposalPrices,tierPrice)},$scope.removeProductFromQuoteRequest=function(quoteItem){var initialQuoteItems=angular.copy($scope.quoteRequest.items);$scope.quoteRequest.items=_.without($scope.quoteRequest.items,quoteItem),quoteRequestService.removeProductFromQuoteRequest($scope.quoteRequest.id,quoteItem.id).then(function(response){getQuoteRequest($scope.quoteRequest.id),$rootScope.$broadcast("actualQuoteRequestItemsChanged")},function(response){$scope.quoteRequest.items=initialQuoteItems})},$scope.setCountry=function(addressType,countryName){var country=_.find($scope.countries,function(c){return c.name==countryName});country&&("Billing"==addressType&&($scope.billingCountry=country,$scope.billingCountryRegions=[],$scope.quoteRequest.billingAddress.countryCode=country.code3||country.code2,$scope.quoteRequest.billingAddress.regionId=null,$scope.quoteRequest.billingAddress.regionName=null),"Shipping"==addressType&&($scope.shippingCountry=country,$scope.shippingCountryRegions=[],$scope.quoteRequest.shippingAddress.countryCode=country.code3||country.code2,$scope.quoteRequest.shippingAddress.regionId=null,$scope.quoteRequest.shippingAddress.regionName=null),country.code3&&getCountryRegions(addressType,country.code3))},$scope.setCountryRegion=function(addressType){if("Billing"==addressType){var countryRegion=_.find($scope.billingCountryRegions,function(r){return r.name==$scope.quoteRequest.billingAddress.regionName});if(!countryRegion)return;$scope.quoteRequest.billingAddress.regionId=countryRegion.code}if("Shipping"==addressType){var countryRegion=_.find($scope.shippingCountryRegions,function(r){return r.name==$scope.quoteRequest.shippingAddress.regionName});if(!countryRegion)return;$scope.quoteRequest.shippingAddress.regionId=countryRegion.code}},$scope.selectCustomerAddress=function(addressType){if("Billing"===addressType){var billingAddress=_.find($scope.customer.addresses,function(a){return a.id===$scope.quoteRequest.billingAddress.id});billingAddress&&(billingAddress.type="Billing",billingAddress.countryCode&&getCountryRegions("Billing",billingAddress.countryCode),$scope.quoteRequest.billingAddress=angular.copy(billingAddress))}if("Shipping"===addressType){var shippingAddress=_.find($scope.customer.addresses,function(a){return a.id===$scope.quoteRequest.shippingAddress.id});shippingAddress&&(shippingAddress.type="Shipping",shippingAddress.countryCode&&getCountryRegions("Shipping",shippingAddress.countryCode),$scope.quoteRequest.shippingAddress=angular.copy(shippingAddress))}},$scope.stringifyAddress=function(address){if(address){var stringifiedAddress=address.firstName+" "+address.lastName+", ";return stringifiedAddress+=address.organization?address.organization+", ":"",stringifiedAddress+=address.countryName+", ",stringifiedAddress+=address.regionName?address.regionName+", ":"",stringifiedAddress+=address.city+" ",stringifiedAddress+=address.line1+", ",stringifiedAddress+=address.line2?address.line2:"",stringifiedAddress+=address.postalCode}},$scope.submitQuoteRequest=function(){$scope.formQuoteRequest.$setSubmitted(),$scope.formQuoteRequest.$invalid||($scope.quoteRequest.billingAddress.email=$scope.quoteRequest.email,$scope.quoteRequest.shippingAddress&&($scope.quoteRequest.shippingAddress.email=$scope.quoteRequest.email),quoteRequestService.submitQuoteRequest($scope.quoteRequest.id,toFormModel($scope.quoteRequest)).then(function(response){$scope.customer.isRegisteredUser?$scope.outerRedirect($scope.baseUrl+"account/quoterequests"):$scope.outerRedirect($scope.baseUrl+"account/login")}))},$scope.rejectQuoteRequest=function(){quoteRequestService.rejectQuoteRequest($scope.quoteRequest.id).then(function(response){quoteRequestService.getQuoteRequest($scope.quoteRequest.id).then(function(response){$scope.quoteRequest=response.data})})},$scope.selectTierPrice=function(){quoteRequestService.getTotals($scope.quoteRequest.id,toFormModel($scope.quoteRequest)).then(function(response){$scope.quoteRequest.totals=response.data})},$scope.confirmQuoteRequest=function(){quoteRequestService.confirmQuoteRequest($scope.quoteRequest.id,toFormModel($scope.quoteRequest)).then(function(response){$scope.outerRedirect($scope.baseUrl+"cart/checkout/#/shipping-address")})},$scope.setRequestShippingQuote=function(){$scope.quoteRequest.requestShippingQuote||($scope.quoteRequest.shippingAddress=null)},$scope.setShippingAddressEqualsBilling=function(){$scope.quoteRequest.shippingAddressEqualsBilling&&($scope.quoteRequest.shippingAddress=angular.copy($scope.quoteRequest.billingAddress),$scope.quoteRequest.shippingAddress.type="Shipping",$scope.quoteRequest.shippingAddress.countryCode&&($scope.shippingCountry=$scope.billingCountry,getCountryRegions("Shipping",$scope.quoteRequest.shippingAddress.countryCode)))},$scope.tierPricesUnique=function(quoteItem){var quantities=_.map(quoteItem.proposalPrices,function(p){return p.quantity});return _.uniq(quantities).length==quoteItem.proposalPrices.length}}]),storefrontApp.controller("actualQuoteRequestBarController",["$scope","quoteRequestService",function($scope,quoteRequestService){function getCurrentQuoteRequest(){quoteRequestService.getCurrentQuoteRequest().then(function(response){$scope.actualQuoteRequest=response.data})}getCurrentQuoteRequest(),$scope.$on("actualQuoteRequestItemsChanged",function(event,data){getCurrentQuoteRequest()})}]),storefrontApp.controller("recentlyAddedActualQuoteRequestItemDialogController",["$scope","$window","$uibModalInstance","dialogData",function($scope,$window,$uibModalInstance,dialogData){$scope.$on("actualQuoteRequestItemsChanged",function(event,data){dialogData.updated=!0}),$scope.dialogData=dialogData,$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("recommendationsController",["$scope","$timeout","recommendationService",function($scope,$timeout,recommendationService){$scope.isBlockVisible=!1,$scope.productListRecommendationsLoaded=!1,$scope.productListRecommendations=[],$scope.getRecommendations=function(evalContext){if(_.isString(evalContext.productIds))if(evalContext.productIds.match(",")){var values=evalContext.productIds.split(",");evalContext.productIds=values}else evalContext.productIds=[evalContext.productIds];recommendationService.getRecommendedProducts(evalContext).then(function(response){var products=response.data;if(products.length){for(var i=0;i0}$scope.productListRecommendationsLoaded=!0})},$scope.startRecordInteraction=function(){$timeout(function(){window.startRecordInteraction()})}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("searchBarController",["$scope","$timeout","$window","catalogService",function($scope,$timeout,$window,catalogService){var timer;$scope.query=$window.searchQuery,$scope.getSuggestions=function(){$scope.query&&($timeout.cancel(timer),timer=$timeout(function(){$scope.searching=!0,$scope.categorySuggestions=[],$scope.productSuggestions=[];var searchCriteria={keyword:$scope.query,start:0,pageSize:$window.suggestionsLimit};catalogService.searchCategories(searchCriteria).then(function(response){var categories=response.data.categories;categories.length>5?(searchCriteria.pageSize=$window.suggestionsLimit-5,$scope.categorySuggestions=_.first(categories,5)):(searchCriteria.pageSize=$window.suggestionsLimit-categories.length,$scope.categorySuggestions=categories),catalogService.search(searchCriteria).then(function(response){var products=response.data.products;$scope.productSuggestions=products,$scope.searching=!1})})},300))}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.service("dialogService",["$uibModal",function($uibModal){return{showDialog:function(dialogData,controller,templateUrl,onClosed){return $uibModal.open({controller:controller,templateUrl:templateUrl,resolve:{dialogData:function(){return dialogData}}}).result.then(function(result){onClosed&&onClosed(result)})}}}]),storefrontApp.service("feedbackService",["$http",function($http){return{postFeedback:function(data){return $http.post("storefrontapi/feedback",data)}}}]),storefrontApp.service("customerService",["$http",function($http){return{getCurrentCustomer:function(){return $http.get("storefrontapi/account?t="+(new Date).getTime())}}}]),storefrontApp.service("marketingService",["$http",function($http){return{getDynamicContent:function(placeName){return $http.get("storefrontapi/marketing/dynamiccontent/"+placeName+"?t="+(new Date).getTime())}}}]),storefrontApp.service("pricingService",["$http",function($http){return{getActualProductPrices:function(products){return $http.post("storefrontapi/pricing/actualprices",products)}}}]),storefrontApp.service("compareProductService",["$http","$localStorage",function($http,$localStorage){return{isInProductCompareList:function(productId){return!!_.some($localStorage.productCompareListIds,function(id){return id===productId})},addProduct:function(productId){$localStorage.productCompareListIds||($localStorage.productCompareListIds=[]),$localStorage.productCompareListIds.push(productId),_.uniq($localStorage.productCompareListIds)},getProductsIds:function(){if(!$localStorage.productCompareListIds)return void($localStorage.productCompareListIds=[]);var ids=[];for(i=0;i<$localStorage.productCompareListIds.length;i++)ids.push("productIds="+$localStorage.productCompareListIds[i]);return ids.join("&")},getProductsCount:function(){return $localStorage.productCompareListIds?$localStorage.productCompareListIds.length:0},clearComapreList:function(){$localStorage.productCompareListIds=[]},removeProduct:function(productId){$localStorage.productCompareListIds=_.without($localStorage.productCompareListIds,productId)}}}]),storefrontApp.service("catalogService",["$http",function($http,$localStorage){return{getProduct:function(productIds){return $http.get("storefrontapi/products?productIds="+productIds+"&t="+(new Date).getTime())},getProducts:function(productIds){return $http.get("storefrontapi/products?"+productIds+"&t="+(new Date).getTime())},search:function(criteria){return $http.post("storefrontapi/catalog/search",criteria)},searchCategories:function(criteria){return $http.post("storefrontapi/categories/search",criteria)}}}]),storefrontApp.service("cartService",["$http",function($http){return{getCart:function(){return $http.get("storefrontapi/cart?t="+(new Date).getTime())},getCartItemsCount:function(){return $http.get("storefrontapi/cart/itemscount?t="+(new Date).getTime())},addLineItem:function(productId,quantity){return $http.post("storefrontapi/cart/items",{id:productId,quantity:quantity})},changeLineItemQuantity:function(lineItemId,quantity){return $http.put("storefrontapi/cart/items",{lineItemId:lineItemId,quantity:quantity})},removeLineItem:function(lineItemId){return $http.delete("storefrontapi/cart/items?lineItemId="+lineItemId)},changeLineItemPrice:function(lineItemId,newPrice){return $http.put("storefrontapi/cart/items/price",{lineItemId:lineItemId,newPrice:newPrice})},clearCart:function(){return $http.post("storefrontapi/cart/clear")},getCountries:function(){return $http.get("storefrontapi/countries?t="+(new Date).getTime())},getCountryRegions:function(countryCode){return $http.get("storefrontapi/countries/"+countryCode+"/regions?t="+(new Date).getTime())},addCoupon:function(couponCode){return $http.post("storefrontapi/cart/coupons/"+couponCode)},removeCoupon:function(couponCode){return $http.delete("storefrontapi/cart/coupons?couponCode="+couponCode)},validateCoupon:function(coupon){return $http.post("storefrontapi/cart/coupons/validate",coupon)},addOrUpdateShipment:function(shipment){return $http.post("storefrontapi/cart/shipments",shipment)},addOrUpdatePayment:function(payment){return $http.post("storefrontapi/cart/payments",payment)},getAvailableShippingMethods:function(shipmentId){return $http.get("storefrontapi/cart/shipments/"+shipmentId+"/shippingmethods?t="+(new Date).getTime())},getAvailablePaymentMethods:function(){return $http.get("storefrontapi/cart/paymentmethods?t="+(new Date).getTime())},addOrUpdatePaymentPlan:function(plan){return $http.post("storefrontapi/cart/paymentPlan",plan)},removePaymentPlan:function(){return $http.delete("storefrontapi/cart/paymentPlan")},createOrder:function(bankCardInfo){return $http.post("storefrontapi/cart/createorder",bankCardInfo)},updateCartComment:function(cartComment){return $http.put("storefrontapi/cart/comment",{comment:cartComment})}}}]),storefrontApp.service("listService",["$http",function($http){return{getWishlist:function(listName,type){return $http.get("storefrontapi/lists/"+listName+"/"+type+"?t="+(new Date).getTime())},getListsWithProduct:function(productId,listNames,type){return $http.post("storefrontapi/lists/getlistswithproduct",{productId:productId,listNames:listNames,type:type})},addLineItem:function(productId,listName,type){return $http.post("storefrontapi/lists/items",{productId:productId,listName:listName,type:type})},removeLineItem:function(lineItemId,listName,type){return $http.delete("storefrontapi/lists/"+listName+"/"+type+"/items/"+lineItemId)},searchLists:function(searchCriteria){return $http.post("storefrontapi/lists/search",searchCriteria)},createList:function(listName,type){return $http.post("storefrontapi/lists/"+listName+"/"+type+"/create")},deleteListsByIds:function(listIds){return $http.delete("storefrontapi/lists/deletelistsbyids?listIds="+listIds.join("&listIds="))},mergeWithCurrentCart:function(listName,type){return $http.post("storefrontapi/lists/"+listName+"/"+type+"/mergewithcurrentcart")}}}]),storefrontApp.service("quoteRequestService",["$http",function($http){return{getCurrentQuoteRequest:function(){return $http.get("storefrontapi/quoterequest/current?t="+(new Date).getTime())},getQuoteRequest:function(number){return $http.get("storefrontapi/quoterequests/"+number+"?t="+(new Date).getTime())},getQuoteRequestItemsCount:function(number){return $http.get("storefrontapi/quoterequests/"+number+"/itemscount?t="+(new Date).getTime())},addProductToQuoteRequest:function(productId,quantity){return $http.post("storefrontapi/quoterequests/current/items",{productId:productId,quantity:quantity})},removeProductFromQuoteRequest:function(quoteRequestNumber,quoteItemId){return $http.delete("storefrontapi/quoterequests/"+quoteRequestNumber+"/items/"+quoteItemId)},submitQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/submit",quoteRequest)},rejectQuoteRequest:function(quoteRequestNumber){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/reject")},updateQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.put("storefrontapi/quoterequests/"+quoteRequestNumber+"/update",quoteRequest)},getTotals:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/totals",quoteRequest)},confirmQuoteRequest:function(quoteRequestNumber,quoteRequest){return $http.post("storefrontapi/quoterequests/"+quoteRequestNumber+"/confirm",quoteRequest)}}}]),storefrontApp.service("recommendationService",["$http",function($http){return{getRecommendedProducts:function(requestData){return $http.post("storefrontapi/recommendations",requestData)}}}]),storefrontApp.service("orderService",["$http",function($http){return{getOrder:function(orderNumber){return $http.get("storefrontapi/orders/"+orderNumber+"?t="+(new Date).getTime())}}}]),angular.module("storefrontApp").component("addToCompareButton",{templateUrl:"themes/assets/js/products-compare/add-to-compare-button.tpl.html",bindings:{productId:"<",buttonType:"<",customClass:"<",buttonWidth:"<"},controller:["$rootScope","catalogService","dialogService","compareProductService",function($rootScope,catalogService,dialogService,compareProductService){var $ctrl=this;$ctrl.showButtonName=!0,"small"==$ctrl.buttonType&&($ctrl.showButtonName=!1),$ctrl.$onInit=function(){$ctrl.containProduct=compareProductService.isInProductCompareList($ctrl.productId)},$ctrl.addProductToCompareList=function(event){event.preventDefault(),catalogService.getProduct($ctrl.productId).then(function(response){var product=response.data[0],productQuantity=compareProductService.getProductsCount();if(4==productQuantity)return void dialogService.showDialog({capacityExceeded:!0},"productCompareListDialogController","storefront.product-compare-list-dialog.tpl");if($ctrl.containProduct||!(productQuantity<4)){var existingProduct=product;return void dialogService.showDialog(existingProduct,"productCompareListDialogController","storefront.product-compare-list-dialog.tpl")}compareProductService.addProduct($ctrl.productId),dialogService.showDialog(product,"productCompareListDialogController","storefront.product-compare-list-dialog.tpl"),$rootScope.$broadcast("productCompareListChanged"),$ctrl.containProduct=!0})}}]}),angular.module("storefrontApp").component("productCompareListBar",{templateUrl:"product-compare-bar.tpl.html",controller:["compareProductService","$scope",function(compareProductService,$scope){var $ctrl=this;$ctrl.$onInit=function(){$ctrl.itemsCount=compareProductService.getProductsCount()},$scope.$on("productCompareListChanged",function(event,data){$ctrl.itemsCount=compareProductService.getProductsCount()})}]});var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("productCompareListController",["$rootScope","$scope","catalogService","compareProductService",function($rootScope,$scope,catalogService,compareProductService){function modifyProperty(product){return _.each(product.properties,function(property){property.productId=product.id,"number"===property.valueType.toLowerCase()&&(property.value=formatNumber(property.value))}),product}function formatNumber(number){var float=parseFloat(number);return isNaN(float)?number:float}$scope.properties=[],$scope.products=[],$scope.getProductProperties=function(){if(_.isEmpty($scope.products))return[];var grouped={},properties=_.flatten(_.map($scope.products,function(product){return product.properties})),propertyDisplayNames=_.uniq(_.map(properties,function(property){return property.displayName}));_.each(propertyDisplayNames,function(displayName){grouped[displayName]=[];var props=_.where(properties,{displayName:displayName});_.each($scope.products,function(product){var productProperty=_.find(props,function(prop){return prop.productId===product.id});productProperty?grouped[displayName].push(productProperty):grouped[displayName].push({valueType:"ShortText",value:"-"})})}),$scope.properties=grouped},$scope.hasValues=function(properties,onlyDifferences){var uniqueValues=_.uniq(_.map(properties,function(p){return p.value}));return!(onlyDifferences&&properties.length>1&&1==uniqueValues.length)},$scope.clearCompareList=function(){compareProductService.clearComapreList(),$scope.products=[],$rootScope.$broadcast("productCompareListChanged"),$scope.properties=[]},$scope.removeProduct=function(product){compareProductService.removeProduct(product.id),$scope.products=_.without($scope.products,product),$rootScope.$broadcast("productCompareListChanged"),$scope.getProductProperties()},function(){$scope.loaded=!1;var productsIds=compareProductService.getProductsIds();if(_.isEmpty(productsIds))return void($scope.loaded=!0);catalogService.getProducts(productsIds).then(function(response){if(-1!=_.indexOf(productsIds,"&"))$scope.products=response.data,_.each($scope.products,function(product){modifyProperty(product)});else{var product=response.data[0];modifyProperty(product),$scope.products.push(product)}$scope.getProductProperties(),$scope.loaded=!0})}()}]).controller("productCompareListDialogController",["$scope","$window","dialogData","$uibModalInstance",function($scope,$window,dialogData,$uibModalInstance){$scope.dialogData=dialogData,$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url}}]);var storefrontApp=angular.module("storefrontApp");storefrontApp.controller("recentlyAddedListItemDialogController",["$scope","$window","$uibModalInstance","dialogData","listService","$translate",function($scope,$window,$uibModalInstance,dialogData,listService,$translate){$scope.availableLists=[],$scope.selectedList={},$scope.dialogData=dialogData,$scope.inProgress=!1,$scope.itemAdded=!1,$scope.type=dialogData.listType,$scope.addProductToList=function(){$scope.inProgress=!0,listService.addLineItem(dialogData.id,$scope.selectedList.name,$scope.selectedList.type).then(function(response){response.data&&($scope.inProgress=!1,$scope.itemAdded=!0)})},$scope.selectList=function(list){$scope.selectedList=list}, -$scope.close=function(){$uibModalInstance.close()},$scope.redirect=function(url){$window.location=url},$scope.initialize=function(){listService.searchLists({pageSize:1e4,type:$scope.type}).then(function(response){$scope.lists=response.data.results,_.each($scope.lists,function(list){_.find(list.items,function(item){return item.productId===dialogData.id})&&(list.contains=!0)})})},$scope.initialize()}]); -//# sourceMappingURL=scripts.js.map diff --git a/assets/static/bundle/scripts.js.map b/assets/static/bundle/scripts.js.map deleted file mode 100644 index 157f5cf3..00000000 --- a/assets/static/bundle/scripts.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../assets/modernizr.min.js","../../../assets/interactor.js","../../../assets/ideal-image-slider.min.js","../../../assets/ideal-image-slider-bullet-nav.js","../../../assets/ideal-image-slider-captions.js","../../../assets/js/app.js","../../../assets/js/bulk-order.js","../../../assets/js/cart.js","../../../assets/js/directives.js","../../../assets/js/filtres.js","../../../assets/js/main.js","../../../assets/js/order.js","../../../assets/js/product-list.js","../../../assets/js/product.js","../../../assets/js/quote-request.js","../../../assets/js/recommendations.js","../../../assets/js/searchBar.js","../../../assets/js/services.js","../../../assets/js/products-compare/add-to-compare-button.js","../../../assets/js/products-compare/product-compare-list-bar.js","../../../assets/js/products-compare/product-compare.js","../../../assets/js/lists/add-to-list.js"],"names":["window","Modernizr","a","b","c","z","j","cssText","B","C","indexOf","D","d","e","E","f","bind","F","charAt","toUpperCase","slice","o","join","split","p","v","y","g","documentElement","h","i","createElement","style","m","n","toLowerCase","q","t","u","w","k","l","body","parseInt","id","appendChild","innerHTML","background","overflow","parentNode","removeChild","x","hasOwnProperty","call","constructor","prototype","Function","this","TypeError","arguments","apply","concat","Object","touch","DocumentTouch","offsetTop","csstransforms","csstransforms3d","offsetLeft","offsetHeight","fontface","getElementById","sheet","styleSheet","cssRules","test","G","push","addTest","className","_version","_prefixes","_domPrefixes","_cssomPrefixes","testProp","testAllProps","testStyles","replace","document","Interactor","config","__init__","interactor","interactions","interactionElements","Array","isArray","interactionEvents","endpoint","async","debug","records","session","loadTime","Date","__initializeSession__","__bindEvents__","length","ev","elIndex","targets","getElementsByClassName","targetElement","interationArg","getAttributeNode","eventListener","content","value","handleEvent","stopPropagation","__addInteraction__","removeEventListener","addEventListener","onbeforeunload","__sendInteractions__","type","arg","interaction","event","targetTag","target","nodeName","targetClasses","clientPosition","clientX","clientY","screenPosition","screenX","screenY","createdAt","__closeSession__","console","log","unloadTime","language","navigator","platform","port","location","clientStart","name","appVersion","innerWidth","innerHeight","outerWidth","outerHeight","page","pathname","href","origin","title","clientEnd","xhr","XMLHttpRequest","open","setRequestHeader","send","JSON","stringify","IdealImageSlider","setTimeout","getTime","toString","Math","round","classList","contains","RegExp","add","remove","attachEvent","backgroundImage","Image","setAttribute","getAttribute","onload","naturalWidth","naturalHeight","devicePixelRatio","matchMedia","matches","webkitTransitionDuration","MozTransitionDuration","msTransitionDuration","OTransitionDuration","transitionDuration","webkitTransform","MozTransform","msTransform","OTransform","removeProperty","time","run","settings","height","_attributes","container","aspectWidth","aspectHeight","offsetWidth","currentSlide","maxHeight","vars","start","delta","isScrolling","direction","classes","animating","touches","pageX","pageY","stop","beforeChange","touching","move","scale","abs","preventDefault","previousSlide","nextSlide","end","Number","transitionEnd","slides","afterChange","r","selector","initialHeight","interval","effect","disableNav","keyboardNav","previousNavSelector","nextNavSelector","slide","previousNav","nextNav","touchEnabled","directionPrevious","directionNext","onInit","onStart","onStop","onDestroy","querySelector","children","forEach","HTMLImageElement","HTMLAnchorElement","dataset","src","display","which","keyCode","timerId","origChildren","get","set","setInterval","onblur","clearInterval","gotoSlide","destroy","_hasClass","_addClass","_removeClass","Slider","IIS","_updateActiveBullet","slider","activeIndex","bullets","bulletNav","querySelectorAll","bullet","addBulletNav","origAfterChange","index","addCaptions","caption","captionContent","dataCaption","substring","external","storefrontAppDependencies","storefrontApp","angular","module","factory","$q","$rootScope","httpErrorInterceptor","responseError","rejection","data","message","$broadcast","method","url","status","statusText","stackTrace","reject","requestError","$httpProvider","$translateProvider","interceptors","useSanitizeValueStrategy","useUrlLoader","BASE_URL","preferredLanguage","controller","$scope","atLeastOneNotEmpty","bulkOrder","skuRowsIsEmpty","isDefined","skuRows","rows","row","$timeout","cartService","catalogService","getCart","cartIsUpdating","then","response","cart","hasValidationErrors","_","some","validationErrors","items","item","timer","setCartForm","form","formCart","changeLineItemQuantity","lineItemId","quantity","lineItem","find","$invalid","initialQuantity","cancel","changeLineItemPrice","newPrice","initialItems","removeLineItem","copy","recentCartItemModalVisible","without","submitCart","$setSubmitted","updateCartComment","comment","resp","outerRedirect","baseUrl","searchProduct","productSearchResult","productSkuOrName","productSearchProcessing","criteria","keyword","pageSize","search","products","selectSearchedProduct","product","selectedSearchedProduct","addProductToCart","addLineItem","getCartItemsCount","cartItemsCount","$on","$window","$uibModalInstance","dialogData","updated","close","redirect","directive","$compile","marketingService","restrict","link","scope","element","attrs","getDynamicContent","html","errorHandler","attr","fallbackSrc","off","on","filter","input","extention","pop","suffix","$location","customerService","mainContext","$watch","currentPath","$$path","storefrontNotification","detailsVisible","toggleNotificationDetails","closeNotification","absUrl","innerRedirect","path","stringifyAddress","address","stringifiedAddress","firstName","lastName","organization","countryName","regionName","city","line1","line2","postalCode","getObjectSize","obj","key","size","getCustomer","getCurrentCustomer","addresses","addressId","each","isContact","memberType","customer","orderService","orderNumber","getOrder","order","pricingService","productListPricesLoaded","productListPrices","getActualProductPrices","productList","prices","productId","productListPricesSize","dialogService","quoteRequestService","listService","$localStorage","toDialogDataModel","imageUrl","primaryImage","listPrice","price","listPriceWithTax","placedPrice","actualPrice","placedPriceWithTax","actualPriceWithTax","getFlatternDistinctPropertiesMap","variations","retVal","variation","propertyMap","getVariationPropertyMap","keys","uniq","union","groupBy","variationProperties","displayName","getSelectedPropsMap","variationPropsMap","property","selected","comparePropertyMaps","propMap1","propMap2","every","findVariationBySelectedProps","selectedPropMap","allVariations","selectedVariation","allVariationPropsMap","productPrice","productPriceLoaded","addToWishlistDisabled","availableLists","listType","showDialog","addProductToCartById","getProduct","addProductToWishlist","addProductToActualQuoteRequest","addProductToQuoteRequest","initAvailableLists","lists","default_list_type","checkProperty","productIds","map","getQuoteRequest","number","quoteRequest","billingAddress","countryCode","getCountryRegions","quoteItem","proposalPrices","tierPrice","selectedTierPrice","requestShippingQuote","getCountries","countries","addressType","countryRegions","billingCountryRegions","shippingCountryRegions","toFormModel","quoteRequestFormModel","tag","shippingAddress","quoteItemFormModel","amount","quoteRequestNumber","currentQuoteRequestNumber","billingCountry","shippingCountry","itemsCount","setQuoteRequestForm","formQuoteRequest","displayForStatuses","statuses","addTierPrice","salePrice","changeTierPriceQuantity","isNaN","removeTierPrice","removeProductFromQuoteRequest","initialQuoteItems","setCountry","country","code3","code2","regionId","setCountryRegion","countryRegion","code","selectCustomerAddress","submitQuoteRequest","email","isRegisteredUser","rejectQuoteRequest","selectTierPrice","getTotals","totals","confirmQuoteRequest","setRequestShippingQuote","setShippingAddressEqualsBilling","shippingAddressEqualsBilling","tierPricesUnique","quantities","getCurrentQuoteRequest","actualQuoteRequest","recommendationService","isBlockVisible","productListRecommendationsLoaded","productListRecommendations","getRecommendations","evalContext","isString","match","values","getRecommendedProducts","startRecordInteraction","query","searchQuery","getSuggestions","searching","categorySuggestions","productSuggestions","searchCriteria","suggestionsLimit","searchCategories","categories","first","service","$uibModal","templateUrl","onClosed","resolve","result","$http","postFeedback","post","placeName","isInProductCompareList","addProduct","getProductsIds","ids","getProductsCount","clearComapreList","removeProduct","getProducts","put","delete","clearCart","addCoupon","couponCode","removeCoupon","validateCoupon","coupon","addOrUpdateShipment","shipment","addOrUpdatePayment","payment","getAvailableShippingMethods","shipmentId","getAvailablePaymentMethods","addOrUpdatePaymentPlan","plan","removePaymentPlan","createOrder","bankCardInfo","cartComment","getWishlist","listName","getListsWithProduct","listNames","searchLists","createList","deleteListsByIds","listIds","mergeWithCurrentCart","getQuoteRequestItemsCount","quoteItemId","updateQuoteRequest","requestData","component","bindings","buttonType","customClass","buttonWidth","compareProductService","$ctrl","showButtonName","$onInit","containProduct","addProductToCompareList","productQuantity","capacityExceeded","existingProduct","modifyProperty","properties","valueType","formatNumber","float","parseFloat","getProductProperties","isEmpty","grouped","flatten","propertyDisplayNames","props","where","productProperty","prop","hasValues","onlyDifferences","uniqueValues","clearCompareList","loaded","productsIds","$translate","selectedList","inProgress","itemAdded","addProductToList","selectList","list","initialize","results"],"mappings":"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","file":"scripts.js","sourcesContent":["/* Modernizr 2.8.2 (Custom Build) | MIT & BSD\r\n * Build: http://modernizr.com/download/#-fontface-csstransforms-csstransforms3d-touch-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-cssclassprefix:supports!\r\n */\r\n;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+\";\")+(b||\"\"))}function B(a,b){return typeof a===b}function C(a,b){return!!~(\"\"+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,\"-\")&&j[e]!==c)return b==\"pfx\"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,\"function\")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+\" \"+o.join(d+\" \")+d).split(\" \");return B(b,\"string\")||B(b,\"undefined\")?D(e,b):(e=(a+\" \"+p.join(d+\" \")+d).split(\" \"),E(e,b,c))}var d=\"2.8.2\",e={},f=!0,g=b.documentElement,h=\"modernizr\",i=b.createElement(h),j=i.style,k,l={}.toString,m=\" -webkit- -moz- -o- -ms- \".split(\" \"),n=\"Webkit Moz O ms\",o=n.split(\" \"),p=n.toLowerCase().split(\" \"),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement(\"div\"),m=b.body,n=m||b.createElement(\"body\");if(parseInt(d,10))while(d--)j=b.createElement(\"div\"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=[\"­\",'\"].join(\"\"),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background=\"\",n.style.overflow=\"hidden\",k=g.style.overflow,g.style.overflow=\"hidden\",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,\"undefined\")&&!B(x.call,\"undefined\")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],\"undefined\")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!=\"function\")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.touch=function(){var c;return\"ontouchstart\"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:w([\"@media (\",m.join(\"touch-enabled),(\"),h,\")\",\"{#modernizr{top:9px;position:absolute}}\"].join(\"\"),function(a){c=a.offsetTop===9}),c},q.csstransforms=function(){return!!F(\"transform\")},q.csstransforms3d=function(){var a=!!F(\"perspective\");return a&&\"webkitPerspective\"in g.style&&w(\"@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}\",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},q.fontface=function(){var a;return w('@font-face {font-family:\"font\";src:url(\"https://\")}',function(c,d){var e=b.getElementById(\"smodernizr\"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||\"\":\"\";a=/src/i.test(g)&&g.indexOf(d.split(\" \")[0])===0}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?\"\":\"no-\")+v));return e.addTest=function(a,b){if(typeof a==\"object\")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b==\"function\"?b():b,typeof f!=\"undefined\"&&f&&(g.className+=\" supports-\"+(b?\"\":\"no-\")+a),e[a]=b}return e},z(\"\"),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\\s)no-js(\\s|$)/,\"$1$2\")+(f?\" supports-js supports-\"+t.join(\" supports-\"):\"\"),e}(this,this.document);","/*\r\nBSD 2-Clause License\r\n\r\nCopyright (c) 2016, Benjamin Cordier\r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without\r\nmodification, are permitted provided that the following conditions are met:\r\n\r\n* Redistributions of source code must retain the above copyright notice, this\r\n list of conditions and the following disclaimer.\r\n\r\n* Redistributions in binary form must reproduce the above copyright notice,\r\n this list of conditions and the following disclaimer in the documentation\r\n and/or other materials provided with the distribution.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\r\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r\n*/\r\n\r\nvar Interactor = function (config) {\r\n // Call Initialization on Interactor Call\r\n this.__init__(config);\r\n};\r\n\r\nInteractor.prototype = {\r\n\r\n // Initialization\r\n __init__: function (config) {\r\n\r\n var interactor = this;\r\n \r\n // Argument Assignment // Type Checks // Default Values\r\n interactor.interactions = typeof (config.interactions) == \"boolean\" ? config.interactions : true,\r\n interactor.interactionElements = Array.isArray(config.interactionElements) === true ? config.interactionElements : ['interaction'],\r\n interactor.interactionEvents = Array.isArray(config.interactionEvents) === true ? config.interactionEvents : ['mouseup', 'touchend'], \r\n interactor.endpoint = typeof (config.endpoint) == \"string\" ? config.endpoint : '/interactions',\r\n interactor.async = typeof (config.async) == \"boolean\" ? config.async : true,\r\n interactor.debug = typeof (config.debug) == \"boolean\" ? config.debug : true,\r\n interactor.records = [],\r\n interactor.session = {},\r\n interactor.loadTime = new Date();\r\n\r\n // Initialize Session\r\n interactor.__initializeSession__();\r\n // Call Event Binding Method\r\n interactor.__bindEvents__();\r\n\r\n return interactor;\r\n },\r\n\r\n // Create Events to Track\r\n __bindEvents__: function () {\r\n\r\n var interactor = this;\r\n\r\n // Set Interaction Capture\r\n if (interactor.interactions === true) {\r\n for (var i = 0; i < interactor.interactionEvents.length; i++) {\r\n var ev = interactor.interactionEvents[i];\r\n for (var elIndex = 0; elIndex < interactor.interactionElements.length; elIndex++) {\r\n var className = interactor.interactionElements[elIndex];\r\n var targets = document.getElementsByClassName(className);\r\n if (targets) {\r\n for (var j = 0; j < targets.length; j++) {\r\n var targetElement = targets[j];\r\n var interationArg = targetElement.getAttributeNode(\"interactor-arg\");\r\n var eventListener = {\r\n className: className,\r\n content: interationArg ? interationArg.value : \"\",\r\n handleEvent : function(e) {\r\n e.stopPropagation();\r\n interactor.__addInteraction__(e, this.className, this.content);\r\n }\r\n };\r\n targets[j].removeEventListener(ev, eventListener);\r\n targets[j].addEventListener(ev, eventListener);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Bind onbeforeunload Event\r\n window.onbeforeunload = function (e) {\r\n interactor.__sendInteractions__();\r\n };\r\n\r\n return interactor;\r\n },\r\n\r\n // Add Interaction Object Triggered By Events to Records Array\r\n __addInteraction__: function (e, type, arg) {\r\n\r\n\r\n var interactor = this,\r\n\r\n // Interaction Object\r\n interaction = {\r\n type: type,\r\n event: e.type,\r\n targetTag: e.target.nodeName,\r\n targetClasses: e.target.className,\r\n content: arg,//e.target.innerText,\r\n clientPosition: {\r\n x: e.clientX,\r\n y: e.clientY\r\n },\r\n screenPosition: {\r\n x: e.screenX,\r\n y: e.screenY\r\n },\r\n createdAt: new Date()\r\n };\r\n\r\n // Insert into Records Array\r\n interactor.records.push(interaction);\r\n\r\n // Log Interaction if Debugging\r\n if (interactor.debug) {\r\n // Close Session & Log to Console\r\n interactor.__closeSession__();\r\n console.log(\"Session:\\n\", interactor.session);\r\n }\r\n\r\n return interactor;\r\n },\r\n\r\n // Generate Session Object & Assign to Session Property\r\n __initializeSession__: function () {\r\n var interactor = this;\r\n\r\n // Assign Session Property\r\n interactor.session = {\r\n loadTime: interactor.loadTime,\r\n unloadTime: new Date(),\r\n language: window.navigator.language,\r\n platform: window.navigator.platform,\r\n port: window.location.port,\r\n clientStart: {\r\n name: window.navigator.appVersion,\r\n innerWidth: window.innerWidth,\r\n innerHeight: window.innerHeight,\r\n outerWidth: window.outerWidth,\r\n outerHeight: window.outerHeight\r\n },\r\n page: {\r\n location: window.location.pathname,\r\n href: window.location.href,\r\n origin: window.location.origin,\r\n title: document.title\r\n },\r\n endpoint: interactor.endpoint\r\n };\r\n\r\n return interactor;\r\n },\r\n\r\n // Insert End of Session Values into Session Property\r\n __closeSession__: function () {\r\n\r\n var interactor = this;\r\n\r\n // Assign Session Properties\r\n interactor.session.unloadTime = new Date();\r\n interactor.session.interactions = interactor.records;\r\n interactor.session.clientEnd = {\r\n name: window.navigator.appVersion,\r\n innerWidth: window.innerWidth,\r\n innerHeight: window.innerHeight,\r\n outerWidth: window.outerWidth,\r\n outerHeight: window.outerHeight\r\n };\r\n\r\n return interactor;\r\n },\r\n\r\n\r\n // Gather Additional Data and Send Interaction(s) to Server\r\n __sendInteractions__: function () {\r\n\r\n var interactor = this,\r\n // Initialize Cross Header Request\r\n xhr = new XMLHttpRequest();\r\n\r\n // Close Session\r\n interactor.__closeSession__();\r\n\r\n // Post Session Data Serialized as JSON\r\n xhr.open('POST', interactor.endpoint, interactor.async);\r\n xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');\r\n xhr.send(JSON.stringify(interactor.session));\r\n\r\n return interactor;\r\n }\r\n\r\n};","/*! Ideal Image Slider v1.5.0 */\r\nvar IdealImageSlider=function(){\"use strict\";var a=function(a,b){return a[\"r\"+b]||a[\"webkitR\"+b]||a[\"mozR\"+b]||a[\"msR\"+b]||function(a){setTimeout(a,1e3/60)}}(window,\"equestAnimationFrame\"),b=function(b,c){function d(){var g=(new Date).getTime(),h=g-e;h>=c?b.call():f.value=a(d)}var e=(new Date).getTime(),f={};return f.value=a(d),f},c=function(a,b){var c=Object.prototype.toString.call(b).slice(8,-1);return void 0!==b&&null!==b&&c===a},d=function(a){return Math.round(a)===a},e=function(a){a=a||{};for(var b=1;b1?!0:window.matchMedia&&window.matchMedia(a).matches?!0:!1},m=function(a,b,c){a.style.webkitTransitionDuration=a.style.MozTransitionDuration=a.style.msTransitionDuration=a.style.OTransitionDuration=a.style.transitionDuration=c+\"ms\",a.style.webkitTransform=a.style.MozTransform=a.style.msTransform=a.style.OTransform=\"translateX(\"+b+\"px)\"},n=function(a){a.style.removeProperty(\"-webkit-transition-duration\"),a.style.removeProperty(\"transition-duration\"),a.style.removeProperty(\"-webkit-transform\"),a.style.removeProperty(\"-ms-transform\"),a.style.removeProperty(\"transform\")},o=function(b){var c=b.time,d=+new Date+c,e=function(){var f=+new Date,g=d-f;if(60>g)return void b.run(1);var h=1-g/c;b.run(h),a(e)};e()},p=function(a,b){if(\"undefined\"==typeof b&&(b=!0),!d(a.settings.height)){var c=Math.round(a._attributes.container.offsetHeight),e=c;if(a._attributes.aspectWidth&&a._attributes.aspectHeight)e=a._attributes.aspectHeight/a._attributes.aspectWidth*a._attributes.container.offsetWidth;else{var f=a._attributes.currentSlide.getAttribute(\"data-actual-width\"),g=a._attributes.currentSlide.getAttribute(\"data-actual-height\");f&&g&&(e=g/f*a._attributes.container.offsetWidth)}var h=parseInt(a.settings.maxHeight,10);h&&e>h&&(e=h),e=Math.round(e),e!==c&&(b?o({time:a.settings.transitionDuration,run:function(b){a._attributes.container.style.height=Math.round(b*(e-c)+c)+\"px\"}}):a._attributes.container.style.height=e+\"px\")}},q={vars:{start:{},delta:{},isScrolling:void 0,direction:null},start:function(a){if(!f(this._attributes.container,this.settings.classes.animating)){var b=a.touches[0];q.vars.start={x:b.pageX,y:b.pageY,time:+new Date},q.vars.delta={},q.vars.isScrolling=void 0,q.vars.direction=null,this.stop(),this.settings.beforeChange.apply(this),g(this._attributes.container,this.settings.classes.touching)}},move:function(a){if(!f(this._attributes.container,this.settings.classes.animating)&&!(a.touches.length>1||a.scale&&1!==a.scale)){var b=a.touches[0];q.vars.delta={x:b.pageX-q.vars.start.x,y:b.pageY-q.vars.start.y},\"undefined\"==typeof q.vars.isScrolling&&(q.vars.isScrolling=!!(q.vars.isScrolling||Math.abs(q.vars.delta.x)20||Math.abs(q.vars.delta.x)>this._attributes.currentSlide.offsetWidth/2,e=q.vars.delta.x<0?\"next\":\"previous\",i=this.settings.transitionDuration?this.settings.transitionDuration/2:0;q.vars.isScrolling||(d?(q.vars.direction=e,\"next\"==q.vars.direction?(m(this._attributes.currentSlide,-this._attributes.currentSlide.offsetWidth,i),m(this._attributes.nextSlide,0,i)):(m(this._attributes.previousSlide,0,i),m(this._attributes.currentSlide,this._attributes.currentSlide.offsetWidth,i)),b(q.transitionEnd.bind(this),i)):\"next\"==e?(m(this._attributes.currentSlide,0,i),m(this._attributes.nextSlide,this._attributes.currentSlide.offsetWidth,i)):(m(this._attributes.previousSlide,-this._attributes.previousSlide.offsetWidth,i),m(this._attributes.currentSlide,0,i)),i&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),i)))}},transitionEnd:function(a){if(q.vars.direction){n(this._attributes.previousSlide),n(this._attributes.currentSlide),n(this._attributes.nextSlide),h(this._attributes.container,this.settings.classes.touching),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"true\");var b=this._attributes.slides,c=b.indexOf(this._attributes.currentSlide);\"next\"==q.vars.direction?(this._attributes.previousSlide=this._attributes.currentSlide,this._attributes.currentSlide=b[c+1],this._attributes.nextSlide=b[c+2],\"undefined\"==typeof this._attributes.currentSlide&&\"undefined\"==typeof this._attributes.nextSlide?(this._attributes.currentSlide=b[0],this._attributes.nextSlide=b[1]):\"undefined\"==typeof this._attributes.nextSlide&&(this._attributes.nextSlide=b[0]),k(this._attributes.nextSlide)):(this._attributes.nextSlide=this._attributes.currentSlide,this._attributes.previousSlide=b[c-2],this._attributes.currentSlide=b[c-1],\"undefined\"==typeof this._attributes.currentSlide&&\"undefined\"==typeof this._attributes.previousSlide?(this._attributes.currentSlide=b[b.length-1],this._attributes.previousSlide=b[b.length-2]):\"undefined\"==typeof this._attributes.previousSlide&&(this._attributes.previousSlide=b[b.length-1]),k(this._attributes.previousSlide)),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"false\"),p(this),this.settings.afterChange.apply(this)}}},r=function(a){this.settings={selector:\"\",height:\"auto\",initialHeight:400,maxHeight:null,interval:4e3,transitionDuration:700,effect:\"slide\",disableNav:!1,keyboardNav:!0,previousNavSelector:\"\",nextNavSelector:\"\",classes:{container:\"ideal-image-slider\",slide:\"iis-slide\",previousSlide:\"iis-previous-slide\",currentSlide:\"iis-current-slide\",nextSlide:\"iis-next-slide\",previousNav:\"iis-previous-nav\",nextNav:\"iis-next-nav\",animating:\"iis-is-animating\",touchEnabled:\"iis-touch-enabled\",touching:\"iis-is-touching\",directionPrevious:\"iis-direction-previous\",directionNext:\"iis-direction-next\"},onInit:function(){},onStart:function(){},onStop:function(){},onDestroy:function(){},beforeChange:function(){},afterChange:function(){}},\"string\"==typeof a?this.settings.selector=a:\"object\"==typeof a&&e(this.settings,a);var b=document.querySelector(this.settings.selector);if(!b)return null;var c=i(b.children),h=[];b.innerHTML=\"\",Array.prototype.forEach.call(c,function(a,c){if(a instanceof HTMLImageElement||a instanceof HTMLAnchorElement){var d=document.createElement(\"a\"),f=\"\",i=\"\";if(a instanceof HTMLAnchorElement){f=a.getAttribute(\"href\"),i=a.getAttribute(\"target\");var j=a.querySelector(\"img\");if(null===j)return;a=j}\"undefined\"!=typeof a.dataset?(e(d.dataset,a.dataset),a.dataset.src?d.dataset.src=a.dataset.src:d.dataset.src=a.src,l()&&a.dataset[\"src-2x\"]&&(d.dataset.src=a.dataset[\"src-2x\"])):a.getAttribute(\"data-src\")?d.setAttribute(\"data-src\",a.getAttribute(\"data-src\")):d.setAttribute(\"data-src\",a.getAttribute(\"src\")),f&&d.setAttribute(\"href\",f),i&&d.setAttribute(\"target\",i),a.getAttribute(\"className\")&&g(d,a.getAttribute(\"className\")),a.getAttribute(\"id\")&&d.setAttribute(\"id\",a.getAttribute(\"id\")),a.getAttribute(\"title\")&&d.setAttribute(\"title\",a.getAttribute(\"title\")),a.getAttribute(\"alt\")&&(d.innerHTML=a.getAttribute(\"alt\")),d.setAttribute(\"role\",\"tabpanel\"),d.setAttribute(\"aria-hidden\",\"true\"),d.style.cssText+=\"-webkit-transition-duration:\"+this.settings.transitionDuration+\"ms;-moz-transition-duration:\"+this.settings.transitionDuration+\"ms;-o-transition-duration:\"+this.settings.transitionDuration+\"ms;transition-duration:\"+this.settings.transitionDuration+\"ms;\",b.appendChild(d),h.push(d)}}.bind(this));var m=h;if(m.length<=1)return b.innerHTML=\"\",Array.prototype.forEach.call(c,function(a,c){b.appendChild(a)}),null;if(!this.settings.disableNav){var n,o;this.settings.previousNavSelector?n=document.querySelector(this.settings.previousNavSelector):(n=document.createElement(\"a\"),b.appendChild(n)),this.settings.nextNavSelector?o=document.querySelector(this.settings.nextNavSelector):(o=document.createElement(\"a\"),b.appendChild(o)),g(n,this.settings.classes.previousNav),g(o,this.settings.classes.nextNav),j(n,\"click\",function(){return f(this._attributes.container,this.settings.classes.animating)?!1:(this.stop(),void this.previousSlide())}.bind(this)),j(o,\"click\",function(){return f(this._attributes.container,this.settings.classes.animating)?!1:(this.stop(),void this.nextSlide())}.bind(this)),(\"ontouchstart\"in window||window.DocumentTouch&&document instanceof DocumentTouch)&&(this.settings.effect=\"slide\",n.style.display=\"none\",o.style.display=\"none\",g(b,this.settings.classes.touchEnabled),j(b,\"touchstart\",q.start.bind(this),!1),j(b,\"touchmove\",q.move.bind(this),!1),j(b,\"touchend\",q.end.bind(this),!1)),this.settings.keyboardNav&&j(document,\"keyup\",function(a){a=a||window.event;var b=\"number\"==typeof a.which?a.which:a.keyCode;if(37==b){if(f(this._attributes.container,this.settings.classes.animating))return!1;this.stop(),this.previousSlide()}else if(39==b){if(f(this._attributes.container,this.settings.classes.animating))return!1;this.stop(),this.nextSlide()}}.bind(this))}if(this._attributes={container:b,slides:m,previousSlide:\"undefined\"!=typeof m[m.length-1]?m[m.length-1]:m[0],currentSlide:m[0],nextSlide:\"undefined\"!=typeof m[1]?m[1]:m[0],timerId:0,origChildren:c,aspectWidth:0,aspectHeight:0},d(this.settings.height))this._attributes.container.style.height=this.settings.height+\"px\";else{if(d(this.settings.initialHeight)&&(this._attributes.container.style.height=this.settings.initialHeight+\"px\"),this.settings.height.indexOf(\":\")>-1){var r=this.settings.height.split(\":\");2==r.length&&d(parseInt(r[0],10))&&d(parseInt(r[1],10))&&(this._attributes.aspectWidth=parseInt(r[0],10),this._attributes.aspectHeight=parseInt(r[1],10))}j(window,\"resize\",function(){p(this,!1)}.bind(this))}g(b,this.settings.classes.container),g(b,\"iis-effect-\"+this.settings.effect),Array.prototype.forEach.call(this._attributes.slides,function(a,b){g(a,this.settings.classes.slide)}.bind(this)),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"false\"),k(this._attributes.currentSlide,function(){this.settings.onInit.apply(this),p(this,!1)}.bind(this)),k(this._attributes.previousSlide),k(this._attributes.nextSlide)};return r.prototype.get=function(a){return this._attributes?this._attributes.hasOwnProperty(a)?this._attributes[a]:void 0:null},r.prototype.set=function(a,b){return this._attributes?this._attributes[a]=b:null},r.prototype.start=function(){this._attributes&&(this._attributes.timerId=setInterval(this.nextSlide.bind(this),this.settings.interval),this.settings.onStart.apply(this),window.onblur=function(){this.stop()}.bind(this))},r.prototype.stop=function(){this._attributes&&(clearInterval(this._attributes.timerId),this._attributes.timerId=0,this.settings.onStop.apply(this))},r.prototype.previousSlide=function(){this.settings.beforeChange.apply(this),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"true\");var a=this._attributes.slides,c=a.indexOf(this._attributes.currentSlide);this._attributes.nextSlide=this._attributes.currentSlide,this._attributes.previousSlide=a[c-2],this._attributes.currentSlide=a[c-1],\"undefined\"==typeof this._attributes.currentSlide&&\"undefined\"==typeof this._attributes.previousSlide?(this._attributes.currentSlide=a[a.length-1],this._attributes.previousSlide=a[a.length-2]):\"undefined\"==typeof this._attributes.previousSlide&&(this._attributes.previousSlide=a[a.length-1]),k(this._attributes.previousSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"false\"),g(this._attributes.container,this.settings.classes.directionPrevious),b(function(){h(this._attributes.container,this.settings.classes.directionPrevious)}.bind(this),this.settings.transitionDuration),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.nextSlide=function(){this.settings.beforeChange.apply(this),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"true\");var a=this._attributes.slides,c=a.indexOf(this._attributes.currentSlide);this._attributes.previousSlide=this._attributes.currentSlide,this._attributes.currentSlide=a[c+1],this._attributes.nextSlide=a[c+2],\"undefined\"==typeof this._attributes.currentSlide&&\"undefined\"==typeof this._attributes.nextSlide?(this._attributes.currentSlide=a[0],this._attributes.nextSlide=a[1]):\"undefined\"==typeof this._attributes.nextSlide&&(this._attributes.nextSlide=a[0]),k(this._attributes.nextSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"false\"),g(this._attributes.container,this.settings.classes.directionNext),b(function(){h(this._attributes.container,this.settings.classes.directionNext)}.bind(this),this.settings.transitionDuration),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.gotoSlide=function(a){this.settings.beforeChange.apply(this),this.stop(),h(this._attributes.previousSlide,this.settings.classes.previousSlide),h(this._attributes.currentSlide,this.settings.classes.currentSlide),h(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"true\"),a--;var c=this._attributes.slides,d=c.indexOf(this._attributes.currentSlide);this._attributes.previousSlide=c[a-1],this._attributes.currentSlide=c[a],this._attributes.nextSlide=c[a+1],\"undefined\"==typeof this._attributes.previousSlide&&(this._attributes.previousSlide=c[c.length-1]),\"undefined\"==typeof this._attributes.nextSlide&&(this._attributes.nextSlide=c[0]),k(this._attributes.previousSlide),k(this._attributes.currentSlide),k(this._attributes.nextSlide),g(this._attributes.previousSlide,this.settings.classes.previousSlide),g(this._attributes.currentSlide,this.settings.classes.currentSlide),g(this._attributes.nextSlide,this.settings.classes.nextSlide),this._attributes.currentSlide.setAttribute(\"aria-hidden\",\"false\"),d>a?(g(this._attributes.container,this.settings.classes.directionPrevious),b(function(){h(this._attributes.container,this.settings.classes.directionPrevious)}.bind(this),this.settings.transitionDuration)):(g(this._attributes.container,this.settings.classes.directionNext),b(function(){h(this._attributes.container,this.settings.classes.directionNext)}.bind(this),this.settings.transitionDuration)),this.settings.transitionDuration&&(g(this._attributes.container,this.settings.classes.animating),b(function(){h(this._attributes.container,this.settings.classes.animating)}.bind(this),this.settings.transitionDuration)),p(this),this.settings.afterChange.apply(this)},r.prototype.destroy=function(){clearInterval(this._attributes.timerId),this._attributes.timerId=0,this._attributes.container.innerHTML=\"\",Array.prototype.forEach.call(this._attributes.origChildren,function(a,b){this._attributes.container.appendChild(a)}.bind(this)),h(this._attributes.container,this.settings.classes.container),h(this._attributes.container,\"iis-effect-\"+this.settings.effect),this._attributes.container.style.height=\"\",this.settings.onDestroy.apply(this)},{_hasClass:f,_addClass:g,_removeClass:h,Slider:r}}();","/*\r\n * Ideal Image Slider: Bullet Navigation Extension v1.0.2\r\n *\r\n * By Gilbert Pellegrom\r\n * http://gilbert.pellegrom.me\r\n *\r\n * Copyright (C) 2014 Dev7studios\r\n * https://raw.githubusercontent.com/gilbitron/Ideal-Image-Slider/master/LICENSE\r\n */\r\n\r\n(function(IIS) {\r\n\t\"use strict\";\r\n\r\n\tvar _updateActiveBullet = function(slider, activeIndex) {\r\n\t\tvar bullets = slider._attributes.bulletNav.querySelectorAll('a');\r\n\t\tif (!bullets) return;\r\n\r\n\t\tArray.prototype.forEach.call(bullets, function(bullet, i) {\r\n\t\t\tIIS._removeClass(bullet, 'iis-bullet-active');\r\n\t\t\tbullet.setAttribute('aria-selected', 'false');\r\n\t\t\tif (i === activeIndex) {\r\n\t\t\t\tIIS._addClass(bullet, 'iis-bullet-active');\r\n\t\t\t\tbullet.setAttribute('aria-selected', 'true');\r\n\t\t\t}\r\n\t\t}.bind(this));\r\n\t};\r\n\r\n\tIIS.Slider.prototype.addBulletNav = function() {\r\n\t\tIIS._addClass(this._attributes.container, 'iis-has-bullet-nav');\r\n\r\n\t\t// Create bullet nav\r\n\t\tvar bulletNav = document.createElement('div');\r\n\t\tIIS._addClass(bulletNav, 'iis-bullet-nav');\r\n\t\tbulletNav.setAttribute('role', 'tablist');\r\n\r\n\t\t// Create bullets\r\n\t\tArray.prototype.forEach.call(this._attributes.slides, function(slide, i) {\r\n\t\t\tvar bullet = document.createElement('a');\r\n\t\t\tbullet.innerHTML = i + 1;\r\n\t\t\tbullet.setAttribute('role', 'tab');\r\n\r\n\t\t\tbullet.addEventListener('click', function() {\r\n\t\t\t\tif (IIS._hasClass(this._attributes.container, this.settings.classes.animating)) return false;\r\n\t\t\t\tthis.stop();\r\n\t\t\t\tthis.gotoSlide(i + 1);\r\n\t\t\t}.bind(this));\r\n\r\n\t\t\tbulletNav.appendChild(bullet);\r\n\t\t}.bind(this));\r\n\r\n\t\tthis._attributes.bulletNav = bulletNav;\r\n\t\tthis._attributes.container.appendChild(bulletNav);\r\n\t\t_updateActiveBullet(this, 0);\r\n\r\n\t\t// Hook up to afterChange events\r\n\t\tvar origAfterChange = this.settings.afterChange;\r\n\t\tvar afterChange = function() {\r\n\t\t\tvar slides = this._attributes.slides,\r\n\t\t\t\tindex = slides.indexOf(this._attributes.currentSlide);\r\n\t\t\t_updateActiveBullet(this, index);\r\n\t\t\treturn origAfterChange();\r\n\t\t}.bind(this);\r\n\t\tthis.settings.afterChange = afterChange;\r\n\t};\r\n\r\n\treturn IIS;\r\n\r\n})(IdealImageSlider);","/*\r\n * Ideal Image Slider: Captions Extension v1.0.1\r\n *\r\n * By Gilbert Pellegrom\r\n * http://gilbert.pellegrom.me\r\n *\r\n * Copyright (C) 2014 Dev7studios\r\n * https://raw.githubusercontent.com/gilbitron/Ideal-Image-Slider/master/LICENSE\r\n */\r\n\r\n(function(IIS) {\r\n\t\"use strict\";\r\n\r\n\tIIS.Slider.prototype.addCaptions = function() {\r\n\t\tIIS._addClass(this._attributes.container, 'iis-has-captions');\r\n\r\n\t\tArray.prototype.forEach.call(this._attributes.slides, function(slide, i) {\r\n\t\t\tvar caption = document.createElement('div');\r\n\t\t\tIIS._addClass(caption, 'iis-caption');\r\n\r\n\t\t\tvar captionContent = '';\r\n\t\t\tif (slide.getAttribute('title')) {\r\n\t\t\t\tcaptionContent += '
' + slide.getAttribute('title') + '
';\r\n\t\t\t}\r\n\t\t\tif (slide.getAttribute('data-caption')) {\r\n\t\t\t\tvar dataCaption = slide.getAttribute('data-caption');\r\n\t\t\t\tif (dataCaption.substring(0, 1) == '#' || dataCaption.substring(0, 1) == '.') {\r\n\t\t\t\t\tvar external = document.querySelector(dataCaption);\r\n\t\t\t\t\tif (external) {\r\n\t\t\t\t\t\tcaptionContent += '
' + external.innerHTML + '
';\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcaptionContent += '
' + slide.getAttribute('data-caption') + '
';\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (slide.innerHTML) {\r\n\t\t\t\t\tcaptionContent += '
' + slide.innerHTML + '
';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tslide.innerHTML = '';\r\n\t\t\tif (captionContent) {\r\n\t\t\t\tcaption.innerHTML = captionContent;\r\n\t\t\t\tslide.appendChild(caption);\r\n\t\t\t}\r\n\t\t}.bind(this));\r\n\t};\r\n\r\n\treturn IIS;\r\n\r\n})(IdealImageSlider);","var storefrontAppDependencies = [\r\n 'ui.bootstrap',\r\n 'ngStorage',\r\n 'pascalprecht.translate',\r\n 'ngSanitize',\r\n]\r\nvar storefrontApp = angular.module('storefrontApp', storefrontAppDependencies);\r\n\r\nstorefrontApp.factory('httpErrorInterceptor', ['$q', '$rootScope', function ($q, $rootScope) {\r\n var httpErrorInterceptor = {};\r\n\r\n httpErrorInterceptor.responseError = function (rejection) {\r\n if (rejection.data && rejection.data.message) {\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: [rejection.config.method, rejection.config.url, rejection.status, rejection.statusText, rejection.data.message].join(' '),\r\n message: rejection.data.stackTrace,\r\n });\r\n }\r\n return $q.reject(rejection);\r\n };\r\n httpErrorInterceptor.requestError = function (rejection) {\r\n if (rejection.data && rejection.data.message) {\r\n $rootScope.$broadcast('storefrontError', {\r\n type: 'error',\r\n title: [rejection.config.method, rejection.config.url, rejection.status, rejection.statusText, rejection.data.message].join(' '),\r\n message: rejection.data.stackTrace,\r\n });\r\n }\r\n return $q.reject(rejection);\r\n };\r\n\r\n return httpErrorInterceptor;\r\n}])\r\n\r\nstorefrontApp.config(['$httpProvider', '$translateProvider', function ($httpProvider, $translateProvider) {\r\n $httpProvider.interceptors.push('httpErrorInterceptor');\r\n\r\n $translateProvider.useSanitizeValueStrategy('sanitizeParameters');\r\n $translateProvider.useUrlLoader(BASE_URL + 'themes/localization.json');\r\n $translateProvider.preferredLanguage('en');\r\n\r\n}]);","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('bulkOrderController', ['$scope',\r\n function ($scope) {\r\n $scope.atLeastOneNotEmpty = function () {\r\n var bulkOrder = $scope.bulkOrder;\r\n $scope.skuRowsIsEmpty = true;\r\n if (angular.isDefined(bulkOrder)) {\r\n angular.forEach(bulkOrder.skuRows, function (rows) {\r\n angular.forEach(rows, function (row) {\r\n if (row.length > 0)\r\n $scope.skuRowsIsEmpty = false;\r\n })\r\n });\r\n }\r\n }\r\n\r\n }]);","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('cartController', ['$rootScope', '$scope', '$timeout', 'cartService', 'catalogService', function ($rootScope, $scope, $timeout, cartService, catalogService) {\r\n var timer;\r\n\r\n initialize();\r\n\r\n $scope.setCartForm = function (form) {\r\n $scope.formCart = form;\r\n }\r\n\r\n $scope.changeLineItemQuantity = function (lineItemId, quantity) {\r\n var lineItem = _.find($scope.cart.items, function (i) { return i.id == lineItemId });\r\n if (!lineItem || quantity < 1 || $scope.cartIsUpdating || $scope.formCart.$invalid) {\r\n return;\r\n }\r\n var initialQuantity = lineItem.quantity;\r\n lineItem.quantity = quantity;\r\n $timeout.cancel(timer);\r\n timer = $timeout(function () {\r\n $scope.cartIsUpdating = true;\r\n cartService.changeLineItemQuantity(lineItemId, quantity).then(function (response) {\r\n getCart();\r\n $rootScope.$broadcast('cartItemsChanged');\r\n }, function (response) {\r\n lineItem.quantity = initialQuantity;\r\n $scope.cartIsUpdating = false;\r\n });\r\n }, 300);\r\n }\r\n\r\n $scope.changeLineItemPrice = function (lineItemId, newPrice) {\r\n \tvar lineItem = _.find($scope.cart.items, function (i) { return i.id == lineItemId });\r\n \tif (!lineItem || $scope.cartIsUpdating) {\r\n \t\treturn;\r\n \t}\r\n \t$scope.cartIsUpdating = true;\r\n cartService.changeLineItemPrice(lineItemId, newPrice).then(function (response) {\r\n \t\tgetCart();\r\n \t\t$rootScope.$broadcast('cartItemsChanged');\r\n \t}, function (response) {\r\n \t\t$scope.cart.items = initialItems;\r\n \t\t$scope.cartIsUpdating = false;\r\n \t});\r\n };\r\n $scope.removeLineItem = function (lineItemId) {\r\n var lineItem = _.find($scope.cart.items, function (i) { return i.id == lineItemId });\r\n if (!lineItem || $scope.cartIsUpdating) {\r\n return;\r\n }\r\n $scope.cartIsUpdating = true;\r\n var initialItems = angular.copy($scope.cart.items);\r\n $scope.recentCartItemModalVisible = false;\r\n $scope.cart.items = _.without($scope.cart.items, lineItem);\r\n cartService.removeLineItem(lineItemId).then(function (response) {\r\n getCart();\r\n $rootScope.$broadcast('cartItemsChanged');\r\n }, function (response) {\r\n $scope.cart.items = initialItems;\r\n $scope.cartIsUpdating = false;\r\n });\r\n } \r\n\r\n $scope.submitCart = function () {\r\n $scope.formCart.$setSubmitted();\r\n if ($scope.formCart.$invalid) {\r\n return;\r\n }\r\n cartService.updateCartComment($scope.cart.comment).then(function (resp) {\r\n $scope.outerRedirect($scope.baseUrl + 'cart/checkout');\r\n });\r\n }\r\n\r\n $scope.searchProduct = function () {\r\n $scope.productSearchResult = null;\r\n if ($scope.productSkuOrName) {\r\n $timeout.cancel(timer);\r\n timer = $timeout(function () {\r\n $scope.productSearchProcessing = true;\r\n var criteria = {\r\n keyword: $scope.productSkuOrName,\r\n start: 0,\r\n pageSize: 5\r\n }\r\n catalogService.search(criteria).then(function (response) {\r\n $scope.productSearchProcessing = false;\r\n $scope.productSearchResult = response.data.products;\r\n }, function (response) {\r\n $scope.productSearchProcessing = false;\r\n });\r\n }, 300);\r\n }\r\n }\r\n\r\n $scope.selectSearchedProduct = function (product) {\r\n $scope.productSearchResult = null;\r\n $scope.selectedSearchedProduct = product;\r\n $scope.productSkuOrName = product.name;\r\n }\r\n\r\n $scope.addProductToCart = function (product, quantity) {\r\n $scope.cartIsUpdating = true;\r\n cartService.addLineItem(product.id, quantity).then(function (response) {\r\n getCart();\r\n $scope.productSkuOrName = null;\r\n $scope.selectedSearchedProduct = null;\r\n $rootScope.$broadcast('cartItemsChanged');\r\n });\r\n }\r\n\r\n function initialize() {\r\n getCart();\r\n }\r\n\r\n function getCart() {\r\n $scope.cartIsUpdating = true;\r\n cartService.getCart().then(function (response) {\r\n var cart = response.data;\r\n cart.hasValidationErrors = _.some(cart.validationErrors) || _.some(cart.items, function (item) { return _.some(item.validationErrors) });\r\n $scope.cart = cart;\r\n $scope.cartIsUpdating = false;\r\n }, function (response) {\r\n $scope.cartIsUpdating = false;\r\n });\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('cartBarController', ['$scope', 'cartService', function ($scope, cartService) {\r\n getCartItemsCount();\r\n\r\n $scope.$on('cartItemsChanged', function (event, data) {\r\n getCartItemsCount();\r\n });\r\n\r\n function getCartItemsCount() {\r\n cartService.getCartItemsCount().then(function (response) {\r\n $scope.cartItemsCount = response.data;\r\n });\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('recentlyAddedCartItemDialogController', ['$scope', '$window', '$uibModalInstance', 'dialogData', function ($scope, $window, $uibModalInstance, dialogData) {\r\n $scope.$on('cartItemsChanged', function (event, data) {\r\n dialogData.updated = true;\r\n });\r\n\r\n $scope.dialogData = dialogData;\r\n\r\n $scope.close = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n $scope.redirect = function (url) {\r\n $window.location = url;\r\n }\r\n}]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.directive('vcContentPlace', ['$compile', 'marketingService', function ($compile, marketingService) {\r\n return {\r\n restrict: 'E',\r\n link: function (scope, element, attrs) {\r\n marketingService.getDynamicContent(attrs.id).then(function (response) {\r\n element.html($compile(response.data)(scope));\r\n });\r\n },\r\n replace: true\r\n }\r\n}]);\r\n\r\nstorefrontApp.directive('fallbackSrc', function () {\r\n return {\r\n link: function (scope, element, attrs) {\r\n element.on('error', errorHandler);\r\n\r\n scope.$on('$destroy', function() {\r\n element.off('error', errorHandler);\r\n });\r\n\r\n function errorHandler(event) {\r\n if (element.attr('src') !== attrs.fallbackSrc) {\r\n element.attr('src', attrs.fallbackSrc);\r\n }\r\n else {\r\n element.off(event);\r\n }\r\n };\r\n }\r\n }\r\n});\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.filter('imgurl', function () {\r\n return function (input, type) {\r\n if (!type)\r\n return input;\r\n\r\n var extention = '.' + input.split('.').pop();\r\n var suffix = \"_\" + type;\r\n var result = input.replace(extention, suffix+extention);\r\n return result;\r\n };\r\n});","var storefrontApp = angular.module('storefrontApp');\r\n\r\n\r\nstorefrontApp.controller('mainController', ['$scope', '$location', '$window', 'customerService', 'storefrontApp.mainContext',\r\n function($scope, $location, $window, customerService, mainContext) {\r\n\r\n //Base store url populated in layout and can be used for construction url inside controller\r\n $scope.baseUrl = {};\r\n\r\n $scope.$watch(function() {\r\n $scope.currentPath = $location.$$path.replace('/', '');\r\n });\r\n\r\n $scope.$on('storefrontError', function(event, data) {\r\n $scope.storefrontNotification = data;\r\n $scope.storefrontNotification.detailsVisible = false;\r\n });\r\n\r\n $scope.toggleNotificationDetails = function() {\r\n $scope.storefrontNotification.detailsVisible = !$scope.storefrontNotification.detailsVisible;\r\n }\r\n\r\n $scope.closeNotification = function() {\r\n $scope.storefrontNotification = null;\r\n }\r\n\r\n //For outside app redirect (To reload the page after changing the URL, use the lower-level API)\r\n $scope.outerRedirect = function(absUrl) {\r\n $window.location.href = absUrl;\r\n };\r\n\r\n //change in the current URL or change the current URL in the browser (for app route)\r\n $scope.innerRedirect = function(path) {\r\n $location.path(path);\r\n $scope.currentPath = $location.$$path.replace('/', '');\r\n };\r\n\r\n $scope.stringifyAddress = function(address) {\r\n var stringifiedAddress = address.firstName + ' ' + address.lastName + ', ';\r\n stringifiedAddress += address.organization ? address.organization + ', ' : '';\r\n stringifiedAddress += address.countryName + ', ';\r\n stringifiedAddress += address.regionName ? address.regionName + ', ' : '';\r\n stringifiedAddress += address.city + ' ';\r\n stringifiedAddress += address.line1 + ', ';\r\n stringifiedAddress += address.line2 ? address.line2 : '';\r\n stringifiedAddress += address.postalCode;\r\n return stringifiedAddress;\r\n }\r\n\r\n $scope.getObjectSize = function(obj) {\r\n var size = 0, key;\r\n for (key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n size++;\r\n }\r\n }\r\n return size;\r\n }\r\n\r\n mainContext.getCustomer = $scope.getCustomer = function() {\r\n customerService.getCurrentCustomer().then(function(response) {\r\n if (!response.data.addresses) {\r\n response.data.addresses = [];\r\n }\r\n var addressId = 1;\r\n _.each(response.data.addresses, function(address) {\r\n address.id = addressId;\r\n addressId++;\r\n });\r\n response.data.isContact = response.data.memberType === 'Contact';\r\n mainContext.customer = $scope.customer = response.data;\r\n });\r\n };\r\n\r\n $scope.getCustomer();\r\n }])\r\n\r\n .factory('storefrontApp.mainContext', function() {\r\n return {};\r\n });\r\n","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.controller('orderController', ['$scope', '$window', 'orderService', function ($scope, $window, orderService) {\r\n getOrder($window.orderNumber);\r\n\r\n function getOrder(orderNumber) {\r\n orderService.getOrder(orderNumber).then(function (response) {\r\n if (response && response.data) {\r\n $scope.order = response.data;\r\n }\r\n });\r\n }\r\n}]);","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('productListController', ['$scope', '$window', 'pricingService', function ($scope, $window, pricingService) {\r\n $scope.productListPricesLoaded = false;\r\n $scope.productListPrices = [];\r\n\r\n pricingService.getActualProductPrices($window.productList).then(function (response) {\r\n var prices = response.data;\r\n if (prices.length) {\r\n for (var i = 0; i < prices.length; i++) {\r\n $scope.productListPrices[prices[i].productId] = prices[i];\r\n }\r\n }\r\n var productListPricesSize = $scope.getObjectSize($scope.productListPrices);\r\n $scope.productListPricesLoaded = productListPricesSize > 0;\r\n });\r\n}]);","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('productController', ['$rootScope', '$scope', '$window', 'dialogService', 'catalogService', 'cartService', 'quoteRequestService', 'customerService', 'listService', '$localStorage',\r\n function ($rootScope, $scope, $window, dialogService, catalogService, cartService, quoteRequestService, customerService, listService, $localStorage) {\r\n //TODO: prevent add to cart not selected variation\r\n // display validator please select property\r\n // display price range\r\n\r\n var allVariations = [];\r\n\r\n $scope.selectedVariation = {};\r\n $scope.allVariationPropsMap = {};\r\n $scope.productPrice = null;\r\n $scope.productPriceLoaded = false;\r\n $scope.addToWishlistDisabled = false;\r\n $scope.availableLists = null;\r\n $scope.listType = null;\r\n\r\n $scope.addProductToCart = function (product, quantity) {\r\n var dialogData = toDialogDataModel(product, quantity);\r\n dialogService.showDialog(dialogData, 'recentlyAddedCartItemDialogController', 'storefront.recently-added-cart-item-dialog.tpl');\r\n cartService.addLineItem(product.id, quantity).then(function (response) {\r\n $rootScope.$broadcast('cartItemsChanged');\r\n });\r\n };\r\n $scope.addProductToCartById = function (productId, quantity, event) {\r\n event.preventDefault();\r\n catalogService.getProduct([productId]).then(function (response) {\r\n if (response.data && response.data.length) {\r\n var product = response.data[0];\r\n $scope.addProductToCart(product, quantity);\r\n }\r\n });\r\n };\r\n $scope.addProductToWishlist = function (product) {\r\n var dialogData = toDialogDataModel(product, 1);\r\n dialogData.listType = $scope.listType;\r\n dialogService.showDialog(dialogData, 'recentlyAddedListItemDialogController', 'storefront.recently-added-list-item-dialog.tpl');\r\n };\r\n $scope.addProductToActualQuoteRequest = function (product, quantity) {\r\n var dialogData = toDialogDataModel(product, quantity);\r\n dialogService.showDialog(dialogData, 'recentlyAddedActualQuoteRequestItemDialogController', 'storefront.recently-added-actual-quote-request-item-dialog.tpl');\r\n quoteRequestService.addProductToQuoteRequest(product.id, quantity).then(function (response) {\r\n $rootScope.$broadcast('actualQuoteRequestItemsChanged');\r\n });\r\n };\r\n \r\n $scope.initAvailableLists = function(lists) {\r\n $scope.listType = lists.default_list_type;\r\n }\r\n\r\n function toDialogDataModel(product, quantity) {\r\n return {\r\n imageUrl: product.primaryImage ? product.primaryImage.url : null,\r\n listPrice: product.price.listPrice,\r\n id: product.id,\r\n listPriceWithTax: product.price.listPriceWithTax,\r\n name: product.name,\r\n placedPrice: product.price.actualPrice,\r\n placedPriceWithTax: product.price.actualPriceWithTax,\r\n quantity: quantity,\r\n updated: false\r\n };\r\n }\r\n\r\n function initialize() {\r\n var productIds = _.map($window.products, function (product) { return product.id });\r\n if (!productIds || !productIds.length) {\r\n return;\r\n }\r\n catalogService.getProduct(productIds).then(function (response) {\r\n var product = response.data[0];\r\n //Current product is also a variation (titular)\r\n allVariations = [product].concat(product.variations || []);\r\n $scope.allVariationPropsMap = getFlatternDistinctPropertiesMap(allVariations);\r\n\r\n //Auto select initial product as default variation (its possible because all our products is variations)\r\n var propertyMap = getVariationPropertyMap(product);\r\n _.each(_.keys(propertyMap), function (x) {\r\n $scope.checkProperty(propertyMap[x][0]);\r\n });\r\n\r\n $scope.selectedVariation = product;\r\n });\r\n };\r\n\r\n function getFlatternDistinctPropertiesMap(variations) {\r\n var retVal = {};\r\n _.each(variations, function (variation) {\r\n var propertyMap = getVariationPropertyMap(variation);\r\n //merge\r\n _.each(_.keys(propertyMap), function (x) {\r\n retVal[x] = _.uniq(_.union(retVal[x], propertyMap[x]), \"value\");\r\n });\r\n });\r\n return retVal;\r\n };\r\n\r\n function getVariationPropertyMap(variation) {\r\n return _.groupBy(variation.variationProperties, function (x) { return x.displayName });\r\n }\r\n\r\n function getSelectedPropsMap(variationPropsMap) {\r\n var retVal = {};\r\n _.each(_.keys(variationPropsMap), function (x) {\r\n var property = _.find(variationPropsMap[x], function (y) {\r\n return y.selected;\r\n });\r\n if (property) {\r\n retVal[x] = [property];\r\n }\r\n });\r\n return retVal;\r\n }\r\n\r\n function comparePropertyMaps(propMap1, propMap2) {\r\n return _.every(_.keys(propMap1), function (x) {\r\n var retVal = propMap2.hasOwnProperty(x);\r\n if (retVal) {\r\n retVal = propMap1[x][0].value == propMap2[x][0].value;\r\n }\r\n return retVal;\r\n });\r\n };\r\n\r\n function findVariationBySelectedProps(variations, selectedPropMap) {\r\n return _.find(variations, function (x) {\r\n return comparePropertyMaps(getVariationPropertyMap(x), selectedPropMap);\r\n });\r\n }\r\n\r\n //Method called from View when user clicks one property value\r\n $scope.checkProperty = function (property) {\r\n //Select appropriate property and unselect previous selection\r\n _.each($scope.allVariationPropsMap[property.displayName], function (x) {\r\n x.selected = x != property ? false : !x.selected;\r\n });\r\n\r\n //try to find the best variation match for selected properties\r\n $scope.selectedVariation = findVariationBySelectedProps(allVariations, getSelectedPropsMap($scope.allVariationPropsMap));\r\n };\r\n\r\n initialize();\r\n }]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('quoteRequestController', ['$rootScope', '$scope', '$window', '$location', 'quoteRequestService', 'cartService',\r\n function ($rootScope, $scope, $window, $location, quoteRequestService, cartService) {\r\n initialize();\r\n\r\n $scope.setQuoteRequestForm = function (form) {\r\n $scope.formQuoteRequest = form;\r\n }\r\n\r\n $scope.displayForStatuses = function (statuses) {\r\n return _.contains(statuses, $scope.quoteRequest.status);\r\n }\r\n\r\n $scope.addTierPrice = function (quoteItem) {\r\n quoteItem.proposalPrices.push({\r\n id: quoteItem.proposalPrices.length + 1,\r\n price: quoteItem.salePrice,\r\n quantity: 1\r\n });\r\n }\r\n\r\n $scope.changeTierPriceQuantity = function (tierPrice, quantity) {\r\n if (quantity < 1 || quantity.isNaN) {\r\n return;\r\n }\r\n tierPrice.quantity = quantity;\r\n }\r\n\r\n $scope.removeTierPrice = function (quoteItem, tierPrice) {\r\n quoteItem.proposalPrices = _.without(quoteItem.proposalPrices, tierPrice);\r\n }\r\n\r\n $scope.removeProductFromQuoteRequest = function (quoteItem) {\r\n var initialQuoteItems = angular.copy($scope.quoteRequest.items);\r\n $scope.quoteRequest.items = _.without($scope.quoteRequest.items, quoteItem);\r\n quoteRequestService.removeProductFromQuoteRequest($scope.quoteRequest.id, quoteItem.id).then(function (response) {\r\n getQuoteRequest($scope.quoteRequest.id);\r\n $rootScope.$broadcast('actualQuoteRequestItemsChanged');\r\n }, function (response) {\r\n $scope.quoteRequest.items = initialQuoteItems;\r\n });\r\n }\r\n\r\n $scope.setCountry = function (addressType, countryName) {\r\n var country = _.find($scope.countries, function (c) { return c.name == countryName });\r\n if (!country) {\r\n return;\r\n }\r\n if (addressType == 'Billing') {\r\n $scope.billingCountry = country;\r\n $scope.billingCountryRegions = [];\r\n $scope.quoteRequest.billingAddress.countryCode = country.code3 || country.code2;\r\n $scope.quoteRequest.billingAddress.regionId = null;\r\n $scope.quoteRequest.billingAddress.regionName = null;\r\n }\r\n if (addressType == 'Shipping') {\r\n $scope.shippingCountry = country;\r\n $scope.shippingCountryRegions = [];\r\n $scope.quoteRequest.shippingAddress.countryCode = country.code3 || country.code2;\r\n $scope.quoteRequest.shippingAddress.regionId = null;\r\n $scope.quoteRequest.shippingAddress.regionName = null;\r\n }\r\n if (country.code3) {\r\n getCountryRegions(addressType, country.code3);\r\n }\r\n }\r\n\r\n $scope.setCountryRegion = function (addressType) {\r\n if (addressType == 'Billing') {\r\n var countryRegion = _.find($scope.billingCountryRegions, function (r) { return r.name == $scope.quoteRequest.billingAddress.regionName });\r\n if (!countryRegion) {\r\n return;\r\n }\r\n $scope.quoteRequest.billingAddress.regionId = countryRegion.code;\r\n }\r\n if (addressType == 'Shipping') {\r\n var countryRegion = _.find($scope.shippingCountryRegions, function (r) { return r.name == $scope.quoteRequest.shippingAddress.regionName });\r\n if (!countryRegion) {\r\n return;\r\n }\r\n $scope.quoteRequest.shippingAddress.regionId = countryRegion.code;\r\n }\r\n }\r\n\r\n $scope.selectCustomerAddress = function (addressType) {\r\n if (addressType === 'Billing') {\r\n var billingAddress = _.find($scope.customer.addresses, function (a) { return a.id === $scope.quoteRequest.billingAddress.id });\r\n if (billingAddress) {\r\n billingAddress.type = 'Billing';\r\n if (billingAddress.countryCode) {\r\n getCountryRegions('Billing', billingAddress.countryCode);\r\n }\r\n $scope.quoteRequest.billingAddress = angular.copy(billingAddress);\r\n }\r\n }\r\n if (addressType === 'Shipping') {\r\n var shippingAddress = _.find($scope.customer.addresses, function (a) { return a.id === $scope.quoteRequest.shippingAddress.id });\r\n if (shippingAddress) {\r\n shippingAddress.type = 'Shipping';\r\n if (shippingAddress.countryCode) {\r\n getCountryRegions('Shipping', shippingAddress.countryCode);\r\n }\r\n $scope.quoteRequest.shippingAddress = angular.copy(shippingAddress);\r\n }\r\n }\r\n }\r\n\r\n $scope.stringifyAddress = function (address) {\r\n if (!address) {\r\n return;\r\n }\r\n var stringifiedAddress = address.firstName + ' ' + address.lastName + ', ';\r\n stringifiedAddress += address.organization ? address.organization + ', ' : '';\r\n stringifiedAddress += address.countryName + ', ';\r\n stringifiedAddress += address.regionName ? address.regionName + ', ' : '';\r\n stringifiedAddress += address.city + ' ';\r\n stringifiedAddress += address.line1 + ', ';\r\n stringifiedAddress += address.line2 ? address.line2 : '';\r\n stringifiedAddress += address.postalCode;\r\n return stringifiedAddress;\r\n }\r\n\r\n $scope.submitQuoteRequest = function () {\r\n $scope.formQuoteRequest.$setSubmitted();\r\n if ($scope.formQuoteRequest.$invalid) {\r\n return;\r\n }\r\n $scope.quoteRequest.billingAddress.email = $scope.quoteRequest.email;\r\n if ($scope.quoteRequest.shippingAddress) {\r\n $scope.quoteRequest.shippingAddress.email = $scope.quoteRequest.email;\r\n }\r\n quoteRequestService.submitQuoteRequest($scope.quoteRequest.id, toFormModel($scope.quoteRequest)).then(function (response) {\r\n if ($scope.customer.isRegisteredUser) {\r\n $scope.outerRedirect($scope.baseUrl + 'account/quoterequests');\r\n } else {\r\n $scope.outerRedirect($scope.baseUrl + 'account/login');\r\n }\r\n });\r\n }\r\n\r\n $scope.rejectQuoteRequest = function () {\r\n quoteRequestService.rejectQuoteRequest($scope.quoteRequest.id).then(function (response) {\r\n quoteRequestService.getQuoteRequest($scope.quoteRequest.id).then(function (response) {\r\n $scope.quoteRequest = response.data;\r\n });\r\n });\r\n }\r\n\r\n $scope.selectTierPrice = function () {\r\n quoteRequestService.getTotals($scope.quoteRequest.id, toFormModel($scope.quoteRequest)).then(function (response) {\r\n $scope.quoteRequest.totals = response.data;\r\n });\r\n }\r\n\r\n $scope.confirmQuoteRequest = function () {\r\n quoteRequestService.confirmQuoteRequest($scope.quoteRequest.id, toFormModel($scope.quoteRequest)).then(function (response) {\r\n $scope.outerRedirect($scope.baseUrl + 'cart/checkout/#/shipping-address');\r\n });\r\n }\r\n\r\n $scope.setRequestShippingQuote = function () {\r\n if (!$scope.quoteRequest.requestShippingQuote) {\r\n $scope.quoteRequest.shippingAddress = null;\r\n }\r\n }\r\n\r\n $scope.setShippingAddressEqualsBilling = function () {\r\n if ($scope.quoteRequest.shippingAddressEqualsBilling) {\r\n $scope.quoteRequest.shippingAddress = angular.copy($scope.quoteRequest.billingAddress);\r\n $scope.quoteRequest.shippingAddress.type = 'Shipping';\r\n if ($scope.quoteRequest.shippingAddress.countryCode) {\r\n $scope.shippingCountry = $scope.billingCountry;\r\n getCountryRegions('Shipping', $scope.quoteRequest.shippingAddress.countryCode);\r\n }\r\n }\r\n }\r\n\r\n $scope.tierPricesUnique = function (quoteItem) {\r\n var quantities = _.map(quoteItem.proposalPrices, function (p) { return p.quantity });\r\n return _.uniq(quantities).length == quoteItem.proposalPrices.length;\r\n }\r\n\r\n function initialize() {\r\n var quoteRequestNumber = $location.url().replace('/', '') || $window.currentQuoteRequestNumber;\r\n $scope.billingCountry = null;\r\n $scope.shippingCountry = null;\r\n getCountries();\r\n if (quoteRequestNumber) {\r\n getQuoteRequest(quoteRequestNumber);\r\n } else {\r\n $scope.quoteRequest = { itemsCount: 0 };\r\n }\r\n }\r\n\r\n function getQuoteRequest(number) {\r\n quoteRequestService.getQuoteRequest(number).then(function (response) {\r\n var quoteRequest = response.data;\r\n if (!quoteRequest.billingAddress) {\r\n if ($scope.customer.addresses && $scope.customer.addresses.length) {\r\n quoteRequest.billingAddress = angular.copy($scope.customer.addresses[0]);\r\n quoteRequest.billingAddress.type = 'Billing';\r\n if (quoteRequest.billingAddress.countryCode) {\r\n getCountryRegions('Billing', quoteRequest.billingAddress.countryCode);\r\n }\r\n } else {\r\n quoteRequest.billingAddress = {\r\n firstName: $scope.customer.firstName,\r\n lastName: $scope.customer.lastName\r\n };\r\n }\r\n }\r\n _.each(quoteRequest.items, function (quoteItem) {\r\n var i = 1;\r\n _.each(quoteItem.proposalPrices, function (tierPrice) {\r\n tierPrice.id = i;\r\n if (quoteItem.selectedTierPrice.quantity == tierPrice.quantity) {\r\n quoteItem.selectedTierPrice = tierPrice;\r\n }\r\n i++;\r\n });\r\n });\r\n quoteRequest.requestShippingQuote = true;\r\n $scope.quoteRequest = quoteRequest;\r\n });\r\n }\r\n\r\n function getCountries() {\r\n cartService.getCountries().then(function (response) {\r\n $scope.countries = response.data;\r\n });\r\n }\r\n\r\n function getCountryRegions(addressType, countryCode) {\r\n cartService.getCountryRegions(countryCode).then(function (response) {\r\n var countryRegions = response.data;\r\n if (addressType == 'Billing') {\r\n $scope.billingCountryRegions = countryRegions || [];\r\n }\r\n if (addressType == 'Shipping') {\r\n $scope.shippingCountryRegions = countryRegions || [];\r\n }\r\n });\r\n }\r\n\r\n function toFormModel(quoteRequest) {\r\n var quoteRequestFormModel = {\r\n id: quoteRequest.id,\r\n tag: quoteRequest.tag,\r\n status: quoteRequest.status,\r\n comment: quoteRequest.comment,\r\n billingAddress: quoteRequest.billingAddress,\r\n shippingAddress: quoteRequest.shippingAddress,\r\n items: []\r\n };\r\n _.each(quoteRequest.items, function (quoteItem) {\r\n var quoteItemFormModel = {\r\n id: quoteItem.id,\r\n comment: quoteItem.comment,\r\n selectedTierPrice: {\r\n price: quoteItem.selectedTierPrice.price.amount,\r\n quantity: quoteItem.selectedTierPrice.quantity\r\n },\r\n proposalPrices: []\r\n };\r\n _.each(quoteItem.proposalPrices, function (tierPrice) {\r\n quoteItemFormModel.proposalPrices.push({\r\n price: tierPrice.price.amount,\r\n quantity: tierPrice.quantity\r\n });\r\n });\r\n quoteRequestFormModel.items.push(quoteItemFormModel);\r\n });\r\n\r\n return quoteRequestFormModel;\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('actualQuoteRequestBarController', ['$scope', 'quoteRequestService', function ($scope, quoteRequestService) {\r\n getCurrentQuoteRequest();\r\n\r\n $scope.$on('actualQuoteRequestItemsChanged', function (event, data) {\r\n getCurrentQuoteRequest();\r\n });\r\n\r\n function getCurrentQuoteRequest() {\r\n quoteRequestService.getCurrentQuoteRequest().then(function (response) {\r\n $scope.actualQuoteRequest = response.data;\r\n });\r\n }\r\n}]);\r\n\r\nstorefrontApp.controller('recentlyAddedActualQuoteRequestItemDialogController', ['$scope', '$window', '$uibModalInstance', 'dialogData',\r\n function ($scope, $window, $uibModalInstance, dialogData) {\r\n\r\n $scope.$on('actualQuoteRequestItemsChanged', function (event, data) {\r\n dialogData.updated = true;\r\n });\r\n\r\n $scope.dialogData = dialogData;\r\n\r\n $scope.close = function () {\r\n $uibModalInstance.close();\r\n }\r\n\r\n $scope.redirect = function (url) {\r\n $window.location = url;\r\n }\r\n}]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('recommendationsController', ['$scope', '$timeout', 'recommendationService', function ($scope, $timeout, recommendationService) {\r\n \r\n $scope.isBlockVisible = false;\r\n $scope.productListRecommendationsLoaded = false;\r\n $scope.productListRecommendations = [];\r\n \r\n $scope.getRecommendations = function (evalContext) {\r\n \r\n if (_.isString(evalContext.productIds)) {\r\n if (evalContext.productIds.match(\",\")) {\r\n var values = evalContext.productIds.split(',');\r\n evalContext.productIds = values;\r\n }\r\n else {\r\n evalContext.productIds = [evalContext.productIds];\r\n }\r\n }\r\n recommendationService.getRecommendedProducts(evalContext).then(function (response) {\r\n var products = response.data;\r\n if (products.length) {\r\n for (var i = 0; i < products.length; i++) {\r\n $scope.productListRecommendations.push(products[i]);\r\n }\r\n\r\n $scope.isBlockVisible = products.length > 0;\r\n }\r\n\r\n $scope.productListRecommendationsLoaded = true; \r\n });\r\n }\r\n $scope.startRecordInteraction = function () {\r\n //Necessary condition for ensure what angularjs rendering process finished\r\n $timeout(function () {\r\n window.startRecordInteraction();\r\n });\r\n }\r\n}]);","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.controller('searchBarController', ['$scope', '$timeout', '$window', 'catalogService', function ($scope, $timeout, $window, catalogService) {\r\n var timer;\r\n\r\n $scope.query = $window.searchQuery;\r\n\r\n $scope.getSuggestions = function () {\r\n if (!$scope.query) {\r\n return;\r\n }\r\n $timeout.cancel(timer);\r\n timer = $timeout(function () {\r\n $scope.searching = true;\r\n $scope.categorySuggestions = [];\r\n $scope.productSuggestions = [];\r\n var searchCriteria = {\r\n keyword: $scope.query,\r\n start: 0,\r\n pageSize: $window.suggestionsLimit\r\n }\r\n catalogService.searchCategories(searchCriteria).then(function (response) {\r\n var categories = response.data.categories;\r\n if (categories.length > 5) {\r\n searchCriteria.pageSize = $window.suggestionsLimit - 5;\r\n $scope.categorySuggestions = _.first(categories, 5);\r\n } else {\r\n searchCriteria.pageSize = $window.suggestionsLimit - categories.length;\r\n $scope.categorySuggestions = categories;\r\n }\r\n catalogService.search(searchCriteria).then(function (response) {\r\n var products = response.data.products;\r\n $scope.productSuggestions = products;\r\n $scope.searching = false;\r\n });\r\n });\r\n }, 300);\r\n }\r\n}]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.service('dialogService', ['$uibModal', function ($uibModal) {\r\n return {\r\n showDialog: function (dialogData, controller, templateUrl, onClosed) {\r\n var modalInstance = $uibModal.open({\r\n controller: controller,\r\n templateUrl: templateUrl,\r\n resolve: {\r\n dialogData: function () {\r\n return dialogData;\r\n }\r\n }\r\n }).result.then(function (result) {\r\n if (onClosed) {\r\n onClosed(result);\r\n }\r\n });\r\n return modalInstance;\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('feedbackService', ['$http', function ($http) {\r\n return {\r\n postFeedback: function (data) {\r\n return $http.post('storefrontapi/feedback', data);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('customerService', ['$http', function ($http) {\r\n return {\r\n getCurrentCustomer: function () {\r\n return $http.get('storefrontapi/account?t=' + new Date().getTime());\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('marketingService', ['$http', function ($http) {\r\n return {\r\n getDynamicContent: function (placeName) {\r\n return $http.get('storefrontapi/marketing/dynamiccontent/' + placeName + '?t=' + new Date().getTime());\r\n },\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('pricingService', ['$http', function ($http) {\r\n\treturn {\r\n\t\tgetActualProductPrices: function (products) {\r\n\t\t return $http.post('storefrontapi/pricing/actualprices', products);\r\n\t\t}\r\n\t}\r\n}]);\r\n\r\nstorefrontApp.service('compareProductService', ['$http', '$localStorage', function($http, $localStorage) {\r\n return {\r\n isInProductCompareList: function(productId) {\r\n var containProduct;\r\n if (!_.some($localStorage['productCompareListIds'], function(id) { return id === productId })) {\r\n containProduct = false;\r\n }\r\n else\r\n containProduct = true\r\n return containProduct;\r\n },\r\n addProduct: function(productId) {\r\n if (!$localStorage['productCompareListIds']) {\r\n $localStorage['productCompareListIds'] = [];\r\n }\r\n $localStorage['productCompareListIds'].push(productId);\r\n _.uniq($localStorage['productCompareListIds']);\r\n },\r\n getProductsIds: function() {\r\n if (!$localStorage['productCompareListIds']) {\r\n $localStorage['productCompareListIds'] = [];\r\n return;\r\n }\r\n var ids = [];\r\n for (i = 0; i < $localStorage['productCompareListIds'].length; i++) {\r\n ids.push('productIds=' + $localStorage['productCompareListIds'][i]);\r\n }\r\n return ids.join(\"&\");\r\n },\r\n getProductsCount: function() {\r\n var count = $localStorage['productCompareListIds'] ? $localStorage['productCompareListIds'].length : 0;\r\n return count;\r\n },\r\n clearComapreList: function() {\r\n $localStorage['productCompareListIds'] = [];\r\n },\r\n removeProduct: function(productId) {\r\n $localStorage['productCompareListIds'] = _.without($localStorage['productCompareListIds'], productId);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('catalogService', ['$http', function($http, $localStorage) {\r\n return {\r\n getProduct: function(productIds) {\r\n return $http.get('storefrontapi/products?productIds=' + productIds + '&t=' + new Date().getTime());\r\n },\r\n getProducts: function(productIds) {\r\n return $http.get('storefrontapi/products?' + productIds + '&t=' + new Date().getTime());\r\n },\r\n search: function (criteria) {\r\n return $http.post('storefrontapi/catalog/search', criteria);\r\n },\r\n searchCategories: function (criteria) {\r\n return $http.post('storefrontapi/categories/search', criteria);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('cartService', ['$http', function ($http) {\r\n return {\r\n getCart: function () {\r\n return $http.get('storefrontapi/cart?t=' + new Date().getTime());\r\n },\r\n getCartItemsCount: function () {\r\n return $http.get('storefrontapi/cart/itemscount?t=' + new Date().getTime());\r\n },\r\n addLineItem: function (productId, quantity) {\r\n return $http.post('storefrontapi/cart/items', { id: productId, quantity: quantity });\r\n },\r\n changeLineItemQuantity: function (lineItemId, quantity) {\r\n return $http.put('storefrontapi/cart/items', { lineItemId: lineItemId, quantity: quantity });\r\n },\r\n removeLineItem: function (lineItemId) {\r\n return $http.delete('storefrontapi/cart/items?lineItemId=' + lineItemId);\r\n },\r\n changeLineItemPrice: function (lineItemId, newPrice) {\r\n \treturn $http.put('storefrontapi/cart/items/price', { lineItemId: lineItemId, newPrice: newPrice});\r\n },\r\n clearCart: function () {\r\n return $http.post('storefrontapi/cart/clear');\r\n },\r\n getCountries: function () {\r\n return $http.get('storefrontapi/countries?t=' + new Date().getTime());\r\n },\r\n getCountryRegions: function (countryCode) {\r\n \treturn $http.get('storefrontapi/countries/' + countryCode + '/regions?t=' + new Date().getTime());\r\n },\r\n addCoupon: function (couponCode) {\r\n return $http.post('storefrontapi/cart/coupons/' + couponCode);\r\n },\r\n removeCoupon: function (couponCode) { \r\n return $http.delete('storefrontapi/cart/coupons?couponCode=' + couponCode);\r\n },\r\n validateCoupon: function (coupon) {\r\n return $http.post('storefrontapi/cart/coupons/validate', coupon);\r\n },\r\n addOrUpdateShipment: function (shipment) {\r\n return $http.post('storefrontapi/cart/shipments', shipment);\r\n },\r\n addOrUpdatePayment: function (payment) {\r\n return $http.post('storefrontapi/cart/payments', payment );\r\n },\r\n getAvailableShippingMethods: function (shipmentId) {\r\n return $http.get('storefrontapi/cart/shipments/' + shipmentId + '/shippingmethods?t=' + new Date().getTime());\r\n },\r\n getAvailablePaymentMethods: function () {\r\n return $http.get('storefrontapi/cart/paymentmethods?t=' + new Date().getTime());\r\n },\r\n addOrUpdatePaymentPlan: function (plan) {\r\n return $http.post('storefrontapi/cart/paymentPlan', plan);\r\n },\r\n removePaymentPlan: function () {\r\n return $http.delete('storefrontapi/cart/paymentPlan');\r\n },\r\n createOrder: function (bankCardInfo) {\r\n return $http.post('storefrontapi/cart/createorder', bankCardInfo);\r\n },\r\n updateCartComment: function (cartComment) {\r\n return $http.put('storefrontapi/cart/comment', { comment: cartComment });\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('listService', ['$http', function ($http) {\r\n return {\r\n getWishlist: function (listName, type) {\r\n return $http.get('storefrontapi/lists/' + listName + '/' + type + '?t=' + new Date().getTime());\r\n },\r\n getListsWithProduct: function (productId, listNames, type) {\r\n return $http.post('storefrontapi/lists/getlistswithproduct', { productId: productId, listNames: listNames, type: type });\r\n },\r\n addLineItem: function (productId, listName, type) {\r\n return $http.post('storefrontapi/lists/items', { productId: productId, listName: listName, type: type });\r\n },\r\n removeLineItem: function (lineItemId, listName, type) {\r\n return $http.delete('storefrontapi/lists/' + listName + '/' + type + '/items/' + lineItemId);\r\n },\r\n searchLists: function (searchCriteria) {\r\n return $http.post('storefrontapi/lists/search', searchCriteria);\r\n },\r\n createList: function(listName, type) {\r\n return $http.post('storefrontapi/lists/' + listName + '/' + type + '/create');\r\n },\r\n deleteListsByIds: function(listIds) {\r\n return $http.delete('storefrontapi/lists/deletelistsbyids?listIds=' + listIds.join('&listIds='));\r\n },\r\n mergeWithCurrentCart: function(listName, type) {\r\n return $http.post('storefrontapi/lists/' + listName + '/' + type + '/mergewithcurrentcart');\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('quoteRequestService', ['$http', function ($http) {\r\n return {\r\n getCurrentQuoteRequest: function () {\r\n return $http.get('storefrontapi/quoterequest/current?t=' + new Date().getTime());\r\n },\r\n getQuoteRequest: function (number) {\r\n return $http.get('storefrontapi/quoterequests/' + number + '?t=' + new Date().getTime());\r\n },\r\n getQuoteRequestItemsCount: function (number) {\r\n return $http.get('storefrontapi/quoterequests/' + number + '/itemscount?t=' + new Date().getTime());\r\n },\r\n addProductToQuoteRequest: function (productId, quantity) {\r\n return $http.post('storefrontapi/quoterequests/current/items', { productId: productId, quantity: quantity });\r\n },\r\n removeProductFromQuoteRequest: function (quoteRequestNumber, quoteItemId) {\r\n return $http.delete('storefrontapi/quoterequests/' + quoteRequestNumber + '/items/' + quoteItemId);\r\n },\r\n submitQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/submit', quoteRequest);\r\n },\r\n rejectQuoteRequest: function (quoteRequestNumber) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/reject');\r\n },\r\n updateQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.put('storefrontapi/quoterequests/' + quoteRequestNumber + '/update', quoteRequest);\r\n },\r\n getTotals: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/totals', quoteRequest);\r\n },\r\n confirmQuoteRequest: function (quoteRequestNumber, quoteRequest) {\r\n return $http.post('storefrontapi/quoterequests/' + quoteRequestNumber + '/confirm', quoteRequest);\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('recommendationService', ['$http', function ($http) {\r\n return {\r\n getRecommendedProducts: function (requestData) {\r\n return $http.post('storefrontapi/recommendations', requestData );\r\n }\r\n }\r\n}]);\r\n\r\nstorefrontApp.service('orderService', ['$http', function ($http) {\r\n return {\r\n getOrder: function (orderNumber) {\r\n return $http.get('storefrontapi/orders/' + orderNumber + '?t=' + new Date().getTime());\r\n }\r\n }\r\n}]);\r\n","angular.module('storefrontApp')\r\n .component('addToCompareButton', {\r\n templateUrl: 'themes/assets/js/products-compare/add-to-compare-button.tpl.html',\r\n bindings: {\r\n productId: '<',\r\n buttonType: '<',\r\n customClass: '<',\r\n buttonWidth: '<'\r\n },\r\n controller: ['$rootScope', 'catalogService', 'dialogService', 'compareProductService', function($rootScope, catalogService, dialogService, compareProductService) {\r\n var $ctrl = this;\r\n\r\n $ctrl.showButtonName = true;\r\n if ($ctrl.buttonType == 'small') {\r\n $ctrl.showButtonName = false;\r\n }\r\n\r\n $ctrl.$onInit = function () {\r\n $ctrl.containProduct = compareProductService.isInProductCompareList($ctrl.productId);\r\n }\r\n\r\n $ctrl.addProductToCompareList = function (event) {\r\n event.preventDefault();\r\n catalogService.getProduct($ctrl.productId).then(function(response) {\r\n var product = response.data[0];\r\n var productQuantity = compareProductService.getProductsCount();\r\n if (productQuantity == 4) {\r\n dialogService.showDialog({ capacityExceeded: true }, 'productCompareListDialogController', 'storefront.product-compare-list-dialog.tpl');\r\n return;\r\n }\r\n if (!$ctrl.containProduct && productQuantity < 4) {\r\n compareProductService.addProduct($ctrl.productId);\r\n dialogService.showDialog(product, 'productCompareListDialogController', 'storefront.product-compare-list-dialog.tpl');\r\n $rootScope.$broadcast('productCompareListChanged');\r\n }\r\n else {\r\n var existingProduct = product;\r\n dialogService.showDialog(existingProduct, 'productCompareListDialogController', 'storefront.product-compare-list-dialog.tpl');\r\n return;\r\n }\r\n $ctrl.containProduct = true;\r\n })\r\n };\r\n }]\r\n })\r\n","angular.module('storefrontApp')\r\n .component('productCompareListBar', {\r\n templateUrl: \"product-compare-bar.tpl.html\",\r\n controller: ['compareProductService', '$scope',\r\n function(compareProductService, $scope) {\r\n var $ctrl = this;\r\n $ctrl.$onInit = function() {\r\n $ctrl.itemsCount = compareProductService.getProductsCount();\r\n }\r\n $scope.$on('productCompareListChanged', function(event, data) {\r\n $ctrl.itemsCount = compareProductService.getProductsCount();\r\n });\r\n }]\r\n });\r\n","var storefrontApp = angular.module('storefrontApp');\r\nstorefrontApp.controller('productCompareListController', ['$rootScope', '$scope', 'catalogService', 'compareProductService',\r\n function($rootScope, $scope, catalogService, compareProductService) {\r\n\r\n $scope.properties = [];\r\n $scope.products = [];\r\n\r\n function initialize() {\r\n $scope.loaded = false;\r\n var productsIds = compareProductService.getProductsIds();\r\n if (_.isEmpty(productsIds)) {\r\n $scope.loaded = true;\r\n return;\r\n }\r\n catalogService.getProducts(productsIds).then(function(response) {\r\n if (_.indexOf(productsIds, '&') != -1) {\r\n $scope.products = response.data;\r\n _.each($scope.products, function(product) {\r\n modifyProperty(product);\r\n })\r\n }\r\n else {\r\n var product = response.data[0];\r\n modifyProperty(product);\r\n $scope.products.push(product);\r\n }\r\n $scope.getProductProperties();\r\n $scope.loaded = true;\r\n })\r\n };\r\n\r\n $scope.getProductProperties = function () {\r\n if (_.isEmpty($scope.products))\r\n return [];\r\n var grouped = {};\r\n var properties = _.flatten(_.map($scope.products, function(product) { return product.properties; }));\r\n var propertyDisplayNames = _.uniq(_.map(properties, function(property) { return property.displayName; }));\r\n _.each(propertyDisplayNames, function(displayName) {\r\n grouped[displayName] = [];\r\n var props = _.where(properties, { displayName: displayName });\r\n _.each($scope.products, function(product) {\r\n var productProperty = _.find(props, function(prop) { return prop.productId === product.id });\r\n if (productProperty) {\r\n grouped[displayName].push(productProperty);\r\n } else {\r\n grouped[displayName].push({ valueType: 'ShortText', value: '-' });\r\n }\r\n });\r\n });\r\n $scope.properties = grouped;\r\n };\r\n\r\n function modifyProperty(product) {\r\n _.each(product.properties, function(property) {\r\n property.productId = product.id;\r\n if (property.valueType.toLowerCase() === 'number') {\r\n property.value = formatNumber(property.value);\r\n }\r\n })\r\n return product;\r\n }\r\n\r\n $scope.hasValues = function(properties, onlyDifferences) {\r\n var uniqueValues = _.uniq(_.map(properties, function (p) { return p.value }));\r\n if (onlyDifferences && properties.length > 1 && uniqueValues.length == 1) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n $scope.clearCompareList = function() {\r\n compareProductService.clearComapreList();\r\n $scope.products = [];\r\n $rootScope.$broadcast('productCompareListChanged');\r\n $scope.properties = [];\r\n };\r\n\r\n $scope.removeProduct = function (product) {\r\n compareProductService.removeProduct(product.id)\r\n $scope.products = _.without($scope.products, product);\r\n $rootScope.$broadcast('productCompareListChanged');\r\n $scope.getProductProperties();\r\n };\r\n\r\n function formatNumber(number) {\r\n var float = parseFloat(number);\r\n return !isNaN(float) ? float : number;\r\n };\r\n initialize();\r\n }\r\n])\r\n\r\n.controller('productCompareListDialogController', ['$scope', '$window', 'dialogData', '$uibModalInstance',\r\n function ($scope, $window, dialogData, $uibModalInstance) {\r\n $scope.dialogData = dialogData;\r\n\r\n $scope.close = function() {\r\n $uibModalInstance.close();\r\n };\r\n\r\n $scope.redirect = function(url) {\r\n $window.location = url;\r\n };\r\n }\r\n]);\r\n","var storefrontApp = angular.module('storefrontApp');\r\n\r\nstorefrontApp.controller('recentlyAddedListItemDialogController', ['$scope', '$window', '$uibModalInstance', 'dialogData', 'listService', '$translate', function ($scope, $window, $uibModalInstance, dialogData, listService, $translate) {\r\n $scope.availableLists = [];\r\n $scope.selectedList = {};\r\n $scope.dialogData = dialogData;\r\n $scope.inProgress = false;\r\n $scope.itemAdded = false;\r\n $scope.type = dialogData.listType;\r\n\r\n $scope.addProductToList = function () {\r\n $scope.inProgress = true;\r\n listService.addLineItem(dialogData.id, $scope.selectedList.name, $scope.selectedList.type).then(function (response) {\r\n if (response.data) {\r\n $scope.inProgress = false;\r\n $scope.itemAdded = true;\r\n }\r\n });\r\n };\r\n $scope.selectList = function (list) {\r\n $scope.selectedList = list;\r\n };\r\n\r\n $scope.close = function () {\r\n $uibModalInstance.close();\r\n };\r\n\r\n $scope.redirect = function (url) {\r\n $window.location = url;\r\n };\r\n\r\n $scope.initialize = function () {\r\n listService.searchLists({\r\n pageSize: 10000,\r\n type: $scope.type\r\n }).then(function (response) {\r\n $scope.lists = response.data.results;\r\n\r\n _.each($scope.lists, function(list) {\r\n var foundItem = _.find(list.items, function(item) {\r\n return item.productId === dialogData.id;\r\n });\r\n\r\n if (foundItem) {\r\n list.contains = true;\r\n }\r\n });\r\n });\r\n };\r\n\r\n $scope.initialize();\r\n}]);"]} \ No newline at end of file diff --git a/assets/static/bundle/scripts_dependencies.js b/assets/static/bundle/scripts_dependencies.js deleted file mode 100644 index 2d842f2b..00000000 --- a/assets/static/bundle/scripts_dependencies.js +++ /dev/null @@ -1,6287 +0,0 @@ -/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f -}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("