PageSourceSearch

https://fotografemelhor.com.br/wp-content/themes/socha/js/scripts.js?ver=2.7

js fotografemelhor.com.br collected 2026-10-02 07:10:18 UTC 27,049 bytes, 837 lines download raw bytes

1// add your custom scripts here
2// as the page loads, call these scripts
3jQuery(function($) {
4    var scrollstatus = $('html').data('scroll');
5    var getcolor = $('.topline #rel-top').css('background-color');
6
7    /*Skin Selector*/
8    $('.leftselectorbox').live('click',function(){
9        $(this).addClass('boxeropened');
10        $('.styleselectorbox').css('margin-right','0');
11
12        $('.ckeckcol').live('click',function(){
13            var curcolor = $(this).data('col');
14            var curlink = $(this).data('link');
15            $.cookie('sochacolor', curcolor, { path: '/' });
16
17            $('#orange-css,#red-css,#black-css,#blue-css,#green-css,#purple-css,#asbestos-css,#sea-css,#nephritis-css').remove();
18            $('head').append('<link rel=\'stylesheet\' id=\''+curcolor+'-css\'  href=\''+curlink+'/css/colors/'+curcolor+'.css?ver=1.0\' type=\'text/css\' media=\'all\' />')
19
20            $('.ckeckcol').removeClass('active');
21            $(this).addClass('active');
22        });
23
24        $('.ckeckpat').live('click',function(){
25            var curpat = $(this).data('pat');
26            var curlink = $(this).data('link');
27            $.cookie('sochapat', curpat, { path: '/' });
28
29            $('body').css('background','none');
30            $('body').css('background','url('+curlink+'/css/images/patterns/'+curpat+'.png)');
31
32            $('.ckeckpat').removeClass('active');
33            $(this).addClass('active');
34        });
35
36        $('.boxeropened').live('click',function(){
37            $('.styleselectorbox').css('margin-right','-227px');
38            $(this).removeClass('boxeropened');
39        });
40    });
41
42    $.fn.isOnScreen = function(){
43
44        var win = $(window);
45
46        var viewport = {
47            top : win.scrollTop(),
48            left : win.scrollLeft()
49        };
50        viewport.right = viewport.left + win.width();
51        viewport.bottom = viewport.top + win.height();
52
53        var bounds = this.offset();
54        bounds.right = bounds.left + this.outerWidth();
55        bounds.bottom = bounds.top + this.outerHeight();
56
57        return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));
58    };
59
60    //Slider on shop
61    $('.shopslider').flexslider({
62        animation:"slide",
63        controlNav:false,
64        prevText:"",
65        nextText:""
66    });
67
68    //Testimonials Widget slider
69    $('.testimonials-slider-widget').flexslider({
70        animation:"slide",
71        controlNav:false,
72        smoothHeight: true,
73        prevText:"",
74        nextText:""
75    });
76
77    //Hover Dir -> Home 2 Top
78    $(' .three-boxes-cont > .item-col-3 ').each( function() { $(this).hoverdir(); } );
79
80    //Popup video -> Home 2
81    $(document).ready(function() {
82        $('.popup-video').magnificPopup({
83            disableOn: 700,
84            type: 'iframe',
85            mainClass: 'mfp-fade',
86            removalDelay: 160,
87            preloader: false,
88
89            fixedContentPos: false
90        });
91    });
92
93        //Toggle Video on about page
94        $('.videotitle').live('click',function(){
95           $('.videocode').toggle();
96            if(scrollstatus == 'scroll') {
97                $("html").getNiceScroll().resize();
98            }
99        });
100
101        //Toggle on About Three page
102        $('.iconplu').live('click',function(){
103            $(this).parent().next().toggle(300);
104            var butstyle = $(this).text();
105            if(butstyle == "-"){
106                $(this).text("+");
107            }
108            else {
109                $(this).text("-");
110            }
111        });
112
113        //Toggle on About 6 page
114        $('.toggle-title .toggle-head').on('click',function(){
115            $(this).next().toggle(300);
116
117            if($('.toggle-with-nav').length){
118                var current_val = $(this).children('.toggle-with-nav').text();
119                if(current_val == "+") {
120                    $(this).children('.toggle-with-nav').text('-');
121                } else {
122                    $(this).children('.toggle-with-nav').text('+');
123                }
124            }
125        });
126
127        //About 4 BG height
128        if($('.bg-about-4').length){
129            $('.bg-about-4').css('min-height',$('.leftmenubox').height()-82);
130        }
131
132        //Pie on About Three page
133
134        $(window).scroll(function(){
135            if($('.chart').length > 0){
136                if($('.chart').isOnScreen()){
137                    if (jQuery.isFunction(jQuery.fn.easyPieChart)) {
138                        $('.chart').easyPieChart({
139                            animate:4000,
140                            barColor: getcolor,
141                            size: 150,
142                            lineWidth:7,
143                            trackColor:'#afafaf',
144                            scaleColor: false,
145                            easing: 'easeOutBounce',
146                            onStep: function(from, to, percent) {
147                                $(this.el).find('.percent').text(Math.round(percent)).css({'font-size':'37px','color':'#3e454d'});
148                            }
149                        });
150                    }
151                }
152            }
153        });
154
155
156        //TOP Button speed
157        var mode = (window.opera) ? ((document.compatMode == "CSS1Compat") ? $('html') : $('body')) : $('html,body');
158        $('#gotop').click(function() {
159            mode.animate({scrollTop:0},800);
160            return false;
161        });
162
163        //Slider on inspiration page
164        if (jQuery.isFunction(jQuery.fn.scrollable)) {
165            $('#inspirationslider').scrollable({circular: true}).autoscroll({ autoplay: true });
166        }
167
168
169        //Social icons scroll
170        var socialwidth = 33 * $('ul.socialicons li').length;
171        $('ul.socialicons').css('width',socialwidth);
172
173        var mobsocialwidth = 33 * $('ul.mobsocialicons li').length;
174        $('ul.mobsocialicons').css('width',mobsocialwidth);
175
176        $('.socialslider').jScrollPane({showArrows: true});
177
178        //Select Navigation on Mobile Devices
179        $('select.mobilemenu').change(function(){
180            var url = $(this).val();
181            if (url) {
182                window.location = url;
183            }
184            return false;
185        });
186
187        //Main page slider
188        $('#homepage .flexslider').flexslider(
189            {
190                animation:"slide",
191                controlNav:false,
192                prevText:"",
193                nextText:""
194                //smoothHeight: true
195            }
196        );
197        if($('#homepage').data('slider')=="full"){ $('.flex-viewport').css('overflow','visible') };
198
199        //New Home 1 / v.2.4
200        $('.new-home-1-slider').flexslider(
201            {
202                animation:"slide",
203                controlNav:false,
204                prevText:"",
205                nextText:""
206                //smoothHeight: true
207            }
208        );
209        $('.new-home-1-slider .flex-viewport').css('overflow','visible');
210
211        //New Home 3 / v.2.4
212        $('.new-home-3-slider').flexslider(
213            {
214                animation:"fade",
215                controlNav:false,
216                directionNav:false,
217                start:  function(){
218                    $('.new-home-3-slider ul.slides li').css('height',$('.boxes-home-three').height());
219                    $(window).smartresize(function(){
220                        $('.new-home-3-slider ul.slides li').css('height',$('.boxes-home-three').height());
221                    });
222
223                }
224            }
225        );
226        $('.new-home-3-slider-sync').flexslider(
227            {
228                animation:"slide",
229                controlNav:true,
230                direction:"vertical",
231                directionNav:false,
232                sync: ".new-home-3-slider"
233            }
234        );
235
236        //Inspirations Slider on Home 3 / v.2.4
237        $('.ins-home3-slider').flexslider({
238            animation:"slide",
239            controlNav:false,
240            prevText:"",
241            nextText:""
242        });
243
244        //New Home 5
245        $('.slider-home5').flexslider({
246            animation:"fade",
247            controlNav:false,
248            prevText:"",
249            nextText:"",
250            start: function(){
251                $('.home-5-top-data .center_h5_slider .slider-home5 ul.slides li figure figcaption .slider-desc-box').removeClass('slideUp');
252                $('.home-5-top-data .center_h5_slider .slider-home5 ul.slides li:first figure figcaption .slider-desc-box').addClass('slideUp');
253            },
254            after: function(){
255                $('.home-5-top-data .center_h5_slider .slider-home5 ul.slides li figure figcaption .slider-desc-box').removeClass('slideUp');
256                $('.home-5-top-data .center_h5_slider .slider-home5 ul.slides li.flex-active-slide figure figcaption .slider-desc-box').addClass('slideUp');
257            }
258        });
259
260        // Popup Images on New Home 5
261        $('.popup-gallery').magnificPopup({
262            delegate: 'a',
263            type: 'image',
264            tLoading: 'Loading image #%curr%...',
265            mainClass: 'mfp-img-mobile',
266            gallery: {
267                enabled: true,
268                navigateByImgClick: true,
269                preload: [0,1] // Will preload 0 - before current, and 1 after the current image
270            },
271            image: {
272                tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
273                titleSrc: function(item) {
274                    return item.el.attr('title');
275                }
276            }
277        });
278
279        //Slider on blog page
280        $('.gallerypost').flexslider({
281            animation:"slide",
282            controlNav:false,
283            prevText:"",
284            nextText:""
285        });
286
287        //Scroll box About Box on Home Page
288        $('.scrollbox').jScrollPane();
289        $('.scrollcategory').jScrollPane();
290
291        //Slider on Blog Preview
292        $('.postslider').flexslider(
293            {
294                animation:"slide",
295                controlNav:false,
296                prevText:"Prev Image",
297                nextText:"Next Image",
298                slideshow:false,
299                smoothHeight:true
300            }
301        );
302        //Slider on About page
303        $('.aboutslider').flexslider(
304            {
305                animation: "slide",
306                controlNav: false,
307                animationLoop: true,
308                slideshow: false,
309                smoothHeight:true,
310                prevText:"Prev Image",
311                nextText:"Next Image"
312            }
313        );
314
315        //Slider on Gallery Page
316        $('.carousel').flexslider({
317            animation: "slide",
318            controlNav: false,
319            animationLoop: false,
320            slideshow: false,
321            prevText:"Prev Image",
322            nextText:"Next Image",
323            itemWidth: 160,
324            asNavFor: '.galleryslider'
325        });
326
327        $('.galleryslider').flexslider({
328            animation: "slide",
329            controlNav: false,
330            animationLoop: true,
331            slideshow: true,
332            smoothHeight:true,
333            prevText:"Prev Image",
334            nextText:"Next Image",
335            multipleKeyboard: true,
336            sync: ".carousel"
337        });
338
339
340    $(window).resize(function(){
341        //Scroll box About Box on Home Page
342        $('.scrollbox').jScrollPane();
343        $('.scrollcategory').jScrollPane();
344
345        //Social icons scroll
346        var socialwidth = 33 * $('ul.socialicons li').length;
347        $('ul.socialicons').css('width',socialwidth);
348
349        var mobsocialwidth = 33 * $('ul.mobsocialicons li').length;
350        $('ul.mobsocialicons').css('width',mobsocialwidth);
351
352        $('.socialslider').jScrollPane({showArrows: true});
353
354    });
355
356    $(window).load(function(){
357
358        if (jQuery.isFunction(jQuery.fn.nivoSlider)) {
359            $('#slider').nivoSlider({
360                controlNav:false
361            });
362        }
363
364        if (jQuery.isFunction(jQuery.fn.isotope)) {
365            // initialize Isotope
366            $('.blogpost').isotope({
367                itemSelector : '.itemblog',
368                transformsEnabled: false
369            });
370            $(window).smartresize(function(){
371                $('.blogpost').isotope({
372                    itemSelector : '.itemblog',
373                    transformsEnabled: false
374                });
375            });
376
377            $('.posts-boxes').isotope({
378                itemSelector : '.post-newhome-top',
379                resizable: false,
380                transformsEnabled: false
381            });
382            $(window).smartresize(function(){
383                $('.posts-boxes').isotope({
384                    itemSelector : '.post-newhome-top',
385                    transformsEnabled: false
386                });
387            });
388
389            // initialize Isotope
390            $('.galleryitems').isotope({
391                itemSelector : '.gallbox'
392            });
393            $(window).smartresize(function(){
394                $('.galleryitems').isotope({
395                    itemSelector : '.gallbox'
396                });
397            });
398
399            // initialize Isotope
400            $('.pressarchive').isotope({
401                itemSelector : '.pressstyle'
402            });
403            $(window).smartresize(function(){
404                $('.pressarchive').isotope({
405                    itemSelector : '.pressstyle'
406                });
407            });
408
409
410            //Filtering on Gallery pages
411
412            // cache container
413            var $container = $('#galcontainer');
414            // initialize isotope
415            $container.isotope({});
416
417            // filter items when filter link is clicked
418            $('#filters a').click(function(){
419                var selector = $(this).attr('data-filter');
420                $container.isotope({ filter: selector });
421                $('#filters li').removeClass('activefilter');
422                $(this).parent().addClass('activefilter');
423                return false;
424            });
425            $(window).smartresize(function(){
426                $container.isotope({});
427            });
428        }
429
430
431
432
433        if(scrollstatus == 'scroll') {
434            //Textarea scroll
435             $("textarea").niceScroll(
436                {
437                    cursorcolor: getcolor,
438                    cursorborder:"0px",
439                    cursorborderradius:"0px"
440                });
441
442
443
444            // Main window scroll
445            $("html").niceScroll(
446                {
447                    cursorcolor: getcolor,
448                    cursorborder:"0px",
449                    horizrailenabled: false,
450                    cursorborderradius:"0px"
451                }
452            );
453        }
454        $('#pageloader').fadeOut(1000);
455    });
456
457    $('.reset').click(function(){
458        $('input.text,textarea').attr("value","");
459    });
460});
461
462Modernizr.addTest('ipad', function () {
463  return !!navigator.userAgent.match(/iPad/i);
464});
465
466Modernizr.addTest('iphone', function () {
467  return !!navigator.userAgent.match(/iPhone/i);
468});
469
470Modernizr.addTest('ipod', function () {
471  return !!navigator.userAgent.match(/iPod/i);
472});
473
474Modernizr.addTest('appleios', function () {
475  return (Modernizr.ipad || Modernizr.ipod || Modernizr.iphone);
476});
477
478Modernizr.addTest('positionfixed', function () {
479    var test    = document.createElement('div'),
480        control = test.cloneNode(false),
481        fake = false,
482        root = document.body || (function () {
483            fake = true;
484            return document.documentElement.appendChild(document.createElement('body'));
485        }());
486
487    var oldCssText = root.style.cssText;
488    root.style.cssText = 'padding:0;margin:0';
489    test.style.cssText = 'position:fixed;top:42px'; 
490    root.appendChild(test);
491    root.appendChild(control);
492    
493    var ret = test.offsetTop !== control.offsetTop;
494
495    root.removeChild(test);
496    root.removeChild(control);
497    root.style.cssText = oldCssText;
498    
499    if (fake) {
500        document.documentElement.removeChild(root);
501    }
502    
503    /* Uh-oh. iOS would return a false positive here.
504     * If it's about to return true, we'll explicitly test for known iOS User Agent strings.
505     * "UA Sniffing is bad practice" you say. Agreeable, but sadly this feature has made it to
506     * Modernizr's list of undectables, so we're reduced to having to use this. */
507    return ret && !Modernizr.appleios;
508});
509
510
511// Modernizr.load loading the right scripts only if you need them
512Modernizr.load([
513	{
514		// Let's see if we need to load selectivizr
515		test : Modernizr.borderradius,
516		// Modernizr.load loads selectivizr and Respond.js for IE6-8
517		nope : [ale.template_dir + '/js/libs/selectivizr.min.js', ale.template_dir + '/js/libs/respond.min.js']
518	},{
519		test: Modernizr.touch,
520		yep:ale.template_dir + '/css/touch.css'
521	}
522]);
523
524
525
526jQuery(function($) {
527	var is_single = $('#post').length;
528	var posts = $('article.post');
529	var is_mobile = parseInt(ale.is_mobile);
530	
531	var slider_settings = {
532		animation: "slide",
533		slideshow: false,
534		controlNav: false
535	}
536	
537    $(document).ajaxComplete(function(){
538        try{
539			if (!posts.length) {
540				return;
541			}
542            FB.XFBML.parse(); 
543            gapi.plusone.go();
544            twttr.widgets.load();
545			pin_load();
546        }catch(ex){}
547    });
548	
549    // open external links in new window
550    $("a[rel$=external]").each(function(){
551        $(this).attr('target', '_blank');
552    });
553	
554	$.fn.init_posts = function() {
555		var init_post = function(data) {
556            // close other posts
557            data.post.siblings('.open-post').find('a.toggle').trigger('click', {
558                hide:true
559            });
560			
561			var loading = data.post.find('span.loading');
562			
563			if (data.more.is(':empty')) {
564				data.post.addClass('post-loading');
565				loading.css('visibility', 'visible');
566                data.more.load(ale.ajax_load_url, {
567                    'action':'aletheme_load_post',
568                    'id':data.post.data('post-id')
569                }, function(){
570                    loading.remove();
571                    data.more.slideDown(400, function(){
572                        data.post.addClass('open-post');
573                        data.toggler.text('Close Post');
574						$('.video', data.more).fitVids();
575                        if (data.scroll) {
576                            data.scroll.scrollTo('fast');
577                        }
578                    });
579					init_comments(data.post);
580                });
581            } else {
582                data.more.slideDown(400, function(){
583                    data.post.addClass('open-post');
584                    data.toggler.text('Close Post');
585                    if (data.scroll) {
586                        data.scroll.scrollTo('fast');
587                    }
588                });
589            }
590		}
591
592		var load_post = function(e, _opts) {
593			e.preventDefault();
594            var data  = {
595                toggler:$(this),
596                scroll:false
597            };
598            var opts = $.extend({
599                comments:false,
600                hide:false,
601                add_comment:false
602            }, _opts);
603            data.post = data.toggler.parents('article.post');
604            data.more = data.post.find('.full');
605			
606            if (data.more.is(':visible')) {
607                if (opts.hide == true) {
608					// quick hide for multiple posts
609                    data.more.hide();
610                } else {
611                    data.more.slideUp(400);
612                }
613                data.toggler.text('Open Post');
614                data.post.removeClass('open-post');
615            } else {
616                if (typeof(e.originalEvent) != 'undefined' ) {
617                    data.scroll = data.post;
618                }
619                init_post(data);
620            }
621		}
622		
623		var init_comments = function(post) {
624			var respond = $('section.respond', post);
625			var respond_form = $('form', respond);
626			var respond_form_error = $('p.error', respond_form);
627			//var respond_cancel = $('.cancel-comment-reply a', respond);
628			var comments = $('section.comments', post);
629			
630			/*$('a.comment-reply-link', post).on('click', function(e){
631				e.preventDefault();
632				var comment = $(this).parents('li.comment');
633				comment.find('>div').append(respond);
634				respond_cancel.show();
635				respond.find('input[name=comment_post_ID]').val(post.data('post-id'));
636				respond.find('input[name=comment_parent]').val(comment.data('comment-id'));
637				respond.find('input:first').focus();
638			}).attr('onclick', '');
639
640			respond_cancel.on('click', function(e){
641				e.preventDefault();
642				comments.after(respond);
643				respond.find('input[name=comment_post_ID]').val(post.data('post-id'));
644				respond.find('input[name=comment_parent]').val(0);
645				$(this).hide();
646			});
647			*/
648			respond_form.ajaxForm({
649				'beforeSubmit':function(){
650					respond_form_error.text('').hide();
651				},
652				'success':function(_data){
653					var data = $.parseJSON(_data);
654					if (data.error) {
655						respond_form_error.html(data.msg).slideDown('fast');
656						return;
657					}
658					var comment_parent_id = respond.find('input[name=comment_parent]').val();
659					var _comment = $(data.html);
660					var list;
661					_comment.hide();
662					
663					if (comment_parent_id == 0) {
664						list = comments.find('ol');
665						if (!list.length) {
666							list = $('<ol class="commentlist "></ol>');
667							comments.find('.scrollbox .jspContainer .jspPane').append(list);
668						}
669					} else {
670						list = $('#comment-' + comment_parent_id).parent().find('ul');
671						if (!list.length) {
672							list = $('<ul class="children"></ul>');
673							$('#comment-' + comment_parent_id).parent().append(list);
674						}
675						respond_cancel.trigger('click');
676					}
677					list.append(_comment);
678					_comment.fadeIn('fast');
679							//.scrollTo();
680
681                    var pane2api = post.find('.scrollbox').data('jsp');
682                    pane2api.reinitialise();
683                    pane2api.scrollToElement(_comment.filter('li:last'));
684                    $('.commenttextarea span').html('Thank you for your comment!').attr('style','color:#000000;');
685
686					respond.find('textarea').clearFields();
687				},
688				'error':function(response){
689					var error = response.responseText.match(/\<p\>(.*)<\/p\>/)[1];
690					if (typeof(error) == 'undefined') {
691						error = 'Something went wrong. Please reload the page and try again.';
692					}
693					respond_form_error.html(error).slideDown('fast');
694				}
695			});
696		}
697		$(this).each(function(){
698			var post = $(this);
699			// init post galleries 
700			$(window).load(function(){
701				$('.preview .flexslider', post).flexslider(slider_settings);
702			});
703			// do not init ajax posts & comments for mobile
704			if (!is_mobile) {
705				// ajax posts enabled
706                if (ale.ajax_posts) {
707                    $('a.toggle', post).click(load_post);
708					$('.video', post).fitVids();
709					$('.preview figure a', post).click(function(e){
710						e.preventDefault();
711						$(this).parents('article.post').find('a.toggle').trigger('click');
712					});
713                }
714			}
715		});
716		// init ajax comments on a single post if ajax comments are enabled
717		if (is_single && parseInt(ale.ajax_comments)) {
718			init_comments(posts);	
719		}
720		// open single post on page
721		if (parseInt(ale.ajax_open_single) && !is_single && posts.length == 1) {
722			posts.find('a.toggle').trigger('click');
723		}
724	}
725	posts.init_posts();
726	
727	$.fn.init_gallery = function() {
728		$(this).each(function(){
729			var gallery = $(this);
730			$(window).load(function(){
731				$('.flexslider', gallery).flexslider(slider_settings);
732			});
733			
734		})
735	}
736	$('#gallery').init_gallery();
737
738    $.fn.init_archives = function()
739    {
740        $(this).each(function(){
741            var archives = $(this);
742            var year = $('#archives-active-year');
743            var months = $('div.months div.year-months', archives);
744            var arrows = $('a.up, a.down', archives);
745            var activeMonth;
746            var current, active;
747            var animated = false;
748			if (months.length == 1) {
749				arrows.remove();
750				activeMonth = months.filter(':first').addClass('year-active').show();
751				year.text(activeMonth.attr('id').replace(/[^0-9]*/, ''));
752				return;
753			}
754            arrows.click(function(e){
755                e.preventDefault();
756                if (animated) {
757                    return;
758                }
759                var fn = $(this);
760                animated = true;
761                arrows.css('visibility', 'visible');
762                var current = months.filter('.year-active');
763                if (fn.hasClass('up')) {
764                    active = current.prev();
765                    if (!active.length) {
766                        active = months.filter(':last');
767                    }
768                } else {
769                    active = current.next();
770                    if (!active.length) {
771                        active = months.filter(':first');
772                    }
773                }
774                current.removeClass('year-active').fadeOut(150, function(){
775                    active.addClass('year-active').fadeIn(150, function(){
776                        animated = false;
777                    });
778                    year.text(active.attr('id').replace(/[^0-9]*/, ''));
779
780                    if (fn.hasClass('up')) {
781                        if (!active.prev().length) {
782                            arrows.filter('.up').css('visibility', 'hidden');
783                        }
784                    } else {
785                        if (!active.next().length) {
786                            arrows.filter('.down').css('visibility', 'hidden');
787                        }
788                    }
789                });
790            });
791            activeMonth = months.filter(':first').addClass('year-active').show();
792            year.text(activeMonth.attr('id').replace(/[^0-9]*/, ''));
793            arrows.filter('.up').css('visibility', 'hidden');
794        });
795    }
796    $('#archives .ale-archives').init_archives();
797	
798	
799	
800	
801
802	
803});
804
805// HTML5 Fallbacks for older browsers
806jQuery(function($) {
807    // check placeholder browser support
808    if (!Modernizr.input.placeholder) {
809        // set placeholder values
810        $(this).find('[placeholder]').each(function() {
811            $(this).val( $(this).attr('placeholder') );
812        });
813 
814        // focus and blur of placeholders
815        $('[placeholder]').focus(function() {
816            if ($(this).val() == $(this).attr('placeholder')) {
817                $(this).val('');
818                $(this).removeClass('placeholder');
819            }
820        }).blur(function() {
821            if ($(this).val() == '' || $(this).val() == $(this).attr('placeholder')) {
822                $(this).val($(this).attr('placeholder'));
823                $(this).addClass('placeholder');
824            }
825        });
826 
827        // remove placeholders on submit
828        $('[placeholder]').closest('form').submit(function() {
829            $(this).find('[placeholder]').each(function() {
830                if ($(this).val() == $(this).attr('placeholder')) {
831                    $(this).val('');
832                }
833            });
834        });
835    }
836});
837

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.