1Drupal.locale = { 'pluralFormula': function ($n) { return Number((($n==1)?(0):((($n>=2)&&($n<=4))?(1):2))); }, 'strings': {"":{"An AJAX HTTP error occurred.":"Vyskytla sa chyba AJAX HTTP.","HTTP Result Code: !status":"HTTP Result Code: !status","An AJAX HTTP request terminated abnormally.":"Abnorm\u00e1lne ukon\u010denie AJAX HTTP po\u017eiadavky.","Debugging information follows.":"Nasleduje v\u00fdpis ladiacich inform\u00e1ci\u00ed.","Path: !uri":"Cesta: !uri","StatusText: !statusText":"Stavov\u00fd text: !statusText","ResponseText: !responseText":"ResponseText: !responseText","ReadyState: !readyState":"ReadyState: !readyState","Loading":"Nahr\u00e1va sa","(active tab)":"(akt\u00edvna karta)","Hide":"Skry\u0165","Show":"Zobrazi\u0165","@title dialog":"@title dial\u00f3g","Configure":"Konfigurova\u0165","Not restricted":"Neobmedzen\u00e9","Restricted to certain pages":"Obmedzi\u0165 pre konkr\u00e9tne str\u00e1nky","Not customizable":"Neprisp\u00f4sobite\u013en\u00fd","The changes to these blocks will not be saved until the \u003Cem\u003ESave blocks\u003C\/em\u003E button is clicked.":"Zmeny v rozmiestnen\u00ed blokov sa neprejavia, pok\u00fdm nestla\u010d\u00edte tla\u010didlo \u003Cem\u003EUlo\u017ei\u0165 bloky\u003C\/em\u003E","The block cannot be placed in this region.":"Blok nem\u00f4\u017ee by\u0165 umiestnen\u00fd v tomto regi\u00f3ne.","Done":"Hotovo","Hide summary":"Skry\u0165 zhrnutie","
1Edit summary":"Upravi\u0165 zhrnutie","Not in menu":"Nie je v menu","New revision":"Nov\u00e1 rev\u00edzia","No revision":"\u017diadna rev\u00edzia","By @name on @date":"Od pou\u017e\u00edvate\u013ea @name - @date","By @name":"Pod\u013ea @name","Not published":"Nezverejnen\u00e9","Alias: @alias":"Alias: @alias","No alias":"\u017diaden alias","Autocomplete popup":"Pole s automatick\u00fdm dopl\u0148ovan\u00edm","Searching for matches...":"H\u013eadaj\u00fa sa zhody...","Edit":"Upravi\u0165","Requires a title":"Vy\u017eaduje nadpis","Don\u0027t display post information":"Nezobrazova\u0165 inform\u00e1cie o publikovan\u00ed","Re-order rows by numerical weight instead of dragging.":"Namiesto \u0165ahania preusporiadajte riadky pomocou \u010d\u00edseln\u00fdch v\u00e1h.","Show row weights":"Zobrazi\u0165 v\u00e1hy riadkov","Hide row weights":"Skry\u0165 v\u00e1hy riadkov","Drag to re-order":"Potiahnut\u00fdm zmen\u00edte poradie","Changes made in this table will not be saved until the form is submitted.":"Zmeny vykonan\u00e9 v tejto tabu\u013eke nebud\u00fa ulo\u017een\u00e9 pokia\u013e sa formul\u00e1r neodo\u0161le.","Please wait...":"Pros\u00edm \u010dakajte...","Automatic alias":"Automatick\u00fd alias","File browsing is disabled in directory %dir.":"Prezeranie s\u00faborov v prie\u010dinku %dir je vypnut\u00e9.","Upload":"Nahra\u0165","Do you want to refresh the current directory?":"Chcete obnovi\u0165 s\u00fa\u010dasn\u00fd adres\u00e1r?","Only files with the following extensions are allowed: %files-allowed.":"Povolen\u00e9 s\u00fa len tieto typy s\u00faborov: %files-allowed.","Delete selected files?":"Zmaza\u0165 vybran\u00e9 s\u00fabory?","Please select a thumbnail.":"Pros\u00edm vyberte miniat\u00faru.","Please specify dimensions within the allowed range that is from 1x1 to @dimensions.":"Pros\u00edm zadajte rozmery v povolenom rozsahu od 1x1 do @dimensions.","Please select a file.":"Zvo\u013ete pros\u00edm s\u00fabor.","%filename is not an image.":"%filename nie je obr\u00e1zok.","You must select at least %num files.":"Mus\u00edte ozna\u010di\u0165 aspo\u0148 %num s\u00faborov","You are not allowed to operate on more than %num files.":"Nem\u00e1te dovolen\u00e9 pracova\u0165 s viac ako %num s\u00fabormi s\u00fa\u010dasne.","Close":"Zatvori\u0165","Enabled":"Povolen\u00e9","Disabled":"Zak\u00e1zan\u00e9","Select all rows in this table":"Ozna\u010di\u0165 v\u0161etky riadky v tejto tabu\u013eke","Deselect all rows in this table":"Odzna\u010di\u0165 v\u0161etky riadky v tejto tabu\u013eke","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"Zvolen\u00fd s\u00fabor %filename nie je mo\u017en\u00e9 nahra\u0165. Povolen\u00e9 s\u00fa len s\u00fabory s t\u00fdmito pr\u00edponami: %extensions.","This permission is inherited from the authenticated user role.":"Toto opr\u00e1vnenie sa ded\u00ed z kateg\u00f3rie Prihl\u00e1sen\u00fd pou\u017e\u00edvate\u013e.","Next":"\u010eal\u0161\u00ed","None":"\u017diadne","Sunday":"nede\u013ea","Monday":"pondelok","Tuesday":"utorok","Wednesday":"streda","Thursday":"\u0161tvrtok","Friday":"piatok","Saturday":"sobota","Add":"Prida\u0165","All":"V\u0161etky","Prev":"Predch","Mon":"Po","Tue":"Ut","Wed":"St","Thu":"\u0160t","Fri":"Pi","Sat":"So","Sun":"Ne","January":"janu\u00e1r","February":"febru\u00e1r","March":"marec","April":"apr\u00edl","May":"m\u00e1j","June":"j\u00fan","July":"j\u00fal","August":"august","September":"september","October":"okt\u00f3ber","November":"november","December":"december","Anonymous users":"Neprihl\u00e1sen\u00ed pou\u017e\u00edvatelia","Today":"Dnes","Jan":"jan","Feb":"feb","Mar":"mar","Apr":"apr","Jun":"j\u00fan","Jul":"j\u00fal","Aug":"aug","Sep":"sep","Oct":"okt","Nov":"nov","Dec":"dec","Su":"Ne","Mo":"Po","Tu":"Ut","We":"St","Th":"\u0160t","Fr":"Pi","Sa":"So","mm\/dd\/yy":"mm\/dd\/rr","@size KB":"@size KB","@size MB":"@size MB","@size GB":"@size GB","Other":"Ostatn\u00e9","No name":"Bez n\u00e1zvu","Remove group":"Odstr\u00e1ni\u0165 skupinu","Apply (all displays)":"Pou\u017ei\u0165 (v\u0161etky zobrazenia)","Apply (this display)":"Pou\u017ei\u0165 (toto zobrazenie)","Translatable":"Prekladate\u013en\u00fd","Downloads":"Prevzatia","No title":"Bez nadpisu","SKU":"K\u00f3d tovaru","Sell price":"Predajn\u00e1 cena","No style":"\u017diaden \u0161t\u00fdl"}} };;
vendor: 11,960 bytes, lines 2-7
2/*! 3 Colorbox 1.6.4 4 license: MIT 5 http://www.jacklmoore.com/colorbox 6*/ 7(function(t,e,i){function n(i,n,o){var r=e.createElement(i);return n&&(r.id=Z+n),o&&(r.style.cssText=o),t(r)}function o(){return i.innerHeight?i.innerHeight:t(i).height()}function r(e,i){i!==Object(i)&&(i={}),this.cache={},this.el=e,this.value=function(e){var n;return void 0===this.cache[e]&&(n=t(this.el).attr("data-cbox-"+e),void 0!==n?this.cache[e]=n:void 0!==i[e]?this.cache[e]=i[e]:void 0!==X[e]&&(this.cache[e]=X[e])),this.cache[e]},this.get=function(e){var i=this.value(e);return t.isFunction(i)?i.call(this.el,this):i}}function h(t){var e=W.length,i=(A+t)%e;return 0>i?e+i:i}function a(t,e){return Math.round((/%/.test(t)?("x"===e?E.width():o())/100:1)*parseInt(t,10))}function s(t,e){return t.get("photo")||t.get("photoRegex").test(e)}function l(t,e){return t.get("retinaUrl")&&i.devicePixelRatio>1?e.replace(t.get("photoRegex"),t.get("retinaSuffix")):e}function d(t){"contains"in x[0]&&!x[0].contains(t.target)&&t.target!==v[0]&&(t.stopPropagation(),x.focus())}function c(t){c.str!==t&&(x.add(v).removeClass(c.str).addClass(t),c.str=t)}function g(e){A=0,e&&e!==!1&&"nofollow"!==e?(W=t("."+te).filter(function(){var i=t.data(this,Y),n=new r(this,i);return n.get("rel")===e}),A=W.index(_.el),-1===A&&(W=W.add(_.el),A=W.length-1)):W=t(_.el)}function u(i){t(e).trigger(i),ae.triggerHandler(i)}function f(i){var o;if(!G){if(o=t(i).data(Y),_=new r(i,o),g(_.get("rel")),!U){U=$=!0,c(_.get("className")),x.css({visibility:"hidden",display:"block",opacity:""}),I=n(se,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),b.css({width:"",height:""}).append(I),j=T.height()+k.height()+b.outerHeight(!0)-b.height(),D=C.width()+H.width()+b.outerWidth(!0)-b.width(),N=I.outerHeight(!0),z=I.outerWidth(!0);var h=a(_.get("initialWidth"),"x"),s=a(_.get("initialHeight"),"y"),l=_.get("maxWidth"),f=_.get("maxHeight");_.w=Math.max((l!==!1?Math.min(h,a(l,"x")):h)-z-D,0),_.h=Math.max((f!==!1?Math.min(s,a(f,"y")):s)-N-j,0),I.css({width:"",height:_.h}),J.position(),u(ee),_.get("onOpen"),O.add(F).hide(),x.focus(),_.get("trapFocus")&&e.addEventListener&&(e.addEventListener("focus",d,!0),ae.one(re,function(){e.removeEventListener("focus",d,!0)})),_.get("returnFocus")&&ae.one(re,function(){t(_.el).focus()})}var p=parseFloat(_.get("opacity"));v.css({opacity:p===p?p:"",cursor:_.get("overlayClose")?"pointer":"",visibility:"visible"}).show(),_.get("closeButton")?B.html(_.get("close")).appendTo(b):B.appendTo("<div/>"),w()}}function p(){x||(V=!1,E=t(i),x=n(se).attr({id:Y,"class":t.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),v=n(se,"Overlay").hide(),L=t([n(se,"LoadingOverlay")[0],n(se,"LoadingGraphic")[0]]),y=n(se,"Wrapper"),b=n(se,"Content").append(F=n(se,"Title"),R=n(se,"Current"),P=t('<button type="button"/>').attr({id:Z+"Previous"}),K=t('<button type="button"/>').attr({id:Z+"Next"}),S=t('<button type="button"/>').attr({id:Z+"Slideshow"}),L),B=t('<button type="button"/>').attr({id:Z+"Close"}),y.append(n(se).append(n(se,"TopLeft"),T=n(se,"TopCenter"),n(se,"TopRight")),n(se,!1,"clear:left").append(C=n(se,"MiddleLeft"),b,H=n(se,"MiddleRight")),n(se,!1,"clear:left").append(n(se,"BottomLeft"),k=n(se,"BottomCenter"),n(se,"BottomRight"))).find("div div").css({"float":"left"}),M=n(se,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),O=K.add(P).add(R).add(S)),e.body&&!x.parent().length&&t(e.body).append(v,x.append(y,M))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),f(this))}return x?(V||(V=!0,K.click(function(){J.next()}),P.click(function(){J.prev()}),B.click(function(){J.close()}),v.click(function(){_.get("overlayClose")&&J.close()}),t(e).bind("keydown."+Z,function(t){var e=t.keyCode;U&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),U&&_.get("arrowKey")&&W[1]&&!t.altKey&&(37===e?(t.preventDefault(),P.click()):39===e&&(t.preventDefault(),K.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+Z,"."+te,i):t("."+te).live("click."+Z,i)),!0):!1}function w(){var e,o,r,h=J.prep,d=++le;if($=!0,q=!1,u(he),u(ie),_.get("onLoad"),_.h=_.get("height")?a(_.get("height"),"y")-N-j:_.get("innerHeight")&&a(_.get("innerHeight"),"y"),_.w=_.get("width")?a(_.get("width"),"x")-z-D:_.get("innerWidth")&&a(_.get("innerWidth"),"x"),_.mw=_.w,_.mh=_.h,_.get("maxWidth")&&(_.mw=a(_.get("maxWidth"),"x")-z-D,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.get("maxHeight")&&(_.mh=a(_.get("maxHeight"),"y")-N-j,_.mh=_.h&&_.h<_.mh?_.h:_.mh),e=_.get("href"),Q=setTimeout(function(){L.show()},100),_.get("inline")){var c=t(e).eq(0);r=t("<div>").hide().insertBefore(c),ae.one(he,function(){r.replaceWith(c)}),h(c)}else _.get("iframe")?h(" "):_.get("html")?h(_.get("html")):s(_,e)?(e=l(_,e),q=_.get("createImg"),t(q).addClass(Z+"Photo").bind("error."+Z,function(){h(n(se,"Error").html(_.get("imgError")))}).one("load",function(){d===le&&setTimeout(function(){var e;_.get("retinaImage")&&i.devicePixelRatio>1&&(q.height=q.height/i.devicePixelRatio,q.width=q.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){q.height-=q.height*e,q.width-=q.width*e},_.mw&&q.width>_.mw&&(e=(q.width-_.mw)/q.width,o()),_.mh&&q.height>_.mh&&(e=(q.height-_.mh)/q.height,o())),_.h&&(q.style.marginTop=Math.max(_.mh-q.height,0)/2+"px"),W[1]&&(_.get("loop")||W[A+1])&&(q.style.cursor="pointer",t(q).bind("click."+Z,function(){J.next()})),q.style.width=q.width+"px",q.style.height=q.height+"px",h(q)},1)}),q.src=e):e&&M.load(e,_.get("data"),function(e,i){d===le&&h("error"===i?n(se,"Error").html(_.get("xhrError")):t(this).contents())})}var v,x,y,b,T,C,H,k,W,E,I,M,L,F,R,S,K,P,B,O,_,j,D,N,z,A,q,U,$,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return t(this).attr("href")},title:function(){return this.title},createImg:function(){var e=new Image,i=t(this).data("cbox-img-attrs");return"object"==typeof i&&t.each(i,function(t,i){e[t]=i}),e},createIframe:function(){var i=e.createElement("iframe"),n=t(this).data("cbox-iframe-attrs");return"object"==typeof n&&t.each(n,function(t,e){i[t]=e}),"frameBorder"in i&&(i.frameBorder=0),"allowTransparency"in i&&(i.allowTransparency="true"),i.name=(new Date).getTime(),i.allowFullscreen=!0,i}},Y="colorbox",Z="cbox",te=Z+"Element",ee=Z+"_open",ie=Z+"_load",ne=Z+"_complete",oe=Z+"_cleanup",re=Z+"_closed",he=Z+"_purge",ae=t("<a/>"),se="div",le=0,de={},ce=function(){function t(){clearTimeout(h)}function e(){(_.get("loop")||W[A+1])&&(t(),h=setTimeout(J.next,_.get("slideshowSpeed")))}function i(){S.html(_.get("slideshowStop")).unbind(s).one(s,n),ae.bind(ne,e).bind(ie,t),x.removeClass(a+"off").addClass(a+"on")}function n(){t(),ae.unbind(ne,e).unbind(ie,t),S.html(_.get("slideshowStart")).unbind(s).one(s,function(){J.next(),i()}),x.removeClass(a+"on").addClass(a+"off")}function o(){r=!1,S.hide(),t(),ae.unbind(ne,e).unbind(ie,t),x.removeClass(a+"off "+a+"on")}var r,h,a=Z+"Slideshow_",s="click."+Z;return function(){r?_.get("slideshow")||(ae.unbind(oe,o),o()):_.get("slideshow")&&W[1]&&(r=!0,ae.one(oe,o),_.get("slideshowAuto")?i():n(),S.show())}}();t[Y]||(t(p),J=t.fn[Y]=t[Y]=function(e,i){var n,o=this;return e=e||{},t.isFunction(o)&&(o=t("<a/>"),e.open=!0),o[0]?(p(),m()&&(i&&(e.onComplete=i),o.each(function(){var i=t.data(this,Y)||{};t.data(this,Y,t.extend(i,e))}).addClass(te),n=new r(o[0],e),n.get("open")&&f(o[0])),o):o},J.position=function(e,i){function n(){T[0].style.width=k[0].style.width=b[0].style.width=parseInt(x[0].style.width,10)-D+"px",b[0].style.height=C[0].style.height=H[0].style.height=parseInt(x[0].style.height,10)-j+"px"}var r,h,s,l=0,d=0,c=x.offset();if(E.unbind("resize."+Z),x.css({top:-9e4,left:-9e4}),h=E.scrollTop(),s=E.scrollLeft(),_.get("fixed")?(c.top-=h,c.left-=s,x.css({position:"fixed"})):(l=h,d=s,x.css({position:"absolute"})),d+=_.get("right")!==!1?Math.max(E.width()-_.w-z-D-a(_.get("right"),"x"),0):_.get("left")!==!1?a(_.get("left"),"x"):Math.round(Math.max(E.width()-_.w-z-D,0)/2),l+=_.get("bottom")!==!1?Math.max(o()-_.h-N-j-a(_.get("bottom"),"y"),0):_.get("top")!==!1?a(_.get("top"),"y"):Math.round(Math.max(o()-_.h-N-j,0)/2),x.css({top:c.top,left:c.left,visibility:"visible"}),y[0].style.width=y[0].style.height="9999px",r={width:_.w+z+D,height:_.h+N+j,top:l,left:d},e){var g=0;t.each(r,function(t){return r[t]!==de[t]?(g=e,void 0):void 0}),e=g}de=r,e||x.css(r),x.dequeue().animate(r,{duration:e||0,complete:function(){n(),$=!1,y[0].style.width=_.w+z+D+"px",y[0].style.height=_.h+N+j+"px",_.get("reposition")&&setTimeout(function(){E.bind("resize."+Z,J.position)},1),t.isFunction(i)&&i()},step:n})},J.resize=function(t){var e;U&&(t=t||{},t.width&&(_.w=a(t.width,"x")-z-D),t.innerWidth&&(_.w=a(t.innerWidth,"x")),I.css({width:_.w}),t.height&&(_.h=a(t.height,"y")-N-j),t.innerHeight&&(_.h=a(t.innerHeight,"y")),t.innerHeight||t.height||(e=I.scrollTop(),I.css({height:"auto"}),_.h=I.height()),I.css({height:_.h}),e&&I.scrollTop(e),J.position("none"===_.get("transition")?0:_.get("speed")))},J.prep=function(i){function o(){return _.w=_.w||I.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}function a(){return _.h=_.h||I.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}if(U){var d,g="none"===_.get("transition")?0:_.get("speed");I.remove(),I=n(se,"LoadedContent").append(i),I.hide().appendTo(M.show()).css({width:o(),overflow:_.get("scrolling")?"auto":"hidden"}).css({height:a()}).prependTo(b),M.hide(),t(q).css({"float":"none"}),c(_.get("className")),d=function(){function i(){t.support.opacity===!1&&x[0].style.removeAttribute("filter")}var n,o,a=W.length;U&&(o=function(){clearTimeout(Q),L.hide(),u(ne),_.get("onComplete")},F.html(_.get("title")).show(),I.show(),a>1?("string"==typeof _.get("current")&&R.html(_.get("current").replace("{current}",A+1).replace("{total}",a)).show(),K[_.get("loop")||a-1>A?"show":"hide"]().html(_.get("next")),P[_.get("loop")||A?"show":"hide"]().html(_.get("previous")),ce(),_.get("preloading")&&t.each([h(-1),h(1)],function(){var i,n=W[this],o=new r(n,t.data(n,Y)),h=o.get("href");h&&s(o,h)&&(h=l(o,h),i=e.createElement("img"),i.src=h)})):O.hide(),_.get("iframe")?(n=_.get("createIframe"),_.get("scrolling")||(n.scrolling="no"),t(n).attr({src:_.get("href"),"class":Z+"Iframe"}).one("load",o).appendTo(I),ae.one(he,function(){n.src="//about:blank"}),_.get("fastIframe")&&t(n).trigger("load")):o(),"fade"===_.get("transition")?x.fadeTo(g,1,i):i())},"fade"===_.get("transition")?x.fadeTo(g,0,function(){J.position(0,d)}):J.position(g,d)}},J.next=function(){!$&&W[1]&&(_.get("loop")||W[A+1])&&(A=h(1),f(W[A]))},J.prev=function(){!$&&W[1]&&(_.get("loop")||A)&&(A=h(-1),f(W[A]))},J.close=function(){U&&!G&&(G=!0,U=!1,u(oe),_.get("onCleanup"),E.unbind("."+Z),v.fadeTo(_.get("fadeOut")||0,0),x.stop().fadeTo(_.get("fadeOut")||0,0,function(){x.hide(),v.hide(),u(he),I.remove(),setTimeout(function(){G=!1,u(re),_.get("onClosed")},1)}))},J.remove=function(){x&&(x.stop(),t[Y].close(),x.stop(!1,!0).remove(),v.remove(),G=!1,x=null,t("."+te).removeData(Y).removeClass(te),t(e).unbind("click."+Z).unbind("keydown."+Z))},J.element=function(){return t(_.el)},J.settings=X)})(jQuery,document,window);
7; 8/** 9 * @file 10 * Colorbox module init js. 11 */ 12 13(function ($) { 14 15Drupal.behaviors.initColorbox = { 16 attach: function (context, settings) { 17 if (!$.isFunction($.colorbox) || typeof settings.colorbox === 'undefined') { 18 return; 19 } 20 21 if (settings.colorbox.mobiledetect && window.matchMedia) { 22 // Disable Colorbox for small screens. 23 var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")"); 24 if (mq.matches) { 25 return; 26 } 27 } 28 29 // Use "data-colorbox-gallery" if set otherwise use "rel". 30 settings.colorbox.rel = function () { 31 if ($(this).data('colorbox-gallery')) { 32 return $(this).data('colorbox-gallery'); 33 } 34 else { 35 return $(this).attr('rel'); 36 } 37 }; 38 39 $('.colorbox', context) 40 .once('init-colorbox') 41 .colorbox(settings.colorbox); 42 43 $(context).bind('cbox_complete', function () { 44 Drupal.attachBehaviors('#cboxLoadedContent'); 45 }); 46 } 47}; 48 49})(jQuery); 50; 51/** 52 * @file 53 * Colorbox module load js. 54 */ 55(function ($) { 56 57Drupal.behaviors.initColorboxLoad = { 58 attach: function (context, settings) { 59 if (!$.isFunction($.colorbox) || typeof settings.colorbox === 'undefined') { 60 return; 61 } 62 63 if (settings.colorbox.mobiledetect && window.matchMedia) { 64 // Disable Colorbox for small screens. 65 var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")"); 66 if (mq.matches) { 67 return; 68 } 69 } 70 71 $.urlParams = function (url) { 72 var p = {}, 73 e, 74 a = /\+/g, // Regex for replacing addition symbol with a space. 75 r = /([^&=]+)=?([^&]*)/g, 76 d = function (s) { return decodeURIComponent(s.replace(a, ' ')); }, 77 q = url.split('?'); 78 while (e = r.exec(q[1])) { 79 e[1] = d(e[1]); 80 e[2] = d(e[2]); 81 switch (e[2].toLowerCase()) { 82 case 'true': 83 case 'yes': 84 e[2] = true; 85 break; 86 case 'false': 87 case 'no': 88 e[2] = false; 89 break; 90 } 91 if (e[1] == 'width') { e[1] = 'innerWidth'; } 92 if (e[1] == 'height') { e[1] = 'innerHeight'; } 93 p[e[1]] = e[2]; 94 } 95 return p; 96 }; 97 $('.colorbox-load', context) 98 .once('init-colorbox-load', function () { 99 var params = $.urlParams($(this).attr('href')); 100 $(this).colorbox($.extend({}, settings.colorbox, params)); 101 }); 102 } 103}; 104 105})(jQuery); 106; 107/** 108 * @file 109 * Colorbox module inline js. 110 */ 111 112(function ($) { 113 114Drupal.behaviors.initColorboxInline = { 115 attach: function (context, settings) { 116 if (!$.isFunction($.colorbox) || typeof settings.colorbox === 'undefined') { 117 return; 118 } 119 120 if (settings.colorbox.mobiledetect && window.matchMedia) { 121 // Disable Colorbox for small screens. 122 var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")"); 123 if (mq.matches) { 124 return; 125 } 126 } 127 128 $.urlParam = function(name, url){ 129 if (name == 'fragment') { 130 var results = new RegExp('(#[^&#]*)').exec(url); 131 } 132 else { 133 var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url); 134 } 135 if (!results) { return ''; } 136 return results[1] || ''; 137 }; 138 $('.colorbox-inline', context).once('init-colorbox-inline').colorbox({ 139 transition:settings.colorbox.transition, 140 speed:settings.colorbox.speed, 141 opacity:settings.colorbox.opacity, 142 slideshow:settings.colorbox.slideshow, 143 slideshowAuto:settings.colorbox.slideshowAuto, 144 slideshowSpeed:settings.colorbox.slideshowSpeed, 145 slideshowStart:settings.colorbox.slideshowStart, 146 slideshowStop:settings.colorbox.slideshowStop, 147 current:settings.colorbox.current, 148 previous:settings.colorbox.previous, 149 next:settings.colorbox.next, 150 close:settings.colorbox.close, 151 overlayClose:settings.colorbox.overlayClose, 152 maxWidth:settings.colorbox.maxWidth, 153 maxHeight:settings.colorbox.maxHeight, 154 innerWidth:function(){ 155 return $.urlParam('width', $(this).attr('href')); 156 }, 157 innerHeight:function(){ 158 return $.urlParam('height', $(this).attr('href')); 159 }, 160 title:function(){ 161 return decodeURIComponent($.urlParam('title', $(this).attr('href'))); 162 }, 163 iframe:function(){ 164 return $.urlParam('iframe', $(this).attr('href')); 165 }, 166 inline:function(){ 167 return $.urlParam('inline', $(this).attr('href')); 168 }, 169 href:function(){ 170 return $.urlParam('fragment', $(this).attr('href')); 171 } 172 }); 173 } 174}; 175 176})(jQuery); 177; 178(function ($, Drupal, window, document, undefined) { 179 180 var initialized, 181 onceProcess, 182 d1 = $.Deferred(); 183 184 Drupal.behaviors.quarticon = { 185 attach: function(context, settings) { 186 187 Drupal.quarticon.init(); 188 //console.log(navigator); 189 //console.log(settings); 190 //console.log(document.referrer); 191 192 $.when(d1).done(function (quarticonCookie) { 193 $('.quarticon-box', context).once('quarticon').each(function() { 194 var thisBox = $(this), 195 id = thisBox.data('id'), 196 slickData = thisBox.data('slick'); 197 198 $.ajax({ 199 method: 'GET', 200 url: '/system/quarticon-api/get-widget', 201 data: { 'id': id, 'referrer': document.referrer, 'quarticonCookie': quarticonCookie, 'filter': thisBox.data('filter'), 'view-mode': thisBox.data('view-mode') } 202 }) 203 .done(function( msg ) { 204 //console.log(id, msg); 205 if (msg.html != '') {
206 var isClick = true; 207 thisBox.show(); 208 $('.rows', thisBox).html(msg.html); 209 $(thisBox) 210 /*.on('mousedown', '.row a', function(e) { 211 var prevXPos = e.pageX; 212 isClick = true; 213 $(window).on('mousemove', function(event) { 214 var xPos = event.pageX; 215 if (Math.abs(prevXPos - xPos) > 5) isClick = false; 216 }); 217 218 })*/ 219 .on('click touch', '.row a', function() { 220 //$(window).unbind("mousemove"); 221 var qEl = $(this).parents('.row'); 222 $.ajax({ 223 async: true, 224 method: 'GET', 225 url: '/system/quarticon-api/widget-click', 226 data: { 'referrer': document.referrer, 'quarticonCookie': quarticonCookie, 'qEl': qEl.data('qdata') } 227 }); 228 }); 229 230 var boxSlick = $('.rows', thisBox).slick({ 231 infinite: false, 232 dots: slickData.hasOwnProperty('dots') ? slickData.dots : false, 233 arrows: slickData.hasOwnProperty('arrows') ? slickData.arrows : true, 234 slidesToShow: slickData.hasOwnProperty('slides') ? slickData.slides : 4, 235 slidesToScroll: slickData.hasOwnProperty('slides') ? slickData.slides : 4, 236 responsive: [ 237 { 238 breakpoint: 1000, 239 settings: { 240 slidesToShow: 3, 241 slidesToScroll: 3, 242 } 243 }, 244 { 245 breakpoint: 640, 246 settings: { 247 slidesToShow: 2, 248 slidesToScroll: 2, 249 } 250 }, 251 ] 252 }); 253 254 boxSlick.on('swipe', function(event, slick, direction) {}); 255 256 check_widget(thisBox); 257 258 $(window).on('resize', function() { 259 check_widget(thisBox); 260 }); 261 262 // remove widget if contains less products then slider's "slidesToShow" parameter: 263 function check_widget(thisBox) { 264 id = thisBox.data('id'); 265 if (id == '2qfc1' || id == '2qf8u' || id == '2qfqf' || id == '2qff4') return; // vynechat "Naposledy prezerané produkty" 266 var slidesToShow = thisBox.find('.rows').get(0).slick.options.slidesToShow; 267 var products = thisBox.find('article').length; 268 if (products < slidesToShow) { 269 thisBox.hide(); 270 } 271 else { 272 thisBox.show(); 273 } 274 } 275 276 277 Drupal.attachBehaviors(); 278 } 279 }); 280 }); 281 282 // event tracking 283 if (!onceProcess && settings.hasOwnProperty('quarticon')) { 284 onceProcess = true; 285 286 // view product 287 if (settings.quarticon.hasOwnProperty('eventView')) { 288 //console.log('eventView'); 289 //console.log(quarticonCookie); 290 $.ajax({ 291 async: true, 292 method: 'GET', 293 url: '/system/quarticon-api/event-view', 294 data: { 'referrer': document.referrer, 'quarticonCookie': quarticonCookie, 'id': settings.quarticon.eventView } 295 }) 296 .done(function( msg ) { 297 //console.log(msg); 298 }); 299 } 300 // new order 301 if (settings.quarticon.hasOwnProperty('eventOrder')) { 302 $.ajax({ 303 async: true, 304 method: 'GET', 305 url: '/system/quarticon-api/event-order', 306 data: { 'referrer': document.referrer, 'quarticonCookie': quarticonCookie, 'id': settings.quarticon.eventOrder.order_id, 'products': settings.quarticon.eventOrder.products } 307 }).done(function( msg ) { 308 //console.log(msg); 309 }); 310 } 311 } 312 }); 313 314 $('.quarticon-box.box-2qfj8 .node, .quarticon-box.box-2qfi7 .node').each(function() { 315 $('.operations input.button', this).attr('value', 'Pridať'); 316 $('input[name="destination"]', this).val('cart'); 317 $('input[name="query"]', this).val(''); 318 }); 319 320 321 } 322 } 323 324 Drupal.quarticon = {}; 325 326 Drupal.quarticon.init = function(context) { 327 if (!initialized) { 328 initialized = true; 329 var quarticonId = Drupal.quarticon.getCookie('quarticonId'); 330 if (quarticonId == '') { 331 var uniqueID = Drupal.quarticon.uniqueID(); 332 Drupal.quarticon.setCookie('quarticonId', uniqueID); 333 d1.resolve(uniqueID); 334 } 335 else { 336 d1.resolve(quarticonId); 337 } 338 } 339 } 340 341 Drupal.quarticon.uniqueID = function() { 342 function chr4() { 343 return Math.random().toString(16).slice(-4); 344 } 345 return chr4() + chr4() + 346 '-' + chr4() + 347 '-' + chr4() + 348 '-' + chr4() + 349 '-' + chr4() + chr4(); //'-' + chr4() + chr4() + chr4(); 350 } 351 352 Drupal.quarticon.setCookie = function(name, value) { 353 var date = new Date(); 354 date.setDate(date.getDate() + 365); 355 var cookie = name + "=" + value + ";expires=" + date.toUTCString() + ";path=" + Drupal.settings.basePath; 356 document.cookie = cookie; 357 } 358 359 Drupal.quarticon.getCookie = function(name) { 360 var search = name + '='; 361 var returnValue = ''; 362 363 if (document.cookie.length > 0) { 364 offset = document.cookie.indexOf(search); 365 if (offset != -1) { 366 offset += search.length; 367 var end = document.cookie.indexOf(';', offset); 368 if (end == -1) { 369 end = document.cookie.length; 370 } 371 returnValue = decodeURIComponent(document.cookie.substring(offset, end).replace(/\+/g, '%20')); 372 } 373 } 374 375 return returnValue; 376 } 377 378 379 380 381})(jQuery, Drupal, this, this.document);; 382(function ($, Drupal, window, document, undefined) { 383 384 385 Drupal.behaviors.synerise = { 386 attach: function(context, settings) { 387 388 //SYNERISE SEARCH-ENTER CLICK ON PRODUCT TEASER: 389 $('.page-catalog-all', context).once('synerise', function () { 390 $('\ 391 .page-catalog-all .view-uc-catalog .node-product.node-teaser .teaser-title, \ 392 .page-catalog-all .view-uc-catalog .node-product.node-teaser .field-name-uc-product-image a, \ 393 ').click(function() { 394 var model = $(this).closest('article').attr('data-sku'); 395 $.ajax({ 396 method: 'GET', 397 url: Drupal.settings.basePath+'system/synerise-api/search_click', 398 data: {'model': model, 'searchType': 'enter'} 399 }); 400 }); 401 }); 402 403 //SYNERISE BOX: 404 $('.synerise-box', context).once('synerise').each(function() { 405 var thisBox = $(this), 406 rid = thisBox.data('rid'), 407 context = thisBox.data('context'); 408 $.ajax({ 409 method: 'GET', 410 url: '/system/synerise-api/recommendations', 411 data: {'rid': rid, 'context': context} 412 }) 413 .done(function(msg) { 414 if (msg.html != '') { 415 416 thisBox.show(); 417 $('.rows', thisBox).html(msg.html); 418 419 var boxSlick = $('.rows', thisBox).slick({ 420 infinite: false, 421 dots: false, 422 arrows: true, 423 slidesToShow: 4, 424 slidesToScroll: 4, 425 responsive: [ 426 { 427 breakpoint: 1000, 428 settings: { 429 slidesToShow: 3, 430 slidesToScroll: 3, 431 } 432 }, 433 { 434 breakpoint: 640, 435 settings: { 436 slidesToShow: 2, 437 slidesToScroll: 2, 438 } 439 }, 440 ] 441 }); 442 boxSlick.on('swipe', function(event, slick, direction) {}); 443 444 445 //product teaser - images slider 446 /*$('.node-product.node-teaser .field-name-uc-product-image .field-items', thisBox).slick({ 447 infinite: true, 448 dots: true, 449 arrows: true, 450 autoplay: false, 451 autoplaySpeed: 800, 452 slidesToShow: 1, 453 slidesToScroll: 1, 454 });*/ 455 456 457 /* 458 check_widget(thisBox); 459 $(window).on('resize', function() { 460 check_widget(thisBox); 461 }); 462 // remove widget if contains less products then slider's "slidesToShow" parameter: 463 function check_widget(thisBox) { 464 id = thisBox.data('id'); 465 if (id == '2qfc1' || id == '2qf8u' || id == '2qfqf' || id == '2qff4') return; // vynechat "Naposledy prezerané produkty" 466 var slidesToShow = thisBox.find('.rows').get(0).slick.options.slidesToShow; 467 var products = thisBox.find('article').length; 468 if (products < slidesToShow) { 469 thisBox.hide(); 470 } 471 else { 472 thisBox.show(); 473 } 474 }*/ 475 476 Drupal.attachBehaviors(); 477 } 478 }); 479 }); 480 481 482 /* 483 $('.synerise-box.box-2qfj8 .node, .synerise-box.box-2qfi7 .node').each(function() { 484 $('.operations input.button', this).attr('value', 'Pridať'); 485 $('input[name="destination"]', this).val('cart'); 486 $('input[name="query"]', this).val(''); 487 }); 488 */ 489 490 } 491 } 492 493 Drupal.synerise = {}; 494 495 496 497})(jQuery, Drupal, this, this.document);; 498(function ($) { 499 500 501 jQuery().ready(function($) { 502 $(window).on('load resize', function() { 503 $('#vyhladavanie-autocomplete').attr('placeholder', window.innerWidth <= 768 ? 'Hľadať' : 'Rohové sed'); 504 }); 505 }); 506 507 508 509Drupal.behaviors.vyhladavanie = { 510 attach: function (context, settings) { 511 $('#vyhladavanie-autocomplete', context).once('vyhladavanie', function () { 512 $(this).makeVyhladavanieAutocomplete(); 513 $(this).closest('form').submit(function() { 514 $('body').addClass('loading'); 515 return true; 516 }); 517 //close: 518 $(this).closest('.block').on('click', '.close', function() { 519 $('body').addClass('search-autocomplete-on'); 520 $(this).next().val(''); 521 $(this).next().focus(); 522 $(this).remove(); 523 }); 524 //cancel: 525 $(this).closest('.block').on('click', '.cancel', function() { 526 $('body').removeClass('search-autocomplete-on'); 527 $('#block-block-13 .close').remove(); 528 $('#vyhladavanie-autocomplete').val(''); 529 $(this).remove(); 530 }); 531 }); 532 } 533}; 534 535$.widget( "vyhladavanie.vyhladavanieautocomplete", $.ui.autocomplete, { 536 _resizeMenu: function() { 537 var ul = this.menu.element; 538 ul.outerWidth(Math.max( 539 // Firefox wraps long text (possibly a rounding bug) 540 // so we add 1px to avoid the wrapping (#7513) 541 ul.width("").outerWidth() + 2, 542 this.element.outerWidth() 543 )); 544 }, 545 _renderItem: function(ul, item) { 546 if (item.value.type == 'group' || item.value.type == 'empty') { 547 var line = '<span>'+item.value.title+'</span>'; 548 } 549 else { 550 var img = item.value.image ? '<img src="'+item.value.image+'">' : ''; 551 var model = item.value.model ? 'data-model="'+item.value.model+'"' : ''; 552 var snrSearchId = item.value.snrSearchId ? 'data-snrSearchId="'+item.value.snrSearchId+'"' : ''; 553 var line = '<a class="item" '+model+' '+snrSearchId+' >' + img+item.value.title + '</a>'; 554 } 555 return $('<li class="'+item.value.type+(item.value.class ? ' '+item.value.class : '')+'"></li>') 556 .data("item.autocomplete", item) 557 .append($(line))
558 .appendTo(ul); 559 }, 560 _renderMenu: function( ul, items ) { 561 var that = this; 562 $.each(items, function(index, item) { 563 that._renderItemData(ul, item); 564 }); 565 $(ul).addClass("vyhladavanie"); 566 } 567}); 568 569 $.fn.makeVyhladavanieAutocomplete = function() { 570 var $input = $(this); 571 $input.vyhladavanieautocomplete({ 572 source: function(request, response) { 573 $('#vyhladavanie-form').addClass('search-loading'); 574 $.ajax({ 575 url: Drupal.settings.basePath + 'vyhladavanie-autocomplete', 576 type: 'get', 577 data: { input: request.term }, 578 success: function(data) { 579 response($.map(data, function(item) { 580 return { 581 value: item 582 }; 583 })); 584 $('#vyhladavanie-form').removeClass('search-loading'); 585 } 586 }); 587 }, 588 minLength: 0, 589 open: function(event, ui) { 590 $('body').addClass('search-autocomplete-on'); 591 if (!$input.closest('.block').find('.cancel').length) $input.closest('form').after('<a class="cancel">Zrušiť</a>'); 592 }, 593 close: function(event, ui) { 594 $('body').removeClass('search-autocomplete-on'); 595 }, 596 focus: function(event, ui) { 597 // up/down arrows: 598 if (event.keyCode == 38 || event.keyCode == 40) { 599 $input.val(ui.item.value.title); 600 } 601 return false; 602 }, 603 select: function(event, ui) { 604 605 // SEND CLICK DATA TO SYNERISE: 606 if (ui.item.value.model) { 607 console.log('SENDING CLICK DATA TO SYNERISE...'); 608 console.log(ui.item.value.snrSearchId); 609 console.log(ui.item.value.model); 610 console.log(ui.item.value.position); 611 $.ajax({ 612 method: 'GET', 613 url: Drupal.settings.basePath+'system/synerise-api/search_click', 614 data: {'snrSearchId': ui.item.value.snrSearchId, 'model': ui.item.value.model, 'searchType': 'autocomplete', 'position': ui.item.value.position} 615 }); 616 } 617 618 $('body').addClass('loading'); 619 $path = ui.item.value.link; 620 window.location.href = $path; 621 return false; 622 } 623 }) 624 .keypress(function(e) { 625 if (e.keyCode == 13) { 626 //$path = Drupal.settings.basePath + 'system/quarticon-api/search?s=' + encodeURIComponent(e.target.value); 627 $path = Drupal.settings.basePath + 'system/synerise-api/search_enter?s=' + encodeURIComponent(e.target.value); 628 $('body').addClass('loading'); 629 window.location.href = $path; 630 return false; 631 } 632 }) 633 .keyup(function(e) { 634 if (e.target.value.length) { 635 if (!$input.closest('div').find('.close').length) $input.before('<a class="close"></a>'); 636 } 637 else { 638 $input.closest('div').find('.close').remove(); 639 } 640 }) 641 .focus(function (e) { 642 return $input.vyhladavanieautocomplete("search"); 643 }) 644 .blur(function (e) { 645 //keep opened if clicked outside to manage manually: 646 $('body').addClass('search-autocomplete-on'); 647 }); 648 649 return this; 650 }; 651})(jQuery);; 652(function($) { 653 Drupal.behaviors.eu_cookies = { 654 attach: function(context, settings) { 655 656 $('html').once('gconsent').each(function() { 657 //GOOGLE CONSENT 658 //init 659 660 window.dataLayer = window.dataLayer || []; 661 function gtag() { window.dataLayer.push(arguments); } 662 gtag("consent", "default", { 663 ad_storage: "denied", 664 analytics_storage: "denied", 665 ad_user_data: "denied", 666 ad_personalization: "denied", 667 wait_for_update: 100 668 }); 669 670 if(!jQuery.isEmptyObject(Drupal.eu_cookies.getCookie())){ 671 $get_cookie_data = Drupal.eu_cookies.getCookie(); 672 673 var gconsent_ad_storage = gconsent_analytics_storage = "denied"; 674 var gconsent_ad_user_data = gconsent_ad_personalization = "denied"; 675 676 $.each($get_cookie_data, function(i) { 677 678 if (i == 'gtm' && $get_cookie_data[i] == 1){ 679 gconsent_ad_storage = "granted"; 680 gconsent_analytics_storage = "granted"; 681 gconsent_ad_user_data = "granted"; 682 gconsent_ad_personalization = "granted"; 683 } 684 685 }); 686 687 window.dataLayer = window.dataLayer || []; 688 function gtag() { window.dataLayer.push(arguments); } 689 gtag("consent", "update", { 690 ad_storage: gconsent_ad_storage, //gtm 691 analytics_storage: gconsent_analytics_storage, //gtm 692 ad_user_data: gconsent_ad_user_data, //gtm 693 ad_personalization: gconsent_ad_personalization, //gtm 694 wait_for_update: 100 695 }); 696 } 697 }); 698 699 $('#eu-cb').once('eucb').each(function() { 700 var element_settings = { 701 progress: { 'type': 'throbber' }, 702 url: Drupal.settings.basePath + Drupal.settings.pathPrefix + 'ajax/eu_cookies_callback/get', 703 event: 'click' 704 }; 705 706 var base = $(this).attr('id'); 707 Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings); 708 Drupal.ajax[base].options.beforeSend = function() { 709 if ($('#eu-cookies-popup').length) return false; 710 } 711 712 713 }); 714 715 $('#eu-cookies-popup').once('eucp', function(i, pop) { 716 var popState = {},
717 popCookies = Drupal.eu_cookies.getCookie(); 718 719 // fill popState 720 $('.cb_line', pop).each(function(i, e) { 721 var id = $(e).data('id'); 722 popState[id] = popCookies.hasOwnProperty(id) ? popCookies[id] : 0; 723 724 $(this).click(function() { 725 popState[id] ^= true; 726 popSetState(); 727 }); 728 }); 729 730 $('.cb_group', pop).click(function(e) { 731 // required 732 if ($(this).hasClass('req')) return; 733 734 var thisGrouop = $(this).parents('.cbs_group')[0], 735 newState = !$(this).hasClass('on'); 736 737 // all cookies 738 if ($(this).hasClass('all')) { 739 $.each(popState, function(i) { popState[i] = newState; }); 740 } else { 741 $('.cb_line', thisGrouop).each(function(i, e) { 742 var id = $(e).data('id'); 743 popState[id] = newState; 744 }); 745 } 746 popSetState(); 747 }); 748 749 750 751 $('.popup-close', pop).click(function() { 752 popClose(); 753 }); 754 755 $('.accept-selected', pop).click(function() { 756 Drupal.eu_cookies.setCookie(JSON.stringify(popState)); 757 758 //GOOGLE CONSENT 759 //granted or denied 760 761 var gconsent_ad_storage = gconsent_analytics_storage = "denied"; 762 var gconsent_ad_user_data = gconsent_ad_personalization = "denied"; 763 764 $.each(popState, function(i) { 765 766 if (i == 'gtm' && popState[i] == 1){ 767 gconsent_ad_storage = "granted"; 768 gconsent_analytics_storage = "granted"; 769 gconsent_ad_user_data = "granted"; 770 gconsent_ad_personalization = "granted"; 771 } 772 773 }); 774 775 window.dataLayer = window.dataLayer || []; 776 function gtag() { window.dataLayer.push(arguments); } 777 gtag("consent", "update", { 778 ad_storage: gconsent_ad_storage, //gtm 779 analytics_storage: gconsent_analytics_storage, //gtm 780 ad_user_data: gconsent_ad_user_data, //gtm 781 ad_personalization: gconsent_ad_personalization, //gtm 782 wait_for_update: 100 783 }); 784 785 Drupal.eu_cookies.runCodes(); 786 popClose(); 787 if (Drupal.settings.eu_cookies.log) { 788 $.ajax({
789 url: Drupal.settings.basePath + Drupal.settings.pathPrefix + 'ajax/eu_cookies_callback/log', 790 data: popState 791 }); 792 } 793 794 795 796 }); 797 798 $('.accept-all', pop).click(function() { 799 $.each(popState, function(i) { popState[i] = 1; }); 800 $('.accept-selected', pop).click(); 801 }); 802 803 $('.reject-all', pop).click(function() { 804 $.each(popState, function(i) { popState[i] = 0; }); 805 $('.accept-selected', pop).click(); 806 }); 807 808 $('.cb_toggle span', pop).click(function() { 809 var thisGrouop = $(this).parents('.cbs_group')[0]; 810 $(thisGrouop).toggleClass('open'); 811 if ($(thisGrouop).hasClass('open')) { 812 $('.cbs_lines', thisGrouop).slideDown(200); 813 } else { 814 $('.cbs_lines', thisGrouop).slideUp(200); 815 } 816 }); 817 818 function popClose() { 819 $(pop).animate({ 820 paddingBottom: 50, 821 opacity: 0 822 }, 300, function() { 823 $(pop).remove(); 824 }); 825 } 826 827 function popSetState() { 828 $('.cb_line', pop).each(function(i, e) { 829 var id = $(e).data('id'); 830 if (popState[id]) $(e).addClass('on'); 831 else $(e).removeClass('on'); 832 }); 833 $('.cbs_group', pop).each(function(i, e) { 834 var oneOn = false, 835 allOn = true; 836 837 if ($(e).hasClass('all')) { 838 $.each(popState, function(i) { 839 if (popState[i]) oneOn = true; 840 else allOn = false; 841 }); 842 } else { 843 $('.cb_line', e).each(function(i, ex) { 844 var id = $(ex).data('id'); 845 if (popState[id]) oneOn = true; 846 else allOn = false; 847 }); 848 } 849 850 if (oneOn) { 851 $('.cb_group', e).addClass('on'); 852 if (!allOn) $('.cb_group', e).addClass('partial'); 853 else $('.cb_group', e).removeClass('partial'); 854 } else { 855 $('.cb_group', e).removeClass('on'); 856 $('.cb_group', e).removeClass('partial'); 857 } 858 859 }); 860 } 861 862 popSetState(); 863 }); 864 865 $('body', context).once('euc', function() { 866 if ($.isEmptyObject(Drupal.eu_cookies.getCookie())) { 867 //document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); 868 document.cookie.split(";").forEach(function(c) { 869 document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); 870 document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/;domain=.nabbi.sk"); 871 document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/;domain=.www.nabbi.sk"); 872 }); 873 Drupal.ajax['eu-cb'].options.data['mandatory'] = 1; 874 Drupal.ajax['eu-cb'].eventResponse($('#eu-cb'), Drupal.ajax['eu-cb'].event); 875 Drupal.ajax['eu-cb'].options.data['mandatory'] = 0; 876 } else { 877 var accepted = Drupal.eu_cookies.getCookie(), 878 acceptedKeys = Object.keys(accepted), 879 intersect = $.map(Drupal.settings.eu_cookies.req, function(el) { 880 return $.inArray(el, acceptedKeys) < 0 ? null : el; 881 }); 882 883 if (Drupal.settings.eu_cookies.req.length !== intersect.length) { 884 Drupal.ajax['eu-cb'].options.data['mandatory'] = 1; 885 Drupal.ajax['eu-cb'].eventResponse($('#eu-cb'), Drupal.ajax['eu-cb'].event); 886 Drupal.ajax['eu-cb'].options.data['mandatory'] = 0; 887 } 888 Drupal.eu_cookies.runCodes(); 889 } 890 }); 891 } 892 }; 893 894 Drupal.eu_cookies = Drupal.eu_cookies || {}; 895 Drupal.eu_cookies.codes = Drupal.eu_cookies.codes || {}; 896 897 Drupal.eu_cookies.runCodes = function() { 898 $.each(Drupal.eu_cookies.getCookie(), function(i, v) { 899 if (v && Drupal.eu_cookies.codes.hasOwnProperty(i)) Drupal.eu_cookies.codes[i].execute(); 900 }); 901 } 902
903 Drupal.eu_cookies.setCookie = function(value) { 904 var date = new Date(); 905 date.setDate(date.getDate() + 365); 906 var cookie = "cookie-agreed=" + value + ";expires=" + date.toUTCString() + ";path=" + Drupal.settings.basePath; 907 document.cookie = cookie; 908 } 909 910 Drupal.eu_cookies.getCookie = function() { 911 var search = 'cookie-agreed='; 912 var returnValue = ''; 913 914 if (document.cookie.length > 0) { 915 offset = document.cookie.indexOf(search); 916 if (offset != -1) { 917 offset += search.length; 918 var end = document.cookie.indexOf(';', offset); 919 if (end == -1) { 920 end = document.cookie.length; 921 } 922 returnValue = decodeURIComponent(document.cookie.substring(offset, end).replace(/\+/g, '%20')); 923 } 924 } 925 926 try { 927 var val = JSON.parse(returnValue); 928 } catch (e) { 929 return {}; 930 } 931 return val; 932 } 933 934 935})(jQuery);; 936(function ($) { 937 938/** 939 * A progressbar object. Initialized with the given id. Must be inserted into 940 * the DOM afterwards through progressBar.element. 941 * 942 * method is the function which will perform the HTTP request to get the 943 * progress bar state. Either "GET" or "POST". 944 * 945 * e.g. pb = new progressBar('myProgressBar'); 946 * some_element.appendChild(pb.element); 947 */ 948Drupal.progressBar = function (id, updateCallback, method, errorCallback) { 949 var pb = this; 950 this.id = id; 951 this.method = method || 'GET'; 952 this.updateCallback = updateCallback; 953 this.errorCallback = errorCallback; 954 955 // The WAI-ARIA setting aria-live="polite" will announce changes after users 956 // have completed their current activity and not interrupt the screen reader. 957 this.element = $('<div class="progress" aria-live="polite"></div>').attr('id', id); 958 this.element.html('<div class="bar"><div class="filled"></div></div>' + 959 '<div class="percentage"></div>' + 960 '<div class="message"> </div>'); 961}; 962 963/** 964 * Set the percentage and status message for the progressbar. 965 */ 966Drupal.progressBar.prototype.setProgress = function (percentage, message) { 967 if (percentage >= 0 && percentage <= 100) { 968 $('div.filled', this.element).css('width', percentage + '%'); 969 $('div.percentage', this.element).html(percentage + '%'); 970 } 971 $('div.message', this.element).html(message); 972 if (this.updateCallback) { 973 this.updateCallback(percentage, message, this); 974 } 975}; 976 977/** 978 * Start monitoring progress via Ajax. 979 */ 980Drupal.progressBar.prototype.startMonitoring = function (uri, delay) { 981 this.delay = delay; 982 this.uri = uri; 983 this.sendPing(); 984}; 985 986/** 987 * Stop monitoring progress via Ajax. 988 */ 989Drupal.progressBar.prototype.stopMonitoring = function () { 990 clearTimeout(this.timer); 991 // This allows monitoring to be stopped from within the callback. 992 this.uri = null; 993}; 994 995/** 996 * Request progress data from server. 997 */ 998Drupal.progressBar.prototype.sendPing = function () { 999 if (this.timer) { 1000 clearTimeout(this.timer); 1001 } 1002 if (this.uri) { 1003 var pb = this; 1004 // When doing a post request, you need non-null data. Otherwise a 1005 // HTTP 411 or HTTP 406 (with Apache mod_security) error may result. 1006 $.ajax({ 1007 type: this.method, 1008 url: this.uri, 1009 data: '', 1010 dataType: 'json', 1011 success: function (progress) { 1012 // Display errors. 1013 if (progress.status == 0) { 1014 pb.displayError(progress.data); 1015 return; 1016 } 1017 // Update display. 1018 pb.setProgress(progress.percentage, progress.message); 1019 // Schedule next timer. 1020 pb.timer = setTimeout(function () { pb.sendPing(); }, pb.delay); 1021 }, 1022 error: function (xmlhttp) { 1023 pb.displayError(Drupal.ajaxError(xmlhttp, pb.uri)); 1024 } 1025 }); 1026 } 1027}; 1028 1029/** 1030 * Display errors on the page. 1031 */ 1032Drupal.progressBar.prototype.displayError = function (string) { 1033 var error = $('<div class="messages error"></div>').html(string); 1034 $(this.element).before(error).hide(); 1035 1036 if (this.errorCallback) { 1037 this.errorCallback(this); 1038 } 1039}; 1040 1041})(jQuery); 1042; 1043(function($) { 1044 Drupal.eu_cookies.codes.gtm = { 1045 'executed': false, 1046 'execute': function() { 1047 if (!this.executed) { 1048 1049 this.executed = true; 1050 1051 1052 // EVERY PAGE (disabled, because called in html template for every page - not depending on consent...) 1053 /*var dataLayer = dataLayer || []; 1054 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1055 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1056 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
1057 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1058 })(window,document,'script','dataLayer', Drupal.settings.eu_cookies.gtm);*/ 1059 1060/* 1061 // PRODUCT PAGE: 1062 if (Drupal.settings.eu_cookies.hasOwnProperty('productPage')) { 1063 var product = { 1064 'name': Drupal.settings.eu_cookies.productPage.name, 1065 'id': Drupal.settings.eu_cookies.productPage.model, 1066 'price': Drupal.settings.eu_cookies.productPage.priceWithoutTax, 1067 'tax': Drupal.settings.eu_cookies.productPage.tax, 1068 'brand': Drupal.settings.eu_cookies.productPage.brand, 1069 'category': Drupal.settings.eu_cookies.productPage.category 1070 }; 1071 if (Drupal.settings.eu_cookies.productPage.original_price != '') { 1072 product.original_price = Drupal.settings.eu_cookies.productPage.original_price; 1073 } 1074 dataLayer.push({ 1075 'event': 'trackViewContent', 1076 'ecommerce': { 1077 'detail': { 1078 'products': [product] 1079 } 1080 } 1081 }); 1082 // add ecomm vars: 1083 dataLayer.push({ 1084 'ecomm_prodid': Drupal.settings.eu_cookies.productPage.ecomm_prodid, 1085 'ecomm_pagetype': Drupal.settings.eu_cookies.productPage.ecomm_pagetype, 1086 'ecomm_totalvalue': Drupal.settings.eu_cookies.productPage.ecomm_totalvalue, 1087 'user_type' : Drupal.settings.eu_cookies.productPage.user_type 1088 }); 1089 } 1090 1091 1092 // CART PAGE: 1093 if (Drupal.settings.eu_cookies.hasOwnProperty('cartPage')) { 1094 var products = []; 1095 $.each(Drupal.settings.eu_cookies.cartPage.products, function(i, v) { 1096 products[i] = { 1097 'name': v.name, 1098 'id': v.model, 1099 'price': v.priceWithoutTax, 1100 'tax': v.tax, 1101 'brand': v.brand, 1102 'category': v.category, 1103 'quantity': v.quantity 1104 }; 1105 if (v.original_price != '') { 1106 products[i].original_price = v.original_price; 1107 } 1108 }); 1109 dataLayer.push({ 1110 'event': 'trackCheckout', 1111 'ecommerce': { 1112 'checkout': { 1113 'actionField': { 1114 'step': Drupal.settings.eu_cookies.cartPage.actionField.step, 1115 'option': Drupal.settings.eu_cookies.cartPage.actionField.option 1116 }, 1117 'products': products 1118 } 1119 } 1120 }); 1121 // add ecomm vars: 1122 dataLayer.push({ 1123 'ecomm_prodid': Drupal.settings.eu_cookies.cartPage.ecomm.ecomm_prodid, 1124 'ecomm_pagetype': Drupal.settings.eu_cookies.cartPage.ecomm.ecomm_pagetype, 1125 'ecomm_totalvalue': Drupal.settings.eu_cookies.cartPage.ecomm.ecomm_totalvalue, 1126 'user_type' : Drupal.settings.eu_cookies.cartPage.ecomm.user_type 1127 }); 1128 } 1129 1130 1131 // ORDER COMPLETE: 1132 if (Drupal.settings.eu_cookies.hasOwnProperty('order')) { 1133 var products = []; 1134 $.each(Drupal.settings.eu_cookies.order.products, function(i, v) { 1135 products[i] = { 1136 'name': v.name, 1137 'id': v.model, 1138 'price': v.priceWithoutTax, 1139 'tax': v.tax, 1140 'brand': v.brand, 1141 'category': v.category, 1142 'quantity': v.quantity 1143 }; 1144 if (v.original_price != '') { 1145 products[i].original_price = v.original_price; 1146 } 1147 }); 1148 dataLayer.push({ 1149 'event': 'trackTransaction', 1150 'ecommerce': { 1151 'purchase': { 1152 'actionField': { 1153 'id': Drupal.settings.eu_cookies.order.id, 1154 'affiliation': Drupal.settings.eu_cookies.order.affiliation, 1155 'revenue': Drupal.settings.eu_cookies.order.revenue, 1156 'tax': Drupal.settings.eu_cookies.order.tax, 1157 'shipping': Drupal.settings.eu_cookies.order.shipping, 1158 'coupon': Drupal.settings.eu_cookies.order.coupon, 1159 'customer': { 1160 'name': Drupal.settings.eu_cookies.order.customer.name, 1161 'mail': Drupal.settings.eu_cookies.order.customer.mail 1162 } 1163 }, 1164 'products': products 1165 } 1166 } 1167 }); 1168 } 1169*/ 1170 1171 } 1172 } 1173 } 1174})(jQuery);; 1175/* 1176 * @file 1177 * Integration with the colorbox library/module 1178 */ 1179 1180(function ($) { 1181 Drupal.ajax.prototype.commands.colorboxNodeReload = function(ajax, response) { 1182 location.reload(); 1183 }; 1184 1185 Drupal.ajax.prototype.commands.colorboxNodeRedirect = function(ajax, response) { 1186 window.location.replace(response.data); 1187 }; 1188 1189 Drupal.behaviors.colorboxNode = { 1190 // Lets find our class name and change our URL to 1191 // our defined menu path to open in a colorbox modal. 1192 attach: function (context, settings) { 1193 // Make sure colorbox exists. 1194 if (!$.isFunction($.colorbox) || typeof settings.colorbox === 'undefined') { 1195 return; 1196 } 1197 1198 // Mobile detection extracted from the colorbox module. 1199 // If the mobile setting is turned on, it will turn off the colorbox modal for mobile devices. 1200 if (settings.colorbox.mobiledetect && window.matchMedia) { 1201 // Disable Colorbox for small screens. 1202 var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")"); 1203 if (mq.matches) { 1204 return; 1205 } 1206 } 1207 1208 $('.colorbox-node', context).once('init-colorbox-node-processed', function () { 1209 $(this).colorboxNode({'launch': false}); 1210 }); 1211 1212 // When using contextual links and clicking from within the colorbox 1213 // we need to close down colorbox when opening the built in overlay. 1214 $('ul.contextual-links a', context).once('colorboxNodeContextual').click(function () { 1215 $.colorbox.close(); 1216 }); 1217 } 1218 }; 1219
1220 $.fn.colorboxNodeLaunch = function(settings) { 1221 var $this = $(this).clone(); 1222 1223 // Clear out the rel to prevent any confusion if not using the gallery class. 1224 if(!$this.hasClass('colorbox-node-gallery')) { 1225 $this.attr('rel', ''); 1226 } 1227 1228 // Lets extract our width and height giving priority to the data attributes. 1229 var innerWidth = $this.data('inner-width'); 1230 var innerHeight = $this.data('inner-height'); 1231 if (typeof innerWidth != 'undefined' && typeof innerHeight != 'undefined') { 1232 var params = $.urlDataParams(innerWidth, innerHeight); 1233 } else { 1234 var params = $.urlParams(settings.href); 1235 } 1236 1237 // If we did not find a width or height, lets use the default. 1238 if (params.innerHeight == undefined) params.innerHeight = settings.height; 1239 if (params.innerWidth == undefined) params.innerWidth = settings.width; 1240 1241 params.html = '<div id="colorboxNodeLoading"></div>'; 1242 params.onComplete = function () { 1243 $this.colorboxNodeGroup(); 1244 }; 1245 params.open = true; 1246 1247 // Launch our colorbox with the provided settings 1248 $this.colorbox($.extend({}, Drupal.settings.colorbox, params)); 1249 }; 1250 1251 // Bind our colorbox node functionality to an anchor 1252 $.fn.colorboxNode = function (options) { 1253 var $this = this; 1254 options = options || {}; 1255 1256 var settings = { 1257 'launch': true, 1258 'width': Drupal.settings.colorbox_node.width, 1259 'height': Drupal.settings.colorbox_node.height 1260 }; 1261 1262 $.extend(settings, options); 1263 1264 settings.href = $this.attr('data-href'); 1265 if (typeof settings.href == 'undefined' || settings.href == false) { 1266 settings.href = $this.attr('href'); 1267 } 1268 // Create an element so we can parse our a URL no matter if its internal or external. 1269 var parse = document.createElement('a'); 1270 parse.href = settings.href; 1271 1272 if(!settings.href) { 1273 alert(Drupal.t('No url found on element')); 1274 } 1275 1276 // Lets add our colorbox link after the base path if necessary. 1277 var base_path = Drupal.settings.basePath; 1278 var path_prefix = Drupal.settings.pathPrefix; 1279 var pathname = parse.pathname; 1280 1281 // Lets check to see if the pathname has a forward slash. 1282 // This problem happens in IE7/IE8 1283 if (pathname.charAt(0) != '/') { 1284 pathname = '/' + parse.pathname; 1285 } 1286 1287 // If clean URL's are not turned on, lets check for that. 1288 var cleanURLs = $.getParameterByName('q', settings.href); 1289 if (base_path != '/') { 1290 if (cleanURLs != '') { 1291 settings.link = pathname.replace(base_path, base_path + parse.search.replace('?q=', '?q=/' + path_prefix + 'colorbox/')); 1292 } else { 1293 settings.link = pathname.replace(base_path, base_path + path_prefix + 'colorbox/') + parse.search; 1294 } 1295 } else { 1296 if (cleanURLs != '') { 1297 settings.link = base_path + parse.search.replace('?q=', '?q=/' + path_prefix + 'colorbox/'); 1298 } else { 1299 settings.link = base_path + path_prefix + 'colorbox' + pathname + parse.search; 1300 } 1301 } 1302 1303 // Bind Ajax behaviors to the element 1304 var element_settings = {}; 1305 element_settings.async = true; 1306 1307 // This removes any loading/progress bar on the clicked link 1308 // and displays the colorbox loading screen instead. 1309 element_settings.progress = { 'type': 'none' }; 1310 // For anchor tags, these will go to the target of the anchor rather 1311 // than the usual location. 1312 if (settings.link) { 1313 element_settings.url = settings.link; 1314 element_settings.event = 'click'; 1315 } 1316 1317 // Log our click handler to our ajax object 1318 var base = $(this).attr('id'); 1319 Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings); 1320 1321 // Default to auto click for manual call to this function. 1322 if (settings.launch) { 1323 Drupal.ajax[base].eventResponse(this, 'click');
1324 $(this).colorboxNodeLaunch(settings); 1325 } 1326 else { 1327 $(this).click(function() { 1328 $(this).colorboxNodeLaunch(settings); 1329 }); 1330 } 1331 }; 1332 1333 // Allow for grouping on links to showcase a gallery with left/right arrows. 1334 // This function will find the next index of each link on the page by the rel 1335 // and manually force a click on the link to call that AJAX and update the 1336 // modal window. 1337 $.fn.colorboxNodeGroup = function () { 1338 // Lets do setup our gallery type of functions. 1339 var $this = $(this); 1340 var rel = $this.attr('rel'); 1341 if (rel && $this.hasClass('colorbox-node-gallery')) { 1342 if ($('a.colorbox-node-gallery[rel="' + rel + '"]:not(#colorbox a[rel="' + rel + '"])').length > 1) { 1343 $related = $('a.colorbox-node-gallery[rel="' + rel + '"]:not(#colorbox a[rel="' + rel + '"])'); 1344 1345 // filter $related array by href, to have mutliple colorbox links to the same target 1346 // appear as one item in the gallery only 1347 var $related_unique = []; 1348 $related.each(function() { 1349 $.findHref($related_unique, this.href); 1350 if (!$.findHref($related_unique, this.href).length) { 1351 $related_unique.push(this); 1352 } 1353 }); 1354 // we have to get the actual used element from the filtered list in order to get it's relative index 1355 var current = $.findHref($related_unique, $this.get(0).href); 1356 $related = $($related_unique); 1357 var idx = $related.index($(current)); 1358 var tot = $related.length; 1359 1360 // Show our gallery buttons 1361 $('#cboxPrevious, #cboxNext').show(); 1362 $.colorbox.next = function () { 1363 index = get_index(1); 1364 $related[index].click(); 1365 }; 1366 $.colorbox.prev = function () { 1367 index = get_index(-1); 1368 $related[index].click(); 1369 }; 1370 1371 // Setup our current HTML 1372 $('#cboxCurrent').html(Drupal.settings.colorbox.current.replace('{current}', idx + 1).replace('{total}', tot)).show(); 1373 $('#cboxNext').html(Drupal.settings.colorbox.next).show(); 1374 $('#cboxPrevious').html(Drupal.settings.colorbox.previous).show(); 1375 1376 var prefix = 'colorbox'; 1377 // Remove Bindings and re-add 1378 // @TODO: There must be a better way? If we don't remove it causes a memory to be exhausted. 1379 $(document).unbind('keydown.' + prefix); 1380 1381 // Add Key Bindings 1382 $(document).bind('keydown.' + prefix, function (e) { 1383 var key = e.keyCode; 1384 if ($related[1] && !e.altKey) { 1385 if (key === 37) { 1386 e.preventDefault(); 1387 $.colorbox.prev(); 1388 } else if (key === 39) { 1389 e.preventDefault(); 1390 $.colorbox.next(); 1391 } 1392 } 1393 }); 1394 } 1395 1396 function get_index(increment) { 1397 var max = $related.length; 1398 var newIndex = (idx + increment) % max; 1399 return (newIndex < 0) ? max + newIndex : newIndex; 1400 } 1401 1402 } 1403 }; 1404 1405 // Find a colorbox link by href in an array 1406 $.findHref = function(items, href) { 1407 return $.grep(items, function(n, i){ 1408 return n.href == href; 1409 }); 1410 }; 1411 1412 // Utility function to parse out our width/height from our url params 1413 $.urlParams = function (url) { 1414 var p = {}, 1415 e, 1416 a = /\+/g, // Regex for replacing addition symbol with a space 1417 r = /([^&=]+)=?([^&]*)/g, 1418 d = function (s) { 1419 return decodeURIComponent(s.replace(a, ' ')); 1420 }, 1421 q = url.split('?'); 1422 while (e = r.exec(q[1])) { 1423 e[1] = d(e[1]); 1424 e[2] = d(e[2]); 1425 switch (e[2].toLowerCase()) { 1426 case 'true': 1427 case 'yes': 1428 e[2] = true; 1429 break; 1430 case 'false': 1431 case 'no': 1432 e[2] = false;
1433 break; 1434 } 1435 if (e[1] == 'width') { 1436 e[1] = 'innerWidth'; 1437 } 1438 if (e[1] == 'height') { 1439 e[1] = 'innerHeight'; 1440 } 1441 p[e[1]] = e[2]; 1442 } 1443 return p; 1444 }; 1445 1446 // Utility function to return our data attributes for width/height 1447 $.urlDataParams = function (innerWidth, innerHeight) { 1448 return {'innerWidth':innerWidth,'innerHeight':innerHeight}; 1449 }; 1450 1451 $.getParameterByName = function(name, href) { 1452 name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 1453 var regexString = "[\\?&]" + name + "=([^&#]*)"; 1454 var regex = new RegExp(regexString); 1455 var found = regex.exec(href); 1456 if(found == null) 1457 return ""; 1458 else 1459 return decodeURIComponent(found[1].replace(/\+/g, " ")); 1460 }; 1461 1462})(jQuery); 1463;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.