PageSourceSearch

https://nuboyana.com/wp-content/themes/nuboyana/assets/scripts/jquery.nuboyana.js?ver=1790297340

js nuboyana.com collected 2026-09-25 00:49:20 UTC 63,090 bytes, 1,512 lines download raw bytes

1(function(d, w, jQuery){
2
3var loc = document.location.toString(),
4        hash,
5        userAgent = (navigator.userAgent || navigator.vendor || window.opera),
6        // http://detectmobilebrowser.com
7        isMobile = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0, 4)),
8        isMac = navigator.platform.toUpperCase().indexOf('MAC') !== - 1,
9        browser = {},
10        is_lt_ie9 = false,
11        debug = false;
12        function imgEnable(img) {
13
14        if (img.hasAttr('data-src')) {
15
16        var data_src = img.attr('data-src');
17                img.attr('src', data_src);
18                return data_src;
19        }
20
21        return null;
22        }
23
24var options = {
25
26// Required. Called when a user selects an item in the Chooser.
27success: function(files) {
28
29console.log(files);
30        var first_file_link = files[0].link,
31        first_file_name = files[0].name;
32        document.getElementById('dropbox-result').value = first_file_link;
33        document.getElementById('dropbox-files').innerHTML = first_file_name;
34},
35        // Optional. Called when the user closes the dialog without selecting a file
36        // and does not include any parameters.
37        cancel: function() {
38
39        },
40        // Optional. "preview" (default) is a preview link to the document for sharing,
41        // "direct" is an expiring link to download the contents of the file. For more
42        // information about link types, see Link types below.
43        linkType: "preview", // or "direct"
44
45        // Optional. A value of false (default) limits selection to a single file, while
46        // true enables multiple file selection.
47        multiselect: false, // or true
48
49        // Optional. This is a list of file extensions. If specified, the user will
50        // only be able to select files with these extensions. You may also specify
51        // file types, such as "video" or "images" in the list. For more information,
52        // see File types below. By default, all extensions are allowed.
53        extensions: ['.pdf', '.doc', '.docx', '.rtf', '.txt'],
54}
55
56
57// The Browser API key obtained from the Google Developers Console.
58var developerKey = ' AIzaSyABcB2SgXA_6H0qDv2zCFZNc6v0uOgkQm0';
59        // The Client ID obtained from the Google Developers Console. Replace with your own Client ID.
60        var clientId = "78165456724-on8uommogtsh1f294gvhjkksaj2rvbev.apps.googleusercontent.com"
61
62        // Scope to use to access user's photos.
63        var scope = ['https://www.googleapis.com/auth/drive.readonly'];
64        var pickerApiLoaded = false;
65        var oauthToken;
66        // Use the API Loader script to load google.picker and gapi.auth.
67                function onApiLoad() {
68                gapi.load('auth', {'callback': onAuthApiLoad});
69                        gapi.load('picker', {'callback': onPickerApiLoad});
70                }
71
72        function onAuthApiLoad() {
73        window.gapi.auth.authorize(
74        {
75        'client_id': clientId,
76                'scope': scope,
77                'immediate': false
78        },
79                handleAuthResult);
80        }
81
82        function onPickerApiLoad() {
83        pickerApiLoaded = true;
84                createPicker();
85        }
86
87        function handleAuthResult(authResult) {
88        if (authResult && !authResult.error) {
89        oauthToken = authResult.access_token;
90                createPicker();
91        }
92        }
93
94        // Create and render a Picker object for picking user Photos.
95        function createPicker() {
96        if (pickerApiLoaded && oauthToken) {
97        var picker = new google.picker.PickerBuilder().
98                addView(google.picker.ViewId.DOCS).
99                setOAuthToken(oauthToken).
100                setDeveloperKey(developerKey).
101                setCallback(pickerCallback).
102                build();
103                picker.setVisible(true);
104        }
105        }
106
107        // A simple callback implementation.
108        function pickerCallback(data) {
109        console.log(data);
110                var url = 'nothing';
111                if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
112        var doc = data[google.picker.Response.DOCUMENTS][0];
113                console.log(google.picker.Document);
114                url = doc[google.picker.Document.URL];
115                name = doc[google.picker.Document.NAME];
116        }
117        document.getElementById('google-drive-result').value = url;
118                document.getElementById('google-drive-files').innerHTML = name;
119        }
120
121
122        jQuery.prototype.extend({
123
124        contextualize: function() {
125
126        return this.each(function(){
127
128        var s = $(this);
129                // clickable area
130                $('.clickable > *, .clickable:not(ul,ol,menu,.group)', s).enable_click();
131                // loading
132                $('a.loading[href]', s).load_in();
133                // wrap (.after by default) around last word
134                $("blockquote > p:last", s).wrapAroundLastWord();
135                $('.comment-respond label', s).each(function(){
136        var wpLabel = $(this);
137                var labeltext = wpLabel.text();
138                wpLabel.nextAll('input,textarea').attr('placeholder', labeltext);
139        });
140                $('.comment-form', s).addClass('validate no-ajax');
141                // xhtml placeholders
142                $('input, select, textarea', s).not('.no-custom').placeholder();
143                // book paging
144                $('.book.dynamic', s).book();
145                // crossfade
146                $('.crossfade', s).crossfade();
147                // simple form validation
148                $('form.validate', s).validate();
149                // simple gallery
150                $('.gallery', s).gallery();
151                // colorbox
152                if (jQuery().colorbox) {
153
154        var colorbox_opts = {
155        rel: 'group1',
156                opacity: .8,
157                previous: 'Previous',
158                next: 'Next',
159                close: 'X',
160                // current: 'Page {current} of {total}',
161                // href: url + " #main", // only portion of an external page
162                // maxWidth: 577 // used with content portions
163                onComplete: function(){
164                $.colorbox.resize();
165                        $('#cboxLoadedContent').contextualize();
166                }
167        };
168                $('.lightbox.lightboxA', s).each(function(){
169
170        var s = $(this),
171                url = s.attr("href");
172                s.colorbox(colorbox_opts);
173        });
174        }
175
176        // Magnific Popup
177        if (jQuery().magnificPopup) {
178
179        $('.lightbox', s).magnificPopup({
180        type: 'image',
181                closeOnContentClick: false,
182                closeBtnInside: true,
183                fixedContentPos: true,
184                mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side
185                titleSrc: 'title',
186                image: {
187                verticalFit: true
188                },
189                gallery: {
190                enabled: false, // set to true to enable gallery
191                        tCounter: '<span class="mfp-counter">%curr% of %total%</span>' // markup of counter
192                }
193        });
194        }
195
196        // Flexslider
197
198        if (jQuery().flexslider && $('.flexslider-wrapper', s).length) {
199
200        var flexsliderC = {
201        animation: 'slide',
202                itemWidth: 123,
203                minItems: 3,
204                maxItems: 7,
205                directionNav: true,
206                controlNav: false,
207                itemMargin: 2,
208                move: 1,
209                animationLoop: true
210        };
211                // My Flexslider
212
213                $('.flexslider-wrapper', s).myFlexslider({
214        'flexsliderA': {
215        animation: 'fade',
216                animationLoop: true,
217                directionNav: false,
218                slideshow: true
219        },
220                'flexsliderB': {
221                directionNav: true,
222                        itemMargin: 0
223                },
224                'flexsliderC': flexsliderC,
225                'flexsliderD': $.extend({}, flexsliderC, {
226                itemWidth: 106,
227                }),
228                'flexsliderE': {
229                itemMargin: 0
230                },
231                'flexsliderF': {
232                itemWidth: 59,
233                        itemMargin: 7,
234                        init: function(slider) {
235
236                        var myMaxSlides = 8,
237                                slides = slider.container.children(),
238                                count = Math.min(slider.count, myMaxSlides),
239                                sliderMaxWidth = ((slider.itemM * (count - 1)) + (count * slider.itemW));
240                                slider.css('max-width', sliderMaxWidth + 'px');
241                        }
242                }
243        });
244        }
245
246        // Map Google
247
248        if ($('.map-google', s).length) {
249        $('.map-google', s).google_map();
250        }
251
252        // Accordion
253
254        if (jQuery().accordion && $('.article-related-info-group', s).length) {
255
256        $('.article-related-info-group').accordion({
257        heightStyle: "content"
258        });
259        }
260
261        // Dropdown Menu
262
263        $('.page-navigation > ul', s).dropdownMenu();
264                // Custom Select Menus
265
266                if (jQuery().selectmenu && !isMobile) {
267
268        $("select.custom", s).mySelectMenu({
269        'selectmenuA': {
270        change: function(event, ui) {
271
272        var option = $(ui.item.element.context),
273                select = option.closest('select'),
274                form = select.closest('form'),
275                selected_value = ui.item.value;
276                //alert('You have chosen ' + selected_value);
277                $('.field-upload').hide();
278                $('.field-' + selected_value).show();
279        }
280        }
281        }, s);
282        }
283
284        $('.dropbox-chooser-btn', s).click(function(e){
285
286        Dropbox.choose(options);
287        });
288                $('.cva-googledrive-button', s).click(function(e){
289
290        onApiLoad();
291        });
292                $('#fileupload', s).each(function(){
293        var input = $(this),
294                url = input.attr('data-url');
295                input.fileupload({
296                url: url,
297                        dataType: 'json',
298                        done: function (e, data) {
299                        console.log(data);
300                                $.each(data.result.files, function (index, file) {
301                                $('#my-computer-files').text(file.name);
302                                        //var val = $('#my-computer-result').val();
303                                        $('#my-computer-result').val(file.url);
304                                });
305                        },
306                        progressall: function (e, data) {
307                        var progress = parseInt(data.loaded / data.total * 100, 10);
308                                $('#progress .progress-bar').css(
309                                'width',
310                                progress + '%'
311                                );
312                        }
313                }).prop('disabled', !$.support.fileInput)
314                .parent().addClass($.support.fileInput ? undefined : 'disabled');
315        });
316        });
317        },
318                myFlexslider: function(instances) {
319
320                var defaults = {
321                selector: ".slides > .slide",
322                        animation: "slide",
323                        direction: "horizontal",
324                        controlNav: false, // pagination
325                        directionNav: true, // navigation
326                        animationLoop: false,
327                        slideshow: false, // disable autoplay
328                        pauseOnAction: true, // Pause the slideshow when interacting with control elements
329                        pauseOnHover: false // Pause the slideshow when hovering over slider, then resume when no longer hovering
330                };
331                        var attrNameRewrite = {
332                        'asnavfor': 'asNavFor',
333                                'itemwidth': 'itemWidth',
334                                'itemmargin': 'itemMargin'
335                        };
336                        var hasNav = [],
337                        noNav = [];
338                        var result = this.each(function() {
339
340                        var wrapper = $(this),
341                                slider = wrapper.children('.flexslider'),
342                                slides_group = slider.children('.slides'),
343                                slides = slides_group.children(),
344                                slides_count = slides.length;
345                                if (slider.length && slides_count > 1) {
346
347                        slider.addClass('flexslider-multi-slides');
348                                var self = this,
349                                attrs = wrapper.attributes('data-flexslider'),
350                                opts = {},
351                                // all callbacks return one parameter 'slider'
352                                callbacks = {
353                                start: [],
354                                        before: [],
355                                        after: [],
356                                        end: [],
357                                        added: [],
358                                        removed: [],
359                                        init: []
360                                };
361                                for (var key in attrNameRewrite) {
362
363                        if (key in attrs) {
364
365                        var val = attrNameRewrite[key];
366                                attrs[val] = attrs[key];
367                                delete attrs[key];
368                        }
369                        }
370
371                        // default options
372                        opts = $.extend({}, opts, defaults);
373                                if (wrapper.hasAttr('data-flexslider') && wrapper.attr('data-flexslider') in instances) {
374
375                        var name = wrapper.attr('data-flexslider');
376                                // instance options
377                                opts = $.extend({}, opts, instances[name]);
378                        }
379
380                        if (attrs.length > 0) {
381
382                        // attribute options
383                        opts = $.extend({}, opts, attrs);
384                        }
385
386                        if ('asNavFor' in opts) {
387                        hasNav.push([slider, opts]);
388                        } else {
389                        noNav.push([slider, opts]);
390                        }
391
392                        callbacks.before.push(function(slider){
393
394                        var activeSlide = $(slider.slides).filter('.flex-active-slide').first(),
395                                activeSlideIndex = activeSlide.index(),
396                                slideAnimatingTo = slider.slides.eq(slider.animatingTo),
397                                img = slideAnimatingTo.find('img');
398                                if (img.attr('src') == '' && img.hasAttr('data-src')) {
399
400                        var currentSlide = slider.animatingTo;
401                                img.hide();
402                                var data_src = imgEnable(img);
403                                slider.addClass('loading');
404                                $.preload_img(img.attr('src'), function(){
405
406                                img.addClass('flex-preloaded').show();
407                                        slider.removeClass('loading');
408                                        if (!slider.playing) {
409                                slider.play();
410                                }
411                                });
412                                var dir = slider.direction,
413                                next,
414                                slidesCount = slider.slides.length;
415                                if (typeof currentSlide === 'undefined') {
416                        currentSlide = slider.currentSlide;
417                        }
418
419                        if (dir === "next") {
420                        next = ((currentSlide + 2) > (slidesCount - 1)) ? (currentSlide - slidesCount + 2) : currentSlide + 2;
421                        } else {
422                        next = ((currentSlide - 2) < 0) ? (currentSlide + slidesCount - 2) : currentSlide - 2;
423                        }
424
425                        var next_slide = slider.slides.eq(next),
426                                next_img = next_slide.find('img'),
427                                data_src = imgEnable(next_img);
428                                if (typeof data_src === 'string') {
429
430                        $.preload_img(data_src, function(){
431
432                        next_img.addClass('flex-preloaded');
433                        });
434                        }
435                        }
436
437                        });
438                                callbacks.start.push(function(slider){
439
440                                var first_slide = slider.slides.eq(0),
441                                        first_slide_img = first_slide.find('img');
442                                        if (first_slide_img.length) {
443
444                                slider.addClass('loading');
445                                        var src = first_slide_img.attr('data-src') || first_slide_img.attr('src');
446                                        $.preload_img(src, function(){
447
448                                        if (first_slide_img.hasAttr('data-src')) {
449
450                                        first_slide_img.attr('src', src);
451                                        }
452
453                                        slider.removeClass('loading');
454                                        });
455                                }
456
457                                });
458                                // Run through callbacks
459                                $.each(callbacks, function(key, callbacksSet){
460
461                                if (callbacksSet.length > 0) {
462
463                                var copy_opts_key;
464                                        if (key in opts && $.isFunction(opts[key])) {
465                                copy_opts_key = opts[key];
466                                }
467
468                                // all functions return one param 'slider'
469                                opts[key] = function(slider){
470
471                                var lastResult;
472                                        if (typeof copy !== 'undefined') {
473                                lastResult = copy_opts_key.call(this, slider);
474                                }
475
476                                for (var i = 0; i < callbacksSet.length; i++) {
477
478                                if (jQuery.isFunction(callbacksSet[i])) {
479
480                                lastResult = callbacksSet[i].call(this, slider);
481                                }
482                                }
483
484                                return lastResult;
485                                }
486                                }
487                                });
488                        }
489
490                        });
491                        var make = function(i, v){
492
493                        var slider = v[0],
494                                opts = v[1];
495                                console.log(opts);
496                                var instance = slider.flexslider(opts);
497                                slider.data('my-flexslider', instance);
498                        };
499                        // The slider being synced must be initialized first
500                        $.each(hasNav, make);
501                        $.each(noNav, make);
502                        return result;
503                },
504                mySelectMenu: function(instances, context) {
505
506                // for more: http://api.jqueryui.com/selectmenu/
507                var defaults = {
508                change: function(event, ui) {
509
510                },
511                        create: function(event, ui) {
512
513                        }
514                };
515                        var hideCSS = {
516                        position: 'absolute',
517                                top: '-9999px',
518                                left: '-9999px',
519                                opacity: 0,
520                                'z-index': '-1'
521                        };
522                        return this.each(function(){
523
524                        var select = $(this),
525                                attrs = select.attributes('data-selectmenu'),
526                                opts = {},
527                                selectMenuName;
528                                // default options
529                                opts = $.extend({}, opts, defaults);
530                                if ('name' in attrs && attrs['name'] in instances) {
531
532                        selectMenuName = attrs['name'];
533                                // instance options
534                                opts = $.extend({}, opts, instances[selectMenuName]);
535                        }
536
537                        if (attrs.length > 0) {
538
539                        // attribute options
540                        opts = $.extend({}, opts, attrs);
541                        }
542
543                        $.widget("custom.iconselectmenu", $.ui.selectmenu, {
544
545                        _renderMenu: function(ul, items) {
546
547                        var that = this,
548                                currentOptgroup = "";
549                                if (typeof debug !== 'undefined' && debug === true) console.log(items);
550                                $.each(items, function(index, item) {
551
552                                if (item.optgroup !== currentOptgroup && item.optgroup !== '') {
553
554                                $("<li>", {
555                                "class": "ui-selectmenu-optgroup ui-menu-divider" +
556                                        (item.element.parent("optgroup").prop("disabled") ?
557                                                " ui-state-disabled" :
558                                                ""),
559                                        text: item.optgroup
560                                })
561                                        .appendTo(ul);
562                                }
563
564                                currentOptgroup = item.optgroup;
565                                        that._renderItemData(ul, item);
566                                });
567                                var dropdown = ul.parent();
568                                dropdown.addClass('custom');
569                                if (typeof selectMenuName !== 'undefined') {
570                        dropdown.addClass(selectMenuName);
571                        }
572                        }
573                        });
574                                select.iconselectmenu(opts);
575                                select.css(hideCSS).show().each(function(){
576
577                        var widget = select.iconselectmenu("widget");
578                                widget.addClass('custom');
579                                if (typeof selectMenuName !== 'undefined') {
580                        widget.addClass(selectMenuName);
581                        }
582
583                        // transfer the 'title' attribute
584                        if (select.hasAttr('title') && select.attr('title') != '') {
585                        widget.attr('title', original.attr('title'));
586                        }
587                        });
588                        });
589                },
590                wrapAroundLastWord: function(className) {
591
592                return this.each(function(){
593
594                var elem = $(this),
595                        className = className || "after";
596                        if ($("." + className, elem).length) {
597                return;
598                }
599
600                var html = $.trim(elem.html()),
601                        indexOfLastWhitespace = html.lastIndexOf(" "),
602                        new_str = html.substring(0, indexOfLastWhitespace) + ' <span class="' + className + '">' + $.trim(html.substring(indexOfLastWhitespace)) + '</span>';
603                        elem.html(new_str);
604                });
605                },
606                hasAttr: function(name) {
607
608                for (var i = 0, l = this.length; i < l; i++) {
609                if (!!(this.attr(name) !== undefined)) {
610                return true;
611                }
612                }
613
614                return false;
615                },
616                dropdownMenu: function() {
617
618                return this.each(function(){
619
620                var dropdown_menu = $(this),
621                        slide = (browser.name != 'msie' || (browser.name == 'msie' && !is_lt_ie9)),
622                        JSanimations = (!$.hasCSSProperty('transition'));
623                        if (JSanimations) {
624                $("li:last-child", dropdown_menu).addClass("last-child");
625                }
626
627                $("li:has( > ul)", dropdown_menu).each(function(){
628
629                var s = $(this),
630                        dropdown = $("> ul", s),
631                        has_on = (s.hasClass("current-menu-item") || s.hasClass("current_page_item") || s.hasClass("current_page_ancestor") || s.hasClass("current_page_parent"));
632                        if (JSanimations && slide) {
633                dropdown.hide();
634                }
635
636                if (isMobile) {
637
638                $("> a", s).click(function(e){
639
640                e.preventDefault();
641                        var s = $(this),
642                        li = s.parent();
643                        dropdown = $("+ ul", s);
644                        $('li.hover', dropdown_menu).not(li).removeClass('hover');
645                        if (li.hasClass("hover")) {
646                location.href = s.attr("href");
647                } else {
648                if (JSanimations) {
649                dropdown.slideDown();
650                }
651                li.addClass("hover");
652                }
653
654                });
655                } else {
656
657                if (JSanimations || slide) {
658
659                var dropdownHeight = dropdown.outerHeight();
660                        var delay = 300;
661                        s.bind({
662                        'mouseenter': function(){
663
664                        dropdown.clearQueue("q2");
665                                if (slide) {
666
667                        dropdown.css("top", "100%").hide().delay(delay, "q1").queue("q1", function(next){
668                        s.addClass("current-menu-item current_page_item hover");
669                                dropdown.css({height: "0px", overflow: "hidden"}).show().animate({height: dropdownHeight + "px"}, 200, function(){
670                        dropdown.css("overflow", "visible");
671                                next();
672                        });
673                        }).dequeue("q1");
674                        } else {
675
676                        dropdown.css("top", "-9999px").delay(delay, "q1").queue("q1", function(next){
677                        s.addClass("current-menu-item current_page_item hover");
678                                dropdown.css({top: "100%"});
679                                next();
680                        }).dequeue("q1");
681                        }
682                        },
683                                'mouseleave': function(){
684
685                                dropdown.clearQueue("q1");
686                                        var fin = function() {
687                                        if (!has_on) s.removeClass("current-menu-item current_page_item hover");
688                                        }
689
690                                if (slide) {
691
692                                dropdown.css("top", "100%").delay(delay, "q2").queue("q2", function(next){
693                                dropdown.css("overflow", "hidden").animate({height: "0px"}, 200, function(){
694                                dropdown.css("overflow", "visible");
695                                        dropdown.hide();
696                                        fin.call(this);
697                                });
698                                        next();
699                                }).dequeue("q2");
700                                } else {
701
702                                dropdown.css("top", "100%").delay(delay, "q2").queue("q2", function(next){
703                                dropdown.css("top", "-9999px");
704                                        fin.call(this);
705                                        next();
706                                }).dequeue("q2");
707                                }
708                                }
709                        });
710                }
711
712                }
713                });
714                });
715                },
716                attributes: function(prefix, str) {
717
718                var s = $(this),
719                        // uo: get attributes for the first element only
720                        resource = this[0];
721                        if (typeof resource === "undefined") {
722                return null;
723                }
724
725                var attributes_fetch = resource.attributes,
726                        attributes = {},
727                        size = 0,
728                        attrs_str = '',
729                        str = str || false;
730                        for (var i = 0; i < attributes_fetch.length; i++) {
731
732                // uo: it can either be .nodeName or .name
733                var name = attributes_fetch[i].nodeName;
734                        // uo: ordering of the clauses
735                        // put the keys & values into a string
736                        if (str === true) {
737
738                if (typeof prefix !== "undefined") {
739                attrs_str += ' ' + prefix + '-';
740                }
741
742                attrs_str += name + '="' + s.attr(name) + '"';
743                } else {
744
745                if (typeof prefix !== "undefined") {
746
747                if (name.indexOf(prefix + "-") == 0) {
748                var key = name.replace(prefix + "-", ""),
749                        val = s.attr(name);
750                }
751
752                } else {
753                var key = name,
754                        val = s.attr(name);
755                }
756
757                if (key && val) {
758
759                var k = key.replace("-", "");
760                        attributes[k] = ($.isNumeric(val)) ? parseFloat(val) : val;
761                        size++;
762                }
763                }
764                }
765
766                attributes.length = size;
767                        if (str === true && attrs_str != '') {
768                return attrs_str;
769                }
770
771                return attributes;
772                },
773                google_map: function() {
774
775                if (typeof google === 'undefined') return;
776                        var google_maps_options = {
777                        zoom: 16,
778                                disableDefaultUI: true, // disable the whole UI
779                                draggable: true,
780                                mapTypeId: google.maps.MapTypeId.ROADMAP
781                        },
782                        opts = {
783                        ui: true,
784                                latitude: 51.512960,
785                                longitude: - 0.133059,
786                                markerimg: false,
787                                markerimgx: 0,
788                                markerimgy: 0,
789                                enlargeurl: false,
790                                markertitle: 'Click here for full map',
791                                type: 'ROADMAP',
792                                animation: false
793                        },
794                        types = [
795                                'ROADMAP', // displays the default road map view
796                                'SATELLITE', // displays Google Earth satellite images
797                                'HYBRID', // displays a mixture of normal and satellite views
798                                'TERRAIN' //  displays a physical map based on terrain information
799                        ],
800                        animations = [
801                                'drop',
802                                'bounce'
803                        ];
804                        return this.each(function(){
805
806                        var s = $(this),
807                                attrs = s.attributes('data-google-maps'),
808                                my_opts = $.extend({}, opts, attrs),
809                                gmo = $.extend({}, google_maps_options, my_opts),
810                                myLatlng = new google.maps.LatLng(gmo.latitude, gmo.longitude);
811                                if ($.inArray(my_opts.type, types) != - 1) {
812                        gmo.mapTypeId = google.maps.MapTypeId[my_opts.type];
813                        }
814
815                        gmo.center = new google.maps.LatLng(gmo.latitude, gmo.longitude)/*myLatlng*/;
816                                if (typeof gmo.ui !== "undefined" && gmo.ui === "default") {
817                        gmo.disableDefaultUI = false;
818                        }
819
820                        var map = new google.maps.Map(this, gmo),
821                                markers = [],
822                                marker_opts = {
823                                position: myLatlng,
824                                        map: map
825                                };
826                                if (typeof gmo.animation === "string" && $.inArray(gmo.animation, animations) != - 1) {
827                        var anim = gmo.animation.toUpperCase();
828                                marker_opts.animation = google.maps.Animation[anim]
829                        }
830
831                        var add_markers = function(o) {
832
833                        if (typeof gmo.enlargeurl === "string") {
834                        o.title = gmo.markertitle,
835                                o.url = gmo.enlargeurl;
836                        }
837
838                        markers[0] = new google.maps.Marker(o);
839                                if (typeof infowindow !== "undefined") {
840                        infowindow.open(map, marker);
841                        }
842
843                        for (i = 0; i < markers.length; i++) {
844
845                        if (typeof gmo.enlargeurl === "string") {
846
847                        var marker = markers[i];
848                                if (typeof gmo.enlargeurl === "string") {
849                        google.maps.event.addListener(marker, 'click', function() {
850                        window.open(this.url, '_blank');
851                        });
852                        }
853                        }
854                        }
855
856                        };
857                                if (typeof gmo.markerimg === "string") {
858
859                        var img = new Image();
860                                img.onload = function() {
861
862                                var image = new google.maps.MarkerImage(
863                                        gmo.markerimg,
864                                        new google.maps.Size(this.width, this.height),
865                                        new google.maps.Point(0, 0),
866                                        // The anchor for this image is the base of the flagpole at x,y.
867                                        new google.maps.Point(gmo.markerimgx, gmo.markerimgy)
868                                        ), option = $.extend({}, marker_opts, {
869                                icon: image
870                                });
871                                        add_markers.call(this, option);
872                                };
873                                img.src = gmo.markerimg;
874                        } else {
875
876                        add_markers.call(this, marker_opts);
877                        }
878
879                        });
880                },
881                placeholder: function() {
882
883                return this.each(function(){
884
885                var s = $(this),
886                        simulateOldStandard = false,
887                        val = s.val(),
888                        has_id = (s.hasAttr('id') && $.trim(s.attr("id")) != "") ? s.attr("id") : false,
889                        is_lt_ie10 = (browser.name == 'msie' && browser.version < 10) ? true : false,
890                        is_placeholder_legacy = (is_lt_ie10 && s.is('[placeholder]') || simulateOldStandard),
891                        labels = false;
892                        if (simulateOldStandard) {
893                s.removeAttr('placeholder');
894                }
895
896                if (has_id) {
897                labels = $('label[for="' + has_id + '"]');
898                }
899
900                if (is_placeholder_legacy) {
901
902                s.addClass('placeholder');
903                        if (labels) {
904                labels.addClass('placeholder');
905                }
906
907                } else {
908
909                if (labels) {
910                labels.hide();
911                }
912                }
913
914                if (has_id && val != "") {
915                $('label[for="' + has_id + '"].placeholder').hide();
916                }
917
918                s.bind({
919
920                'focus': function(){
921
922                s.addClass("focus");
923                        if (labels) {
924                labels.addClass('blur');
925                }
926                },
927                        'keyup': function(){
928
929                        if (has_id) {
930                        var placeholder = $('label[for="' + s.attr("id") + '"].placeholder');
931                                placeholder.not('.hide').hide();
932                        }
933
934                        if (s.val() == "") {
935                        placeholder.show();
936                        }
937                        },
938                        'blur': function(){
939
940                        s.removeClass("focus");
941                                if (has_id && s.val() == "") {
942                        $('label[for="' + s.attr("id") + '"].placeholder').removeClass('blur').show();
943                        }
944                        }
945                });
946                });
947                },
948                validate: function() {
949
950                return this.each(function(){
951
952                var self = $(this),
953                        form_height = self.outerHeight();
954                        self.attr("novalidate", "novalidate").on('submit', function() {
955
956                var alert_on = true;
957                        var msg = '';
958                        var valid = true;
959                        var email_pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;
960                        $(".error:not(.notice)", self).removeClass("error");
961                        self.find("[required]:input,[aria-required]:input").each(function() {
962
963                var req_elem = $(this),
964                        has_id = (req_elem.hasAttr('id') && $.trim(req_elem.attr("id")) != "") ? req_elem.attr("id") : false;
965                        if (req_elem.hasClass("inputgroup")) {
966                var value = $(":checked", req_elem).length ? "Checked" : "";
967                } else {
968                var value = req_elem.val();
969                }
970
971                if (has_id) {
972                var findLabel = $('label[for="' + req_elem.attr('id') + '"]');
973                }
974
975                if (value == "" || (req_elem.prop("title") && value == req_elem.prop("title")) || (req_elem.is('.email,[type="email"]') && !email_pattern.test(value))) {
976
977                valid = false;
978                        var label = 'Field';
979                        if (typeof findLabel !== 'undefined' && findLabel.length) {
980                label = findLabel.text();
981                } else if (req_elem.prev('label').length) {
982                label = req_elem.prev("label").text();
983                } else if (typeof req_elem.prop("title") !== 'undefined') {
984                label = req_elem.prop("title");
985                }
986
987                label = $.trim(label.replace(/[\*|:]/gi, ""));
988                        msg += '\n-> ' + label + ' is required';
989                        req_elem.addClass("error");
990                }
991                });
992                        if (!valid) {
993
994                $(".error:first").not('input[type="hidden"]').focus();
995                        if (alert_on) {
996                alert('Please fill in these fields. Thanks.' + msg);
997                } else {
998                $(".error-message", this).show().css('visibility', 'visible');
999                }
1000
1001                return false;
1002                }
1003
1004                if (!self.hasClass("no-ajax")) {
1005
1006                var form_id = self.attr("data-form-id") || self.attr("id");
1007                        if (form_id === undefined) {
1008                alert("Form ID is not defined");
1009                        return false;
1010                }
1011
1012                var curtain = $(".curtain", self),
1013                        content = $("> .content", self),
1014                        form_action = self.attr("action"),
1015                        datastr = self.serialize() + "&type=json&form=" + form_id.replace(/-/g, "").toLowerCase(),
1016                        query = $("body").attr("data-path-php") + "ma" + "iler/mai" + "ler" + "." + "p" + "hp",
1017                        debugging = true;
1018                        $(".notice", self).hide();
1019                        if (debugging === true) {
1020                console.log('URL: ' + query + '; data: ' + datastr);
1021                }
1022
1023                $.ajax({
1024                type: "POST",
1025                        url: query,
1026                        data: datastr,
1027                        dataType: "json",
1028                        success: function(data){
1029
1030                        if (data.redirect) {
1031                        location.href = data.redirect;
1032                                return false;
1033                        }
1034
1035                        var type = data.type.toString();
1036                                if (type != 'success' && type != 'error') {
1037                        alert("Unknown type '" + type + "'");
1038                                return false;
1039                        }
1040
1041                        if (curtain.length) {
1042                        if (content.length) content.animate({opacity: .2});
1043                                $("> .message .result", curtain).html(data.msg);
1044                                curtain.show();
1045                                $("> .message > .notice." + type, curtain).show();
1046                                var message_height = $("> .message", curtain).outerHeight();
1047                                $("> .message", curtain).animate({top: ((form_height - message_height) / 2) + "px"});
1048                        }
1049
1050                        if (type == 'success') {
1051                        self.clearForm();
1052                                $(".error", self).removeClass("error");
1053                                $(".placeholder", self).removeClass("blur").show();
1054                                $(".placeholder.hide", self).hide();
1055                        }
1056                        },
1057                        complete: function(jqXHR, textStatus) {
1058
1059                        if (debugging === true) {
1060                        console.log('Text status: ' + textStatus);
1061                        }
1062
1063                        if (curtain.length) {
1064
1065                        curtain.fadeIn(function(){
1066                        $(".error-message", self).hide();
1067                        });
1068                        }
1069                        }
1070                });
1071                        if (curtain.length) {
1072
1073                $("a[href='#close'], .close", curtain).on("click", function(e){
1074                e.preventDefault();
1075                        $("> .message", curtain).animate({top: "-200px"}, function(){
1076                $("> .message > .notice", curtain).hide();
1077                });
1078                        curtain.fadeOut();
1079                        if (content.length) content.animate({opacity: 1});
1080                });
1081                }
1082
1083                return false;
1084                }
1085
1086                });
1087                });
1088                },
1089                crossfade: function() {
1090
1091                return this.each(function(){
1092
1093                var s = $(this),
1094                        interval = parseFloat(s.attr("data-crossfade-interval")) || 6000,
1095                        speed = parseFloat(s.attr("data-crossfade-speed")) || 1000,
1096                        items = $("> *:not(ul,ol,menu)", s),
1097                        items = $("> ul > li,> ol > li", s).add(items),
1098                        length = items.length - 1,
1099                        adjust = function(h) {
1100                        s.animate({height: h + "px"});
1101                        },
1102                        play = function(i) {
1103                        var n = (i == length) ? 0 : (i + 1),
1104                                t = setTimeout(function(){
1105                                var next_item = items.eq(n),
1106                                        next_item_height = next_item.innerHeight(),
1107                                        this_item_height = items.eq(i).innerHeight();
1108                                        adjust.call(this, next_item_height);
1109                                        $.preload_imgs(next_item.html(), null, function() {
1110                                        items.eq(i).fadeOut(speed);
1111                                                next_item.fadeIn(speed, function(){
1112                                                play.call(this, n);
1113                                                });
1114                                        });
1115                                }, interval);
1116                        };
1117                        if (length) var init = play.call(this, 0);
1118                        s.css("height", items.first().innerHeight() + "px");
1119                });
1120                },
1121                book: function() {
1122
1123                return this.each(function(){
1124
1125                var s = $(this),
1126                        menu = $(".book-toc", s),
1127                        sections = $(".book-sections", s);
1128                        $(".book-section", sections).css('display', 'none');
1129                        if (hash != undefined && $("a[href=" + anchor + "]", menu).length) {
1130                var anchor = '#' + hash;
1131                        $("a[href=" + anchor + "]", menu).show_fragment(menu);
1132                } else {
1133                $(".on > a", menu).show_fragment(menu);
1134                }
1135
1136                $("a", menu).click(function(){
1137                $(this).show_fragment(menu);
1138                });
1139                });
1140                },
1141                show_fragment: function(menu, c) {
1142
1143                return this.each(function(){
1144
1145                var s = $(this),
1146                        fragment = s.attr("href"),
1147                        f = $(fragment);
1148                        if (f.length) {
1149
1150                $.preload_imgs(f.html(), null, function() {
1151
1152                $(".on > a", menu).hide_fragment();
1153                        s.add(s.parent()).addClass("on");
1154                        f.addClass('active').show();
1155                        if (typeof c === "function") c.call(this);
1156                });
1157                }
1158
1159                });
1160                },
1161                hide_fragment: function() {
1162
1163                return this.each(function(){
1164
1165                var s = $(this),
1166                        fragment = s.attr("href");
1167                        s.add(s.parent()).removeClass("on");
1168                        $(fragment).removeClass('active').hide();
1169                });
1170                },
1171                load_in: function() {
1172
1173                return this.each(function(){
1174
1175                var self = $(this),
1176                        is_link = self.prop("tagName").toLowerCase() == "a",
1177                        url = (is_link) ? self.attr("href") : self.attr("data-url");
1178                        if (typeof url !== 'undefined') {
1179
1180                $.get(url, function(data) {
1181                if (is_link) self.after(data).remove(); else self.removeClass("loading").html(data);
1182                });
1183                }
1184
1185                });
1186                },
1187                enable_click: function() {
1188
1189                return this.each(function(){
1190
1191                var s = $(this);
1192                        if ($("a:first", s).length) {
1193
1194                s.css("cursor", "pointer").bind({
1195
1196                "click": function(e){
1197
1198                var target = $(e.target);
1199                        // filter out targets that should be ignored by the click method
1200                        if (!target.is('.action,.actions')) {
1201                location.href = $("a:first", s).attr("href");
1202                        return false;
1203                }
1204
1205                }
1206
1207                });
1208                }
1209
1210                });
1211                },
1212                clearForm: function() {
1213
1214                return this.each(function() {
1215                $("label.placeholder", this).not(".hide").removeClass("blur").show();
1216                        var type = this.type, tag = this.tagName.toLowerCase();
1217                        if (tag == 'form')
1218                        return $(':input,.menu-context', this).clearForm();
1219                        if (type == 'text' || type == 'password' || type == 'email' || type == 'tel' || type == 'search' || type == 'url' || tag == 'textarea') {
1220                if ($(this).attr('title')) {
1221                this.value = $(this).attr('title');
1222                } else {
1223                this.value = '';
1224                }
1225                } else if (type == 'checkbox' || type == 'radio') {
1226                this.checked = false;
1227                } else if (tag == 'select') {
1228                this.selectedIndex = 0;
1229                } else if ($(this).hasClass("menu-context")) {
1230                var menu = $(this);
1231                        $(".value", menu).text($('ul.dropdown > li[data-option-selected="selected"]', menu).text());
1232                        $("#" + menu.attr("id") + "-h").val("");
1233                }
1234                });
1235                },
1236                gallery: function(opts) {
1237
1238                return this.each(function(x, y){
1239
1240                var gallery = $(this),
1241                        thumbs = $(".thumbnails", gallery);
1242                        if (!thumbs.length) return;
1243                        var display = $(".display", gallery),
1244                        nav = $(".nav", gallery);
1245                        if (hash != undefined && $("> #" + hash, thumbs).length) {
1246                show($("> #" + hash, thumbs), 0);
1247                } else {
1248                show($(".on", thumbs), 0);
1249                }
1250
1251                function show(obj, t) {
1252
1253                $(".on", thumbs).removeClass('on');
1254                        obj.addClass('on');
1255                        var link_obj = (obj.prop('tagName') == 'A') ? obj : $("a", obj),
1256                        imgpath = link_obj.attr('href'),
1257                        t = setTimeout(function(){
1258                        $(display).addClass('loading');
1259                        }, t);
1260                        $.preload_img(imgpath, function(){
1261
1262                        clearTimeout(t);
1263                                display.removeClass('loading');
1264                                display.prepend('<img src="' + imgpath + '" style="display: none;" />');
1265                                var first_img = $("img:first-child", display);
1266                                first_img.fadeIn();
1267                                if ($("img:first-child + img", display).length) {
1268                        $("img:first-child + img", display).fadeOut(function(){
1269                        $("img:first-child + img", display).remove();
1270                        });
1271                        }
1272
1273                        });
1274                }
1275
1276                $("a", thumbs).click(function(e){
1277                e.preventDefault();
1278                        show($(this), 150);
1279                });
1280                        if (nav.length) {
1281
1282                $("li > a", nav).click(function(e){
1283
1284                e.preventDefault();
1285                        var dir = $(this).prev();
1286                        if (dir.hasClass("next")) {
1287                var s = ($("li.on", thumbs).next("li").length) ? $("li.on", thumbs).next("li") : $("li:first-child", thumbs);
1288                } else {
1289                var s = ($("li.on", thumbs).prev("li").length) ? $("li.on", thumbs).prev("li") : $("li:last-child", thumbs);
1290                }
1291
1292                show(s, 150);
1293                });
1294                }
1295
1296                });
1297                }
1298
1299        });
1300                jQuery.extend(jQuery, {
1301
1302                coords: function(obj, selector) {
1303
1304                var isJQuery = obj instanceof jQuery;
1305                        if (isJQuery) {
1306                obj.clientX = obj.offset().left;
1307                        obj.clientY = obj.offset().top;
1308                }
1309
1310                var result = {};
1311                        var win = $(window);
1312                        result.top = obj.clientY;
1313                        result.left = obj.clientX;
1314                        var bias = { x: 0, y: 0 }
1315
1316                if (isJQuery) {
1317                bias.y = obj.outerHeight();
1318                        bias.x = obj.outerWidth();
1319                }
1320
1321                if (typeof selector != "undefined") {
1322
1323                var ancestor = (isJQuery) ? obj.closest(selector) : $(document).find(selector);
1324                        if (ancestor.length) {
1325
1326                var ancestorX = ancestor.offset().left;
1327                        var ancestorY = ancestor.offset().top;
1328                        result.top = Math.ceil(obj.clientY - ancestorY);
1329                        result.left = Math.ceil(obj.clientX - ancestorX);
1330                        result.bottom = Math.ceil(ancestor.outerHeight() - (result.top + bias.y));
1331                        result.right = Math.ceil(ancestor.outerWidth() - (result.left + bias.x));
1332                }
1333
1334                } else {
1335
1336                result.bottom = Math.ceil(win.height() - (result.top + bias.y));
1337                        result.right = Math.ceil(win.width() - (result.left + bias.x));
1338                }
1339
1340                return result;
1341                },
1342                        preload_imgs: function(data, imgs, callback) {
1343
1344                        var s = this;
1345                                if (imgs === null) {
1346
1347                        var imgs = [];
1348                                $("<div/>").append(data).find("img").each(function(e){
1349                        imgs.push($(this).attr("src") + (new Date()).getTime());
1350                        });
1351                        }
1352
1353                        var t = imgs.length;
1354                                if (t == 0) return callback.call(this, data);
1355                                var c = function(length) {
1356
1357                                if (length == t && $.isFunction(callback)) {
1358                                callback.call(this, data);
1359                                }
1360                                }
1361
1362                        var pre = function(i) {
1363                        s.preload_img(imgs[i], function(w, h){
1364                        var n = (i + 1);
1365                                c.call(this, n);
1366                                if (t != n) pre.call(this, n);
1367                        });
1368                        }
1369
1370                        pre.call(this, 0);
1371                        },
1372                        preload_img: function(imgpath, callback) {
1373
1374                        var img = new Image();
1375                                img.onload = function(){
1376                                callback.call(this, this.width, this.height);
1377                                        img.onload = function(){};
1378                                }
1379
1380                        img.onerror = function(){
1381                        callback.call(this);
1382                        }
1383
1384                        img.src = imgpath;
1385                        },
1386                        uniqueId: function() {
1387
1388                        var newDate = new Date,
1389                                partOne = newDate.getTime(),
1390                                partTwo = 1 + Math.floor((Math.random() * 32767)),
1391                                partThree = 1 + Math.floor((Math.random() * 32767)),
1392                                id = partOne + '-' + partTwo + '-' + partThree;
1393                                return id;
1394                        },
1395                        hasCSSProperty: function(p) {
1396
1397                        var b = document.body || document.documentElement,
1398                                s = b.style;
1399                                // No css support detected
1400                                if (typeof s === 'undefined') return false;
1401                                // Tests for standard prop
1402                                if (typeof s[p] === 'string') return true;
1403                                // Tests for vendor specific prop
1404                                var v = ['Moz', 'Webkit', 'Khtml', 'O', 'ms', 'Icab'],
1405                                p = p.charAt(0).toUpperCase() + p.substr(1);
1406                                for (var i = 0; i < v.length; i++) {
1407                        if (typeof s[v[i] + p] == 'string') return true;
1408                        }
1409
1410                        return false;
1411                        },
1412                        browser: function() {
1413
1414                        var ua = navigator.userAgent.toLowerCase(),
1415                                match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
1416                                /(webkit)[ \/]([\w.]+)/.exec(ua) ||
1417                                /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
1418                                /(msie) ([\w.]+)/.exec(ua) ||
1419                                ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
1420                        [];
1421                                return {
1422                                name: match[ 1 ] || "",
1423                                        version: match[ 2 ] || "0"
1424                                };
1425                        },
1426                        init: function() {
1427
1428                        if (loc.match('#')) {
1429                        hash = loc.split('#')[1];
1430                        }
1431
1432                        var browser_info = $.browser();
1433                                if (browser_info) {
1434                        browser.name = browser_info.name;
1435                                browser.version = parseFloat(browser_info.version);
1436                        }
1437
1438                        is_lt_ie9 = (browser.name == 'msie' && browser.version < 9);
1439                                $(d).contextualize();
1440                        }
1441
1442                });
1443                $(d).ready(function(){
1444
1445        $.init();
1446        });
1447        })(document, window, jQuery);
1448        $(document).ready(function() {
1449$('.flexslidernew').flexslider({
1450animation: "slide"
1451        });
1452});
1453jQuery(document).ready(function (){
1454    
1455    jQuery(document).on('click', '#load-click', function () {
1456        pagenumber = jQuery('#load-click').attr('data-page');
1457        $this = jQuery(this);
1458        $this.hide();
1459        jQuery.ajax({
1460            url: NUBOYANA.ajaxurl,
1461            type: 'post',
1462            data: {
1463            action: 'fun_load_more',
1464                    pagenumber: pagenumber
1465            },
1466            success: function (data) {
1467                var obj = jQuery.parseJSON(data);
1468                jQuery("#load-click").attr('data-page',obj.pagenumber);
1469                jQuery(document).find('.blog-listing .blog-listing-wrap').append(obj.html);
1470                if(obj.page_check){
1471                    $this.show();
1472                }else{
1473                    $this.hide();
1474                }
1475                resizeAllGridItems();
1476            }
1477        });
1478    });
1479
1480    jQuery(document).on('click', '#load-click-id', function () {
1481        pagenumber = jQuery('#load-click-id').attr('data-page');
1482        catid = jQuery('#load-click-id').attr('data-cat-id');
1483        $this = jQuery(this);
1484        $this.hide();
1485        jQuery.ajax({
1486            url: NUBOYANA.ajaxurl,
1487            type: 'post',
1488            data: {
1489                action: 'fun_load_more_cat',
1490                pagenumber: pagenumber,
1491                catid: catid
1492            },
1493            success: function (data) {
1494                var obj = jQuery.parseJSON(data);
1495                jQuery("#load-click-id").attr('data-page',obj.pagenumber);
1496                jQuery(document).find('.blog-listing .blog-listing-wrap').append(obj.html);
1497                if(obj.page_check){
1498                    $this.show();
1499                }else{
1500                    $this.hide();
1501                }
1502                resizeAllGridItems();
1503            }
1504        });
1505    });
1506	jQuery(document).on('click','.rjs-comment-reply',function(){
1507		jQuery(document).find('#comment_parent').val(jQuery(this).find('a').attr('data-commentid'));
1508                jQuery('html, body').animate({
1509                    scrollTop: $('#comments').offset().top
1510                }, 500);
1511	});
1512})

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.