1Drupal.locale = { 'pluralFormula': function ($n) { return Number((((($n%10)==1)&&(($n%100)!=11))?(0):((((($n%10)>=2)&&(($n%10)<=4))&&((($n%100)<10)||(($n%100)>=20)))?(1):2))); }, 'strings': {"":{"An AJAX HTTP error occurred.":"Objevila se AJAX HTTP chyba.","HTTP Result Code: !status":"V\u00fdsledn\u00fd k\u00f3d HTTP je: !status","An AJAX HTTP request terminated abnormally.":"AJAX HTTP po\u017eadavek skon\u010dil neobvykle.","Debugging information follows.":"N\u00e1sleduj\u00ed informace pro lad\u011bn\u00ed.","Path: !uri":"Cesta: !uri","StatusText: !statusText":"Text stavu: !statusText","ResponseText: !responseText":"Text odpov\u011bdi: !responseText","ReadyState: !readyState":"ReadyState: !readyState","(active tab)":"(aktivn\u00ed z\u00e1lo\u017eka)","Hide":"Skr\u00fdt","Show":"Uk\u00e1zat","Configure":"Nastaven\u00ed","Re-order rows by numerical weight instead of dragging.":"Zm\u011b\u0148te po\u0159ad\u00ed \u0159\u00e1dk\u016f pomoc\u00ed \u010d\u00edseln\u00e9 v\u00e1hy m\u00edsto p\u0159eta\u017een\u00ed my\u0161\u00ed.","Show row weights":"Uka\u017e v\u00e1hy \u0159\u00e1dk\u016f","Hide row weights":"Skryj v\u00e1hy \u0159\u00e1dk\u016f","Drag to re-order":"Pro p\u0159eskupen\u00ed p\u0159et\u00e1hn\u011bte my\u0161\u00ed","Changes made in this table will not be saved until the form is submitted.":"Zm\u011bny proveden\u00e9 v t\u00e9to tabulce budou ulo\u017eeny a\u017e po odesl\u00e1n\u00ed formul\u00e1\u0159e.","Edit":"Upravit","Enabled":"Zapnuto","Other":"Jin\u00e9","Search":"Hledat","Not published":"Nevyd\u00e1no","Show description":"Zobrazit popis","Hide description":"Skr\u00fdt popis","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"Vybran\u00fd soubor %filename nelze nahr\u00e1t. Jsou povoleny pouze soubory s t\u011bmito p\u0159\u00edponami: %extensions.","Available tokens":"Dostupn\u00e9 tokeny","Insert this token into your form":"Vlo\u017eit token do formul\u00e1\u0159e","First click a text field to insert your tokens into.":"Nejprve klikn\u011bte do textov\u00e9ho pole, do kter\u00e9ho chcete tokeny vlo\u017eit.","Loading token browser...":"Na\u010d\u00edt\u00e1n\u00ed prohl\u00ed\u01
17ee\u010de token\u016f...","Alias: @alias":"Alias: @alias","No alias":"\u017d\u00e1dn\u00fd alias","Select all rows in this table":"Ozna\u010dit v\u0161echny \u0159\u00e1dky v t\u00e9to tabulce","Deselect all rows in this table":"Zru\u0161it ozna\u010den\u00ed v\u0161ech \u0159\u00e1dek v t\u00e9to tabulce","Mon":"Po","Thu":"\u010ct","Sat":"So","Fri":"P\u00e1","@count year from now":"za rok","@count years from now":"za @count roky","Next":"N\u00e1sleduj\u00edc\u00ed","Disabled":"Vypnuto","Sunday":"Ned\u011ble","Monday":"Pond\u011bl\u00ed","Tuesday":"\u00dater\u00fd","Wednesday":"St\u0159eda","Thursday":"\u010ctvrtek","Friday":"P\u00e1tek","Saturday":"Sobota","Add":"P\u0159idat","Upload":"Nahr\u00e1t","Done":"Hotovo","OK":"OK","Prev":"P\u0159edchoz\u00ed","Tue":"\u00dat","Wed":"St","Sun":"Ne","January":"Leden","February":"\u00danor","March":"B\u0159ezen","April":"Duben","May":"Kv\u011b","June":"\u010cerven","July":"\u010cervenec","August":"Srpen","September":"Z\u00e1\u0159\u00ed","October":"\u0158\u00edjen","November":"Listopad","December":"Prosinec","Today":"Dnes","Jan":"Led","Feb":"\u00dano","Mar":"B\u0159e","Apr":"Dub","Jun":"\u010cer","Jul":"\u010crv","Aug":"Srp","Sep":"Z\u00e1\u0159","Oct":"\u0158\u00edj","Nov":"Lis","Dec":"Pro","Su":"Ne","Mo":"Po","Tu":"\u00dat","We":"St","Th":"\u010ct","Fr":"P\u00e1","Sa":"So","Please wait...":"Pros\u00edm \u010dekejte...","mm\/dd\/yy":"mm\/dd\/yy","Only files with the following extensions are allowed: %files-allowed.":"Povoleny jsou pouze soubory s n\u00e1sleduj\u00edc\u00edmi p\u0159\u00edponami: %files-allowed.","By @name on @date":"U\u017eivatel @name dne @date","By @name":"Dle @name","Not in menu":"Nen\u00ed v menu","New revision":"Nov\u00e1 revize","The changes to these blocks will not be saved until the \u003Cem\u003ESave blocks\u003C\/em\u003E button is clicked.":"Zm\u011bny v t\u011bchto bloc\u00edch se neprojev\u00ed, dokud je neulo\u017e\u00edte pomoc\u00ed tla\u010d\u00edtka \u003Cem\u003EUlo\u017eit bloky\u003C\/em\u003E.","This permission is inherited from the authenticated user role.":"Pr\u00e1va byla zd\u011bd\u011bna z ov\u011b\u0159en\u00e9 u\u017eivatelsk\u00e9 role.","No revision":"\u017d\u00e1dn\u00e1 revize","Requires a title":"Vy\u017eaduje n\u00e1zev","Not restricted":"Nen\u00ed omezeno","Not customizable":"Nelze p\u0159izp\u016fsobit","Restricted to certain pages":"Omezen\u00fd na ur\u010dit\u00fd str\u00e1nky","The block cannot be placed in this region.":"Blok nem\u016f\u017ee b\u00fdt um\u00edst\u011bn do tohoto regionu.","Customize dashboard":"P\u0159izp\u016fsobit ovl\u00e1dac\u00ed panel","Hide summary":"Skr\u00fdt souhrn","Edit summary":"Upravit souhrn","Don\u0027t display post information":"Nezobrazovat informace o p\u0159\u00edsp\u011bvku","Autocomplete popup":"Vyskakovac\u00ed okno automatick\u00e9ho dokon\u010dov\u00e1n\u00ed","Searching for matches...":"Hled\u00e1m shody...","Translatable":"P\u0159elo\u017eiteln\u00fd","Remove group":"Odstranit skupinu","Apply (all displays)":"Pou\u017e\u00edt (v\u0161echna zobrazen\u00ed)","Revert to default":"Obnovit v\u00fdchoz\u00ed","Apply (this display)":"Pou\u017e\u00edt (toto zobrazen\u00ed)","Breadcrumbs":"Drobe\u010dkov\u00e1 navigace","Content can only be inserted into CKEditor in the WYSIWYG mode.":"Obsah m\u016f\u017ee b\u00fdt vlo\u017een do CKEditoru pouze v re\u017eimu WYSIWYG.","Previous":"P\u0159edchoz\u00ed","Close":"Zav\u0159\u00edt","Log messages":"Logovat zpr\u00e1vy","Please select a file.":"Zvolte soubor.","Please specify dimensions within the allowed range that is from 1x1 to @dimensions.":"Zadejte rozm\u011bry v povolen\u00e9m rozsahu ve form\u00e1tu 1x1 do","%filename is not an image.":"%filename nen\u00ed obr\u00e1zek.","Do you want to refresh the current directory?":"Obnovit aktu\u00e1ln\u00ed adres\u00e1\u0159?","Delete selected files?":"Smazat vybran\u00e9 soubory?","Please select a thumbnail.":"Zvolte n\u00e1hled.","You must select at least %num files.":"Je nutn\u00e9 vybrat alespo\u0148 %num soubor\u016f.","You can not perform this operation.":"Nen\u00ed mo\u017en\u00e9 prov\u00e9st tuto operaci.","Insert file":"Vlo\u017eit soubor","Change view":"Zm\u011bnit zobrazen\u00ed","List additional actions":"Vypsat dodate\u010dn\u00e9 akce","PONEC - dance venue":"PONEC - divadlo pro tanec","No redirects":"\u017d\u00e1dn\u00e1 p\u0159esm\u011brov\u00e1n\u00ed"}} };;
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 style js. 54 */ 55 56(function ($) { 57 58Drupal.behaviors.initColorboxDefaultStyle = { 59 attach: function (context, settings) { 60 $(context).bind('cbox_complete', function () { 61 // Only run if there is a title. 62 if ($('#cboxTitle:empty', context).length == false) { 63 $('#cboxLoadedContent img', context).bind('mouseover', function () { 64 $('#cboxTitle', context).slideDown(); 65 }); 66 $('#cboxOverlay', context).bind('mouseover', function () { 67 $('#cboxTitle', context).slideUp(); 68 }); 69 } 70 else { 71 $('#cboxTitle', context).hide(); 72 } 73 }); 74 } 75}; 76 77})(jQuery); 78; 79/** 80 * @file 81 * Handles the AJAX for the view_show_more plugin. 82 */ 83 84(function ($) { 85 86 // Provide a series of commands that the server can request the client perform. 87 Drupal.ajax.prototype.commands.viewsShowMore = function (ajax, response, status) { 88 // Get information from the response. If it is not there, default to 89 // our presets. 90 var wrapper = response.selector ? $(response.selector) : $(ajax.wrapper); 91 var method = response.method || ajax.method; 92 var append_at = response.append_at || ''; 93 var effect = ajax.getEffect(response); 94 var pager_selector = response.options.pager_selector ? response.options.pager_selector : '.pager-show-more'; 95 96 // We don't know what response.data contains: it might be a string of text 97 // without HTML, so don't rely on jQuery correctly iterpreting 98 // $(response.data) as new HTML rather than a CSS selector. Also, if 99 // response.data contains top-level text nodes, they get lost with either 100 // $(response.data) or $('<div></div>').replaceWith(response.data). 101 var new_content_wrapped = $('<div></div>').html(response.data); 102 var new_content = new_content_wrapped.contents(); 103 104 // For legacy reasons, the effects processing code assumes that new_content 105 // consists of a single top-level element. Also, it has not been 106 // sufficiently tested whether attachBehaviors() can be successfully called 107 // with a context object that includes top-level text nodes. However, to 108 // give developers full control of the HTML appearing in the page, and to 109 // enable Ajax content to be inserted in places where DIV elements are not 110 // allowed (e.g., within TABLE, TR, and SPAN parents), we check if the new 111 // content satisfies the requirement of a single top-level element, and 112 // only use the container DIV created above when it doesn't. For more 113 // information, please see http://drupal.org/node/736066. 114 if (new_content.length != 1 || new_content.get(0).nodeType != 1) { 115 new_content = new_content_wrapped; 116 } 117 // If removing content from the wrapper, detach behaviors first. 118 var settings = response.settings || ajax.settings || Drupal.settings; 119 Drupal.detachBehaviors(wrapper, settings); 120 121 // Set up our default query options. This is for advance users that might 122 // change there views layout classes. This allows them to write there own 123 // jquery selector to replace the content with. 124 // Provide sensible defaults for unordered list, ordered list and table 125 // view styles. 126 var content_query = append_at && !response.options.content_selector ? '> .view-content ' + append_at : response.options.content_selector || '> .view-content'; 127 128 // Immediately hide the new content if we're using any effects. 129 if (effect.showEffect != 'show' && effect.showEffect !== 'scrollToggle') { 130 new_content.find(content_query).children().hide(); 131 } 132 133 // Scrolling effect. 134 if(effect.showEffect === 'scroll_fadeToggle' || effect.showEffect === 'scrollToggle') { 135 // Get old contenter height. 136 var old_height = wrapper.find(content_query).addClass('clearfix').height(); 137 138 // Get content count. 139 var old_items = wrapper.find(content_query).children().length; 140 var new_items = new_content.find(content_query).children().length; 141 142 // Calculate initial new height. 143 var new_height = old_height + Math.ceil(old_height / old_items * new_items); 144 145 // Set initial new height for scrolling. 146 if(effect.showEffect === 'scroll_fadeToggle') { 147 wrapper.find(content_query).height(new_height); 148 } 149 150 // Get offset top for scroll. 151 var position_top = wrapper.find(content_query).offset().top + old_height - 50; 152 153 // Finally Scroll. 154 $('html, body').animate({ scrollTop: position_top}, effect.showSpeed); 155 } 156 157 // Update the pager 158 // Find both for the wrapper as the newly loaded content the direct child 159 // .item-list in case of nested pagers. 160 wrapper.find(pager_selector).replaceWith(new_content.find(pager_selector)); 161 162 // Add the new content to the page. 163 wrapper.find(content_query)[method](new_content.find(content_query).children()); 164 165 // Re-class the loaded content. 166 wrapper.find(content_query).children() 167 .removeClass('views-row-first views-row-last views-row-odd views-row-even') 168 .filter(':first') 169 .addClass('views-row-first') 170 .end() 171 .filter(':last') 172 .addClass('views-row-last') 173 .end() 174 .filter(':even') 175 .addClass('views-row-odd') 176 .end() 177 .filter(':odd') 178 .addClass('views-row-even') 179 .end(); 180 181 if (effect.showEffect != 'show' && effect.showEffect !== 'scrollToggle') { 182 var delay_speed = (effect.showSpeed == 'slow') ? '600' : effect.showSpeed; 183 delay_speed = (effect.showSpeed == 'fast') ? '200' : effect.showSpeed; 184 if(effect.showEffect === 'scroll_fadeToggle') { 185 effect.showEffect = 'fadeIn'; 186 } 187 wrapper.find(content_query).children(':not(:visible)')[effect.showEffect](effect.showSpeed); 188 wrapper.find(content_query).queue(function(next) { 189 $(this).css('height', 'auto'); 190 next(); 191 }); 192 } 193 194 // Additional processing over new content. 195 wrapper.trigger('views_show_more.new_content', new_content.clone()); 196 197 // Attach all JavaScript behaviors to the new content 198 // Remove the Jquery once Class, TODO: There needs to be a better 199 // way of doing this, look at .removeOnce(). 200 var classes = wrapper.attr('class'); 201 var onceClass = classes.match(/jquery-once-[0-9]*-[a-z]*/); 202 wrapper.removeClass(onceClass[0]); 203 settings = response.settings || ajax.settings || Drupal.settings; 204 Drupal.attachBehaviors(wrapper, settings); 205 }; 206})(jQuery); 207; 208/** 209 * @file 210 * Some basic behaviors and utility functions for Views. 211 */ 212(function ($) { 213 214 Drupal.Views = {}; 215 216 /** 217 * JQuery UI tabs, Views integration component. 218 */ 219 Drupal.behaviors.viewsTabs = { 220 attach: function (context) { 221 if ($.viewsUi && $.viewsUi.tabs) { 222 $('#views-tabset').once('views-processed').viewsTabs({ 223 selectedClass: 'active' 224 }); 225 } 226 227 $('a.views-remove-link').once('views-processed').click(function (event) { 228 var id = $(this).attr('id').replace('views-remove-link-', ''); 229 $('#views-row-' + id).hide(); 230 $('#views-removed-' + id).get(0).checked = true; 231 event.preventDefault(); 232 }); 233 // Here is to handle display deletion 234 // (checking in the hidden checkbox and hiding out the row). 235 $('a.display-remove-link') 236 .addClass('display-processed') 237 .click(function () { 238 var id = $(this).attr('id').replace('display-remove-link-', ''); 239 $('#display-row-' + id).hide(); 240 $('#display-removed-' + id).get(0).checked = true; 241 return false;
242 }); 243 } 244 }; 245 246 /** 247 * Helper function to parse a querystring. 248 */ 249 Drupal.Views.parseQueryString = function (query) { 250 var args = {}; 251 var pos = query.indexOf('?'); 252 if (pos != -1) { 253 query = query.substring(pos + 1); 254 } 255 var pairs = query.split('&'); 256 for (var i in pairs) { 257 if (typeof(pairs[i]) == 'string') { 258 var pair = pairs[i].split('='); 259 // Ignore the 'q' path argument, if present. 260 if (pair[0] != 'q' && pair[1]) { 261 args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' ')); 262 } 263 } 264 } 265 return args; 266 }; 267 268 /** 269 * Helper function to return a view's arguments based on a path. 270 */ 271 Drupal.Views.parseViewArgs = function (href, viewPath) { 272 // Provide language prefix. 273 if (Drupal.settings.pathPrefix) { 274 var viewPath = Drupal.settings.pathPrefix + viewPath; 275 } 276 var returnObj = {}; 277 var path = Drupal.Views.getPath(href); 278 // Ensure there is a correct path. 279 if (viewPath && path.substring(0, viewPath.length + 1) == viewPath + '/') { 280 var args = decodeURIComponent(path.substring(viewPath.length + 1, path.length)); 281 returnObj.view_args = args; 282 returnObj.view_path = path; 283 } 284 return returnObj; 285 }; 286 287 /** 288 * Strip off the protocol plus domain from an href. 289 */ 290 Drupal.Views.pathPortion = function (href) { 291 // Remove e.g. http://example.com if present. 292 var protocol = window.location.protocol; 293 if (href.substring(0, protocol.length) == protocol) { 294 // 2 is the length of the '//' that normally follows the protocol. 295 href = href.substring(href.indexOf('/', protocol.length + 2)); 296 } 297 return href; 298 }; 299 300 /** 301 * Return the Drupal path portion of an href. 302 */ 303 Drupal.Views.getPath = function (href) { 304 href = Drupal.Views.pathPortion(href); 305 href = href.substring(Drupal.settings.basePath.length, href.length); 306 // 3 is the length of the '?q=' added to the URL without clean URLs. 307 if (href.substring(0, 3) == '?q=') { 308 href = href.substring(3, href.length); 309 } 310 var chars = ['#', '?', '&']; 311 for (var i in chars) { 312 if (href.indexOf(chars[i]) > -1) { 313 href = href.substr(0, href.indexOf(chars[i])); 314 } 315 } 316 return href; 317 }; 318 319})(jQuery); 320; 321(function ($) { 322 323/** 324 * A progressbar object. Initialized with the given id. Must be inserted into 325 * the DOM afterwards through progressBar.element. 326 * 327 * method is the function which will perform the HTTP request to get the 328 * progress bar state. Either "GET" or "POST". 329 * 330 * e.g. pb = new progressBar('myProgressBar'); 331 * some_element.appendChild(pb.element); 332 */ 333Drupal.progressBar = function (id, updateCallback, method, errorCallback) { 334 var pb = this; 335 this.id = id; 336 this.method = method || 'GET'; 337 this.updateCallback = updateCallback; 338 this.errorCallback = errorCallback; 339 340 // The WAI-ARIA setting aria-live="polite" will announce changes after users 341 // have completed their current activity and not interrupt the screen reader. 342 this.element = $('<div class="progress-wrapper" aria-live="polite"></div>'); 343 this.element.html('<div id ="' + id + '" class="progress progress-striped active">' + 344 '<div class="progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0">' + 345 '<div class="percentage sr-only"></div>' + 346 '</div></div>' + 347 '</div><div class="percentage pull-right"></div>' + 348 '<div class="message"> </div>'); 349}; 350 351/** 352 * Set the percentage and status message for the progressbar. 353 */ 354Drupal.progressBar.prototype.setProgress = function (percentage, message) { 355 if (percentage >= 0 && percentage <= 100) { 356 $('div.progress-bar', this.element).css('width', percentage + '%'); 357 $('div.progress-bar', this.element).attr('aria-valuenow', percentage); 358 $('div.percentage', this.element).html(percentage + '%'); 359 } 360 $('div.message', this.element).html(message); 361 if (this.updateCallback) { 362 this.updateCallback(percentage, message, this); 363 } 364}; 365 366/** 367 * Start monitoring progress via Ajax. 368 */ 369Drupal.progressBar.prototype.startMonitoring = function (uri, delay) { 370 this.delay = delay; 371 this.uri = uri; 372 this.sendPing(); 373}; 374 375/** 376 * Stop monitoring progress via Ajax. 377 */ 378Drupal.progressBar.prototype.stopMonitoring = function () { 379 clearTimeout(this.timer); 380 // This allows monitoring to be stopped from within the callback. 381 this.uri = null; 382}; 383 384/** 385 * Request progress data from server. 386 */ 387Drupal.progressBar.prototype.sendPing = function () { 388 if (this.timer) { 389 clearTimeout(this.timer); 390 } 391 if (this.uri) { 392 var pb = this; 393 // When doing a post request, you need non-null data. Otherwise a 394 // HTTP 411 or HTTP 406 (with Apache mod_security) error may result. 395 $.ajax({ 396 type: this.method, 397 url: this.uri, 398 data: '', 399 dataType: 'json', 400 success: function (progress) { 401 // Display errors. 402 if (progress.status == 0) { 403 pb.displayError(progress.data); 404 return; 405 } 406 // Update display. 407 pb.setProgress(progress.percentage, progress.message); 408 // Schedule next timer.
409 pb.timer = setTimeout(function () { pb.sendPing(); }, pb.delay); 410 }, 411 error: function (xmlhttp) { 412 pb.displayError(Drupal.ajaxError(xmlhttp, pb.uri)); 413 } 414 }); 415 } 416}; 417 418/** 419 * Display errors on the page. 420 */ 421Drupal.progressBar.prototype.displayError = function (string) { 422 var error = $('<div class="alert alert-block alert-error"><a class="close" data-dismiss="alert" href="#">×</a><h4>Error message</h4></div>').append(string); 423 $(this.element).before(error).hide(); 424 425 if (this.errorCallback) { 426 this.errorCallback(this); 427 } 428}; 429 430})(jQuery); 431; 432/** 433 * @file 434 * Handles AJAX fetching of views, including filter submission and response. 435 */ 436(function ($) { 437 438 /** 439 * Attaches the AJAX behavior to exposed filter forms and key views links. 440 */ 441 Drupal.behaviors.ViewsAjaxView = {}; 442 Drupal.behaviors.ViewsAjaxView.attach = function () { 443 if (Drupal.settings && Drupal.settings.views && Drupal.settings.views.ajaxViews) { 444 $.each(Drupal.settings.views.ajaxViews, function (i, settings) { 445 Drupal.views.instances[i] = new Drupal.views.ajaxView(settings); 446 }); 447 } 448 }; 449 450 Drupal.views = {}; 451 Drupal.views.instances = {}; 452 453 /** 454 * JavaScript object for a certain view. 455 */ 456 Drupal.views.ajaxView = function (settings) { 457 var selector = '.view-dom-id-' + settings.view_dom_id; 458 this.$view = $(selector); 459 460 // If view is not present return to prevent errors. 461 if (!this.$view.length) { 462 return; 463 } 464 465 // Retrieve the path to use for views' ajax. 466 var ajax_path = Drupal.settings.views.ajax_path; 467 468 // If there are multiple views this might've ended up showing up multiple 469 // times. 470 if (ajax_path.constructor.toString().indexOf("Array") != -1) { 471 ajax_path = ajax_path[0]; 472 } 473 474 // Check if there are any GET parameters to send to views. 475 var queryString = window.location.search || ''; 476 if (queryString !== '') { 477 // Remove the question mark and Drupal path component if any. 478 var queryString = queryString.slice(1).replace(/q=[^&]+&?|&?render=[^&]+/, ''); 479 if (queryString !== '') { 480 // If there is a '?' in ajax_path, clean url are on and & should be 481 // used to add parameters. 482 queryString = ((/\?/.test(ajax_path)) ? '&' : '?') + queryString; 483 } 484 } 485 486 this.element_settings = { 487 url: ajax_path + queryString, 488 submit: settings, 489 setClick: true, 490 event: 'click', 491 selector: selector, 492 progress: { 493 type: 'throbber' 494 } 495 }; 496 497 this.settings = settings; 498 499 // Add the ajax to exposed forms. 500 this.$exposed_form = $('#views-exposed-form-' + settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-')); 501 this.$exposed_form.once(jQuery.proxy(this.attachExposedFormAjax, this)); 502 503 // Store Drupal.ajax objects here for all pager links. 504 this.links = []; 505 506 // Add the ajax to pagers. 507 this.$view 508 .once(jQuery.proxy(this.attachPagerAjax, this)); 509 510 // Add a trigger to update this view specifically. In order to trigger a 511 // refresh use the following code. 512 // 513 // @code 514 // jQuery('.view-name').trigger('RefreshView'); 515 // @endcode 516 // Add a trigger to update this view specifically. 517 var self_settings = this.element_settings; 518 self_settings.event = 'RefreshView'; 519 var self = this; 520 this.$view.once('refresh', function () { 521 self.refreshViewAjax = new Drupal.ajax(self.selector, self.$view, self_settings); 522 }); 523 }; 524 525 Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () { 526 var button = $('input[type=submit], button[type=submit], input[type=image]', this.$exposed_form); 527 button = button[0]; 528 529 // Call the autocomplete submit before doing AJAX. 530 $(button).click(function () { 531 if (Drupal.autocompleteSubmit) { 532 Drupal.autocompleteSubmit(); 533 } 534 }); 535 536 this.exposedFormAjax = new Drupal.ajax($(button).attr('id'), button, this.element_settings); 537 }; 538 539 /** 540 * Attach the ajax behavior to each link. 541 */ 542 Drupal.views.ajaxView.prototype.attachPagerAjax = function () { 543 this.$view.find('ul.pager > li > a, ol.pager > li > a, th.views-field a, .attachment .views-summary a') 544 .each(jQuery.proxy(this.attachPagerLinkAjax, this)); 545 }; 546 547 /**
548 * Attach the ajax behavior to a single link. 549 */ 550 Drupal.views.ajaxView.prototype.attachPagerLinkAjax = function (id, link) { 551 var $link = $(link); 552 var viewData = {}; 553 var href = $link.attr('href'); 554 // Don't attach to pagers inside nested views. 555 if ($link.closest('.view')[0] !== this.$view[0] && 556 $link.closest('.view').parent().hasClass('attachment') === false) { 557 return; 558 } 559 560 // Provide a default page if none has been set. This must be done 561 // prior to merging with settings to avoid accidentally using the 562 // page landed on instead of page 1. 563 if (typeof(viewData.page) === 'undefined') { 564 viewData.page = 0; 565 } 566 567 // Construct an object using the settings defaults and then overriding 568 // with data specific to the link. 569 $.extend( 570 viewData, 571 this.settings, 572 Drupal.Views.parseQueryString(href), 573 // Extract argument data from the URL. 574 Drupal.Views.parseViewArgs(href, this.settings.view_base_path) 575 ); 576 577 // For anchor tags, these will go to the target of the anchor rather 578 // than the usual location. 579 $.extend(viewData, Drupal.Views.parseViewArgs(href, this.settings.view_base_path)); 580 581 // Construct an object using the element settings defaults, 582 // then overriding submit with viewData. 583 var pager_settings = $.extend({}, this.element_settings); 584 pager_settings.submit = viewData; 585 this.pagerAjax = new Drupal.ajax(false, $link, pager_settings); 586 this.links.push(this.pagerAjax); 587 }; 588 589 Drupal.ajax.prototype.commands.viewsScrollTop = function (ajax, response, status) { 590 // Scroll to the top of the view. This will allow users 591 // to browse newly loaded content after e.g. clicking a pager 592 // link. 593 var offset = $(response.selector).offset(); 594 // We can't guarantee that the scrollable object should be 595 // the body, as the view could be embedded in something 596 // more complex such as a modal popup. Recurse up the DOM 597 // and scroll the first element that has a non-zero top. 598 var scrollTarget = response.selector; 599 while ($(scrollTarget).scrollTop() == 0 && $(scrollTarget).parent()) { 600 scrollTarget = $(scrollTarget).parent(); 601 } 602 // Only scroll upward. 603 if (offset.top - 10 < $(scrollTarget).scrollTop()) { 604 $(scrollTarget).animate({scrollTop: (offset.top - 10)}, 500); 605 } 606 }; 607 608})(jQuery); 609;
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.