PageSourceSearch

https://sportpunkt.pro/files/js/js_faIx2v6Cs-6LxrXfvzzQEVswjTNgTdQ7sWHu4ZJ-n-M.js

js sportpunkt.pro collected 2026-09-30 02:49:15 UTC 99,993 bytes, 1,706 lines download raw bytes

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.":"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 AJAX HTTP \u043e\u0448\u0438\u0431\u043a\u0430.","HTTP Result Code: !status":"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 HTTP: !status","An AJAX HTTP request terminated abnormally.":"HTTP \u0437\u0430\u043f\u0440\u043e\u0441 AJAX \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.","Debugging information follows.":"\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.","Path: !uri":"\u041f\u0443\u0442\u044c: !uri","StatusText: !statusText":"\u0422\u0435\u043a\u0441\u0442 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f: !statusText","ResponseText: !responseText":"\u0422\u0435\u043a\u0441\u0442 \u041e\u0442\u0432\u0435\u0442\u0430: !responseText","ReadyState: !readyState":"ReadyState: !readyState","Configure":"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c","Show shortcuts":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448","Hide shortcuts":"\u0421\u043a\u0440\u044b\u0442\u044c \u044f\u0440\u043b\u044b\u043a\u0438","(active tab)":"(\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0430)","+@count":"+@count","-@count":"-@count","Hide":"\u0421\u043a\u0440\u044b\u0442\u044c","Show":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c","Menu":"\u041c\u0435\u043d\u044e","Re-order rows by numerical weight instead of dragging.":"\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e \u0432\u0435\u0441\u0443 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u044f.","Show row weights":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Hide row weights":"\u0421\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Drag to re-order":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043c\u043e\u0436\u043d\u043e, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0432 \u043f\u0443\u043d\u043a\u0442 \u043c\u044b\u0448\u043a\u043e\u0439.","Changes made in this table will not be saved until the form is submitted.":"\u0421\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u0432\u0441\u0442\u0443\u043f\u044f\u0442 \u0432 \u0441\u0438\u043b\u0443, \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445.","Active":"\u0410\u043a\u0442\u0438\u0432\u043d\u043e","Disabled":"\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e","Enabled":"\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e","Not published":"\u041d\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e","All":"\u0412\u0441\u0435","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Edit":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","Next":"\u0412\u043f\u0435\u0440\u0435\u0434","new":"\u043d\u043e\u0432\u043e\u0435","Sunday":"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","Monday":"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","Tuesday":"\u0432\u0442\u043e\u0440\u043d\u0438\u043a","Wednesday":"\u0441\u0440\u0435\u0434\u0430","Thursday":"\u0447\u0435\u0442\u0432\u0435\u0440\u0433","Friday":"\u043f\u044f\u0442\u043d\u0438\u0446\u0430","Saturday":"\u0441\u0443\u0431\u0431\u043e\u0442\u0430","read more":"\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Prev":"\u
1041d\u0430\u0437\u0430\u0434","Mon":"\u043f\u043d","Tue":"\u0432\u0442","Wed":"\u0441\u0440","Thu":"\u0447\u0442","Fri":"\u043f\u0442","Sat":"\u0441\u0431","Sun":"\u0432\u0441","January":"\u042f\u043d\u0432\u0430\u0440\u044c","February":"\u0424\u0435\u0432\u0440\u0430\u043b\u044c","March":"\u043c\u0430\u0440\u0442\u0430","April":"\u0430\u043f\u0440\u0435\u043b\u044f","May":"\u043c\u0430\u044f","June":"\u0438\u044e\u043d\u044f","July":"\u0418\u044e\u043b\u044c","August":"\u0430\u0432\u0433\u0443\u0441\u0442\u0430","September":"\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f","October":"\u043e\u043a\u0442\u044f\u0431\u0440\u044f","November":"\u043d\u043e\u044f\u0431\u0440\u044f","December":"\u0434\u0435\u043a\u0430\u0431\u0440\u044f","@count new":"\u043d\u043e\u0432\u044b\u0445: @count","Select all rows in this table":"\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Deselect all rows in this table":"\u0421\u043d\u044f\u0442\u044c \u043e\u0442\u043c\u0435\u0442\u043a\u0443 \u0441\u043e \u0432\u0441\u0435\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Today":"\u0421\u0435\u0433\u043e\u0434\u043d\u044f","Jan":"\u042f\u043d\u0432","Feb":"\u0424\u0435\u0432","Mar":"\u041c\u0430\u0440","Apr":"\u0410\u043f\u0440","Jun":"\u0418\u044e\u043d","Jul":"\u0418\u044e\u043b","Aug":"\u0410\u0432\u0433","Sep":"\u0421\u0435\u043d","Oct":"\u041e\u043a\u0442","Nov":"\u041d\u043e\u044f","Dec":"\u0414\u0435\u043a","Su":"\u0412\u0441","Mo":"\u041f\u043d","Tu":"\u0412\u0442","We":"\u0421\u0440","Th":"\u0427\u0442","Fr":"\u041f\u0442","Sa":"\u0421\u0431","Please wait...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435...","1 new comment":"@count \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439","@count new comments":"@count \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f","mm\/dd\/yy":"mm\/dd\/yy","By @name on @date":"@name, @date","By @name":"@name","Not in menu":"\u041d\u0435 \u0432 \u043c\u0435\u043d\u044e","Alias: @alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c: @alias","No alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c \u043d\u0435 \u0437\u0430\u0434\u0430\u043d","New revision":"\u041d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f","The changes to these blocks will not be saved until the \u003Cem\u003ESave blocks\u003C\/em\u003E button is clicked.":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u043b\u043e\u043a\u0430\u0445 \u043d\u0435 \u0432\u0441\u0442\u0443\u043f\u044f\u0442 \u0432 \u0441\u0438\u043b\u0443 \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0435 \u043d\u0430\u0436\u043c\u0435\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u003Cem\u003E\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438\u003C\/em\u003E.","This permission is inherited from the authenticated user role.":"\u042d\u0442\u043e \u043f\u0440\u0430\u0432\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u0440\u043e\u043b\u0438 \u00ab\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u00bb.","No revision":"\u041d\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438","@number comments per page":"@number \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443","Requires a title":"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a","Not restricted":"\u0411\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439","Not customizable":"\u041d\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0439","Restricted to certain pages":"\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446","The block cannot be placed in this region.":"\u0411\u043b\u043e\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435.","Hide summary":"\u0421\u043a\u0440\u044b\u0442\u044c \u0430\u043d\u043e\u043d\u0441","Edit summary":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u043d\u043e\u043d\u0441","Don\u0027t display post information":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b %filename \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438: %extensions.","Autocomplete popup":"\u0412\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435","Searching for matches...":"\u041f\u043e\u0438\u0441\u043a \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439...","Automatic alias":"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0438\u043d\u043e\u043d\u0438\u043c","Other":"\u041f\u0440\u043e\u0447\u0438\u0435","Loading token browser...":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0442\u043e\u043a\u0435\u043d\u043e\u0432...","Available tokens":"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0442\u043e\u043a\u0435\u043d\u044b","Insert this token into your form":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u043e\u043a\u0435\u043d \u0432 \u0432\u0430\u0448\u0443 \u0444\u043e\u0440\u043c\u0443","First click a text field to insert your tokens into.":"\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0442\u043e\u043a\u0435\u043d\u044b.","read less":"\u043a\u043e\u0440\u043e\u0447\u0435","Remove group":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435","Apply (all displays)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u0432\u0441\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f)","Revert to default":"\u0412\u0435\u0440\u043d\u0443\u0442\u044c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","Apply (this display)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u044d\u0442\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435)","Select all":"\u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0441\u0435","No name":"\u0411\u0435\u0437 \u0438\u043c\u0435\u043d\u0438","From @title":"\u041e\u0442 @title","To @title":"\u041a @title","Owned by @name":"\u041f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 @name","Created @date":"\u
10421\u043e\u0437\u0434\u0430\u043d @date","New order":"\u041d\u043e\u0432\u044b\u0439 \u0437\u0430\u043a\u0430\u0437","Updated @date":"\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d @date","Also allow !name role to !permission?":"\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0440\u043e\u043b\u0438 !name \u043f\u0440\u0430\u0432\u0430 !permission?","Changes to the checkout panes will not be saved until the \u003Cem\u003ESave configuration\u003C\/em\u003E button is clicked.":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0430\u043d\u0435\u043b\u044f\u0445 \u0437\u0430\u043a\u0430\u0437\u0430 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u003Cem\u003E\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e\u003C\/em\u003E.","Next page":"\u2192","Not scheduled":"\u041d\u0435 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e","Publishing enabled":"\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430","Unpublishing enabled":"\u0421\u043d\u044f\u0442\u0438\u0435 \u0441 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e","Scheduled for publishing":"\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e","Scheduled for unpublishing":"\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043d\u0430 \u0441\u043d\u044f\u0442\u0438\u0435 \u0441 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438","No title":"\u0411\u0435\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f","No style":"\u041d\u0435\u0442 \u0441\u0442\u0438\u043b\u044f","Translate Text":"\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0435\u043a\u0441\u0442","An HTTP error @status occured.":"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 HTTP @status.","@count year from now":"@count \u0433\u043e\u0434 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430","@count years from now":"@count \u0433\u043e\u0434\u0430 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430","Insert Teaser Break":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u044b\u0432 \u0432 \u0430\u043d\u043e\u043d\u0441","Insert Page Break":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u044b\u0432 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b","The document already contains a teaser break. Do you want to proceed by removing it first?":"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0443\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0431\u0440\u0435\u0437\u043a\u0443 \u0430\u043d\u043e\u043d\u0441\u0430. \u0425\u043e\u0442\u0438\u0442\u0435 \u043b\u0438 \u0412\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0435\u0451?","New":"\u041d\u043e\u0432\u044b\u0439","Show description":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","Hide description":"\u0421\u043a\u0440\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","List additional actions":"\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439","Using defaults":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","Something went wrong. Refresh the page and try again.":"\u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a. \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.","Test store":"\u
vendor: 9,770 bytes, lines 1-16
10422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043c\u0430\u0433\u0430\u0437\u0438\u043d","Real store":"\u0411\u043e\u0435\u0432\u043e\u0439 \u043c\u0430\u0433\u0430\u0437\u0438\u043d","Fiscalization enabled":"\u0424\u0438\u0441\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430","Fiscalization disabled":"\u0424\u0438\u0441\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430"}} };;
2(function(Drupal, $) {
3  "use strict";
4
5  $.authcache_cookie = function(name, value, lifetime) {
6    lifetime = (typeof lifetime === 'undefined') ? Drupal.settings.authcache.cl : lifetime;
7    $.cookie(name, value, $.extend(Drupal.settings.authcache.cp, {expires: lifetime}));
8  };
9}(Drupal, jQuery));
10;
11/*!
12	Colorbox 1.6.3
13	license: MIT
14	http://www.jacklmoore.com/colorbox
15*/
16(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")),!$){$=q=!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=n("button","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;$&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),$&&_.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(q=!0,U=!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);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),U=_.get("createImg"),t(U).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&&(U.height=U.height/i.devicePixelRatio,U.width=U.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){U.height-=U.height*e,U.width-=U.width*e},_.mw&&U.width>_.mw&&(e=(U.width-_.mw)/U.width,o()),_.mh&&U.height>_.mh&&(e=(U.height-_.mh)/U.height,o())),_.h&&(U.style.marginTop=Math.max(_.mh-U.height,0)/2+"px"),W[1]&&(_.get("loop")||W[A+1])&&(U.style.cursor="pointer",t(U).bind("click."+Z,function(){J.next()})),U.style.width=U.width+"px",U.style.height=U.height+"px",h(U)},1)}),U.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,U,$,q,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
16: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(),q=!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;$&&(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($){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(U).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;$&&(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(){!q&&W[1]&&(_.get("loop")||W[A+1])&&(A=h(1),f(W[A]))},J.prev=function(){!q&&W[1]&&(_.get("loop")||A)&&(A=h(-1),f(W[A]))},J.close=function(){$&&!G&&(G=!0,$=!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);;
17(function ($) {
18
19Drupal.behaviors.initColorbox = {
20  attach: function (context, settings) {
21    if (!$.isFunction($.colorbox)) {
22      return;
23    }
24
25    if (settings.colorbox.mobiledetect && window.matchMedia) {
26      // Disable Colorbox for small screens.
27      var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")");
28      if (mq.matches) {
29        return;
30      }
31    }
32
33    $('.colorbox', context)
34      .once('init-colorbox')
35      .colorbox(settings.colorbox);
36
37    $(context).bind('cbox_complete', function () {
38      Drupal.attachBehaviors('#cboxLoadedContent');
39    });
40  }
41};
42
43})(jQuery);
44;
45(function ($) {
46
47Drupal.behaviors.initColorboxStockholmsyndromeStyle = {
48  attach: function (context, settings) {
49    $(context).bind('cbox_open', function () {
50      // Hide close button initially.
51      $('#cboxClose', context).css('opacity', 0);
52    });
53    $(context).bind('cbox_load', function () {
54      // Hide close button. (It doesn't handle the load animation well.)
55      $('#cboxClose', context).css('opacity', 0);
56    });
57    $(context).bind('cbox_complete', function () {
58      // Show close button with a delay.
59      $('#cboxClose', context).fadeTo('fast', 0, function () {$(this).css('opacity', 1)});
60    });
61  }
62};
63
64})(jQuery);
65;
66(function ($) {
67
68Drupal.behaviors.initColorboxLoad = {
69  attach: function (context, settings) {
70    if (!$.isFunction($.colorbox)) {
71      return;
72    }
73    $.urlParams = function (url) {
74      var p = {},
75          e,
76          a = /\+/g,  // Regex for replacing addition symbol with a space
77          r = /([^&=]+)=?([^&]*)/g,
78          d = function (s) { return decodeURIComponent(s.replace(a, ' ')); },
79          q = url.split('?');
80      while (e = r.exec(q[1])) {
81        e[1] = d(e[1]);
82        e[2] = d(e[2]);
83        switch (e[2].toLowerCase()) {
84          case 'true':
85          case 'yes':
86            e[2] = true;
87            break;
88          case 'false':
89          case 'no':
90            e[2] = false;
91            break;
92        }
93        if (e[1] == 'width') { e[1] = 'innerWidth'; }
94        if (e[1] == 'height') { e[1] = 'innerHeight'; }
95        p[e[1]] = e[2];
96      }
97      return p;
98    };
99    $('.colorbox-load', context)
100      .once('init-colorbox-load', function () {
101        var params = $.urlParams($(this).attr('href'));
102        $(this).colorbox($.extend({}, settings.colorbox, params));
103      });
104  }
105};
106
107})(jQuery);
108;
109(function ($) {
110
111Drupal.behaviors.initColorboxInline = {
112  attach: function (context, settings) {
113    if (!$.isFunction($.colorbox)) {
114      return;
115    }
116    $.urlParam = function(name, url){
117      if (name == 'fragment') {
118        var results = new RegExp('(#[^&#]*)').exec(url);
119      }
120      else {
121        var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);
122      }
123      if (!results) { return ''; }
124      return results[1] || '';
125    };
126    $('.colorbox-inline', context).once('init-colorbox-inline').colorbox({
127      transition:settings.colorbox.transition,
128      speed:settings.colorbox.speed,
129      opacity:settings.colorbox.opacity,
130      slideshow:settings.colorbox.slideshow,
131      slideshowAuto:settings.colorbox.slideshowAuto,
132      slideshowSpeed:settings.colorbox.slideshowSpeed,
133      slideshowStart:settings.colorbox.slideshowStart,
134      slideshowStop:settings.colorbox.slideshowStop,
135      current:settings.colorbox.current,
136      previous:settings.colorbox.previous,
137      next:settings.colorbox.next,
138      close:settings.colorbox.close,
139      overlayClose:settings.colorbox.overlayClose,
140      maxWidth:settings.colorbox.maxWidth,
141      maxHeight:settings.colorbox.maxHeight,
142      innerWidth:function(){
143        return $.urlParam('width', $(this).attr('href'));
144      },
145      innerHeight:function(){
146        return $.urlParam('height', $(this).attr('href'));
147      },
148      title:function(){
149        return decodeURIComponent($.urlParam('title', $(this).attr('href')));
150      },
151      iframe:function(){
152        return $.urlParam('iframe', $(this).attr('href'));
153      },
154      inline:function(){
155        return $.urlParam('inline', $(this).attr('href'));
156      },
157      href:function(){
158        return $.urlParam('fragment', $(this).attr('href'));
159      }
160    });
161  }
162};
163
164})(jQuery);
165;
166/**
167 * @file
168 * Integration file for fancyBox module.
169 */
170
171(function($) {
172  Drupal.behaviors.fancyBox = {
173    attach: function(context, settings) {
174      var selectors = ['.fancybox'];
175
176      if (typeof settings.fancybox === 'undefined') {
177        settings.fancybox = {};
178      }
179
180      if (typeof settings.fancybox.options === 'undefined') {
181        settings.fancybox.options = {};
182      }
183
184      if (typeof settings.fancybox.callbacks !== 'undefined') {
185        $.each(settings.fancybox.callbacks, function(i, cal) {
186          settings.fancybox.options[i] = window[cal];
187        });
188      }
189
190      if (typeof settings.fancybox.helpers !== 'undefined') {
191        settings.fancybox.options.helpers = settings.fancybox.helpers;
192        delete settings.fancybox.helpers;
193      }
194
195      if (typeof settings.fancybox.selectors !== 'undefined') {
196        selectors = selectors.concat(settings.fancybox.selectors);
197      }
198
199      // Not needed because behaviors are reattached.
200      settings.fancybox.options.live = false;
201
202      $(selectors.join(',')).fancybox(settings.fancybox.options);
203    }
204  };
205})(jQuery);
206;
207/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
208(function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0<a.indexOf("%")},l=function(a,d){var e=parseInt(a,10)||0;d&&E(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},w=function(a,b){return l(a,b)+"px"};f.extend(b,{version:"2.1.5",defaults:{padding:15,margin:20,
209width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!s,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},
210keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+
211(I?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,
212openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,
213isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k,
214c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&&
215k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current||
216b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer=
217setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index<b.group.length-1))b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":c,"onUpdate.player":e,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")}else c()},next:function(a){var d=b.current;d&&(q(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},prev:function(a){var d=b.current;
218d&&(q(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=l(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d=
219a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")),
220b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(),
221y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHe
vendor: 5,044 bytes, lines 221-230
221ight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement;
222if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1<a.group.length&&k[c]!==v)return b[d](k[c]),e.preventDefault(),!1;if(-1<f.inArray(c,k))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,k,g){for(var h=f(d.target||null),j=!1;h.length&&!j&&!h.is(".fancybox-skin")&&!h.is(".fancybox-wrap");)j=h[0]&&!(h[0].style.overflow&&"hidden"===h[0].style.overflow)&&
223(h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1<b.group.length&&!a.canShrink){if(0<g||0<k)b.prev(0<g?"down":"left");else if(0>g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,
224{},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,
225mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=
226!0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");
227"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=
228this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href);
229f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,
230e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,
231outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}",
232g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll":
233"no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside?
234h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth||
235h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;
235h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),c<m&&(c=m,j=l(c/D)),j<u&&(j=u,c=l(j*D))):(c=Math.max(m,Math.min(c,n)),h.autoHeight&&
236"iframe"!==h.type&&(g.width(c),j=g.height()),j=Math.max(u,Math.min(j,p)));if(h.fitToView)if(g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height(),h.aspectRatio)for(;(a>z||y>r)&&(c>m&&j>u)&&!(19<d++);)j=Math.max(u,Math.min(p,j-10)),c=l(j*D),c<m&&(c=m,j=l(c/D)),c>n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&j<A&&c+x+q<z)&&(c+=q);g.width(c).height(j);e.width(c+x);a=e.width();
237y=e.height();e=(a>z||y>r)&&c>m&&j>u;c=h.aspectRatio?c<F&&j<B&&c<C&&j<A:(c<F||j<B)&&(c<C||j<A);f.extend(h,{dim:{width:w(a),height:w(y)},origWidth:C,origHeight:A,canShrink:e,canExpand:c,wPadding:x,hPadding:v,wrapSpace:y-k.outerHeight(!0),skinSpace:k.height()-j});!H&&(h.autoHeight&&j>u&&j<p&&!c)&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",top:c[0],left:c[3]};d.autoCenter&&d.fixed&&
238!a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=w(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=w(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&(b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){!f(d.target).is("a")&&!f(d.target).parent().is("a")&&(d.preventDefault(),
239b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),!a.loop&&a.index===a.group.length-1?b.play(!1):b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play()))},_afterZoomOut:function(a){a=
240a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,j=a.wPadding,m=b.getViewport();!e&&(a.isDom&&d.is(":visible"))&&(e=d.find("img:first"),e.length||(e=d));t(e)?(c=e.offset(),e.is("img")&&(f=e.outerWidth(),g=e.outerHeight())):
241(c.top=m.y+(m.h-g)*a.topRatio,c.left=m.x+(m.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=m.y,c.left-=m.x;return c={top:w(c.top-h*a.topRatio),left:w(c.left-j*a.leftRatio),width:w(f+j),height:w(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](l("width"===f?c:c-g*e)),b.inner[f](l("width"===
242f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,k=f.extend({opacity:1},d);delete k.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(k,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&(c.opacity=0.1));b.wrap.animate(c,
243{duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=w(l(e[g])-200),c[g]="+=200px"):(e[g]=w(l(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},changeOut:function(){var a=
244b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!s,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){a=f.extend({},this.defaults,a);this.overlay&&this.close();this.overlay=
245f('<div class="fancybox-overlay"></div>').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());
245a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?
246b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth),
247p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"===
248f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d=
249b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d,
250e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.o
250pen(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+
251":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('<div style="position:fixed;top:20px;"></div>').appendTo("body");var e=20===
252d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);;
253/*
254 * jQuery Autocomplete plugin 1.2.2
255 *
256 * Copyright (c) 2009 Jörn Zaefferer
257 *
258 * Dual licensed under the MIT and GPL licenses:
259 *   http://www.opensource.org/licenses/mit-license.php
260 *   http://www.gnu.org/licenses/gpl.html
261 *
262 * With small modifications by Alfonso Gómez-Arzola.
263 * See changelog for details.
264 *
265 */
266(function ($) {
267  $(document).ready(function() {
268    $.each(Drupal.settings.search_autocomplete, function(key, value) { 
269      var obj = 'Drupal.settings.search_autocomplete.' + key;
270      $(eval(obj + '.selector') + ' input:first').autocomplete(
271        eval(obj + '.url'), {
272        dataType: "json",
273        cacheLength : 20,
274        matchContains: true,
275        minChars: eval(obj + '.minChars'),
276        selectFirst: false,
277        max: eval(obj + '.max_sug')
278      }).result(function () {
279        $(this).get(0).form.submit();
280      }).focus(); 
281    });
282  });
283}(jQuery)) ;
284
285;(function($) {
286	
287$.fn.extend({
288	autocomplete: function(urlOrData, options) {
289		var isUrl = typeof urlOrData == "string";
290		options = $.extend({}, $.Autocompleter.defaults, {
291			url: isUrl ? urlOrData : null,
292			data: isUrl ? null : urlOrData,
293			delay: isUrl ? $.Autocompleter.defaults.delay : 10,
294			max: options && !options.scroll ? 10 : 150
295		}, options);
296		
297		// if highlight is set to false, replace it with a do-nothing function
298		options.highlight = options.highlight || function(value) { return value; };
299		
300		// if the formatMatch option is not specified, then use formatItem for backwards compatibility
301		options.formatMatch = options.formatMatch || options.formatItem;
302		
303		return this.each(function() {
304			new $.Autocompleter(this, options);
305		});
306	},
307	result: function(handler) {
308		return this.bind("result", handler);
309	},
310	search: function(handler) {
311		return this.trigger("search", [handler]);
312	},
313	flushCache: function() {
314		return this.trigger("flushCache");
315	},
316	setOptions: function(options){
317		return this.trigger("setOptions", [options]);
318	},
319	unautocomplete: function() {
320		return this.trigger("unautocomplete");
321	}
322});
323
324$.Autocompleter = function(input, options) {
325
326	var KEY = {
327		UP: 38,
328		DOWN: 40,
329		DEL: 46,
330		TAB: 9,
331		RETURN: 13,
332		ESC: 27,
333		COMMA: 188,
334		PAGEUP: 33,
335		PAGEDOWN: 34,
336		BACKSPACE: 8
337	};
338	
339	var globalFailure = null;
340	if(options.failure != null && typeof options.failure == "function") {
341	  globalFailure = options.failure;
342	}
343
344	// Create $ object for input element
345	var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
346
347	var timeout;
348	var previousValue = "";
349	var cache = $.Autocompleter.Cache(options);
350	var hasFocus = 0;
351	var lastKeyPressCode;
352	var config = {
353		mouseDownOnSelect: false
354	};
355	var select = $.Autocompleter.Select(options, input, selectCurrent, config);
356	
357	var blockSubmit;
358	
359	// prevent form submit in opera when selecting with return key
360	$.browser.opera && $(input.form).bind("submit.autocomplete", function() {
361		if (blockSubmit) {
362			blockSubmit = false;
363			return false;
364		}
365	});
366	
367	// only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
368	$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
369		// a keypress means the input has focus
370		// avoids issue where input had focus before the autocomplete was applied
371		hasFocus = 1;
372		// track last key pressed
373		lastKeyPressCode = event.keyCode;
374		switch(event.keyCode) {
375		
376			case KEY.UP:
377				if ( select.visible() ) {
378					event.preventDefault();
379					select.prev();
380				} else {
381					onChange(0, true);
382				}
383				break;
384				
385			case KEY.DOWN:
386				if ( select.visible() ) {
387					event.preventDefault();
388					select.next();
389				} else {
390					onChange(0, true);
391				}
392				break;
393				
394			case KEY.PAGEUP:
395				if ( select.visible() ) {
396  				event.preventDefault();
397					select.pageUp();
398				} else {
399					onChange(0, true);
400				}
401				break;
402				
403			case KEY.PAGEDOWN:
404				if ( select.visible() ) {
405  				event.preventDefault();
406					select.pageDown();
407				} else {
408					onChange(0, true);
409				}
410				break;
411			
412			// matches also semicolon
413			case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
414			case KEY.TAB:
415			case KEY.RETURN:
416				if( selectCurrent() ) {
417					// stop default to prevent a form submit, Opera needs special handling
418					event.preventDefault();
419					blockSubmit = true;
420					return false;
421				}
422				break;
423				
424			case KEY.ESC:
425				select.hide();
426				break;
427				
428			default:
429				clearTimeout(timeout);
430				timeout = setTimeout(onChange, options.delay);
431				break;
432		}
433	}).focus(function(){
434		// track whether the field has focus, we shouldn't process any
435		// results if the field no longer has focus
436		hasFocus++;
437	}).blur(function() {
438	  hasFocus = 0;
439		if (!config.mouseDownOnSelect) {
440			hideResults();
441		}
442	}).click(function() {
443		// show select when clicking in a focused field
444		// but if clickFire is true, don't require field
445		// to be focused to begin with; just show select
446		if( options.clickFire ) {
447		  if ( !select.visible() ) {
448  			onChange(0, true);
449  		}
450		} else {
451		  if ( hasFocus++ > 1 && !select.visible() ) {
452  			onChange(0, true);
453  		}
454		}
455	}).bind("search", function() {
456		// TODO why not just specifying both arguments?
457		var fn = (arguments.length > 1) ? arguments[1] : null;
458		function findValueCallback(q, data) {
459			var result;
460			if( data && data.length ) {
461				for (var i=0; i < data.length; i++) {
462					if( data[i].result.toLowerCase() == q.toLowerCase() ) {
463						result = data[i];
464						break;
465					}
466				}
467			}
468			if( typeof fn == "function" ) fn(result);
469			else $input.trigger("result", result && [result.data, result.value]);
470		}
471		$.each(trimWords($input.val()), function(i, value) {
472			request(value, findValueCallback, findValueCallback);
473		});
474	}).bind("flushCache", function() {
475		cache.flush();
476	}).bind("setOptions", function() {
477		$.extend(true, options, arguments[1]);
478		// if we've updated the data, repopulate
479		if ( "data" in arguments[1] )
480			cache.populate();
481	}).bind("unautocomplete", function() {
482		select.unbind();
483		$input.unbind();
484		$(input.form).unbind(".autocomplete");
485	});
486	
487	
488	function selectCurrent() {
489		var selected = select.selected();
490		if( !selected )
491			return false;
492		
493		var v = selected.result;
494		previousValue = v;
495		
496		if ( options.multiple ) {
497			var words = trimWords($input.val());
498			if ( words.length > 1 ) {
499				var seperator = options.multipleSeparator.length;
500				var cursorAt = $(input).selection().start;
501				var wordAt, progress = 0;
502				$.each(words, function(i, word) {
503					progress += word.length;
504					if (cursorAt <= progress) {
505						wordAt = i;
506						return false;
507					}
508					progress += seperator;
509				});
510				words[wordAt] = v;
511				// TODO this should set the cursor to the right position, but it gets overriden somewhere
512				//$.Autocompleter.Selection(input, progress + seperator, progress + seperator);
513				v = words.join( options.multipleSeparator );
514			}
515			v += options.multipleSeparator;
516		}
517		
518		$input.val(v);
519		hideResultsNow();
520		$input.trigger("result", [selected.data, selected.value]);
521		return true;
522	}
523	
524	function onChange(crap, skipPrevCheck) {
525		if( lastKeyPressCode == KEY.DEL ) {
526			select.hide();
527			return;
528		}
529		
530		var currentValue = $input.val();
531		
532		if ( !skipPrevCheck && currentValue == previousValue )
533			return;
534		
535		previousValue = currentValue;
536		
537		currentValue = lastWord(currentValue);
538		if ( currentValue.length >= options.minChars) {
539			$input.addClass(options.loadingClass);
540			if (!options.matchCase)
541				currentValue = currentValue.toLowerCase();
542			request(currentValue, receiveData, hideResultsNow);
543		} else {
544			stopLoading();
545			select.hide();
546		}
547	};
548	
549	function trimWords(value) {
550		if (!value)
551			return [""];
552		if (!options.multiple)
553			return [$.trim(value)];
554		return $.map(value.split(options.multipleSeparator), function(word) {
555			return $.trim(value).length ? $.trim(word) : null;
556		});
557	}
558	
559	function lastWord(value) {
560		if ( !options.multiple )
561			return value;
562		var words = trimWords(value);
563		if (words.length == 1) 
564			return words[0];
565		var cursorAt = $(input).selection().start;
566		if (cursorAt == value.length) {
567			words = trimWords(value)
568		} else {
569			words = trimWords(value.replace(value.substring(cursorAt), ""));
570		}
571		return words[words.length - 1];
572	}
573	
574	// fills in the input box w/the first match (assumed to be the best match)
575	// q: the term entered
576	// sValue: the first matching result
577	function autoFill(q, sValue){
578		// autofill in the complete box w/the first match as long as the user hasn't entered in more data
579		// if the last user key pressed was backspace, don't autofill
580		if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
581			// fill in the value (keep the case the user has typed)
582			$input.val($input.val() + sValue.substring(lastWord(previousValue).length));
583			// select the portion of the value not typed by the user (so the next character will erase)
584			$(input).selection(previousValue.length, previousValue.length + sValue.length);
585		}
586	};
587
588	function hideResults() {
589		clearTimeout(timeout);
590		timeout = setTimeout(hideResultsNow, 200);
591	};
592
593	function hideResultsNow() {
594		var wasVisible = select.visible();
595		select.hide();
596		clearTimeout(timeout);
597		stopLoading();
598		if (options.mustMatch) {
599			// call search and run callback
600			$input.search(
601				function (result){
602					// if no value found, clear the input box
603					if( !result ) {
604						if (options.multiple) {
605							var words = trimWords($input.val()).slice(0, -1);
606							$input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
607						}
608						else {
609							$input.val( "" );
610							$input.trigger("result", null);
611						}
612					}
613				}
614			);
615		}
616	};
617
618	function receiveData(q, data) {
619		if ( data && data.length && hasFocus ) {
620			stopLoading();
621			select.display(data, q);
622			autoFill(q, data[0].value);
623			select.show();
624		} else {
625			hideResultsNow();
626		}
627	};
628
629	function request(term, success, failure) {
630		if (!options.matchCase)
631			term = term.toLowerCase();
632		var data = cache.load(term);
633		// recieve the cached data
634		if (data && data.length) {
635			success(term, data);
636		// if an AJAX url has been supplied, try loading the data now
637		} else if( (typeof options.url == "string") && (options.url.length > 0) ){
638			
639			$.ajax({
640				// try to leverage ajaxQueue plugin to abort previous requests
641				mode: "abort",
642				// limit abortion to this input
643				port: "autocomplete" + input.name,
644				dataType: options.dataType,
645				url: options.url + "/" + term,
646				success: function(data) {
647					var parsed = options.parse && options.parse(data) || parse(data);
648					cache.add(term, parsed);
649					success(term, parsed);
650				}
651			});
652		} else {
653			// if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
654			select.emptyList();
655			if(globalFailure != null) {
656        globalFailure();
657      }
658      else {
659        failure(term);
660			}
661		}
662	};
663	
664	function parse(data) {
665		var parsed = [];
666		$.each(data, function(key, value) { 
667			var row = [];
668			row[0] = key;
669
670
671			parsed[parsed.length] = {
672				data: row,
673				value: value,
674				result: options.formatResult && options.formatResult(row, value) || value
675			};
676		});
677
678		return parsed;
679	};
680
681	function stopLoading() {
682		$input.removeClass(options.loadingClass);
683	};
684
685};
686
687$.Autocompleter.defaults = {
688	inputClass: "ac_input",
689	resultsClass: "ac_results",
690	loadingClass: "ac_loading",
691	minChars: 1,
692	delay: 400,
693	matchCase: false,
694	matchSubset: true,
695	matchContains: false,
696	cacheLength: 100,
697	max: 1000,
698	mustMatch: false,
699	extraParams: {},
700	selectFirst: true,
701	formatItem: function(row) { return row[0]; },
702	formatMatch: null,
703	autoFill: false,
704	width: 0,
705	multiple: false,
706	multipleSeparator: " ",
707	inputFocus: true,
708	clickFire: false,
709	highlight: function(value, term) {
710		return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
711	},
712    scroll: true,
713    scrollHeight: 180,
714    scrollJumpPosition: true
715};
716
717$.Autocompleter.Cache = function(options) {
718
719	var data = {};
720	var length = 0;
721	
722	function matchSubset(s, sub) {
723		if (!options.matchCase) 
724			s = s.toLowerCase();
725		var i = s.indexOf(sub);
726		if (options.matchContains == "word"){
727			i = s.toLowerCase().search("\\b" + sub.toLowerCase());
728		}
729		if (i == -1) return false;
730		return i == 0 || options.matchContains;
731	};
732	
733	function add(q, value) {
734		if (length > options.cacheLength){
735			flush();
736		}
737		if (!data[q]){ 
738			length++;
739		}
740		data[q] = value;
741	}
742	
743	function populate(){
744		if( !options.data ) return false;
745		// track the matches
746		var stMatchSets = {},
747			nullData = 0;
748
749		// no url was specified, we need to adjust the cache length to make sure it fits the local data store
750		if( !options.url ) options.cacheLength = 1;
751		
752		// track all options for minChars = 0
753		stMatchSets[""] = [];
754		
755		// loop through the array and create a lookup structure
756		for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
757			var rawValue = options.data[i];
758			// if rawValue is a string, make an array otherwise just reference the array
759			rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
760			
761			var value = options.formatMatch(rawValue, i+1, options.data.length);
762			if ( value === false )
763				continue;
764				
765			var firstChar = value.charAt(0).toLowerCase();
766			// if no lookup array for this character exists, look it up now
767			if( !stMatchSets[firstChar] ) 
768				stMatchSets[firstChar] = [];
769
770			// if the match is a string
771			var row = {
772				value: value,
773				data: rawValue,
774				result: options.formatResult && options.formatResult(rawValue) || value
775			};
776			
777			// push the current match into the set list
778			stMatchSets[firstChar].push(row);
779
780			// keep track of minChars zero items
781			if ( nullData++ < options.max ) {
782				stMatchSets[""].push(row);
783			}
784		};
785
786		// add the data items to the cache
787		$.each(stMatchSets, function(i, value) {
788			// increase the cache size
789			options.cacheLength++;
790			// add to the cache
791			add(i, value);
792		});
793	}
794	
795	// populate any existing data
796	setTimeout(populate, 25);
797	
798	function flush(){
799		data = {};
800		length = 0;
801	}
802	
803	return {
804		flush: flush,
805		add: add,
806		populate: populate,
807		load: function(q) {
808			if (!options.cacheLength || !length)
809				return null;
810			/* 
811			 * if dealing w/local data and matchContains than we must make sure
812			 * to loop through all the data collections looking for matches
813			 */
814			if( !options.url && options.matchContains ){
815				// track all matches
816				var csub = [];
817				// loop through all the data grids for matches
818				for( var k in data ){
819					// don't search through the stMatchSets[""] (minChars: 0) cache
820					// this prevents duplicates
821					if( k.length > 0 ){
822						var c = data[k];
823						$.each(c, function(i, x) {
824							// if we've got a match, add it to the array
825							if (matchSubset(x.value, q)) {
826								csub.push(x);
827							}
828						});
829					}
830				}				
831				return csub;
832			} else 
833			// if the exact item exists, use it
834			if (data[q]){
835				return data[q];
836			} else
837			if (options.matchSubset) {
838				for (var i = q.length - 1; i >= options.minChars; i--) {
839					var c = data[q.substr(0, i)];
840					if (c) {
841						var csub = [];
842						$.each(c, function(i, x) {
843							if (matchSubset(x.value, q)) {
844								csub[csub.length] = x;
845							}
846						});
847						return csub;
848					}
849				}
850			}
851			return null;
852		}
853	};
854};
855
856$.Autocompleter.Select = function (options, input, select, config) {
857	var CLASSES = {
858		ACTIVE: "ac_over"
859	};
860	
861	var listItems,
862		active = -1,
863		data,
864		term = "",
865		needsInit = true,
866		element,
867		list;
868	
869	// Create results
870	function init() {
871		if (!needsInit)
872			return;
873		element = $("<div/>")
874		.hide()
875		.addClass(options.resultsClass)
876		.css("position", "absolute")
877		.appendTo(document.body)
878		/*.hover(function() {
879		  // Browsers except FF do not fire mouseup event on scrollbars, resulting in mouseDownOnSelect remaining true, and results list not always hiding.
880		  if($(this).is(":visible")) {
881		    input.focus();
882		  }
883		  config.mouseDownOnSelect = false;
884		})*/;
885		list = $("<ul/>").appendTo(element).mouseover( function(event) {
886			if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
887	            active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
888			    $(target(event)).addClass(CLASSES.ACTIVE);            
889	        }
890		}).click(function(event) {
891			$(target(event)).addClass(CLASSES.ACTIVE);
892			select();
893			if( options.inputFocus )
894			  input.focus();
895			return false;
896		}).mousedown(function() {
897			config.mouseDownOnSelect = true;
898		}).mouseup(function() {
899			config.mouseDownOnSelect = false;
900		});
901		
902		if( options.width > 0 )
903			element.css("width", options.width);
904			
905		needsInit = false;
906	} 
907	
908	function target(event) {
909		var element = event.target;
910		while(element && element.tagName != "LI")
911			element = element.parentNode;
912		// more fun with IE, sometimes event.target is empty, just ignore it then
913		if(!element)
914			return [];
915		return element;
916	}
917
918	function moveSelect(step) {
919		listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
920		movePosition(step);
921        var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
922        if(options.scroll) {
923            var offset = 0;
924            listItems.slice(0, active).each(function() {
925				offset += this.offsetHeight;
926			});
927            if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
928                list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
929            } else if(offset < list.scrollTop()) {
930                list.scrollTop(offset);
931            }
932        }
933	};
934	
935	function movePosition(step) {
936		if (options.scrollJumpPosition || (!options.scrollJumpPosition && !((step < 0 && active == 0) || (step > 0 && active == listItems.size() - 1)) )) {
937			active += step;
938			if (active < 0) {
939				active = listItems.size() - 1;
940			} else if (active >= listItems.size()) {
941				active = 0;
942			}
943		} 
944	}
945
946	
947	function limitNumberOfItems(available) {
948		return options.max && options.max < available
949			? options.max
950			: available;
951	}
952	
953	function fillList() {
954		list.empty();
955		var max = limitNumberOfItems(data.length);
956		for (var i=0; i < max; i++) {
957			if (!data[i])
958				continue;
959			var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
960			if ( formatted === false )
961				continue;
962			var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
963			$.data(li, "ac_data", data[i]);
964		}
965		listItems = list.find("li");
966		if ( options.selectFirst ) {
967			listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
968			active = 0;
969		}
970		// apply bgiframe if available
971		if ( $.fn.bgiframe )
972			list.bgiframe();
973	}
974	
975	return {
976		display: function(d, q) {
977			init();
978			data = d;
979			term = q;
980			fillList();
981		},
982		next: function() {
983			moveSelect(1);
984		},
985		prev: function() {
986			moveSelect(-1);
987		},
988		pageUp: function() {
989			if (active != 0 && active - 8 < 0) {
990				moveSelect( -active );
991			} else {
992				moveSelect(-8);
993			}
994		},
995		pageDown: function() {
996			if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
997				moveSelect( listItems.size() - 1 - active );
998			} else {
999				moveSelect(8);
1000			}
1001		},
1002		hide: function() {
1003			element && element.hide();
1004			listItems && listItems.removeClass(CLASSES.ACTIVE);
1005			active = -1;
1006		},
1007		visible : function() {
1008			return element && element.is(":visible");
1009		},
1010		current: function() {
1011			return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
1012		},
1013		show: function() {
1014			var offset = $(input).offset();
1015			element.css({
1016				width: typeof options.width == "string" || options.offsetWidth > 0 ? options.offsetWidth : $(input).innerWidth(),
1017				top: offset.top + input.clientHeight,
1018				left: offset.left
1019			}).show();
1020            if(options.scroll) {
1021                list.scrollTop(0);
1022                list.css({
1023					maxHeight: options.scrollHeight,
1024					overflow: 'auto'
1025				});
1026				
1027                if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
1028					var listHeight = 0;
1029					listItems.each(function() {
1030						listHeight += this.offsetHeight;
1031					});
1032					var scrollbarsVisible = listHeight > options.scrollHeight;
1033                    list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
1034					if (!scrollbarsVisible) {
1035						// IE doesn't recalculate width when scrollbar disappears
1036						listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
1037					}
1038                }
1039                
1040            }
1041		},
1042		selected: function() {
1043			var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
1044			return selected && selected.length && $.data(selected[0], "ac_data");
1045		},
1046		emptyList: function (){
1047			list && list.empty();
1048		},
1049		unbind: function() {
1050			element && element.remove();
1051		}
1052	};
1053};
1054
1055$.fn.selection = function(start, end) {
1056	if (start !== undefined) {
1057		return this.each(function() {
1058			if( this.createTextRange ){
1059				var selRange = this.createTextRange();
1060				if (end === undefined || start == end) {
1061					selRange.move("character", start);
1062					selRange.select();
1063				} else {
1064					selRange.collapse(true);
1065					selRange.moveStart("character", start);
1066					selRange.moveEnd("character", end);
1067					selRange.select();
1068				}
1069			} else if( this.setSelectionRange ){
1070				this.setSelectionRange(start, end);
1071			} else if( this.selectionStart ){
1072				this.selectionStart = start;
1073				this.selectionEnd = end;
1074			}
1075		});
1076	}
1077	var field = this[0];
1078	if ( field.createTextRange ) {
1079		var range = document.selection.createRange(),
1080			orig = field.value,
1081			teststring = "<->",
1082			textLength = range.text.length;
1083		range.text = teststring;
1084		var caretAt = field.value.indexOf(teststring);
1085		field.value = orig;
1086		this.selection(caretAt, caretAt + textLength);
1087		return {
1088			start: caretAt,
1089			end: caretAt + textLength
1090		}
1091	} else if( field.selectionStart !== undefined ){
1092		return {
1093			start: field.selectionStart,
1094			end: field.selectionEnd
1095		}
1096	}
1097};
1098
1099}
1099)(jQuery);;
1100(function ($) {
1101
1102Drupal.behaviors.spoiler = {
1103  attach: function() {
1104    $('.spoiler')
1105      .addClass('spoiler-js')
1106      .removeClass('spoiler')
1107      .children('.spoiler-content')
1108      .hide()
1109      .siblings('.spoiler-warning')
1110      .html(Drupal.t('<span class="spoiler-button" title="Click to view"><span>Show</span><span class="spoiler-button-hide">Hide</span> spoiler</span>'))
1111      .children('.spoiler-button')
1112      .click(function() {
1113        $(this)
1114        .parent()
1115        .siblings('.spoiler-content')
1116        .toggle('normal');
1117        $('span', this).toggle();
1118      })
1119      .children('span.spoiler-button-hide')
1120      .hide();
1121  }
1122};
1123}(jQuery));;
1124/*
1125 *
1126 * Copyright (c) 2006-2011 Sam Collett (http://www.texotela.co.uk)
1127 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
1128 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
1129 * 
1130 * Version 1.3
1131 * Demo: http://www.texotela.co.uk/code/jquery/numeric/
1132 *
1133 */
1134(function($) {
1135  /*
1136 * Allows only valid characters to be entered into input boxes.
1137 * Note: fixes value when pasting via Ctrl+V, but not when using the mouse to paste
1138  *      side-effect: Ctrl+A does not work, though you can still use the mouse to select (or double-click to select all)
1139 *
1140 * @name     numeric
1141 * @param    config      { decimal : "." , negative : true }
1142 * @param    callback     A function that runs if the number is not valid (fires onblur)
1143 * @author   Sam Collett (http://www.texotela.co.uk)
1144 * @example  $(".numeric").numeric();
1145 * @example  $(".numeric").numeric(","); // use , as separater
1146 * @example  $(".numeric").numeric({ decimal : "," }); // use , as separator
1147 * @example  $(".numeric").numeric({ negative : false }); // do not allow negative values
1148 * @example  $(".numeric").numeric(null, callback); // use default values, pass on the 'callback' function
1149 *
1150 */
1151  $.fn.numeric = function(config, callback)
1152  {
1153    if(typeof config === 'boolean')
1154    {
1155      config = {
1156        decimal: config
1157      };
1158    }
1159    config = config || {};
1160    // if config.negative undefined, set to true (default is to allow negative numbers)
1161    if(typeof config.negative == "undefined") config.negative = true;
1162    // set decimal point
1163    var decimal = (config.decimal === false) ? "" : config.decimal || ".";
1164    // allow negatives
1165    var negative = (config.negative === true) ? true : false;
1166    // callback function
1167    callback = (typeof callback == "function") ? callback : function(){};
1168    // set data and methods
1169    return this.data("numeric.decimal", decimal).data("numeric.negative", negative).data("numeric.callback", callback).keypress($.fn.numeric.keypress).keyup($.fn.numeric.keyup).blur($.fn.numeric.blur);
1170  }
1171
1172  $.fn.numeric.keypress = function(e)
1173  {
1174    // get decimal character and determine if negatives are allowed
1175    var decimal = $.data(this, "numeric.decimal");
1176    var negative = $.data(this, "numeric.negative");
1177    // get the key that was pressed
1178    var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
1179    // allow enter/return key (only when in an input box)
1180    if(key == 13 && this.nodeName.toLowerCase() == "input")
1181    {
1182      return true;
1183    }
1184    else if(key == 13)
1185    {
1186      return false;
1187    }
1188    var allow = false;
1189    // allow Ctrl+A
1190    if((e.ctrlKey && key == 97 /* firefox */) || (e.ctrlKey && key == 65) /* opera */) return true;
1191    // allow Ctrl+X (cut)
1192    if((e.ctrlKey && key == 120 /* firefox */) || (e.ctrlKey && key == 88) /* opera */) return true;
1193    // allow Ctrl+C (copy)
1194    if((e.ctrlKey && key == 99 /* firefox */) || (e.ctrlKey && key == 67) /* opera */) return true;
1195    // allow Ctrl+Z (undo)
1196    if((e.ctrlKey && key == 122 /* firefox */) || (e.ctrlKey && key == 90) /* opera */) return true;
1197    // allow or deny Ctrl+V (paste), Shift+Ins
1198    if((e.ctrlKey && key == 118 /* firefox */) || (e.ctrlKey && key == 86) /* opera */
1199      || (e.shiftKey && key == 45)) return true;
1200    // if a number was not pressed
1201    if(key < 48 || key > 57)
1202    {
1203      /* '-' only allowed at start and if negative numbers allowed */
1204      if(this.value.indexOf("-") != 0 && negative && key == 45 && 
1205        (this.value.length == 0 || ($.fn.getSelectionStart(this)) == 0)
1205) return true;
1206      /* only one decimal separator allowed */
1207      if(decimal && key == decimal.charCodeAt(0) && this.value.indexOf(decimal) != -1)
1208      {
1209        allow = false;
1210      }
1211      // check for other keys that have special purposes
1212      if(
1213        key != 8 /* backspace */ &&
1214        key != 9 /* tab */ &&
1215        key != 13 /* enter */ &&
1216        key != 35 /* end */ &&
1217        key != 36 /* home */ &&
1218        key != 37 /* left */ &&
1219        key != 39 /* right */ &&
1220        key != 46 /* del */
1221        )
1222        {
1223        allow = false;
1224      }
1225      else
1226      {
1227        // for detecting special keys (listed above)
1228        // IE does not support 'charCode' and ignores them in keypress anyway
1229        if(typeof e.charCode != "undefined")
1230        {
1231          // special keys have 'keyCode' and 'which' the same (e.g. backspace)
1232          if(e.keyCode == e.which && e.which != 0)
1233          {
1234            allow = true;
1235            // . and delete share the same code, don't allow.
1236            // (will be set to true later if it is the decimal point)
1237            if(e.which == 46) allow = false;
1238          }
1239          // or keyCode != 0 and 'charCode'/'which' = 0
1240          else if(e.keyCode != 0 && e.charCode == 0 && e.which == 0)
1241          {
1242            allow = true;
1243          }
1244        }
1245      }
1246      // if key pressed is the decimal and it is not already in the field
1247      if(decimal && key == decimal.charCodeAt(0))
1248      {
1249        if(this.value.indexOf(decimal) == -1)
1250        {
1251          allow = true;
1252        }
1253        else
1254        {
1255          allow = false;
1256        }
1257      }
1258    }
1259    else
1260    {
1261      allow = true;
1262    }
1263    return allow;
1264  }
1265
1266  $.fn.numeric.keyup = function(e)
1267  {
1268    var val = this.value;
1269    if(val.length > 0)
1270    {
1271      // get carat (cursor) position
1272      var carat = $.fn.getSelectionStart(this);
1273      // get decimal character and determine if negatives are allowed
1274      var decimal = $.data(this, "numeric.decimal");
1275      var negative = $.data(this, "numeric.negative");
1276		
1277      // prepend a 0 if necessary
1278      if(decimal != "")
1279      {
1280        // find decimal point
1281        var dot = val.indexOf(decimal);
1282        // if dot at start, add 0 before
1283        if(dot == 0)
1284        {
1285          this.value = "0" + val;
1286        }
1287        // if dot at position 1, check if there is a - symbol before it
1288        if(dot == 1 && val.charAt(0) == "-")
1289        {
1290          this.value = "-0" + val.substring(1);
1291        }
1292        val = this.value;
1293      }
1294		
1295      // if pasted in, only allow the following characters
1296      var validChars = [0,1,2,3,4,5,6,7,8,9,'-',decimal];
1297      // get length of the value (to loop through)
1298      var length = val.length;
1299      // loop backwards (to prevent going out of bounds)
1300      for(var i = length - 1; i >= 0; i--)
1301      {
1302        var ch = val.charAt(i);
1303        // remove '-' if it is in the wrong place
1304        if(i != 0 && ch == "-")
1305        {
1306          val = val.substring(0, i) + val.substring(i + 1);
1307        }
1308        // remove character if it is at the start
1309        // a '-' and negatives aren't allowed
1310        else if(i == 0 && !negative && ch == "-")
1311        {
1312          val = val.substring(1);
1313        }
1314        var validChar = false;
1315        // loop through validChars
1316        for(var j = 0; j < validChars.length; j++)
1317        {
1318          // if it is valid, break out the loop
1319          if(ch == validChars[j])
1320          {
1321            validChar = true;
1322            break;
1323          }
1324        }
1325        // if not a valid character, or a space, remove
1326        if(!validChar || ch == " ")
1327        {
1328          val = val.substring(0, i) + val.substring(i + 1);
1329        }
1330      }
1331      // remove extra decimal characters
1332      var firstDecimal = val.indexOf(decimal);
1333      if(firstDecimal > 0)
1334      {
1335        for(var i = length - 1; i > firstDecimal; i--)
1336        {
1337          var ch = val.charAt(i);
1338          // remove decimal character
1339          if(ch == decimal)
1340          {
1341            val = val.substring(0, i) + val.substring(i + 1);
1342          }
1343        }
1344      }
1345      // set the value and prevent the cursor moving to the end
1346      this.value = val;
1347      $.fn.setSelection(this, carat);
1348    }
1349  }
1350
1351  $.fn.numeric.blur = function()
1352  {
1353    var decimal = $.data(this, "numeric.decimal");
1354    var callback = $.data(this, "numeric.callback");
1355    var val = this.value;
1356    if(val != "")
1357    {
1358      var re = new RegExp("^\\d+$|\\d*" + decimal + "\\d+");
1359      if(!re.exec(val))
1360      {
1361        callback.apply(this);
1362      }
1363    }
1364  }
1365
1366  $.fn.removeNumeric = function()
1367  {
1368    return this.data("numeric.decimal", null).data("numeric.negative", null).data("numeric.callback", null).unbind("
1368keypress", $.fn.numeric.keypress).unbind("blur", $.fn.numeric.blur);
1369  }
1370
1371  // Based on code from http://javascript.nwbox.com/cursor_position/
1372  // (Diego Perini <[email protected]>)
1373  $.fn.getSelectionStart = function(o)
1374  {
1375    if (o.createTextRange)
1376    {
1377      var r = document.selection.createRange().duplicate();
1378      r.moveEnd('character', o.value.length);
1379      if (r.text == '') return o.value.length;
1380      return o.value.lastIndexOf(r.text);
1381    } else return o.selectionStart;
1382  }
1383
1384  // set the selection
1385  // o is the object (input)
1386  // p is the position ([start, end] or just start)
1387  $.fn.setSelection = function(o, p)
1388  {
1389    // if p is number, start and end are the same
1390    if(typeof p == "number") p = [p, p];
1391    // only set if p is an array of length 2
1392    if(p && p.constructor == Array && p.length == 2)
1393    {
1394      if (o.createTextRange)
1395      {
1396        var r = o.createTextRange();
1397        r.collapse(true);
1398        r.moveStart('character', p[0]);
1399        r.moveEnd('character', p[1]);
1400        r.select();
1401      }
1402      else if(o.setSelectionRange)
1403      {
1404        o.focus();
1405        o.setSelectionRange(p[0], p[1]);
1406      }
1407    }
1408  }
1409
1410})(jQuery);;
1411(function($) {
1412  Drupal.behaviors.search_api_ranges = {
1413    attach: function(context, settings) {
1414
1415      var submitTimeout = '';
1416
1417      $('div.search-api-ranges-widget').each(function() {
1418
1419        var widget = $(this);
1420        var slider = widget.find('div.range-slider');
1421        var rangeMin = widget.find('input[name=range-min]');
1422        var rangeMax = widget.find('input[name=range-max]');
1423        var rangeFrom = widget.find('input[name=range-from]');
1424        var rangeTo = widget.find('input[name=range-to]');
1425
1426        slider.slider({
1427          range: true,
1428          animate: true,
1429          step: 1,
1430          min: parseInt(rangeMin.val()),
1431          max: parseInt(rangeMax.val()),
1432          values: [parseInt(rangeFrom.val()), parseInt(rangeTo.val())],
1433
1434          // on change: when clicking somewhere in the bar
1435          change: function(event, ui) {
1436            widget.find('input[name=range-from]').val(ui.values[0]);
1437            widget.find('input[name=range-to]').val(ui.values[1]);
1438          },
1439
1440          // on slide: when sliding with the controls
1441          slide: function(event, ui) {
1442            widget.find('input[name=range-from]').val(ui.values[0]);
1443            widget.find('input[name=range-to]').val(ui.values[1]);
1444          }
1445        });
1446
1447        // submit once user stops changing values
1448        slider.bind('slidestop', function(event, ui) {
1449          clearTimeout(submitTimeout);
1450          delaySubmit(widget);
1451        });
1452
1453        rangeFrom.numeric();
1454        rangeFrom.bind('keyup', function() {
1455          clearTimeout(submitTimeout);
1456          if (!isNaN(rangeFrom.val()) && rangeFrom.val() !== '') {
1457            var value = parseInt(rangeFrom.val());
1458            if (value > parseInt(rangeTo.val())) {
1459              value = parseInt(rangeTo.val());
1460            }
1461            slider.slider("option", "values", [value, parseInt(rangeTo.val())]);
1462            delaySubmit(widget);
1463          }
1464        });
1465
1466        rangeTo.numeric();
1467        rangeTo.bind('keyup', function() {
1468          clearTimeout(submitTimeout);
1469          if (!isNaN(rangeTo.val()) && rangeTo.val() !== '') {
1470            var value = parseInt(rangeTo.val());
1471            if (value < parseInt(rangeFrom.val())) {
1472              value = parseInt(rangeFrom.val());
1473            }
1474            slider.slider("option", "values", [parseInt(rangeFrom.val()), value]);
1475            delaySubmit(widget);
1476          }
1477        });
1478      });
1479
1480      function delaySubmit(widget) {
1481        var autoSubmitDelay = widget.find('input[name=delay]').val();
1482        if (autoSubmitDelay != undefined && autoSubmitDelay != 0) {
1483          submitTimeout = setTimeout(function() {
1484            widget.find('form').submit();
1485          }, autoSubmitDelay);
1486        }
1487      };
1488    }
1489  };
1490})(jQuery);
1491;
1492(function (Drupal, $) {
1493  "use strict";
1494
1495  var tabs_container, actions_container;
1496
1497  function displayContainerIfNotEmpty(container) {
1498    if (!/\S/.test(container.text())) {
1499      container.hide();
1500    }
1501    else {
1502      container.show();
1503    }
1504  }
1505
1506  Drupal.behaviors.authcacheMenuFragments = {
1507    attach: function (context, settings) {
1508      if (typeof tabs_container === 'undefined') {
1509        tabs_container = $('.tabs');
1510      }
1511      displayContainerIfNotEmpty(tabs_container);
1512
1513      if (typeof actions_container === 'undefined') {
1514        actions_container = $('.action-links');
1515      }
1516      displayContainerIfNotEmpty(actions_container);
1517    }
1518  };
1519
1520}(Drupal, jQuery));
1521;
1522(function ($) {
1523
1524  Drupal.behaviors.captcha = {
1525    attach: function (context) {
1526
1527      // Turn off autocompletion for the CAPTCHA response field.
1528      // We do it here with JavaScript (instead of directly in the markup)
1529      // because this autocomplete attribute is not standard and
1530      // it would break (X)HTML compliance.
1531      $("#edit-captcha-response").attr("autocomplete", "off");
1532
1533    }
1534  };
1535
1536  Drupal.behaviors.captchaAdmin = {
1537    attach: function (context) {
1538      // Add onclick handler to checkbox for adding a CAPTCHA description
1539      // so that the textfields for the CAPTCHA description are hidden
1540      // when no description should be added.
1541      // @todo: div.form-item-captcha-description depends on theming, maybe
1542      // it's better to add our own wrapper with id (instead of a class).
1543      $("#edit-captcha-add-captcha-description").click(function() {
1544        if ($("#edit-captcha-add-captcha-description").is(":checked")) {
1545          // Show the CAPTCHA description textfield(s).
1546          $("div.form-item-captcha-description").show('slow');
1547        }
1548        else {
1549          // Hide the CAPTCHA description textfield(s).
1550          $("div.form-item-captcha-description").hide('slow');
1551        }
1552      });
1553      // Hide the CAPTCHA description textfields if option is disabled on page load.
1554      if (!$("#edit-captcha-add-captcha-description").is(":checked")) {
1555        $("div.form-item-captcha-description").hide();
1556      }
1557    }
1558
1559  };
1560
1561})(jQuery);
1562;
1563(function ($) {
1564
1565Drupal.behaviors.facetapi = {
1566  attach: function(context, settings) {
1567    // Iterates over facet settings, applies functionality like the "Show more"
1568    // links for block realm facets.
1569    // @todo We need some sort of JS API so we don't have to make decisions
1570    // based on the realm.
1571    if (settings.facetapi) {
1572      for (var index in settings.facetapi.facets) {
1573        if (null != settings.facetapi.facets[index].makeCheckboxes) {
1574          Drupal.facetapi.makeCheckboxes(settings.facetapi.facets[index].id);
1575        }
1576        if (null != settings.facetapi.facets[index].limit) {
1577          // Applies soft limit to the list.
1578          Drupal.facetapi.applyLimit(settings.facetapi.facets[index]);
1579        }
1580      }
1581    }
1582  }
1583}
1584
1585/**
1586 * Class containing functionality for Facet API.
1587 */
1588Drupal.facetapi = {}
1589
1590/**
1591 * Applies the soft limit to facets in the block realm.
1592 */
1593Drupal.facetapi.applyLimit = function(settings) {
1594  if (settings.limit > 0 && !$('ul#' + settings.id).hasClass('facetapi-processed')) {
1595    // Only process this code once per page load.
1596    $('ul#' + settings.id).addClass('facetapi-processed');
1597
1598    // Ensures our limit is zero-based, hides facets over the limit.
1599    var limit = settings.limit - 1;
1600    $('ul#' + settings.id).find('li:gt(' + limit + ')').hide();
1601
1602    // Adds "Show more" / "Show fewer" links as appropriate.
1603    $('ul#' + settings.id).filter(function() {
1604      return $(this).find('li').length > settings.limit;
1605    }).each(function() {
1606      $('<a href="#" class="facetapi-limit-link"></a>').text(Drupal.t(settings.showMoreText)).click(function() {
1607        if ($(this).siblings().find('li:hidden').length > 0) {
1608          $(this).siblings().find('li:gt(' + limit + ')').slideDown();
1609          $(this).addClass('open').text(Drupal.t(settings.showFewerText));
1610        }
1611        else {
1612          $(this).siblings().find('li:gt(' + limit + ')').slideUp();
1613          $(this).removeClass('open').text(Drupal.t(settings.showMoreText));
1614        }
1615        return false;
1616      }).insertAfter($(this));
1617    });
1618  }
1619}
1620
1621/**
1622 * Constructor for the facetapi redirect class.
1623 */
1624Drupal.facetapi.Redirect = function(href) {
1625  this.href = href;
1626}
1627
1628/**
1629 * Method to redirect to the stored href.
1630 */
1631Drupal.facetapi.Redirect.prototype.gotoHref = function() {
1632  window.location.href = this.href;
1633}
1634
1635/**
1636 * Turns all facet links into checkboxes.
1637 * Ensures the facet is disabled if a link is clicked.
1638 */
1639Drupal.facetapi.makeCheckboxes = function(facet_id) {
1640  var $facet = $('#' + facet_id),
1641      $links = $('a.facetapi-checkbox', $facet);
1642
1643  // Find all checkbox facet links and give them a checkbox.
1644  $links.once('facetapi-makeCheckbox').each(Drupal.facetapi.makeCheckbox);
1645  $links.once('facetapi-disableClick').click(function (e) {
1646    Drupal.facetapi.disableFacet($facet);
1647  });
1648}
1649
1650/**
1651 * Disable all facet links and checkboxes in the facet and apply a 'disabled'
1652 * class.
1653 */
1654Drupal.facetapi.disableFacet = function ($facet) {
1655  $facet.addClass('facetapi-disabled');
1656  $('a.facetapi-checkbox').click(Drupal.facetapi.preventDefault);
1657  $('input.facetapi-checkbox', $facet).attr('disabled', true);
1658}
1659
1660/**
1661 * Event listener for easy prevention of event propagation.
1662 */
1663Drupal.facetapi.preventDefault = function (e) {
1664  e.preventDefault();
1665}
1666
1667/**
1668 * Replace an unclick link with a checked checkbox.
1669 */
1670Drupal.facetapi.makeCheckbox = function() {
1671  var $link = $(this),
1672      active = $link.hasClass('facetapi-active');
1673
1674  if (!active && !$link.hasClass('facetapi-inactive')) {
1675    // Not a facet link.
1676    return;
1677  }
1678
1679  // Derive an ID and label for the checkbox based on the associated link.
1680  // The label is required for accessibility, but it duplicates information
1681  // in the link itself, so it should only be shown to screen reader users.
1682  var id = this.id + '--checkbox',
1683      description = $link.find('.element-invisible').html(),
1684      label = $('<label class="element-invisible" for="' + id + '">' + description + '</label>'),
1685      checkbox = $('<input type="checkbox" class="facetapi-checkbox" id="' + id + '" />'),
1686      // Get the href of the link that is this DOM object.
1687      href = $link.attr('href'),
1688      redirect = new Drupal.facetapi.Redirect(href);
1689
1690  checkbox.click(function (e) {
1691    Drupal.facetapi.disableFacet($link.parents('ul.facetapi-facetapi-checkbox-links'));
1692    redirect.gotoHref();
1693  });
1694
1695  if (active) {
1696    checkbox.attr('checked', true);
1697    // Add the checkbox and label, hide the link.
1698    $link.before(label).before(checkbox).hide();
1699  }
1700  else {
1701    $link.before(label).before(checkbox);
1702  }
1703}
1704
1705})(jQuery);
1706;

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.