/* JavaScript Document
script per tutti i menu caricati in defer
 quando si usa il jquery $(document).ready() si usa il defer */


/* INIZIO MENU CONTENTUALE */
var $JQMenuContentuale= jQuery.noConflict();

$JQMenuContentuale(document).ready(function (){
	
	$JQMenuContentuale("nav.menu-verticale-dipendedasezione").each(function(){
		
		let moduloMenu=$JQMenuContentuale(this).attr("data-moduloMenu");
		
		let paginaDoveSono=$JQMenuContentuale("input[id='phpSelfDoveSono']").val()+"?"+$JQMenuContentuale("input[id='queryStringDoveSono']").val();
		let paginaDoveSono2=$JQMenuContentuale("input[id='phpSelfDoveSono2']").val()+"?"+$JQMenuContentuale("input[id='queryStringDoveSono2']").val(); // nel caso di scheda.php
		let moduloDoveSono=$JQMenuContentuale("input[id='moduloDoveSono']").val();
		let array_menu_dedicato_dipendedasezione=new Array()
		
		if($JQMenuContentuale("input[id='array_menu_dedicato_dipendedasezione']").val()!="")
			{
			array_menu_dedicato_dipendedasezione=$JQMenuContentuale("input[id='array_menu_dedicato_dipendedasezione']").val().split("|")
			}

		$JQMenuContentuale("a", $JQMenuContentuale(this)).each(function(){
			
			var trovato=false;
			
			let urlPulsante=$JQMenuContentuale(this).attr("data-urlpulsante");
						
			if(urlPulsante==paginaDoveSono || urlPulsante==paginaDoveSono2)
				{
				trovato=true;
				}
			
					
			if(array_menu_dedicato_dipendedasezione.length>0)	
				{
				$JQMenuContentuale.each(array_menu_dedicato_dipendedasezione, function(indice, valore) {					
					if(urlPulsante==valore)
						{
						trovato=true;
						}
				});
				}
			
			if(trovato)
				{
				// tendine antenati
				$JQMenuContentuale(this).parents(".mv-link-sottotasti").each(function(){
					$JQMenuContentuale(this).show();					
				});
			
				// tendina fratello
				$JQMenuContentuale(this).closest("div").next(".mv-link-sottotasti").show();
				}
		});
		
		
	});
});
/* FINE MENU CONTENTUALE */



/* INIZIO TASTO ATTIVO MENU */
var $JQMenuTastiAttivi= jQuery.noConflict();

$JQMenuTastiAttivi(document).ready(function (){
	
	$JQMenuTastiAttivi("nav.menu-orizzontale a, nav.menu-burger-nav a, nav.menu-verticale-box a").each(function(){
		
		let protocol = location.protocol;
		let hostname = location.hostname;
		
		let tipoMenu=$JQMenuTastiAttivi(this).closest("nav").attr("data-tipoMenu");
		let text=$JQMenuTastiAttivi(this).html();
		let href=$JQMenuTastiAttivi(this).attr("href");
		let urlPulsante=$JQMenuTastiAttivi(this).attr("data-urlPulsante");
		let moduloPulsante=$JQMenuTastiAttivi(this).attr("data-moduloPulsante");
		let requestUriDoveSono=$JQMenuTastiAttivi("input[id='requestUriDoveSono']").val();
		let moduloDoveSono=$JQMenuTastiAttivi("input[id='moduloDoveSono']").val();
		
		href=href.replace(protocol+"//"+hostname+"/", "");
		
		if(href!="javascript:void(0)")
			{
			var pulAttivo=false;
			
			if(requestUriDoveSono==href || requestUriDoveSono==urlPulsante)
				{
				pulAttivo=true;
				}
			else if(urlPulsante=="" && moduloPulsante==moduloDoveSono)
				{
				pulAttivo=true;
				}
				
			if(pulAttivo)
				{
				var classeTasto="";
								
				if(tipoMenu=="verticale")
					{
					classeTasto="tasto-acceso";	
					}
				else
					{
					let classe=$JQMenuTastiAttivi(this).closest("div,li").attr("class").split(" ");
					classeTasto=classe[0]+"-attivo";
					}
				$JQMenuTastiAttivi(this).closest("div,li").addClass(classeTasto);
				}
			}
	});
});
/* FINE TASTO ATTIVO MENU */



/* INIZIO APERTURA SOTTITASTI MENU */
var $jQMenuSottoTasti = jQuery.noConflict();

