PageSourceSearch

https://mylibretto.app/assets/js/script.js

js mylibretto.app collected 2026-10-02 01:14:20 UTC 7,599 bytes, 300 lines download raw bytes

1/* Template	:	AppsLand v1.1 */
2;(function($){
3	'use strict';
4	var $win = $(window), $body = $('body');
5	// Smooth scrolling using jQuery easing
6	$('a.nav-item[href*="#"]:not([href="#"])').on("click", function() {
7		if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') && location.hostname === this.hostname) {
8		  var toHash = $(this.hash), toHashN = (this.hash.slice(1)) ? $('[name=' + this.hash.slice(1) + ']') : false;
9		  toHash = toHash.length ? toHash : toHashN;
10		  if (toHash.length) {
11			$('html, body').animate({
12			  scrollTop: (toHash.offset().top - 70)
13			}, 1000, "easeInOutExpo");
14			return false;
15		  }
16		}
17	});
18	
19	// Nav collapse
20	$('.nav-item').on("click",function() {
21		$('.navbar-collapse').collapse('hide');
22		$('.dropdown').removeClass('open').children('.dropdown-menu').removeAttr('style');
23	});
24	
25	// Bootstrap Dropdown 
26	var $dropdown_menu = $('.dropdown');	
27	if ($dropdown_menu.length > 0 ) {
28		$dropdown_menu.on("mouseover",function(){
29			if ($win.width() > 991) {
30				$('.dropdown-menu', this).not('.in .dropdown-menu').stop().fadeIn("400");
31				$(this).addClass('open'); 
32			}
33		});
34		$dropdown_menu.on("mouseleave",function(){
35			if ($win.width() > 991) {
36				$('.dropdown-menu', this).not('.in .dropdown-menu').stop().fadeOut("400");
37				$(this).removeClass('open'); 
38			}
39		});
40		$dropdown_menu.on("click",function(){
41			if ($win.width() < 991) {
42				$(this).children('.dropdown-menu').slideToggle(500);
43				return false;
44			}
45		});
46	}
47	$win.on('resize', function() {
48		$('.navbar-collapse').removeClass('in');
49		$dropdown_menu.children('.dropdown-menu').fadeOut("400");
50	});
51	
52	// navigation ScrolSpy
53	$body.scrollspy({
54		target: '#navigation',
55		offset: 90
56	});
57	
58	//magnificPopup	Video
59	var $video_play = $('.video-play');
60	if ($video_play.length > 0 ) {
61		$video_play.magnificPopup({
62			type: 'iframe',
63			removalDelay: 160,
64			preloader: true,
65			fixedContentPos: false
66		});
67	}
68	
69	//magnificPopup	Content
70	var $content_popup = $('.content-popup');
71	if ($content_popup.length > 0 ) {
72		$content_popup.magnificPopup({
73			type: 'inline',
74			preloader: true,
75			removalDelay: 400,
76			mainClass: 'mfp-fade bg-gradiant'
77		});
78	}
79	
80	
81	//Carousel
82	var $has_carousel = $('.has-carousel');
83	if ($has_carousel.length > 0 ) {
84		$has_carousel.each(function(){
85		  var $self = $(this);
86		  var c_item = ($self.data('items')) ? $self.data('items') : 4;
87		  var c_item_t = (c_item >= 3) ? 3 : c_item;
88		  var c_item_m = (c_item_t >= 2) ? 2 : c_item_t;
89		  var c_delay =($self.data('delay')) ? $self.data('delay') : 6000;
90		  var c_auto =($self.data('auto')) ? true : false;
91		  var c_loop =($self.data('loop')) ? true : false;
92		  var c_dots = ($self.data('dots')) ? true : false;
93		  var c_navs = ($self.data('navs')) ? true : false;
94		  var c_ctr = ($self.data('center')) ? true : false;
95		  var c_mgn = ($self.data('margin')) ? $self.data('margin') : 30;
96		  var c_animateOut = ($self.data('animateOut')) ? $self.data('animateOut') : 'fadeOut';
97		  $self.owlCarousel({
98			navText: ["<i class='fa fa-angle-left'></i>","<i class='fa fa-angle-right'></i>"],
99			items: c_item, loop: c_loop, nav: c_navs, dots: c_dots, margin: c_mgn, center: c_ctr, animateOut: c_animateOut, 
100			autoplay: c_auto, autoplayTimeout: c_delay, autoplaySpeed: 300, 
101			responsive:{ 0:{ items:1 }, 480:{ items: c_item_m }, 768:{ items: c_item_t }, 1170:{ items: c_item } }
102		  });
103		});
104	}
105
106	//ImageBG
107	var $imageBG = $('.imagebg');
108	if ($imageBG.length > 0) {
109		$imageBG.each(function(){
110			var $this = $(this), 
111				$that = $this.parent(),
112				overlay = $this.data('overlay'),
113				image = $this.children('img').attr('src');
114			var olaytyp = (typeof overlay!=='undefined' && overlay!=='') ? overlay.split('-') : false;
115			
116			// If image found
117			if (typeof image!=='undefined' && image !==''){
118				if (!$that.hasClass('has-bg-image')) {
119					$that.addClass('has-bg-image');
120				}
121				if ( olaytyp!=='' && (olaytyp[0]==='dark') ) {
122					if (!$that.hasClass('light')) {
123						$that.addClass('light');
124					}
125				}
126				$this.css("background-image", 'url("'+ image +'")').addClass('bg-image-loaded');
127			}
128		});
129	}
130
131	// FORMS
132	var quoteForm = $('#contact-form');
133	if (quoteForm.length > 0) {
134	  if( !$().validate || !$().ajaxSubmit ) {
135		  console.log('quoteForm: jQuery Form or Form Validate not Defined.');
136		  return true;
137	  }
138	  // Quote Form - home page
139	  if (quoteForm.length > 0) {
140		  var selectRec = quoteForm.find('select.required'), 
141		  qf_results = quoteForm.find('.form-results');
142		  quoteForm.validate({
143			invalidHandler: function () { qf_results.slideUp(400); },
144			submitHandler: function(form) {
145			  qf_results.slideUp(400);
146			  $(form).ajaxSubmit({
147				target: qf_results, dataType: 'json',
148				success: function(data) {
149				  var type = (data.result==='error') ? 'alert-danger' : 'alert-success';
150				  qf_results.removeClass( 'alert-danger alert-success' ).addClass( 'alert ' + type ).html(data.message).slideDown(400);
151				  if (data.result !== 'error') { $(form).clearForm(); }
152				}
153			  });
154			}
155		  });
156		  selectRec.on('change', function() { $(this).valid(); });
157	  }
158	}
159	
160	// Preloader
161	var $preload = $('#preloader');
162	if ($preload.length > 0) {
163		$(window).on('load', function() {
164		  $preload.children().fadeOut(300);
165		  $preload.delay(150).fadeOut(500);
166		  $('body').delay(100).css({'overflow':'visible'});
167		});
168	}
169	
170	//WOW init
171	new WOW().init();
172	
173	// particlesJS
174	var $particles_js = $('#particles-js');
175	if ($particles_js.length > 0 ) {
176		particlesJS('particles-js',
177		// Update your personal code.
178        {
179		  "particles": {
180			"number": {
181			  "value": 80,
182			  "density": {
183				"enable": true,
184				"value_area": 800
185			  }
186			},
187			"color": {
188			  "value": "#ffffff"
189			},
190			"shape": {
191			  "type": "circle",
192			  "stroke": {
193				"width": 0,
194				"color": "#000000"
195			  },
196			  "polygon": {
197				"nb_sides": 5
198			  },
199			  "image": {
200				"src": "img/github.svg",
201				"width": 100,
202				"height": 100
203			  }
204			},
205			"opacity": {
206			  "value": 0.5,
207			  "random": false,
208			  "anim": {
209				"enable": false,
210				"speed": 1,
211				"opacity_min": 0.1,
212				"sync": false
213			  }
214			},
215			"size": {
216			  "value": 3,
217			  "random": true,
218			  "anim": {
219				"enable": false,
220				"speed": 40,
221				"size_min": 0.1,
222				"sync": false
223			  }
224			},
225			"line_linked": {
226			  "enable": true,
227			  "distance": 150,
228			  "color": "#ffffff",
229			  "opacity": 0.4,
230			  "width": 1.3
231			},
232			"move": {
233			  "enable": true,
234			  "speed": 2,
235			  "direction": "none",
236			  "random": false,
237			  "straight": false,
238			  "out_mode": "out",
239			  "bounce": false,
240			  "attract": {
241				"enable": false,
242				"rotateX": 600,
243				"rotateY": 1200
244			  }
245			}
246		  },
247		  "interactivity": {
248			"detect_on": "canvas",
249			"events": {
250			  "onhover": {
251				"enable": true,
252				"mode": "repulse"
253			  },
254			  "onclick": {
255				"enable": true,
256				"mode": "push"
257			  },
258			  "resize": true
259			},
260			"modes": {
261			  "grab": {
262				"distance": 400,
263				"line_linked": {
264				  "opacity": 1
265				}
266			  },
267			  "bubble": {
268				"distance": 400,
269				"size": 40,
270				"duration": 2,
271				"opacity": 8,
272				"speed": 3
273			  },
274			  "repulse": {
275				"distance": 200,
276				"duration": 0.4
277			  },
278			  "push": {
279				"particles_nb": 4
280			  },
281			  "remove": {
282				"particles_nb": 2
283			  }
284			}
285		  },
286		  "retina_detect": true
287		}
288		// Stop here.
289      );
290	}
291	
292	// Active page menu when click
293	var url = window.location.href;
294	var $nav_link = $(".dropdown li a");
295	$nav_link.each(function() {
296		if (url === (this.href)) {
297			$(this).closest("li").addClass("active");
298		}
299	});
300})(jQuery);

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.