PageSourceSearch

https://www.shardan.it/js/menu.php?lu=29072026191727

js shardan.it collected 2026-09-27 05:00:20 UTC 18,517 bytes, 543 lines download raw bytes

1/* JavaScript Document
2script per tutti i menu caricati in defer
3 quando si usa il jquery $(document).ready() si usa il defer */
4
5
6/* INIZIO MENU CONTENTUALE */
7var $JQMenuContentuale= jQuery.noConflict();
8
9$JQMenuContentuale(document).ready(function (){
10	
11	$JQMenuContentuale("nav.menu-verticale-dipendedasezione").each(function(){
12		
13		let moduloMenu=$JQMenuContentuale(this).attr("data-moduloMenu");
14		
15		let paginaDoveSono=$JQMenuContentuale("input[id='phpSelfDoveSono']").val()+"?"+$JQMenuContentuale("input[id='queryStringDoveSono']").val();
16		let paginaDoveSono2=$JQMenuContentuale("input[id='phpSelfDoveSono2']").val()+"?"+$JQMenuContentuale("input[id='queryStringDoveSono2']").val(); // nel caso di scheda.php
17		let moduloDoveSono=$JQMenuContentuale("input[id='moduloDoveSono']").val();
18		let array_menu_dedicato_dipendedasezione=new Array()
19		
20		if($JQMenuContentuale("input[id='array_menu_dedicato_dipendedasezione']").val()!="")
21			{
22			array_menu_dedicato_dipendedasezione=$JQMenuContentuale("input[id='array_menu_dedicato_dipendedasezione']").val().split("|")
23			}
24
25		$JQMenuContentuale("a", $JQMenuContentuale(this)).each(function(){
26			
27			var trovato=false;
28			
29			let urlPulsante=$JQMenuContentuale(this).attr("data-urlpulsante");
30						
31			if(urlPulsante==paginaDoveSono || urlPulsante==paginaDoveSono2)
32				{
33				trovato=true;
34				}
35			
36					
37			if(array_menu_dedicato_dipendedasezione.length>0)	
38				{
39				$JQMenuContentuale.each(array_menu_dedicato_dipendedasezione, function(indice, valore) {					
40					if(urlPulsante==valore)
41						{
42						trovato=true;
43						}
44				});
45				}
46			
47			if(trovato)
48				{
49				// tendine antenati
50				$JQMenuContentuale(this).parents(".mv-link-sottotasti").each(function(){
51					$JQMenuContentuale(this).show();					
52				});
53			
54				// tendina fratello
55				$JQMenuContentuale(this).closest("div").next(".mv-link-sottotasti").show();
56				}
57		});
58		
59		
60	});
61});
62/* FINE MENU CONTENTUALE */
63
64
65
66/* INIZIO TASTO ATTIVO MENU */
67var $JQMenuTastiAttivi= jQuery.noConflict();
68
69$JQMenuTastiAttivi(document).ready(function (){
70	
71	$JQMenuTastiAttivi("nav.menu-orizzontale a, nav.menu-burger-nav a, nav.menu-verticale-box a").each(function(){
72		
73		let protocol = location.protocol;
74		let hostname = location.hostname;
75		
76		let tipoMenu=$JQMenuTastiAttivi(this).closest("nav").attr("data-tipoMenu");
77		let text=$JQMenuTastiAttivi(this).html();
78		let href=$JQMenuTastiAttivi(this).attr("href");
79		let urlPulsante=$JQMenuTastiAttivi(this).attr("data-urlPulsante");
80		let moduloPulsante=$JQMenuTastiAttivi(this).attr("data-moduloPulsante");
81		let requestUriDoveSono=$JQMenuTastiAttivi("input[id='requestUriDoveSono']").val();
82		let moduloDoveSono=$JQMenuTastiAttivi("input[id='moduloDoveSono']").val();
83		
84		href=href.replace(protocol+"//"+hostname+"/", "");
85		
86		if(href!="javascript:void(0)")
87			{
88			var pulAttivo=false;
89			
90			if(requestUriDoveSono==href || requestUriDoveSono==urlPulsante)
91				{
92				pulAttivo=true;
93				}
94			else if(urlPulsante=="" && moduloPulsante==moduloDoveSono)
95				{
96				pulAttivo=true;
97				}
98				
99			if(pulAttivo)
100				{
101				var classeTasto="";
102								
103				if(tipoMenu=="verticale")
104					{
105					classeTasto="tasto-acceso";	
106					}
107				else
108					{
109					let classe=$JQMenuTastiAttivi(this).closest("div,li").attr("class").split(" ");
110					classeTasto=classe[0]+"-attivo";
111					}
112				$JQMenuTastiAttivi(this).closest("div,li").addClass(classeTasto);
113				}
114			}
115	});
116});
117/* FINE TASTO ATTIVO MENU */
118
119
120
121/* INIZIO APERTURA SOTTITASTI MENU */
122var $jQMenuSottoTasti = jQuery.noConflict();
123
124$jQMenuSottoTasti(document).ready(function (index){	
125	/* apertura / chiusura tendina sotto */
126	$jQMenuSottoTasti(".mv-link-piu, .mv-linkA-piu").click(function(e, first){
127		
128	    e.preventDefault();
129	    
130	    var iconaapri="+";
131		var iconachiudi="-";
132	
133		if($jQMenuSottoTasti(this).attr("data-apri"))
134			{
135			iconaapri=$jQMenuSottoTasti(this).attr("data-apri");
136			}
137		if($jQMenuSottoTasti(this).attr("data-chiudi"))
138			{
139			iconachiudi=$jQMenuSottoTasti(this).attr("data-chiudi");
140			}
141
142		var display=$jQMenuSottoTasti("+ div.mv-link-sottotasti", $jQMenuSottoTasti(this).parent()).css("display");
143		$jQMenuSottoTasti("+ div.mv-link-sottotasti", $jQMenuSottoTasti(this).parent()).slideToggle(first ? 0 : 400);
144			
145	    if($jQMenuSottoTasti(this).attr("class")=="mv-linkA-piu")
146	    	{
147	    	$jQMenuSottoTasti("+ .mv-link-piu", $jQMenuSottoTasti(this)).html(display=="none" ? iconachiudi : iconaapri); /* la variabile dipslay è valorizzata prima del cambiamento, quindi la condizione è al contrario */
148	    	}
149	    else
150	    	{
151	    	$jQMenuSottoTasti(this).html(display=="none" ? iconachiudi : iconaapri); /* la variabile dipslay è valorizzata prima del cambiamento, quindi la condizione è al contrario */
152	    	}
153
154	   	return false;
155	});
156	
157	
158	/* posizionamento tendina fianco */
159	$jQMenuSottoTasti(".mv-tendina").each(function(){
160		
161		/* cerco la metà del viewport */
162		var vW=$jQMenuSottoTasti(window).width();
163		var meta_vW=vW/2;
164		
165		/*cerco la posizione dx finale del tasto */
166		var offset=$jQMenuSottoTasti(this).closest(".mv-scatola").offset();
167		var posRight=parseInt(offset.left)+parseInt($jQMenuSottoTasti(this).closest(".mv-scatola").outerWidth(true));
168		
169		if(posRight>=meta_vW)
170			{
171			/* cerco la posizione sx finale del tasto */
172			var posLeft=offset.left;
173			
174			/* se il menu è più a destra rispetto alla meta del viewport */
175			if( (meta_vW-posLeft) < (posRight-meta_vW) )
176				{
177				$jQMenuSottoTasti(this).addClass("mv-tendina-sx");	
178				}
179			}
180	});
181	
182});
183/* FINE APERTURA SOTTITASTI MENU */
184
185
186
187/* INIZIO MENU BURGER */
188var $jQBurgerMenu = jQuery.noConflict();
189  
190$jQBurgerMenu(document).ready(function() {
191    	
192    	
193	if($jQBurgerMenu(".menu-burger-box").length>0)
194		{		
195		
196		$jQBurgerMenu(".menu-burger-box").click(function(){			 	
197
198			var aperturadirezione=$jQBurgerMenu(this).next().attr("data-aperturadirezione");
199			
200			//var proprieta = $jQBurgerMenu(this).next().css("transform");
201			//alert(proprieta);
202			
203			if(aperturadirezione=="sxdx" || aperturadirezione=="dxsx")
204				{
205				$jQBurgerMenu(this).next().css({"transform":"translateX(0%)"});
206				}			
207			if(aperturadirezione=="dxsx")
208				{
209				var width=$jQBurgerMenu(this).next().attr("data-width");
210				$jQBurgerMenu(this).next().css({"left":"calc(100% - "+width+")"});
211				}	
212			else if(aperturadirezione=="altobasso")
213				{
214				$jQBurgerMenu(this).next().css({"transform":"translateY(0%)"});
215				}
216							
217		});
218		
219		
220		$jQBurgerMenu(".menu-burger-nav-chiudi").click(function(){
221			
222			var aperturadirezione=$jQBurgerMenu(this).parent().attr("data-aperturadirezione");
223						
224			if(aperturadirezione=="sxdx")
225				{
226				var val="translateX(-100vw)";	
227				$jQBurgerMenu(this).parent().css({"transform":"translateX(-100vw)"});
228				}				
229			else if(aperturadirezione=="dxsx")
230				{
231				var val="left%";	
232				$jQBurgerMenu(this).parent().css({"left":"100%"});
233				}	
234			else if(aperturadirezione=="altobasso")
235				{
236				$jQBurgerMenu(this).parent().css({"transform":"translateY(-100vh)"});
237				}
238			
239		});
240		
241					
242	    $jQBurgerMenu(".menu-burger-nav-tasto-aprichiudi").click(function(e, first){
243			
244		    e.preventDefault();	  
245		      
246			var iconaapri=$jQBurgerMenu(this).attr("data-apri");
247			var iconachiudi=$jQBurgerMenu(this).attr("data-chiudi");
248	
249			var display=$jQBurgerMenu("+ ul.menu-burger-nav-tendina", $jQBurgerMenu(this)).css("display");
250			$jQBurgerMenu("+ ul.menu-burger-nav-tendina", $jQBurgerMenu(this)).slideToggle(first ? 0 : 400);
251	
252			$jQBurgerMenu(this).html(display=="none" ? iconachiudi : iconaapri); /* la variabile dipslay è valorizzata prima del cambiamento, quindi la condizione è al contrario */
253		   	
254		   	//accessibilità: aggiorna tabindex nei link della tendina
255			if(display=="none"){
256				// ora la sto aprendo → rendo i link focusabili
257				$jQBurgerMenu(this).next("ul.menu-burger-nav-tendina").find("a,button,input,select,textarea").removeAttr("tabindex");
258			}
259			else{
260				// ora la sto chiudendo → blocco il tab
261				$jQBurgerMenu(this).next("ul.menu-burger-nav-tendina").find("a,button,input,select,textarea").attr("tabindex","-1");
262			}
263			   	
264		   	
265		   	return false;
266		});
267		
268		
269		
270		$jQBurgerMenu(".menu-burger-nav a").click(function(){
271
272			var href = $jQBurgerMenu(this).attr("href");
273		
274			//chiudi SOLO se è una vera ancora 
275			if(!href || href.charAt(0) != "#")
276				{
277				return true;
278				}
279		
280			var $menu = $jQBurgerMenu(this).closest(".menu-burger-nav");
281			var aperturadirezione = $menu.attr("data-aperturadirezione");
282		
283			if(aperturadirezione=="sxdx")
284				{
285				$menu.css({"transform":"translateX(-100vw)"});
286				}
287			else if(aperturadirezione=="dxsx")
288				{
289				$menu.css({"left":"100%"});
290				}
291			else if(aperturadirezione=="altobasso")
292				{
293				$menu.css({"transform":"translateY(-100vh)"});
294				}
295		
296			$menu.attr("aria-hidden","true");
297			$menu.prev(".menu-burger-box").attr("aria-expanded","false");
298		});
299		
300		}
301});
302
303// ACCESSIBILITA MINIMA MENU BURGER
304$jQBurgerMenu(document).ready(function(){
305
306  $jQBurgerMenu(".menu-burger-box").each(function(){
307
308    var $trigger = $jQBurgerMenu(this);
309    var $nav     = $trigger.next(".menu-burger-nav");
310    if(!$nav.length){ return; }
311
312    var $close   = $nav.find(".menu-burger-nav-chiudi:first");
313
314    // semantica base sul trigger (resta DIV)
315    $trigger.attr({
316      "role":"button",
317      "tabindex":"0",
318      "aria-controls": $nav.attr("id"),
319      "aria-expanded":"false"
320    });
321
322    // stato iniziale: chiuso (solo ARIA + tab-order)
323    chiudiMenu();
324
325    function apriMenu(){
326	  $nav.attr("aria-hidden","false");
327	  $trigger.attr("aria-expanded","true");
328	  $nav.find('[tabindex="-1"]').removeAttr("tabindex");
329	}
330
331    function chiudiMenu(){
332      $nav.attr("aria-hidden","true");
333      $trigger.attr("aria-expanded","false");
334      $nav.find("a,button,input,select,textarea,[tabindex]").attr("tabindex","-1");
335    }
336
337    // click (apri/chiudi)
338    $jQBurgerMenu(this).keydown(function(e){
339	    	if (e.which === 13 || e.which === 32) {
340	      		e.preventDefault();
341	      		apriMenu();
342				$jQBurgerMenu(this).trigger("click");
343	    	}
344	  	});	
345    $jQBurgerMenu(this).find(".menu-burger-nav-chiudi").keydown(function(e){
346	    	if (e.which === 13 || e.which === 32) {
347	      		e.preventDefault();
348	      		chiudiMenu();
349				$jQBurgerMenu(this).trigger("click");
350	    	}
351	  	});	
352		
353
354  });
355
356});
357
358/* FINE MENU BURGER */
359
360
361
362/* INIZIO MENU ORIZZONTALE */
363var $jQOrizzontaleMenu = jQuery.noConflict();
364  
365$jQOrizzontaleMenu(document).ready(function() {
366	
367	
368	if( is_touch_device() )
369		{
370		 $jQOrizzontaleMenu("body").click(function(e) {
371	        if($jQOrizzontaleMenu(e.target).closest(".menu-orizzontale-tasto").length == 0) 
372	        	{
373	          	$jQOrizzontaleMenu(".menu-orizzontale-tasto .menu-orizzontale-tendina").css({"display":"none", "visibility":"hidden"});
374	        	}
375	    });
376	
377	
378		if($jQOrizzontaleMenu(".menu-orizzontale-tasto .menu-orizzontale-tendina").length>0)
379			{
380			$jQOrizzontaleMenu(".menu-orizzontale-tasto").click(function() {
381				
382	          	$jQOrizzontaleMenu(".menu-orizzontale-tasto .menu-orizzontale-tendina").css({"display":"none", "visibility":"hidden"});
383				if($jQOrizzontaleMenu(this).find(".menu-orizzontale-tendina").length>0)
384					{
385					$jQOrizzontaleMenu(this).find(".menu-orizzontale-tendina").css({"display":"block", "visibility":"visible"});
386					}
387					
388			});
389			}
390		}
391			
392    	
393	if($jQOrizzontaleMenu(".menu-orizzontale-con-blocco").length>0)
394		{			
395		$jQOrizzontaleMenu(".menu-orizzontale-con-blocco").each(function(){			
396			
397			var identificatoreMenu=$jQOrizzontaleMenu(this).attr("id");
398			
399	        /* questo serve per riposizionare bene il menu quando non è più in cima al viwevport, altrimenti resterebbe il top associato al blocco-top */
400			/*larghezza e altezza  menu */
401
402			var MenuWidth=$jQOrizzontaleMenu("#"+identificatoreMenu).outerWidth();
403			var MenuMarginLeft=$jQOrizzontaleMenu("#"+identificatoreMenu).css("marginLeft").replace("px", "");	
404	        var MenuCssTop=$jQOrizzontaleMenu("#"+identificatoreMenu).css("top");
405	        var MenuCssMargin=$jQOrizzontaleMenu("#"+identificatoreMenu).css("margin");  
406	        var MenuCssMarginLeft=$jQOrizzontaleMenu("#"+identificatoreMenu).css("margin-left");  
407	        var MenuCssMarginTop=$jQOrizzontaleMenu("#"+identificatoreMenu).css("margin-top");  
408	        var MenuCssPosition=$jQOrizzontaleMenu("#"+identificatoreMenu).css("position");  /* serve per capire se è un menu che è già fisso da stile, in questo caso non si fanno operazioni */
409	        var viewportOffsetMenuInit = getViewportOffset($jQOrizzontaleMenu("#ancora-"+identificatoreMenu));
410		       
411
412			var pcI=getViewportOffset($jQOrizzontaleMenu("#corpo-contenitore")).top;
413		    var heightBA=0; 
414		    var heightAPA=0; 
415		    var distanzaTop=0;
416			
417			if($jQOrizzontaleMenu("#banner-anteprima").length>0)
418				{
419				heightBA=$jQGenerico("#banner-anteprima").outerHeight(true);
420				}
421	        if($jQOrizzontaleMenu(".box-barra-alta").length>0)
422	            {
423	            heightAPA= $jQOrizzontaleMenu(".box-barra-alta").outerHeight(true);
424		        }      
425	        
426		      distanzaTop=parseFloat(heightBA)+parseFloat(heightAPA);
427            
428			$jQOrizzontaleMenu(window).scroll(function() {
429         
430			    
431	            if($jQOrizzontaleMenu("#testa").css("position")!="fixed" && MenuCssPosition!="fixed") /* c'è uno stile che ha la testa fissa, questo non va fatto */
432	                {
433					var transition= getTransitionDuration( "#"+identificatoreMenu, true );
434					
435					$jQOrizzontaleMenu(".menu-orizzontale-blocco-top").css({"transition":"unset"}); /* azzero la transizione per evitare i salti */										
436					transition=0; /* azzero la transizione per evitare i salti */	
437					
438					setTimeout(function() {
439									        
440	               
441	                	var viewportOffsetMenuScroll = getViewportOffset($jQOrizzontaleMenu("#"+identificatoreMenu));
442	                	var viewportOffsetAncoraMenuScroll=getViewportOffset($jQOrizzontaleMenu("#ancora-"+identificatoreMenu));
443
444		                /*guardo quando il menu va sotto non il corpo */
445		                if (viewportOffsetMenuScroll.top<=distanzaTop) 
446		                    {
447		                    if(strpos($jQOrizzontaleMenu("#"+identificatoreMenu).attr("class"), "menu-orizzontale-blocco-top")===false)
448		                   		{  
449			                    $jQOrizzontaleMenu("#"+identificatoreMenu).addClass("menu-orizzontale-blocco-top");  
450			                    
451			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"width":MenuWidth+"px"});
452			                    
453			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"margin-left":MenuMarginLeft+"px"});
454			                   
455			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"margin-top": "0"}); /* annullo i margini se ci sono */
456			                      
457			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"margin-top":distanzaTop+"px"});
458		                     	}
459							
460							viewportOffsetMenuScroll = getViewportOffset($jQOrizzontaleMenu("#"+identificatoreMenu)); /* riprendo la posizione del menu */
461							
462							if(viewportOffsetMenuScroll.top<=viewportOffsetAncoraMenuScroll.top)
463								{
464			                    if(strpos ($jQOrizzontaleMenu("#"+identificatoreMenu).attr("class"), "menu-orizzontale-blocco-top"))
465			                    	{
466								    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-left":MenuCssMarginLeft});							    
467								    if(MenuCssMargin=="auto")
468								    	{
469								    	$jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin":MenuCssMargin});
470								    	}
471									$jQOrizzontaleMenu("#"+identificatoreMenu).css({"top":MenuCssTop});
472								    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-top":MenuCssMarginTop});
473								    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"z-index":20});
474								                       
475								    
476									$jQOrizzontaleMenu("#corpo-contenitore").addClass("scorrimento-corpo");  
477									     
478								        
479								    $jQOrizzontaleMenu("#"+identificatoreMenu).removeClass("menu-orizzontale-blocco-top");
480								    
481								    $jQOrizzontaleMenu("#corpo-contenitore.scorrimento-corpo").css({"top":"-"+pcI+"px"});
482								    
483									$jQOrizzontaleMenu("#corpo-contenitore").removeClass("scorrimento-corpo");
484									}
485								}
486		                    }
487		                else 
488		                    {
489		                    if(strpos ($jQOrizzontaleMenu("#"+identificatoreMenu).attr("class"), "menu-orizzontale-blocco-top"))
490		                    	{ 
491							    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-left":MenuCssMarginLeft});							    
492							    if(MenuCssMargin=="auto")
493							    	{
494							    	$jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin":MenuCssMargin});
495							    	}              	              
496			                    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"top":MenuCssTop});
497			                    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-top":MenuCssMarginTop});
498			                    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"z-index":20});
499			                        
500			                    $jQOrizzontaleMenu("#"+identificatoreMenu).removeClass("menu-orizzontale-blocco-top"); 
501			                    }
502		                    }
503    
504						}, transition);
505					
506	                }
507				});
508				
509				
510	        var trovatostesso=false;
511	        
512	        /*cerco tutti i .menu-orizzontale-con-blocco prima di questo */	        
513			$jQOrizzontaleMenu(".menu-orizzontale-con-blocco").each(function(){		
514				
515				if(!trovatostesso)
516					{
517					var identificatoreMenu2=$jQOrizzontaleMenu(this).attr("id");
518				
519					if(identificatoreMenu2 != identificatoreMenu)
520						{
521						var heightMenu2=$jQOrizzontaleMenu("#"+identificatoreMenu2).outerHeight(true);	
522						
523						distanzaTop=distanzaTop+heightMenu2;
524						}
525					if(identificatoreMenu2 == identificatoreMenu)
526						{
527						trovatostesso=true;
528						}
529					}
530					
531				
532	            $jQOrizzontaleMenu("#"+identificatoreMenu).attr("data-distanzatop",distanzaTop);  
533	            
534	            if(!$jQOrizzontaleMenu("#"+identificatoreMenu).isInViewport())
535	            	{
536	            	$jQOrizzontaleMenu(window).trigger("scroll");
537	            	}
538			});	
539				
540			});
541		}
542});
543/*FINE MENU ORIZZONTALE */

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.