PageSourceSearch

http://dooflow.com/js/custom.js

js dooflow.com collected 2026-10-08 23:10:43 UTC 22,837 bytes, 674 lines download raw bytes

1
2jQuery(document).ready(function () {
3
4/*----------------------------------------------------*/
5/*	Search box expand Section
6/*----------------------------------------------------*/
7	    
8	jQuery(".search-text-box").focus(function(){
9	   jQuery("ul.social").animate({ marginLeft: "-120px"}, 450, "easeInSine")
10	});
11
12
13
14
15/*----------------------------------------------------*/
16/*	Keyframe animations enable
17/*----------------------------------------------------*/
18
19jQuery().waypoint && jQuery("body").imagesLoaded(function () {
20        jQuery(".animate_afc, .animate_afl, .animate_afr, .animate_aft, .animate_afb, .animate_wfc, .animate_hfc, .animate_rfc, .animate_rfl, .animate_rfr").waypoint(function () {
21            if (!jQuery(this).hasClass("animate_start")) {
22                var e = jQuery(this);
23                setTimeout(function () {
24                    e.addClass("animate_start")
25                }, 20)
26            }
27        }, {
28            offset: "85%",
29            triggerOnce: !0
30        })
31    });
32
33
34
35/*----------------------------------------------------*/
36/*	Flickr Feed
37/*----------------------------------------------------*/
38
39$('ul#flickrfeed').jflickrfeed({
40		limit: 6,
41		qstrings: {
42			id: '71865026@N00'
43		},
44		itemTemplate: '<li>'+
45						'<a rel="prettyPhoto[pp_gal]" href="{{image}}">' +
46							'<img src="{{image_s}}" alt="{{title}}" />' +
47						'</a>' +
48					  '</li>'
49	}, function(data) {
50		$('a[rel^="prettyPhoto"]').prettyPhoto();
51	});
52
53
54	
55/*----------------------------------------------------*/
56/*	Superfish Mainmenu Section
57/*----------------------------------------------------*/
58	
59    jQuery(function () {
60        jQuery('ul.sf-menu').stop().superfish();
61    });
62	
63
64
65/*----------------------------------------------------*/
66/*	Revolution Slider Nav Arrow Show Hide
67/*----------------------------------------------------*/
68
69    jQuery('.fullwidthbanner-container').hover(function () {
70        jQuery('.tp-leftarrow').stop().animate({
71            "opacity": 1
72        }, 'easeIn');
73        jQuery('.tp-rightarrow').stop().animate({
74            "opacity": 1
75        }, 'easeIn');
76    }, function () {
77        jQuery('.tp-leftarrow').stop().animate({
78            "opacity": 0
79        }, 'easeIn');
80        jQuery('.tp-rightarrow').stop().animate({
81            "opacity": 0
82        }, 'easeIn');
83    }
84
85    );
86	
87	
88	
89    jQuery('.slider-wrapper').hover(function () {
90        jQuery('.nivo-prevNav').stop().animate({
91            "opacity": 1
92        }, 'easeIn');
93        jQuery('.nivo-nextNav').stop().animate({
94            "opacity": 1
95        }, 'easeIn');
96    }, function () {
97        jQuery('.nivo-prevNav').stop().animate({
98            "opacity": 0
99        }, 'easeIn');
100        jQuery('.nivo-nextNav').stop().animate({
101            "opacity": 0
102        }, 'easeIn');
103    }
104
105    );
106
107
108
109
110/*----------------------------------------------------*/
111/*	Accordion Section
112/*----------------------------------------------------*/
113
114    jQuery('.accordionMod').each(function (index) {
115        var thisBox = jQuery(this).children(),
116            thisMainIndex = index + 1;
117        jQuery(this).attr('id', 'accordion' + thisMainIndex);
118        thisBox.each(function (i) {
119            var thisIndex = i + 1,
120                thisParentIndex = thisMainIndex,
121                thisMain = jQuery(this).parent().attr('id'),
122                thisTriggers = jQuery(this).find('.accordion-toggle'),
123                thisBoxes = jQuery(this).find('.accordion-inner');
124            jQuery(this).addClass('panel');
125            thisBoxes.wrap('<div id=\"collapseBox' + thisParentIndex + '_' + thisIndex + '\" class=\"panel-collapse collapse\" />');
126            thisTriggers.wrap('<div class=\"panel-heading\" />');
127            thisTriggers.attr('data-toggle', 'collapse').attr('data-parent', '#' + thisMain).attr('data-target', '#collapseBox' + thisParentIndex + '_' + thisIndex);
128        });
129        jQuery('.accordion-toggle').prepend('<span class=\"icon\" />');
130		jQuery("div.accordion-item:first-child .accordion-toggle").addClass("current");
131		jQuery("div.accordion-item:first-child .icon").addClass("iconActive");
132		jQuery("div.accordion-item:first-child .panel-collapse").addClass("in");
133        jQuery('.accordionMod .accordion-toggle').click(function () {
134            if (jQuery(this).parent().parent().find('.panel-collapse').is('.in')) {
135                jQuery(this).removeClass('current');
136                jQuery(this).find('.icon').removeClass('iconActive');
137            } else {
138                jQuery(this).addClass('current');
139                jQuery(this).find('.icon').addClass('iconActive');
140            }
141            jQuery(this).parent().parent().siblings().find('.accordion-toggle').removeClass('current');
142            jQuery(this).parent().parent().siblings().find('.accordion-toggle > .icon').removeClass('iconActive');
143        });
144    });
145
146
147 
148
149});
150
151
152
153/*----------------------------------------------------*/
154/*	Nivo Slider
155/*----------------------------------------------------*/
156
157jQuery(window).load(function() {
158    jQuery('#nivoslider').nivoSlider({
159        effect: 'random', // Specify sets like: 'fold,fade,sliceDown'
160        slices: 15, // For slice animations
161        boxCols: 8, // For box animations
162        boxRows: 4, // For box animations
163        animSpeed: 500, // Slide transition speed
164        pauseTime: 5000, // How long each slide will show
165        startSlide: 0, // Set starting Slide (0 index)
166        directionNav: true, // Next & Prev navigation
167        controlNav: false, // 1,2,3... navigation
168        controlNavThumbs: false, // Use thumbnails for Control Nav
169        pauseOnHover: true, // Stop animation while hovering
170        manualAdvance: false, // Force manual transitions
171        prevText: '', // Prev directionNav text
172        nextText: '', // Next directionNav text
173        randomStart: false, // Start on a random slide
174        beforeChange: function(){}, // Triggers before a slide transition
175        afterChange: function(){}, // Triggers after a slide transition
176        slideshowEnd: function(){}, // Triggers after all slides have been shown
177        lastSlide: function(){}, // Triggers when last slide is shown
178        afterLoad: function(){} // Triggers when slider has loaded
179    });
180});
181
182
183
184/*----------------------------------------------------*/
185/*	Revolution Slider Triggering
186/*----------------------------------------------------*/
187
188
189   jQuery(document).ready(function() {
190      if (jQuery.fn.cssOriginal!=undefined)
191      jQuery.fn.css = jQuery.fn.cssOriginal;
192      jQuery('.fullwidthbanner').revolution({
193        delay: 9000,
194        startwidth: 1170,
195        startheight: 470,
196
197        onHoverStop: "on",
198        // Stop Banner Timet at Hover on Slide on/off
199        thumbWidth: 100,
200        // Thumb With and Height and Amount (only if navigation Tyope set to thumb !)
201        thumbHeight: 50,
202        thumbAmount: 3,
203
204        hideThumbs: 0,
205        navigationType: "none",
206        // bullet, thumb, none
207        navigationArrows: "solo",
208        // nexttobullets, solo (old name verticalcentered), none
209        navigationStyle: "square",
210        // round,square,navbar,round-old,square-old,navbar-old, or any from the list in the docu (choose between 50+ different item), custom
211
212        navigationHAlign: "center",
213        // Vertical Align top,center,bottom
214        navigationVAlign: "top",
215        // Horizontal Align left,center,right
216        navigationHOffset: 0,
217        navigationVOffset: 20,
218
219        soloArrowLeftHalign: "left",
220        soloArrowLeftValign: "center",
221        soloArrowLeftHOffset: 0,
222        soloArrowLeftVOffset: 0,
223
224        soloArrowRightHalign: "right",
225        soloArrowRightValign: "center",
226        soloArrowRightHOffset: 0,
227        soloArrowRightVOffset: 0,
228
229        touchenabled: "on",
230        // Enable Swipe Function : on/off
231
232
233        stopAtSlide: -1,
234        // Stop Timer if Slide "x" has been Reached. If stopAfterLoops set to 0, then it stops already in the first Loop at slide X which defined. -1 means do not stop at any slide. stopAfterLoops has no sinn in this case.
235        stopAfterLoops: -1,
236        // Stop Timer if All slides has been played "x" times. IT will stop at THe slide which is defined via stopAtSlide:x, if set to -1 slide never stop automatic
237        hideCaptionAtLimit: 0,
238        // It Defines if a caption should be shown under a Screen Resolution ( Basod on The Width of Browser)
239        hideAllCaptionAtLilmit: 0,
240        // Hide all The Captions if Width of Browser is less then this value
241        hideSliderAtLimit: 0,
242        // Hide the whole slider, and stop also functions if Width of Browser is less than this value
243
244        fullWidth: "on",
245
246        shadow: 0 //0 = no Shadow, 1,2,3 = 3 Different Art of Shadows -  (No Shadow in Fullwidth Version !)
247    });
248
249
250
251
252});
253
254
255
256
257
258/*----------------------------------------------------*/
259/*	Carousel Section
260/*----------------------------------------------------*/
261
262	jQuery('.portfolio-carousel').carousel({interval: false, wrap: false});
263	
264	
265	jQuery('.client-carousel').carousel({interval: false, wrap: false});
266	
267	jQuery('.testimonials-carousel').carousel({interval: 5000, pause: "hover"});
268
269
270
271$(document).ready(function(){
272		$("a[rel^='prettyPhoto']").prettyPhoto({
273			animation_speed: 'fast', /* fast/slow/normal */
274			slideshow: 5000, /* false OR interval time in ms */
275			autoplay_slideshow: false, /* true/false */
276			opacity: 0.80, /* Value between 0 and 1 */
277			show_title: true, /* true/false */
278			allow_resize: true, /* Resize the photos bigger than viewport. true/false */
279			default_width: 500,
280			default_height: 344,
281			counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
282			theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */
283			horizontal_padding: 20, /* The padding on each side of the picture */
284			hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
285			wmode: 'opaque', /* Set the flash wmode attribute */
286			autoplay: true, /* Automatically start videos: True/False */
287			modal: false, /* If set to true, only the close button will close the window */
288			deeplinking: true, /* Allow prettyPhoto to update the url to enable deeplinking. */
289			overlay_gallery: true, /* If set to true, a gallery will overlay the fullscreen image on mouse over */
290			keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */
291			changepicturecallback: function(){}, /* Called everytime an item is shown/changed */
292			callback: function(){}, /* Called when prettyPhoto is closed */
293			ie6_fallback: true,
294			markup: '<div class="pp_pic_holder"> \
295						<div class="ppt">&nbsp;</div> \
296						<div class="pp_top"> \
297							<div class="pp_left"></div> \
298							<div class="pp_middle"></div> \
299							<div class="pp_right"></div> \
300						</div> \
301						<div class="pp_content_container"> \
302							<div class="pp_left"> \
303							<div class="pp_right"> \
304								<div class="pp_content"> \
305									<div class="pp_loaderIcon"></div> \
306									<div class="pp_fade"> \
307										<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
308										<div class="pp_hoverContainer"> \
309											<a class="pp_next" href="#">next</a> \
310											<a class="pp_previous" href="#">previous</a> \
311										</div> \
312										<div id="pp_full_res"></div> \
313										<div class="pp_details"> \
314											<div class="pp_nav"> \
315												<a href="#" class="pp_arrow_previous">Previous</a> \
316												<p class="currentTextHolder">0/0</p> \
317												<a href="#" class="pp_arrow_next">Next</a> \
318											</div> \
319											<p class="pp_description"></p> \
320											{pp_social} \
321											<a class="pp_close" href="#">Close</a> \
322										</div> \
323									</div> \
324								</div> \
325							</div> \
326							</div> \
327						</div> \
328						<div class="pp_bottom"> \
329							<div class="pp_left"></div> \
330							<div class="pp_middle"></div> \
331							<div class="pp_right"></div> \
332						</div> \
333					</div> \
334					<div class="pp_overlay"></div>',
335			gallery_markup: '<div class="pp_gallery"> \
336								<a href="#" class="pp_arrow_previous">Previous</a> \
337								<div> \
338									<ul> \
339										{gallery} \
340									</ul> \
341								</div> \
342								<a href="#" class="pp_arrow_next">Next</a> \
343							</div>',
344			image_markup: '<img id="fullResImage" src="{path}" />',
345			flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',
346			quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',
347			iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',
348			inline_markup: '<div class="pp_inline">{content}</div>',
349			custom_markup: '',
350			social_tools: '<div class="pp_social"><div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="http://www.facebook.com/plugins/like.php?locale=en_US&href='+location.href+'&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div></div>' /* html or false to disable */
351		});
352	});
353
354
355
356
357
358/*----------------------------------------------------*/
359/*	Hover Overlay
360/*----------------------------------------------------*/
361
362jQuery(document).ready(function () {
363	
364	
365
366
367	jQuery('.portfolio-item').hover(function () {
368			jQuery(this).find( '.portfolio-item-hover' ).animate({
369				"opacity": 0.8
370			}, 100, 'easeInOutCubic');
371			
372			
373		}, function () {
374			jQuery(this).find( '.portfolio-item-hover' ).animate({
375				"opacity": 0
376			}, 100, 'easeInOutCubic');
377			
378	});
379	
380	
381	jQuery('.portfolio-item').hover(function () {
382       jQuery(this).find(".fullscreen").stop().animate({'top' : '60%', 'opacity' : 1}, 250, 'easeOutBack');
383        
384    }, function () {
385        jQuery(this).find(".fullscreen").stop().animate({'top' : '65%', 'opacity' : 0}, 150, 'easeOutBack');
386        
387    });
388	
389	
390	jQuery('.blog-showcase ul li').each(function () {
391		jQuery(this).on('hover', function () {
392			jQuery(this).siblings('li').removeClass('blog-first-el').end().addClass('blog-first-el');
393		});
394	});
395	
396	
397	jQuery('.blog-showcase-thumb').hover(function () {
398        jQuery(this).find( '.post-item-hover' ).animate({
399            "opacity": 0.8
400        }, 100, 'easeInOutCubic');
401        
402    }, function () {
403        jQuery(this).find( '.post-item-hover' ).animate({
404            "opacity": 0
405        }, 100, 'easeInOutCubic');
406        
407    });
408	
409
410	
411	jQuery('.blog-showcase-thumb').hover(function () {
412       jQuery(this).find(".fullscreen").stop().animate({'top' : '57%', 'opacity' : 1}, 250, 'easeOutBack');
413        
414    }, function () {
415        jQuery(this).find(".fullscreen").stop().animate({'top' : '65%', 'opacity' : 0}, 150, 'easeOutBack');
416        
417    });
418
419
420
421/* Post Image overlay */	
422	
423	jQuery('.post-image').hover(function () {
424        jQuery(this).find( '.img-hover' ).animate({
425            "opacity": 0.8
426        }, 100, 'easeInOutCubic');
427		
428        
429    }, function () {
430        jQuery(this).find( '.img-hover' ).animate({
431            "opacity": 0
432        }, 100, 'easeInOutCubic');
433        
434    });
435	
436	
437	jQuery('.post-image').hover(function () {
438       jQuery(this).find(".fullscreen").stop().animate({'top' : '55%', 'opacity' : 1}, 250, 'easeOutBack');
439        
440    }, function () {
441        jQuery(this).find(".fullscreen").stop().animate({'top' : '65%', 'opacity' : 0}, 150, 'easeOutBack');
442        
443    });
444	
445
446/*Mobile device topnav opener*/
447	
448	jQuery( ".down-button" ).click(function() {
449    jQuery( ".down-button .icon-current" ).toggleClass("icon-angle-up icon-angle-down");
450});
451
452
453
454/*----------------------------------------------------*/
455/*	Clients section Parallax
456/*----------------------------------------------------*/
457
458	jQuery('.client').parallax("50%", 0.1);
459	jQuery('.service-reasons').parallax("50%", 0.1);
460
461	jQuery("a[data-rel^='prettyPhoto']").prettyPhoto({overlay_gallery: false});
462	
463	
464
465/*----------------------------------------------------*/
466/*	Tootltip Initialize
467/*----------------------------------------------------*/
468
469
470
471    jQuery("[data-toggle='tooltip']").tooltip();
472
473});
474
475
476
477
478/*----------------------------------------------------*/
479/*	Sticky Menu
480/*----------------------------------------------------*/
481
482	jQuery(document).ready(function(){
483		jQuery(".main-header").sticky({topSpacing:0});
484	});
485
486
487
488/*----------------------------------------------------*/
489/*	Scroll To Top Section
490/*----------------------------------------------------*/
491	jQuery(document).ready(function () {
492	
493		jQuery(window).scroll(function () {
494			if (jQuery(this).scrollTop() > 100) {
495				jQuery('.scrollup').fadeIn();
496			} else {
497				jQuery('.scrollup').fadeOut();
498			}
499		});
500	
501		jQuery('.scrollup').click(function () {
502			jQuery("html, body").animate({
503				scrollTop: 0
504			}, 600);
505			return false;
506		});
507	
508	});
509
510
511
512/*----------------------------------------------------*/
513/*	Twitter Section
514/*----------------------------------------------------*/
515
516	jQuery('#tweets').tweetMachine('', {
517		backendScript:  'http://demo.fifothemes.com/pixma/ajax/getFromTwitter.php',
518		endpoint: 'statuses/user_timeline',
519		user_name: 'FIFOThemes',
520		include_retweets: true,
521		exclude_replies: false,
522		limit: 1,
523		autoRefresh: false
524	});
525
526
527
528
529
530/*----------------------------------------------------*/
531/*	Tabs Control Section
532/*----------------------------------------------------*/
533
534
535	jQuery("#horizontal-tabs").tytabs({
536		tabinit: "1",
537		fadespeed: "fast"
538	});
539	jQuery("#horizontal-tabs.two").tytabs({
540		tabinit: "1",
541		prefixtabs: "tab_two",
542		prefixcontent: "content_two",
543		fadespeed: "fast"
544	});
545	jQuery("#horizontal-tabs.three").tytabs({
546		tabinit: "1",
547		prefixtabs: "tab_three",
548		prefixcontent: "content_three",
549		fadespeed: "fast"
550	});
551	jQuery("#horizontal-tabs.four").tytabs({
552		tabinit: "1",
553		prefixtabs: "tab_four",
554		prefixcontent: "content_four",
555		fadespeed: "fast"
556	});
557	jQuery("#horizontal-tabs.five").tytabs({
558		tabinit: "1",
559		prefixtabs: "tab_five",
560		prefixcontent: "content_five",
561		fadespeed: "fast"
562	});
563	jQuery("#vertical-tabs").tytabs({
564		tabinit: "1",
565		prefixtabs: "tab_v",
566		prefixcontent: "content_v",
567		fadespeed: "fast"
568	});
569	jQuery("#vertical-tabs.two").tytabs({
570		tabinit: "1",
571		prefixtabs: "tab_v_two",
572		prefixcontent: "content_v_two",
573		fadespeed: "fast"
574	});
575	jQuery("#vertical-tabs.three").tytabs({
576		tabinit: "1",
577		prefixtabs: "tab_v_three",
578		prefixcontent: "content_v_three",
579		fadespeed: "fast"
580	});
581	jQuery("#vertical-tabs.four").tytabs({
582		tabinit: "1",
583		prefixtabs: "tab_v_four",
584		prefixcontent: "content_v_four",
585		fadespeed: "fast"
586	});
587	jQuery("#vertical-tabs.five").tytabs({
588		tabinit: "1",
589		prefixtabs: "tab_v_five",
590		prefixcontent: "content_v_five",
591		fadespeed: "fast"
592	});
593	jQuery(".hideit").click(function () {
594		e(this).fadeOut(600)
595	});
596	jQuery("#toggle-view li h4").click(function () {
597		var t = e(this).siblings("div.panel");
598		if (t.is(":hidden")) {
599			t.slideDown("200");
600			e(this).siblings("span").html("-")
601		} else {
602			t.slideUp("200");
603			e(this).siblings("span").html("+")
604		}
605	});
606	
607	jQuery(function (jQuery) {
608		jQuery("#example").popover();
609		jQuery("#example_left").popover({
610			placement: 'left'
611		});
612		jQuery("#example_top").popover({
613			placement: 'top'
614		});
615		jQuery("#example_bottom").popover({
616			placement: 'bottom'
617		});
618	}); 
619
620
621
622	/*----------------------------------------------------*/
623	/*	Jquery Google map Section
624	/*----------------------------------------------------*/
625		
626	//Google map
627	jQuery('#maps').gMap({
628		address: "Khulna Division, Bangladesh",
629		zoom: 10,
630		markers: [{
631			latitude: 22.816694,
632			longitude: 89.549904,
633			html: "<h4>FIFO Themes</h4>Wordpress, HTML5/CSS Themes",
634			popup: true
635		}]
636	});
637
638
639
640	/*----------------------------------------------------*/
641	/*	Contact Form Section
642	/*----------------------------------------------------*/
643$("#contact").submit(function (e) {
644    e.preventDefault();
645    var name = $("#name").val();
646    var email = $("#email").val();
647	var subject = $("#subject").val();
648    var text = $("#text").val();
649	 var recaptchaResponse = $("#recaptchaResponse").val();
650    var dataString = 'name=' + name + '&email=' + email + '&subject=' + subject + '&text=' + text + '&recaptchaResponse=' + recaptchaResponse  ;
651	
652
653    function isValidEmail(emailAddress) {
654        var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
655        return pattern.test(emailAddress);
656    };
657
658    if (isValidEmail(email) && (text.length > 15) && (name.length > 1)) {
659        $.ajax({
660            type: "POST",
661            url: "ajax/process.php",
662            data: dataString,
663            success: function () {
664                $('.success').fadeIn(1000).delay(3000).fadeOut(1000);
665                $('#contact')[0].reset();
666            }
667        });
668    } else {
669        $('.error').fadeIn(1000).delay(5000).fadeOut(1000);
670
671    }
672
673    return false;
674});

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.