$jQMenuSottoTasti(document).ready(function (index){	
	/* apertura / chiusura tendina sotto */
	$jQMenuSottoTasti(".mv-link-piu, .mv-linkA-piu").click(function(e, first){
		
	    e.preventDefault();
	    
	    var iconaapri="+";
		var iconachiudi="-";
	
		if($jQMenuSottoTasti(this).attr("data-apri"))
			{
			iconaapri=$jQMenuSottoTasti(this).attr("data-apri");
			}
		if($jQMenuSottoTasti(this).attr("data-chiudi"))
			{
			iconachiudi=$jQMenuSottoTasti(this).attr("data-chiudi");
			}

		var display=$jQMenuSottoTasti("+ div.mv-link-sottotasti", $jQMenuSottoTasti(this).parent()).css("display");
		$jQMenuSottoTasti("+ div.mv-link-sottotasti", $jQMenuSottoTasti(this).parent()).slideToggle(first ? 0 : 400);
			
	    if($jQMenuSottoTasti(this).attr("class")=="mv-linkA-piu")
	    	{
	    	$jQMenuSottoTasti("+ .mv-link-piu", $jQMenuSottoTasti(this)).html(display=="none" ? iconachiudi : iconaapri); /* la variabile dipslay è valorizzata prima del cambiamento, quindi la condizione è al contrario */
	    	}
	    else
	    	{
	    	$jQMenuSottoTasti(this).html(display=="none" ? iconachiudi : iconaapri); /* la variabile dipslay è valorizzata prima del cambiamento, quindi la condizione è al contrario */
	    	}

	   	return false;
	});
	
	
	/* posizionamento tendina fianco */
	$jQMenuSottoTasti(".mv-tendina").each(function(){
		
		/* cerco la metà del viewport */
		var vW=$jQMenuSottoTasti(window).width();
		var meta_vW=vW/2;
		
		/*cerco la posizione dx finale del tasto */
		var offset=$jQMenuSottoTasti(this).closest(".mv-scatola").offset();
		var posRight=parseInt(offset.left)+parseInt($jQMenuSottoTasti(this).closest(".mv-scatola").outerWidth(true));
		
		if(posRight>=meta_vW)
			{
			/* cerco la posizione sx finale del tasto */
			var posLeft=offset.left;
			
			/* se il menu è più a destra rispetto alla meta del viewport */
			if( (meta_vW-posLeft) < (posRight-meta_vW) )
				{
				$jQMenuSottoTasti(this).addClass("mv-tendina-sx");	
				}
			}
	});
	
});
/* FINE APERTURA SOTTITASTI MENU */



/* INIZIO MENU BURGER */
var $jQBurgerMenu = jQuery.noConflict();
  
$jQBurgerMenu(document).ready(function() {
    	
    	
	if($jQBurgerMenu(".menu-burger-box").length>0)
		{		
		
		$jQBurgerMenu(".menu-burger-box").click(function(){			 	

			var aperturadirezione=$jQBurgerMenu(this).next().attr("data-aperturadirezione");
			
			//var proprieta = $jQBurgerMenu(this).next().css("transform");
			//alert(proprieta);
			
			if(aperturadirezione=="sxdx" || aperturadirezione=="dxsx")
				{
				$jQBurgerMenu(this).next().css({"transform":"translateX(0%)"});
				}			
			if(aperturadirezione=="dxsx")
				{
				var width=$jQBurgerMenu(this).next().attr("data-width");
				$jQBurgerMenu(this).next().css({"left":"calc(100% - "+width+")"});
				}	
			else if(aperturadirezione=="altobasso")
				{
				$jQBurgerMenu(this).next().css({"transform":"translateY(0%)"});
				}
							
		});
		
		
		$jQBurgerMenu(".menu-burger-nav-chiudi").click(function(){
			
			var aperturadirezione=$jQBurgerMenu(this).parent().attr("data-aperturadirezione");
						
			if(aperturadirezione=="sxdx")
				{
				var val="translateX(-100vw)";	
				$jQBurgerMenu(this).parent().css({"transform":"translateX(-100vw)"});
				}				
			else if(aperturadirezione=="dxsx")
				{
				var val="left%";	
				$jQBurgerMenu(this).parent().css({"left":"100%"});
				}	
			else if(aperturadirezione=="altobasso")
				{
				$jQBurgerMenu(this).parent().css({"transform":"translateY(-100vh)"});
				}
			
		});
		
					
	    $jQBurgerMenu(".menu-burger-nav-tasto-aprichiudi").click(function(e, first){
			
		    e.preventDefault();	  
		      
			var iconaapri=$jQBurgerMenu(this).attr("data-apri");
			var iconachiudi=$jQBurgerMenu(this).attr("data-chiudi");
	
			var display=$jQBurgerMenu("+ ul.menu-burger-nav-tendina", $jQBurgerMenu(this)).css("display");
			$jQBurgerMenu("+ ul.menu-burger-nav-tendina", $jQBurgerMenu(this)).slideToggle(first ? 0 : 400);
	
			$jQBurgerMenu(this).html(display=="none" ? iconachiudi : iconaapri); /* la variabile dipslay è valorizzata prima del cambiamento, quindi la condizione è al contrario */
		   	
		   	return false;
		});
		
		
		}
});
/* FINE MENU BURGER */



