PageSourceSearch

https://wevolved.com/wp-content/themes/wevolved-theme/js/script.js?ver=20261006044117

js wevolved.com collected 2026-10-06 04:41:41 UTC 12,794 bytes, 482 lines download raw bytes

1$(document).ready(function () {
2	//Header troca cor
3	if (
4		$("body").hasClass("home") ||
5		$("body").hasClass("single-servico") ||
6		$("body").hasClass("single-servicos")
7	) {
8		$(window).scroll(function () {
9			var scroll = $(this).scrollTop();
10
11			if (scroll > 100) {
12				$("header").addClass("muda");
13			} else {
14				$("header").removeClass("muda");
15			}
16		});
17	}
18
19	//Hamburguer Menu
20	$(".hamburguer-menu").click(function () {
21		if ($(this).hasClass("open")) {
22			$(this).removeClass("open").addClass("fecha");
23			$("header").toggleClass("abre-menu");
24		} else if ($(this).hasClass("fecha")) {
25			$(this).removeClass("fecha").addClass("open");
26			$("header").toggleClass("abre-menu");
27		} else {
28			$(this).addClass("open");
29			$("header").toggleClass("abre-menu");
30		}
31	});
32
33	//Página Serviços
34	if ($(".todos-servicos").length > 0) {
35		$(".instagram").addClass("servicos");
36		// 		$(
37		// 			'<div class="single-servicos"><iframe src="/wp-content/themes/wevolved-theme/homeFrames/homeFrame3.php"></iframe></div>'
38		// 		).insertBefore(".todos-servicos");
39	}
40
41	//Item Serviços
42	// 	$(".item-servicos").click(function (e) {
43	// 		e.preventDefault();
44	// 		$("ul#menu-menu-principal-pt").addClass("servicos");
45	// 		$(".wrapper-redes-menu").addClass("desaparece");
46	// 	});
47
48	if ($(window).width() >= 991) {
49		$('<div class="item-digitais-before"></div>').insertBefore(
50			".item-digitais"
51		);
52	}
53
54	$(".item-digitais-before").click(function () {
55		$("ul#menu-menu-principal-pt").removeClass("servicos");
56		$(".wrapper-redes-menu").removeClass("desaparece");
57	});
58
59	$(".item-digitais, .item-graficos").wrapAll(
60		'<div class="lista-servicos"></div>'
61	);
62	$(".lista-servicos").insertAfter(".item-servicos");
63
64	if ($('html[lang="en-US"]').length > 0) {
65		$(".item-graficos > a").text("Graphic");
66		$(".item-digitais > a").text("Digital");
67	}
68
69	//Slide Projetos
70
71	if ($("body").hasClass("home")) {
72		$(".slide-projetos").slick({
73			infinite: true,
74			// centerMode: true,
75			slidesToShow: 3,
76			slidesToScroll: 2,
77			speed: 1000,
78			autoplaySpeed: 2400,
79			autoplay: true,
80			pauseOnHover: false,
81			responsive: [
82				{
83					breakpoint: 991,
84					settings: {
85						slidesToShow: 2,
86					},
87				},
88				{
89					breakpoint: 768,
90					settings: {
91						slidesToShow: 1,
92						slidesToScroll: 1,
93					},
94				},
95			],
96		});
97	}
98
99	if ($(".testemunhoSlide").length) {
100		$(".testemunhoSlide").slick({
101			infinite: false,
102			// centerMode: true,
103			slidesToShow: 2,
104			speed: 1000,
105			autoplaySpeed: 6000,
106			autoplay: true,
107			pauseOnHover: false,
108			arrows: false,
109			dots: true,
110			responsive: [
111				{
112					breakpoint: 991,
113					settings: {
114						slidesToShow: 1,
115					},
116				},
117			],
118		});
119	}
120
121	//Pesquisa
122	$(".li-procurar").click(function () {
123		$(".pesquisa-container").addClass("open");
124	});
125
126	$(".cruz-pesquisa").click(function () {
127		$(".pesquisa-container").removeClass("open");
128	});
129
130	// usado na página Contactos:
131	// Isto serve para mudar a localização do elemento "dir" reutilizado do footer (contém as redes sociais)
132	// para dentro de uma div de modo a ficar uma grid 2x2
133	$(".empresa-informacoes .dir").appendTo(
134		".contactos-wrapper-2 .info-contactos"
135	);
136
137	// Clique em tipos de servico página Sobre-nos
138	$(".tipo-servico").click(function () {
139		$(".tipo-servico").removeClass("servico-active");
140		$(this).addClass("servico-active");
141
142		var servicoID = $(this).attr("data-tipo");
143
144		// remover active de todos
145		$(".servico-wrapper").removeClass("servico-active");
146
147		// Mostrar o servico-wrapper clicado
148		$(".servico-wrapper").each(function (index) {
149			if ($(this).attr("data-tipo") == servicoID) {
150				$(this).addClass("servico-active");
151			}
152		});
153	});
154
155	//Run Animation Images Serviços
156	if ($("body").hasClass("single-servicos")) {
157		runAnimation(".slide-top");
158		runAnimation(".slide-right");
159		runAnimation(".slide-left");
160		// console.log('xxxxxxxx');
161		$(".contactos-servicos .dir").appendTo(
162			".contactos-servicos .info-contactos"
163		);
164	}
165
166	//Run Animation Images Serviços
167	if ($("body").hasClass("single-projeto")) {
168		$(".contactos-servicos .dir").appendTo(
169			".contactos-servicos .info-contactos"
170		);
171	}
172
173	function runAnimation(element) {
174		$(element).each(function (index) {
175			$(this).attr("data-index", index);
176		});
177
178		$(window).scroll(function () {
179			var scrollTop = $(window).scrollTop();
180			var windowHeight = $(window).height();
181
182			$(element).each(function () {
183				var distancia = $(this).offset().top;
184				var elementHeight = $(this).outerHeight();
185				var index = $(this).data("index");
186				var bottomPosition = distancia + elementHeight;
187
188				if (
189					bottomPosition >= scrollTop &&
190					distancia <= scrollTop + windowHeight
191				) {
192					$(element + '[data-index="' + index + '"]').addClass("run");
193				}
194			});
195		});
196	}
197
198	//Filtragem Produtos
199	if ($(".produtos-lista").length > 0) {
200		$("form.woocommerce-ordering").remove();
201
202		$("ul.products.columns-3 .product").each(function () {
203			var price = $(".price span bdi", this).text();
204			console.log(price);
205			if (price == "0,00 €") {
206				$(".price span bdi", this).text("GRÁTIS");
207			}
208		});
209
210		//Ir buscar o parametro tamanho
211		var queryString = window.location.search;
212		queryString = queryString.substring(1);
213		var queryParams = queryString.split("&");
214		var tamanhosArray = [];
215
216		for (var i = 0; i < queryParams.length; i++) {
217			var pair = queryParams[i].split("=");
218			if (pair[0] === "tamanho") {
219				tamanhosArray.push(pair[1]);
220			}
221		}
222
223		console.log(tamanhosArray);
224
225		$(".tamanhos li input").each(function () {
226			var checkboxValue = $(this).val();
227			if (tamanhosArray.includes(checkboxValue)) {
228				$(this).prop("checked", true);
229			}
230		});
231
232		//Ir buscar o parâmetro orderby
233		function getParameterByName(name, url) {
234			if (!url) url = window.location.href;
235			name = name.replace(/[\[\]]/g, "\\$&");
236			var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
237				results = regex.exec(url);
238			if (!results) return null;
239			if (!results[2]) return "";
240			return decodeURIComponent(results[2].replace(/\+/g, " "));
241		}
242		var orderbyValue = getParameterByName("orderby");
243
244		if (orderbyValue) {
245			var selectElement = document.querySelector(".orderby");
246			var optionToSelect = selectElement.querySelector(
247				'option[value="' + orderbyValue + '"]'
248			);
249
250			if (optionToSelect) {
251				optionToSelect.selected = true;
252			}
253		}
254
255		//Passar os valores tamanho para url
256		$(".tamanhos li input").change(function () {
257			var tamanho = $(this).val();
258
259			if ($(this).is(":checked")) {
260				tamanhosArray.push(tamanho);
261			} else {
262				tamanhosArray = tamanhosArray.filter(function (value) {
263					return value !== tamanho;
264				});
265			}
266
267			var currentUrl = window.location.href;
268			var urlParts = currentUrl.split("?");
269
270			if (urlParts.length > 1) {
271				var queryParams = urlParts[1].split("&");
272				queryParams = queryParams.filter(function (param) {
273					return !param.startsWith("tamanho=");
274				});
275				if (tamanhosArray.length > 0) {
276					queryParams.push("tamanho=" + tamanhosArray.join("&tamanho="));
277				}
278
279				var newUrl = urlParts[0] + "?" + queryParams.join("&");
280			} else {
281				var newUrl =
282					currentUrl + "?tamanho=" + tamanhosArray.join("&tamanho=");
283			}
284
285			window.location.href = newUrl;
286		});
287
288		//Passar os valores orderby para o url
289		$(".orderby").on("change", function (event) {
290			var selectedValue = $(this).val();
291			var currentUrl = window.location.href;
292			var urlParts = currentUrl.split("?");
293			var baseUrl = urlParts[0];
294			var queryParams = [];
295
296			if (urlParts.length > 1) {
297				queryParams = urlParts[1].split("&").filter(function (param) {
298					return !param.startsWith("orderby=");
299				});
300			}
301
302			queryParams.push("orderby=" + selectedValue);
303
304			var newUrl = baseUrl + "?" + queryParams.join("&");
305			window.location.href = newUrl;
306		});
307
308		//Comparar Arrays
309		if (tamanhosArray.length > 0) {
310			$(".produtos-lista > div").each(function () {
311				var variations = $(this).data("variation");
312				var id = $(this).data("id");
313
314				if (variations) {
315					var variationsArray = variations.split(",");
316					variationsArray = variationsArray.filter(function (variation) {
317						return variation.trim() !== "";
318					});
319
320					// Verificar se todos os elementos de 'tamanhosArray' estão em 'variationsArray'
321					if (
322						tamanhosArray.every(function (size) {
323							return variationsArray.includes(size);
324						})
325					) {
326						console.log("ID:", id, "Tem todos os tamanhos.");
327						$("li.post-" + id).addClass("filtrado");
328					}
329				}
330			});
331		}
332
333		if ($("li.filtrado").length > 0) {
334			$("ul.products li.product.type-product")
335				.not(".filtrado")
336				.addClass("desaparece");
337		}
338	}
339
340	if ($("body").hasClass("single-product")) {
341		$(".summary .price").insertAfter("h1.title-product");
342		$(".sku_wrapper").insertBefore(
343			".woocommerce-product-details__short-description p"
344		);
345
346		$(".single-product .quantity > label").text("Quantidade:");
347		$("button.single_add_to_cart_button.button.alt").text(
348			"Adicionar ao carrinho"
349		);
350
351		var price = $(".product.type-product .summary .price span bdi").text();
352		console.log(price);
353		if (price == "0,00 €") {
354			$(".product.type-product .summary .price span bdi").text("GRÁTIS");
355		}
356
357		$(".related.products .product").each(function () {
358			price = $(".price span bdi", this).text();
359			if (price == "0,00 €") {
360				$(".price span bdi", this).text("GRÁTIS");
361			}
362		});
363	}
364
365	if ($("body").hasClass("woocommerce-cart")) {
366		$('<h1 class="title-cart">Carrinho</h1>').insertBefore(
367			".wc-block-components-notices__snackbar.wc-block-components-notice-snackbar-list"
368		);
369	}
370
371	//Account
372	if ($("body").hasClass("woocommerce-account")) {
373		if ($(window).width() <= 500) {
374			$("tbody tr.wishlist_item").each(function () {
375				var productThumbnail = $(this).find(".product-thumbnail");
376				var productName = $(this).find(".product-name");
377				var productPrice = $(this).find(".product-price");
378				var productDate = $(this).find(".product-date");
379
380				var wrapResumoProduct = $(
381					'<div class="wrap-resumo-product"></div>'
382				);
383				productThumbnail
384					.add(productName)
385					.add(productPrice)
386					.add(productDate)
387					.wrapAll(wrapResumoProduct);
388
389				var wrapNamePrice = $("<div></div>");
390				productName
391					.add(productPrice)
392					.add(productDate)
393					.wrapAll(wrapNamePrice);
394			});
395		}
396
397		if ($('html[lang="pt-PT"]').length > 0) {
398			$(".woocommerce-privacy-policy-text p").html(
399				'Os seus dados pessoais serão usados para apoiar sua experiência neste site, para gerenciar o acesso à sua conta e para outros fins descritos na nossa <a href="/politica-de-privacidade" class="woocommerce-privacy-policy-link" target="_blank">política de privacidade</a>'
400			);
401		}
402	}
403
404	//Post
405	if ($("body").hasClass("single-post")) {
406		$(".heateor_sss_sharing_container").appendTo(".share-list");
407	}
408
409	//Heart Favoritos
410
411	$(".products .product.type-product").each(function () {
412		var heart = $(this).find(".tinv-wraper.woocommerce.tinv-wishlist");
413		var title = $(this).find("h2.woocommerce-loop-product__title");
414		var price = $(this).find("span.price");
415
416		$('<div class="wrapper-title"></div>').insertBefore(price);
417		var wrapper = $(this).find(".wrapper-title");
418		title.appendTo(wrapper);
419		heart.appendTo(wrapper);
420	});
421
422	//Menu Mobile
423
424	if ($(window).width() <= 500) {
425		$(".container-idiomas").insertAfter("ul#menu-menu-principal-pt");
426		$(".item-conta").insertAfter(".item-contactos");
427		$(".item-carrinho").insertAfter(".item-conta");
428	}
429
430	//Cookies
431
432	function setCookie(cname, cvalue, exdays) {
433		const d = new Date();
434		d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
435		let expires = "expires=" + d.toUTCString();
436		document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
437	}
438
439	function getCookie(cname) {
440		let name = cname + "=";
441		let ca = document.cookie.split(";");
442		for (let i = 0; i < ca.length; i++) {
443			let c = ca[i];
444			while (c.charAt(0) == " ") {
445				c = c.substring(1);
446			}
447			if (c.indexOf(name) == 0) {
448				return c.substring(name.length, c.length);
449			}
450		}
451		return "";
452	}
453
454	let cook = getCookie("polCookie");
455	console.log("cook " + cook);
456	if (cook != "aceite") {
457		$(".aviso-cookies").addClass("open");
458	}
459
460	$(".aceitar").click(function () {
461		$(".aviso-cookies").removeClass("open");
462		setCookie("polCookie", "aceite", 7);
463	});
464
465	$(".recusar").click(function () {
466		$(".aviso-cookies").removeClass("open");
467	});
468
469	//Checkout
470	if ($(".woocommerce-checkout").length > 0) {
471		$("h3#order_review_heading").wrap('<div class="resumo-encomenda"></div>');
472		$("div#order_review").appendTo(".resumo-encomenda");
473
474		$("div#payment input").change(function () {
475			if ($(this).is(":checked")) {
476				$(".payment_box").hide();
477				var liProx = $(this).closest("li");
478				liProx.find(".payment_box").slideDown();
479			}
480		});
481	}
482});

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.