/* INIZIO MENU ORIZZONTALE */
var $jQOrizzontaleMenu = jQuery.noConflict();
  
$jQOrizzontaleMenu(document).ready(function() {
	
	
	if( is_touch_device() )
		{
		 $jQOrizzontaleMenu("body").click(function(e) {
	        if($jQOrizzontaleMenu(e.target).closest(".menu-orizzontale-tasto").length == 0) 
	        	{
	          	$jQOrizzontaleMenu(".menu-orizzontale-tasto .menu-orizzontale-tendina").css({"display":"none", "visibility":"hidden"});
	        	}
	    });
	
	
		if($jQOrizzontaleMenu(".menu-orizzontale-tasto .menu-orizzontale-tendina").length>0)
			{
			$jQOrizzontaleMenu(".menu-orizzontale-tasto").click(function() {
				
	          	$jQOrizzontaleMenu(".menu-orizzontale-tasto .menu-orizzontale-tendina").css({"display":"none", "visibility":"hidden"});
				if($jQOrizzontaleMenu(this).find(".menu-orizzontale-tendina").length>0)
					{
					$jQOrizzontaleMenu(this).find(".menu-orizzontale-tendina").css({"display":"block", "visibility":"visible"});
					}
					
			});
			}
		}
			
    	
	if($jQOrizzontaleMenu(".menu-orizzontale-con-blocco").length>0)
		{			
		$jQOrizzontaleMenu(".menu-orizzontale-con-blocco").each(function(){			
			
			var identificatoreMenu=$jQOrizzontaleMenu(this).attr("id");
			
	        /* questo serve per riposizionare bene il menu quando non è più in cima al viwevport, altrimenti resterebbe il top associato al blocco-top */
			/*larghezza e altezza  menu */

			var MenuWidth=$jQOrizzontaleMenu("#"+identificatoreMenu).outerWidth();
			var MenuMarginLeft=$jQOrizzontaleMenu("#"+identificatoreMenu).css("marginLeft").replace("px", "");	
	        var MenuCssTop=$jQOrizzontaleMenu("#"+identificatoreMenu).css("top");
	        var MenuCssMargin=$jQOrizzontaleMenu("#"+identificatoreMenu).css("margin");  
	        var MenuCssMarginLeft=$jQOrizzontaleMenu("#"+identificatoreMenu).css("margin-left");  
	        var MenuCssMarginTop=$jQOrizzontaleMenu("#"+identificatoreMenu).css("margin-top");  
	        var MenuCssPosition=$jQOrizzontaleMenu("#"+identificatoreMenu).css("position");  /* serve per capire se è un menu che è già fisso da stile, in questo caso non si fanno operazioni */
	        var viewportOffsetMenuInit = getViewportOffset($jQOrizzontaleMenu("#ancora-"+identificatoreMenu));
		       

			var pcI=getViewportOffset($jQOrizzontaleMenu("#corpo-contenitore")).top;
		    var heightAPA=0; 
		    var distanzaTop=0;
				
	        if($jQOrizzontaleMenu(".box-barra-alta").length>0)
	            {
	            heightAPA= $jQOrizzontaleMenu(".box-barra-alta").outerHeight(true);
		        distanzaTop=heightAPA;
		        }       
	        
            
			$jQOrizzontaleMenu(window).scroll(function() {
         
			    
	            if($jQOrizzontaleMenu("#testa").css("position")!="fixed" && MenuCssPosition!="fixed") /* c'è uno stile che ha la testa fissa, questo non va fatto */
	                {
					var transition= getTransitionDuration( "#"+identificatoreMenu, true );
					
					$jQOrizzontaleMenu(".menu-orizzontale-blocco-top").css({"transition":"unset"}); /* azzero la transizione per evitare i salti */										
					transition=0; /* azzero la transizione per evitare i salti */	
					
					setTimeout(function() {
									        
	               
	                	var viewportOffsetMenuScroll = getViewportOffset($jQOrizzontaleMenu("#"+identificatoreMenu));
	                	var viewportOffsetAncoraMenuScroll=getViewportOffset($jQOrizzontaleMenu("#ancora-"+identificatoreMenu));

		                /*guardo quando il menu va sotto non il corpo */
		                if (viewportOffsetMenuScroll.top<=distanzaTop) 
		                    {
		                    if(strpos($jQOrizzontaleMenu("#"+identificatoreMenu).attr("class"), "menu-orizzontale-blocco-top")===false)
		                   		{  
			                    $jQOrizzontaleMenu("#"+identificatoreMenu).addClass("menu-orizzontale-blocco-top");  
			                    
			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"width":MenuWidth+"px"});
			                    
			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"margin-left":MenuMarginLeft+"px"});
			                   
			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"margin-top": "0"}); /* annullo i margini se ci sono */
			                      
			                    $jQOrizzontaleMenu("#"+identificatoreMenu+".menu-orizzontale-blocco-top").css({"margin-top":distanzaTop+"px"});
		                     	}
							
							viewportOffsetMenuScroll = getViewportOffset($jQOrizzontaleMenu("#"+identificatoreMenu)); /* riprendo la posizione del menu */
							
							if(viewportOffsetMenuScroll.top<=viewportOffsetAncoraMenuScroll.top)
								{
			                    if(strpos ($jQOrizzontaleMenu("#"+identificatoreMenu).attr("class"), "menu-orizzontale-blocco-top"))
			                    	{
								    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-left":MenuCssMarginLeft});							    
								    if(MenuCssMargin=="auto")
								    	{
								    	$jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin":MenuCssMargin});
								    	}
									$jQOrizzontaleMenu("#"+identificatoreMenu).css({"top":MenuCssTop});
								    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-top":MenuCssMarginTop});
								    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"z-index":20});
								                       
								    
									$jQOrizzontaleMenu("#corpo-contenitore").addClass("scorrimento-corpo");  
									     
								        
								    $jQOrizzontaleMenu("#"+identificatoreMenu).removeClass("menu-orizzontale-blocco-top");
								    
								    $jQOrizzontaleMenu("#corpo-contenitore.scorrimento-corpo").css({"top":"-"+pcI+"px"});
								    
									$jQOrizzontaleMenu("#corpo-contenitore").removeClass("scorrimento-corpo");
									}
								}
		                    }
		                else 
		                    {
		                    if(strpos ($jQOrizzontaleMenu("#"+identificatoreMenu).attr("class"), "menu-orizzontale-blocco-top"))
		                    	{ 
							    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-left":MenuCssMarginLeft});							    
							    if(MenuCssMargin=="auto")
							    	{
							    	$jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin":MenuCssMargin});
							    	}              	              
			                    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"top":MenuCssTop});
			                    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"margin-top":MenuCssMarginTop});
			                    $jQOrizzontaleMenu("#"+identificatoreMenu).css({"z-index":20});
			                        
			                    $jQOrizzontaleMenu("#"+identificatoreMenu).removeClass("menu-orizzontale-blocco-top"); 
			                    }
		                    }
    
						}, transition);
					
	                }
				});
				
				
	        var trovatostesso=false;
	        
	        /*cerco tutti i .menu-orizzontale-con-blocco prima di questo */	        
			$jQOrizzontaleMenu(".menu-orizzontale-con-blocco").each(function(){		
				
				if(!trovatostesso)
					{
					var identificatoreMenu2=$jQOrizzontaleMenu(this).attr("id");
				
					if(identificatoreMenu2 != identificatoreMenu)
						{
						var heightMenu2=$jQOrizzontaleMenu("#"+identificatoreMenu2).outerHeight(true);	
						
						distanzaTop=distanzaTop+heightMenu2;
						}
					if(identificatoreMenu2 == identificatoreMenu)
						{
						trovatostesso=true;
						}
					}
					
				
	            $jQOrizzontaleMenu("#"+identificatoreMenu).attr("data-distanzatop",distanzaTop);  
	            
	            if(!$jQOrizzontaleMenu("#"+identificatoreMenu).isInViewport())
	            	{
	            	$jQOrizzontaleMenu(window).trigger("scroll");
	            	}
			});	
				
			});
		}
});
/*FINE MENU ORIZZONTALE */