$(document).ready(function(){
	$("a.captcha").click(function(){reload_captcha(); $(this).blur()});

	//Imposto il controllo per il captcha
	$("input.captcha").live("change", function(){
		$(this).attr("valid", "n");
		$(this).removeClass("valid invalid");
		
		/*if($(this).val() == "")
		  return false;
		*/  
		jsonRequest("checkCaptcha",  {"p1": $(this).val()}, function(data){
				$("input.captcha").addClass((data == "n" ? "in" : "") + "valid");
				$("input.captcha").attr("valid", data);
		});
	});

})

function reload_captcha()
{
	$("input.captcha").attr("valid", "n");
	$("input.captcha").removeClass("valid invalid");
	$("input.captcha").val("");
	$('img.captcha').attr('src', abs_url + 'lib/si_captcha/securimage_show.php?sid=' + Math.random()); 
	return false
}

function check_captcha()
{
	return $("input.captcha").attr("valid") == "y";
}
var abs_url = "http://www.trecristi.com/";
var sfondi = [{"0":"trecristi-amore.jpg","path":"trecristi-amore.jpg"}];
var pagina = "cuore";

var pagina_selezionata = "it/cuore" ;
pagina_selezionata = (pagina_selezionata == "/" ? "" : abs_url + pagina_selezionata + ".html");

var id_lingua = "it";
var icbm = [43.321439,11.332703];
// Roba per google maps
var latlng;
var infowindow;
var marker;
var map;
var icons;
var directionsService;
var directionsRenderer;
// --------------

var last_sfondo = 0;

var li_width; //Larghezza elemento menu aperto, ricalcolata al ridimensionamento della pagina
var other_li_width = 700;//520; //Larghezza degli altri elementi chiusi + logo
var logo_left; // margine sinistro del logo (larghezza schermo - dimensioni del menu principale) ricalcolato al ridimensionamento della pagina
var main_w = 270; // Larghezza menu principale dopo l'animazione

var menudx_top=242;

var full_height, full_width;

var closed_menu = "0px"; //"45px";//Dimensioni del menu chiuso

var content_shown = false; //Contenuto visualizzato

var main_menu;

var dialog_w = 500;

var copertura_w = 270;
var contenuto_dx = 232;
var contenuto_dx_sitemap = 500;

var closed_slide_width = 90;
var opened_slide_width = 200;

var logo_back_to_home=true;

var ajax_sent = false;

var changebg = false;

var show_map = true;

var show_360 = false;
var link_360 = "";

var large_dx_column = /(\/sitemap\.php|registrati\.html|prenota\.html)/;

var __bg_interval__;

$(document).ready(function(){
	
	sfondi = new Array();
	
	$("*").bind('selectstart',function(){
            //return false;
      });
      
    $("li a, ul.social a").click(function(event){if($(this).attr("target")!="_blank")event.preventDefault();});

	//Carico i menu da far vedere durante la navigazione
	jsonRequest("getMenu", {"p1":"main_menu", "p2":"false"}, function(res){
		main_menu = $(res);
		main_menu.removeClass("main_menu").addClass("main_menu_dx");
	});
	
	
	// Imposto le azioni sulle immagini della gallery
	$("a.pre_cb").live("click", function(event){
		event.preventDefault();
		var a_elem = $(this);
		if($("#div_element_gallery").length > 0)
		{
			$("#div_element_gallery").fadeOut(function(){
				$("#div_element_gallery").remove();
				clickGallery(a_elem);
			});
		}
		else
			clickGallery($(this));
		
	});
	
	// Imposto l'id al link della secret-room
	$("ul.menu_dx li.secret_room").attr("id", "li_secret_room");
	
/************************
* 
*  CLICK SUGLI ELEMENTI CARICATI DAL MENU DI DESTRA DENTRO IL DIV #contenuto_dx (la 2° barra a seguito di click su Dicono di noi | news)
* 
********************** */
	$("div.link").live("click", function(){
		
		if($("div.dialog").length == 0)
		{
			$("div.content").append("<div class='dialog' />");
			$("div.dialog").data("is_dialog", false);
		}

		var data = ($(this).data("data"));
		
			var url_parlante = getAbsUrl(data.url_parlante_item);
			
			if(data.immagine_item != null)
			{
        sfondi = new Array();
        sfondi.push(abs_url + "content/" + data.collection_item+ "/" + data.immagine_item);
        visualizzaSfondo();
			}
			
			$("div.dialog").html(""//"<div class='dialog_subtitle'>"+data.sottotitolo+"</div>"
			/*
			+ (data.immagine_item != null ? 
					"<a href='"+ abs_url + "content/" + data.collection_item+ "/" + data.immagine_item +"' class='cb'>"
					+"<img src='"+ abs_url + "content/" + data.collection_item+ "/__thumb_" + data.immagine_item +"'>"
					+"</a>" 
					: "") // immagine
			*/
			+"<div class='dialog_text'>" + data.sottotitolo + data.testo2
      // Leggi altro
      +"<div class='read_more'>Leggi altro...</div>"
      +"<div class='hidden read_more_text'>" + data.testo + "</div>"
      +"</div>"
			// Condividi
			+"<div class='condividi'>"
			+"<span>condividi</span>"
			+"<a href='http://www.facebook.com/sharer.php?u="+url_parlante+"' target='blank'><div class='fb'>Facebook</div></a>"
			+"<a href='http://twitter.com/home?status="+url_parlante+"' target='blank'><div class='tw'>Twitter</div></a>"
			+"</div>"
			+"<div class='ui-icon invisible'></div>" //Quest'ultimo div serve giusto per non far semprare flottanti nel niente i link alla condivisione
			 //link allegati
			+"<div class='item_links'>&nbsp;"
			+ (data.email_contatto!= "" ? "<a href='mailto:"+data.email_contatto+"'>" + notEmpty(data.testo_email_contatto, data.email_contatto) + "</a> | "  : "")
			+ (data.url_esterno!= "" ? "<a href='"+decodeURIComponent(data.url_esterno)+"' target='_blank'>" + notEmpty(data.testo_url_esterno, decodeURIComponent(data.url_esterno)) + "</a> | "  : "")
			+ (data.allegato != null ? "<a href='"+data.allegato+"' target='_blank'>" + notEmpty(data.testo_allegato, data.allegato) + "</a>"  : "")
			+"</div>"
			)
			.dialog({
					title: data.titolo, 
					show: "fade", 
					resizable: false, 
					width: dialog_w,
					hide: "fade",
					position: [((full_width -copertura_w) / 2  - dialog_w / 2) - 150, /*full_height/2 -*/ 200], 
					close:function(){
						$("div.dialog").delay(500).remove();
						return true;
					},
					create:function(){
						//Funzione richiamata dopo la creazione del dialog
						$("div.dialog").data("is_dialog", true); // <---- per evitare di ricrearlo nel caso sia già 'dialogato'
						$("div.dialog").data("titolo", data.titolo);
						$("div.ui-dialog-titlebar").append($("<div class='zoomin_out'><div class='out' /><div class='in' /></div>"));
						$("div.in, div.out").data("zoomElement", ".ui-dialog-title, div.dialog, .box_content div.label");
						$("div.in").click(zoomIn);
						$("div.out").click(zoomOut);
					},
					open:function(){
            if($("div.dialog").height() >= (full_height - 200))
            {
              $("div.dialog").height(full_height - 150);
              $("div.ui-dialog").animate({
                top:"40"
              });
            }
					}
			});
			
			doColorBox();

	});
	
	var closing = false;
/************************
* 
*  CLICK SUL LOGO PER IL RITORNO ALLA HOME
* 
********************** */
	$("div.logo").click(function(){
		
		$("#mappa_contatti").fadeOut(function(){$("#mappa_contatti").remove()});
	
		$("div.dialog").remove();
		if(!logo_back_to_home)
			return;
			
		closing=true;
		$("#div_element_gallery").fadeOut(function(){
			$("#div_element_gallery, #element_gallery").remove();
		});

		$("ul.menu_social").fadeOut();
		
		$("div.backstretch").fadeOut(function(){
			$("div.backstretch").remove()		
		});
		

		$("div.copertura").fadeOut(function(){$(this).remove()});
		
		//$("ul.main_menu_dx").animate({left: "+=300px"}, {easing: "easeInOutCirc", complete: function(){main_menu = $("ul.main_menu_dx").detach();}});
		$("ul.main_menu_dx").fadeOut(function(){main_menu = $("ul.main_menu_dx").detach().show();});

		
		if($("ul.menu_dx").data("animated"))
			$("ul.menu_dx").delay(100).animate({left: $("ul.menu_dx").data("left")}).animate({top: $("ul.menu_dx").data("top")});
		$("ul.menu_dx").data("animated", false);
		
		$("div.logo").stop().animate({top: $("div.logo").data("top") + "px"}).animate({left: $("div.logo").data("left")}, function(){
			$(this).css("top", "50%");
			//riposiziono i social
			moveSocial();
			$("ul.menu_social").fadeIn();
		});
		$("ul.main_menu>li.hover").removeClass("hover");
		$("ul.main_menu>li.clicked").removeClass("clicked");
		updateSlides();
		closing = false;
		content_shown = false;
		$("ul.main_menu").fadeIn();
		
	});
	
	//Nascondo i sotto menu
	$("ul.main_menu > li > ul.menu").each(function(){
		$(this).data("height", $(this).height()).hide();
	});
	
	
	//Gestione mouseover e mouseout sul menu principale
	$("ul.main_menu>li").hover(function(){
		if($("ul.main_menu>li.clicked").size()!=0)
		  return;
		  
		$(this).addClass("hover");
		updateSlides();
	}, function(){
		if($("ul.main_menu>li.clicked").size()!=0)
		  return;
		  
		$(this).removeClass("hover");
		updateSlides();
	});
	
	
/************************
* 
*  CLICK SUL MENU PRINCIPALE
* 
********************** */
	$("ul.main_menu>li>a, ul.main_menu>li>ul.menu>li").click(function(event){
		event.preventDefault();
		
		$("ul.menu_social").fadeOut();

		$("ul.main_menu>li.hover").removeClass("hover");
		$("ul.main_menu>li.clicked").removeClass("clicked");
		
		$(this).parent().parent().addClass("clicked");
		updateSlides();
		showContent($(this), true);
	});
	
/************************
* 
*  CLICK SUL MENU DI DESTRA (Dicono di noi | Foto | Prenota ecc)
* 
********************** */
	$("ul.menu_dx li, ul.footer li.privacy_polocy").click(function(event){
		event.preventDefault();
		
		if($("div.dialog").length > 0)
		{
      $("div.dialog").fadeOut(function(){$("div.dialog").remove()});
			//$("div.content").append("<div class='dialog' />");
			//$("div.dialog").data("is_dialog", false);
		}
		
		$("#mappa_contatti").fadeOut(function(){$("#mappa_contatti").remove()});
		
		if(!content_shown)
      $("ul.menu_social").fadeOut();
		
			$("#div_element_gallery").fadeOut(function(){
				$("#div_element_gallery, #element_gallery").remove();
			});

		
		// Apro uno sfondo a caso
		if(!content_shown)
		{
			//TODO :: Scelgo gli sfondi di una pagina a caso
			var _elem = $($("ul.main_menu>li")[rangeRandom(0, $("ul.main_menu>li").length)]).find("a");
			var  _tmp = jsonSyncRequest("getSfondiPagina", {"p1":_elem.attr("href")});
			sfondi = new Array();
			for(var s in _tmp)
			  sfondi.push(_tmp[s].path);

			showContent( _elem, false );
		}
		
		var href = $(this).find("a").attr("href");
		var cop = $("#contenuto_dx");
		var exists=false;
		
		var w_contenuto_dx = (large_dx_column.test(href) ? contenuto_dx_sitemap : contenuto_dx);
		
		if(!(exists = cop.length != 0))
		{
			cop = $("<div class='copertura' id='contenuto_dx' />");
			cop.data("distanceFromRightMargin", (copertura_w + w_contenuto_dx + 20));
			cop.height(full_height).width(w_contenuto_dx).css({marginLeft: full_width - eval(cop.data("distanceFromRightMargin"))});
			cop.hide();
			logo_back_to_home = false;
			$("div.dialog").data("is_dialog", false);
			$("div.dialog").dialog("close");
			$("div.content").append(cop);
		}
		else
		{
			cop.data("distanceFromRightMargin", (copertura_w + w_contenuto_dx + 20));
			cop.stop().delay(500).animate({width:w_contenuto_dx, marginLeft: full_width - eval(cop.data("distanceFromRightMargin"))});
		}
		
		jsonRequest("getContenuto", {"p1":"solo_testo", "p2":href}, function(res){
			if(!res)
			  return;
			  
			if(ajax_sent)
			  return;
			  
			ajax_sent = true;
			
			var cnt = res.contenuto;
			var all = res.allegati;
			var pag = res.pagina;

			if(cnt == null)
			  return;
			
			show_map = cnt[0].titolo == "Tre Cristi";

			try{show_360 = pag.categoria=="360"}catch(e){show_360=false;}
			if(!exists)
			{
				var toolbox = $("<div class='zoomin_out'><div class='out' /><div class='in' /></div>");
				toolbox.find("div.in, div.out").each(function(){
					$(this).data("zoomElement", ".titolo-popup, .testo-popup");
					$(this).click($(this).hasClass("in")? zoomIn : zoomOut);
				});
				cop.append(toolbox);
				cop.append("<div class='titolo-popup'>"+cnt[0].titolo+"</div>");
				
				cop.append("<div class='testo-popup'>"
							+(all != null ? "<div class='center'><img src='"+ abs_url + "content/" + all[0].collection + "/__thumb_" + all[0].path +"' alt='' width='' height='' /></div>" : "")
							+cnt[0].testo
							+"</div>");
							
				setCalendar(".datepicker");

				$(".titolo-popup").css({marginTop: full_height/4});
				$(".testo-popup").css({height: full_height - 75 - full_height/4});
			
				if(pag != null && pag != "" && pag.categoria!="")
				{
					 //Controllo se ha una categoria. se si recupero gli items
						 if(pag.categoria == "gal_gallery")
						 {
						 	// GALLERY
							var testo_popup = $(".testo-popup").html();
							$(".testo-popup").empty();

							jsonRequest("getAllegati", {"p1":pag.categoria}, function(res){
								for(var i=0; i<res.length; i++)
								{
									var thumb = abs_url + "content/" + res[i].collection + "/__thumb_" + res[i].path;
									var img = abs_url + "content/" + res[i].collection + "/" + res[i].path;
									$(".testo-popup").append("<a href='"+img+"' rel='"+res[i].collection +"' class='pre_cb'><img src='"+thumb+"' width='100px' /></a>");
								}
								$($("a.pre_cb")[0]).click();
								doColorBox();

								$(".testo-popup").append(testo_popup);
								cop.fadeIn(function(){logo_back_to_home = true;});
							});

						 }
						 else if(pag.categoria == "360"){
							cop.fadeIn(function(){
								logo_back_to_home = true;
								//Carico li 360 relativo
								link_360 = abs_url + "360/" + pag.nome_pagina + ".html";
								show360();
							});
                         }
						 else
						 {
						 	// ITEM
								jsonRequest("getItems", {"p1":pag.categoria}, function(res){
								  if(res != null)
                    for(var i=0; i<res.length; i++)
                    {
                      /*var img = "";
                      if(res[i].immagine_item != null)
                        div_link.data("sfondo", abs_url + "content/" + res[i].collection_item + "/" + res[i].immagine_item);
                      */
                      
                    var div_link = $("<div class='link'><h1>"+res[i].descrizione+"</h1>"/*+res[i].sottotitolo+"<br>"*/+cutString(res[i].testo2, 100)+"</div>");
                    div_link.data("data", res[i]);
                      
                      $(".testo-popup").append("<hr>").append(div_link);	
                    }
										
									cop.fadeIn(function(){logo_back_to_home = true;});
								});
						 }
				}else
					cop.fadeIn(function(){logo_back_to_home = true;});
				
			
				loadCaptcha();
				showMap();
				
			}
			else
			{
				$(".titolo-popup, .testo-popup").fadeOut(function(){
					if(!$(this).hasClass("titolo-popup"))
					  return; //perchè senno' fa più volte le request 
					  
			
					$(".titolo-popup").html(cnt[0].titolo);
					$(".testo-popup").html("");
					$(".testo-popup").html((all != null ? "<div class='center'><img src='"+ abs_url + "content/" + all[0].collection + "/__thumb_" + all[0].path +"' alt='' width='' height='' /></div>" : "")
							+cnt[0].testo);
					
					setCalendar(".datepicker");

					if(pag != null && pag != "" && pag.categoria!="")
					{
						 //Controllo se ha una categoria. se si recupero gli items
						 if(pag.categoria == "gal_gallery")
						 {
							// GALLERY
							var testo_popup = $(".testo-popup").html();
							
							$(".testo-popup").empty();
							jsonRequest("getAllegati", {"p1":pag.categoria}, function(res){
								for(var i=0; i<res.length; i++)
								{
									var thumb = abs_url + "content/" + res[i].collection + "/__thumb_" + res[i].path;
									var img = abs_url + "content/" + res[i].collection + "/" + res[i].path;
									$(".testo-popup").append("<a href='"+img+"'' rel='"+res[i].collection +"' class='pre_cb'><img src='"+thumb+"' width='100px' /></a>");
								}
								$($("a.pre_cb")[0]).click();
								doColorBox();
								$(".testo-popup").append(testo_popup);
								$(".titolo-popup, .testo-popup").fadeIn();
							});

						 }
						 else if(pag.categoria == "360"){
							$(".titolo-popup, .testo-popup").fadeIn(function(){
								//Carico li 360 relativo
								link_360 = abs_url + "360/" + pag.nome_pagina + ".html";
								show360();
							});
                         }
						 else
						 {
						 	// ITEM
							jsonRequest("getItems", {"p1":pag.categoria}, function(res){
							  if(res != null)
                  for(var i=0; i<res.length; i++)
                  {
                    /*var img = "";
                    if(res[i].immagine_item != null)
                      img = "<img src='"+abs_url + "content/" + res[i].collection_item + "/__thumb_" + res[i].immagine_item+"' class='right'>";
                    */
                    var div_link = $("<div class='link'><h1>"+res[i].descrizione+"</h1>"/*+res[i].sottotitolo+"<br>"*/+cutString(res[i].testo2, 100)+"</div>");
                    div_link.data("data", res[i]);
                    
                    $(".testo-popup").append("<hr>").append(div_link);	
                  }
								$(".titolo-popup, .testo-popup").fadeIn();
							});
							 
						 }
				}else
					$(".titolo-popup, .testo-popup").fadeIn();
					
				loadCaptcha();
				showMap();
				moveSocial();
				});
			}
			
			content_shown=true;
			ajax_sent = false;
		});
	});
	

	__resize();
	
	$(window).resize(function(){__resize();});
	
	doColorBox();
	
	
	$("ul.footer li._copy_2011_tre_, ul.footer li.credits").click(function(){
	  window.open($(this).find("a").attr("href"), "admin");
	});
	
	// Click su Leggi altro...
	$(".read_more").live("click", function(){
		$(".read_more").fadeOut("fast");
		$(".read_more_text").fadeIn("slow", function(){
        if($("div.dialog").height() >= (full_height - 200))
        {
          $("div.dialog").height(full_height - 150);
          $("div.ui-dialog").animate({
            top:"40"
          });
        }
		});
	});
	
	//Scorro i link per torvare l'elemento da cliccare
	if(pagina_selezionata != "")
	{
		
		$("a").each(function(){
			if($(this).attr("href") == pagina_selezionata)
			  $(this).click();
		});
	}
});

// ----------------- FINE Document.Ready ----------------

function loadCaptcha()
{
	if($("#captcha_to_replace").length == 0)
	  return;
	
	$("#captcha_to_replace").empty().append($("#captcha").children().clone(true));
	
}

function loadModule(elem, url, new_id, post_function)
{
	
	dest = $("#" + elem).clone();//$("<div />");
	if(isEmpty(new_id))
	  dest.removeAttr("id");
	else
	  dest.attr("id", new_id);
	dest.hide();
	
	dest.load(url, function(){
		$("#" + elem).parent().append(dest);
		$("#" + elem).fadeOut("fast", function(){
			dest.fadeIn("fast", function(){
				$(window).resize();
				$("#" + elem).remove();
				if(!isEmpty(post_function))
				{
					if(post_function.indexOf("(")==-1)
					  post_function+="();";
					try{ eval(post_function); } catch(e) { try{console.log(e);}catch(ee){} }
				}
			});
		});
	});
}

function setCalendar(selector){
	$(selector).datepicker();
	
	var dateformat = "mm/dd/yy";
	try{dateformat = $.datepicker.regional[id_lingua].dateFormat}catch(e){}
	var the_form = $(selector).parentsUntil("form").parent();
	dateformat = dateformat.replace("mm", "m").replace("dd", "d").replace("yy", "Y");
	the_form.append("<input type='hidden' name='dateformat' value='"+dateformat+"'>");
}

function __resize()
{
	full_width = $(window).width();
	full_height = $(window).height();
	
	dialog_w = full_width >= 1200 ? 500 : 440;
	
	$("ul.footer").css({
	  top: full_height - 30,
	  left: full_width - 295
	});
	
	li_width = full_width - other_li_width;
	logo_left = li_width + other_li_width - 250;
	menudx_top = full_height - $("ul.menu_dx").height();
	
	$("div.logo").data("top", full_height / 2);
	$("ul.menu_dx").data("top", full_height / 2 + 25);
	
	var cur_logo_left=0;
	
	$(".titolo-popup").css({marginTop: full_height/4});
	$(".testo-popup").css({height: full_height - 75 - full_height/4});
	
	//Ricentro tutto
	var closed_logo_left = (closed_slide_width + 6) * ($("ul.main_menu>li").length-1) + opened_slide_width + 30;
	var closed_menu_dx_left = closed_logo_left + $("div.logo").width();
	
	var content_width = closed_menu_dx_left + $("ul.menu_dx").width();
	var gap_from_left = full_width/2 - content_width/2;
	$("ul.main_menu").css({
		marginLeft: gap_from_left
	});
	
	$("div.logo").data("left", gap_from_left + closed_logo_left);
	$("ul.menu_dx").data("left", gap_from_left + closed_menu_dx_left);
	
	if(content_shown)
	{
		// E' visualizzato un contenuto devo quindi spostare dialog, le due barre laterali ed i due menu a dx
		$("div.copertura").each(function(){
			$(this).height(full_height).css({marginLeft: full_width - $(this).data("distanceFromRightMargin")});
		});
		$("ul.menu_dx").css({top: menudx_top});
		main_menu.css({
			left: ($("ul.menu_dx").position().left  ) + "px",
			top: ( (full_height /2) - ($(main_menu).height() /2) )+ "px"
		});
		cur_logo_left = logo_left;
		$("ul.menu_dx").css("left", (cur_logo_left));
	}
	else
	{
		$("ul.menu_dx").css("top", $("ul.menu_dx").data("top"));
		cur_logo_left =	$("div.logo").data("left");
		$("ul.menu_dx").css("left", (cur_logo_left + $("div.logo").width()));
	}
	
	$("div.logo").css("left", cur_logo_left);
	var w_size = full_height;
	w_size = w_size - (w_size / 2.5);
	
	$("ul.main_menu>li").each(function(index){
		if(!$(this).data("gap"))
			$(this).data("gap", rangeRandom(-50,50));
			
		var gap = eval($(this).data("gap"));
		var size = w_size + gap;
		
		var margin_top = (full_height - size) / 2;
		$(this).height(size).css({marginTop: margin_top});
		$(this).data("height", size).data("margin_top", margin_top);
		
		//Risistemo il menu principale con i sottomenu sfalsati
		var h=c_h=d_h=0;
		
		if(index%2 == 1)
		{
			// Voci menu alte
			h = $(this).height(); //altezza LI principale
			d_h = $(this).find("div.label").height(); // altezza label
			
			$(this).css("paddingTop", d_h).css("height", h - d_h);
		}
		else
		{
			// Voci menu basse
			h = $(this).height(); //altezza LI principale
			c_h = $(this).find("ul.menu").data("height") + 10; // altezza sottomenu + padding
			d_h = $(this).find("div.label").height(); // altezza label
			
		
			$(this).css("paddingTop", (h - c_h - d_h)+"px").css("height", (c_h + d_h)+"px");
		}

	});

	var gal_w = full_width - (copertura_w + contenuto_dx + 20);
	$("#element_gallery").height(full_height).width(gal_w);
	//centro la foto
	$("#div_element_gallery").each(function(){
		
		var max_w = gal_w - 40;
		var max_h = full_height - 40;
		
		var size = scaleSize(max_w, max_h, $(this).data("img_w"), $(this).data("img_h"));
		$(this).find("img").width(size.width).height(size.height);
		
		$(this).css("marginTop", full_height/2 - $(this).find("img").height()/2);
	});
	
	//Ridimensioni la mappa
	$("#mappa_contatti").height(full_height).width(gal_w);
	
	//Sposto il menu social
	moveSocial();
	
	
}

function moveSocial()
{
	$("ul.menu_social").css({
		left: $("ul.menu_dx").position().left,
		top: $("ul.menu_dx").position().top + 70,
	});

}


/************************
* 
*  Gestione mouseover sul menu
* 
********************** */
var timeout = false;

function updateSlides()
{
	$("ul.main_menu>li").not(".hover").each(function(){
	
    var params = {width: closed_slide_width};
    
    if($(this).hasClass("storia") )
      params["backgroundPosition"] = "-122px";
	  $(this).stop().animate(params, "slow", "easeOutBack")
	});;
	
	var params = {width: opened_slide_width};
	if($($("ul.main_menu>li.hover")[0]).hasClass("storia"))
    params["backgroundPosition"] = "-72px";
    
	$("ul.main_menu>li.hover").stop().animate(params, "slow", "easeOutBack" );
	
	if(timeout !== false)
	  clearTimeout(timeout);
	
	timeout = setTimeout("openSubMenu()", 500);
	$("ul.main_menu>li")
		.not(".hover")
		.find("ul.menu")
		.stop()
		.animate(
			{height: "hide"}, 
			{
				duration: "slow", 
				easing: "easeInBack", 
				complete:function(){
					//$(this).height(0);
				}
			}
		);
	
	
	
	/*
	var w = closed_slide_width;//$("ul.main_menu>li.hover").size() == 0 ? "90px" : "90px";

	if($("ul.main_menu>li.clicked").size() == 0)
		$("ul.main_menu>li").not(".hover").find("ul.menu").animate({height: "hide"}, {duration: "slow", easing: "easeInBack", queue: true});
		
	$("ul.main_menu>li.hover").stop().animate({width: opened_slide_width}, "slow", "easeOutBack");
	$("ul.main_menu>li.hover>ul.menu").not(":animated").delay(1000).animate({height: "show"}, {duration: "slow", easing: "easeOutBack", queue: true});
	$("ul.main_menu>li").not(".hover").stop().animate({width: w}, "slow", "easeOutBack");
	*/
}

function openSubMenu()
{
	$("ul.main_menu>li.hover>ul.menu")
		.stop()
		.animate(
			{height: "show"}, 
			{
				duration: "slow", 
				easing: "easeOutBack", 
				complete:function(){
					$(this).height($(this).data("height"));
				}
			}
		);
	//$("ul.main_menu>li.hover>ul.menu").stop().animate({height: "show"}, {duration: "slow", easing: "easeOutBack"});
	timeout = false;
}

/************************
* 
*  Visualizzazione contenuti
* 
********************** */
function showContent(elem, load_content)
{
	
	if(!$("ul.menu_dx").data("animated"))
	{
		$("ul.menu_dx").data("top", $("ul.menu_dx").position().top);
		menudx_top = full_height - $("ul.menu_dx").height();
		$("ul.menu_dx").animate({top: ""+menudx_top+"px"}, {complete: moveLogoToRight, duration: 250}).animate({left: (logo_left + 60) + "px"}, {complete: showMainMenu});
	}
	else
	  moveLogoToRight();
	  
	$("ul.menu_dx").data("animated", true);
	$("ul.main_menu>li.hover").removeClass("hover");
	$("ul.main_menu>li.clicked").removeClass("clicked");
	updateSlides();
	
	var is_li = elem.get(0).tagName.toLowerCase() == "li";
	
	var bg = is_li ? elem.parent().parent().css('background-image') : elem.parent().css('background-image');
	bg = bg.replace(/^url\(|\)/g,'');
	$("ul.main_menu").fadeOut(function(){
		
		// Barra sulla destra
		var cop = $("<div class='copertura' />");
		cop.data("distanceFromRightMargin", copertura_w);
		cop.height(full_height).width(copertura_w).css({marginLeft: full_width});
		$("div.content").prepend(cop);
		cop.animate({marginLeft: "-="+copertura_w+"px"});

		visualizzaSfondo();
		$("div.content").append("<div class='dialog' />");
		$("div.dialog").data("is_dialog", false);
		if(load_content)
			//Controllo se devo sobbaltare tutta la pagina...
			loadContent((is_li ? elem.find("a") : elem), (is_li ? elem.parent() : elem).parent().find("div.label").html(), (is_li ? elem.parent() : elem.parent().find("ul")).clone(false));
		else 
			//...o cambiare solamente lo sfondo
			visualizzaSfondo();
	content_shown = true;

	});
}

function loadContent(elem, titolo, menu){

	var href=elem.attr("href");
	var selected_menu = elem.parent().attr("class").replace(/sub_menu\W*/, "");
	
	$("#mappa_contatti").fadeOut(function(){$("#mappa_contatti").remove()});


	// TODO :: Scelgo gli sfondi di questa pagina
	var  _tmp = jsonSyncRequest("getSfondiPagina", {"p1":href});
	sfondi = new Array();
	if(_tmp != null)
	{
		for(var s in _tmp)
		  sfondi.push(_tmp[s].path);
	}
	  
	// Menu è il menu visualizzato nel dialog
	if(!menu.data("_init"))
	{
		menu.addClass("box_content").height("auto");
		menu.find("li").click(function(event){
			event.preventDefault();
			menu.find("li").removeClass("selected");
			$(this).addClass("selected");
			loadContent($(this).find("a"), titolo, menu);
		});
		
		menu.find("li:not(:last)").append("<div class='dot'/>");
		menu.find("li." + selected_menu).addClass("selected");
		menu.data("_init", true);
	}
	
	//Controllo se il dialog è già visualizzato
	if($("div.dialog").length == 0)
	{
//		visualizzaSfondo();
		doContentRequest(elem, titolo, menu);
/*
		$("#full_bg").fadeOut(function(){
			$("#full_bg").remove();
			visualizzaSfondo();
			doContentRequest(elem, titolo, menu);
		});
*/		
	}else if(($("div.dialog").data("titolo")!=titolo && $("div.dialog").data("is_dialog")) || changebg)
	{
//		visualizzaSfondo();
		$("div.dialog").data("is_dialog", false);
		$("div.dialog").fadeOut(function(){
			$("div.dialog").dialog("destroy")
			doContentRequest(elem, titolo, menu);
		});
/*		$("#full_bg").fadeOut(function(){
			$("#full_bg").remove();
			$("div.dialog").data("is_dialog", false);
			$("div.dialog").fadeOut(function(){
				$("div.dialog").dialog("destroy")
				visualizzaSfondo();
				doContentRequest(elem, titolo, menu);
			});
		})*/
	}
	else
	{
		doContentRequest(elem, titolo, menu);
//		visualizzaSfondo();
	}
	visualizzaSfondo();
		
	$("#contenuto_dx").fadeOut(function(){$(this).remove()});
	changebg = false;
	content_shown = true;
}

/**
 *  VISUALIZZA IL PRIMO (O L'UNICO) SFONDO DELLA PAGINA
 */
function visualizzaSfondo()
{
	if(sfondi.length==0)
	  return 
	var removed = false;
	current_sfondo = 0;
	last_sfondo = sfondi.length-1;
	if($("div.backstretch").length != 0)
	{
		if($("div.backstretch").data("current") == sfondi[current_sfondo])
		  return;
		clearTimeout(__bg_interval__);
		$("div.backstretch").fadeOut(function(){
			if(!removed)
			{
				$(this).remove();
				$.backstretch(sfondi[current_sfondo], {
					speed:1500,
					id:"full_bg_" + current_sfondo
				});

				$("div.backstretch").data("current", sfondi[current_sfondo]);
				
				if(sfondi.length > 1)
				  __bg_interval__ = setTimeout("nextSfondo()", 10000);
			  current_sfondo++;
			}
			removed = true;
		});
	}
	else
	{
		clearTimeout(__bg_interval__);
		$.backstretch(sfondi[current_sfondo], {
			speed:1500,
			id:"full_bg_" + current_sfondo
		});
		$("div.backstretch").data("current", sfondi[current_sfondo]);
		if(sfondi.length > 1)
		  __bg_interval__ = setTimeout("nextSfondo()", 10000);
		  current_sfondo++;
	}
	

}

/**
 * FUNZIONE LEGATA AL SETINTERVAL (__bg_interval__) PER IL CAMBIO DEGLI SFONDI
 */
function nextSfondo()
{
	$.backstretch(sfondi[current_sfondo], {
		speed:1500,
		id:"full_bg_" + current_sfondo
	});
	var last = (current_sfondo == 0 ? last_sfondo : current_sfondo - 1);
	
	$("#full_bg_" + (last)).fadeOut(2000, function(){
		$("#full_bg_" + (last)).remove()
	});
	
	current_sfondo++;
	if(current_sfondo == last_sfondo+1)
		current_sfondo = 0;
	
	__bg_interval__ = setTimeout("nextSfondo()",10000);
}

function doContentRequest(elem, titolo, menu)
{
	var href=elem.attr("href");
	/*if(/secret-room\.html/.test(href))
	{
		//Controllo se tante le volte è stato cliccato su secret_room
		$("#li_secret_room").click();
		return
	}*/
	jsonRequest("getContenuto", {"p1":"solo_testo", "p2":href}, function(res){
		
		titolo_dialog = titolo; 
		titolo = notEmpty(res.contenuto[0].titolo, titolo);
		
		
		if($("div.dialog").length == 0)
		{
			$("div.content").append("<div class='dialog' />");
			$("div.dialog").data("is_dialog", false);
		}
		
		if(menu.length > 1)
		  menu = $(menu[0]);

			var url_parlante = getAbsUrl(res.pagina.url_parlante);
			
			var testo = (res.contenuto[0].testo2 == null ? "" : res.contenuto[0].testo2)
			+(isEmpty(res.contenuto[0].testo) ?  "" : 
				// Contenuto
				"<div class='hidden read_more_text'>"
				+res.contenuto[0].testo
				+"</div>"
				// Leggi altro
				+"<div class='read_more'>Leggi altro...</div>"
			)
			// Condividi
			+"<div class='condividi'>"
			+"<span>condividi</span>"
			+"<a href='http://www.facebook.com/sharer.php?u="+url_parlante+"' target='blank'><div class='fb'>Facebook</div></a>"
			+"<a href='http://twitter.com/home?status="+url_parlante+"' target='blank'><div class='tw'>Twitter</div></a>"
			+"</div>"
			+"<div class='ui-icon invisible'></div>"; //Quest'ultimo div serve giusto per non far semprare flottanti nel niente i link alla condivisione
			
			//Aggiungo i social
			if($("div.dialog").data("is_dialog"))
			{
				if(!elem.parent().hasClass("sottomenu"))
				{
					menu.find("li").removeClass("selected");
				}
					
				$("div.dialog_text").fadeOut(function(){
          $(this).html(testo).fadeIn(function(){
            if($(this).parent().parent().position().top +  $(this).parent().parent().height() + 50 >= full_height)
              $(this).parent().parent().animate({top: 20});
          
            if($("div.dialog").height() >= (full_height - 200))
            {
              $("div.dialog").height(full_height - 150);
              $("div.ui-dialog").animate({
                top:"40"
              });
            }
          });
        });
				return;
			}
			
			//altrimenti lo creo
			$("div.dialog").html("<div class='dialog_text'>" + testo + "</div>").dialog({
					title: titolo, 
					show: "fade", 
					resizable: false, 
					width: dialog_w,
					hide: "fade",
					position: [((full_width -copertura_w) / 2  - dialog_w / 2), 200 /*full_height/2 - 100*/], 
					close:function(){
						//Funzione di chiusura dialog, come se cliccassi sul logo
						$("div.logo").click();
						return false;
					},
					create:function(){
						//Funzione richiamata dopo la creazione del dialog
						$("div.dialog").data("is_dialog", true); // <---- per evitare di ricrearlo nel caso sia già 'dialogato'
						$("div.dialog").data("titolo", titolo_dialog);
						$("div.ui-dialog-titlebar").append($("<div class='zoomin_out'><div class='out' /><div class='in' /></div>"));
						$("div.in, div.out").data("zoomElement", ".ui-dialog-title, div.dialog, .box_content div.label");
						$("div.in").click(zoomIn);
						$("div.out").click(zoomOut);
						menu.find("li").each(function(){$(this).addClass("sottomenu"); });
						menu.show()
						$("div.dialog").prepend(menu);
					},
					open:function(){
            if($("div.dialog").height() >= (full_height - 200))
            {
              $("div.dialog").height(full_height - 150);
              $("div.ui-dialog").animate({
                top:"40"
              });
            }
					}
			});
	});
	
}

function moveLogoToRight()
{
	$("div.logo").css({top: $("div.logo").position().top + "px"});
	$("div.logo").stop().animate({left: logo_left + "px"}).animate({top: "100px"}, function(){
		moveSocial();
		$("ul.menu_social").fadeIn();
	});
}


/************************
* 
*  Click sul menu principale che viene visualizzato sulla destra
* 
********************** */
function showMainMenu()
{	
	var h = $(main_menu).height() == 0 ? 125 : $(main_menu).height();
	main_menu.css({
		left: ($("ul.menu_dx").position().left  ) + "px",
		top: ( (full_height /2) - (h /2) )+ "px",
		marginLeft: copertura_w
	});
	
	if(!main_menu.data("_init"))
	{
		main_menu.find("li").click(function(event){
			event.preventDefault();

			changebg = true;

			$("#div_element_gallery, #element_gallery").remove();
			var selected_menu = $(this).attr("class").replace(/sub_menu\W*/, "");
			loadContent($(this).find("a"), $(this).find("div.label").html(), $("ul.menu_" + selected_menu).clone(false));
		});
		main_menu.data("_init", true);
	}
	
	$("div.content").append(main_menu);
	main_menu.animate({marginLeft: "0px"});
		
}

function zoomIn(){
	$($(this).data("zoomElement")).each(function(){
		var currentFontSize = $(this).css('font-size');
	    var currentFontSizeNum = parseFloat(currentFontSize, 10);
	    var newFontSize = currentFontSizeNum*1.2;
	    $(this).css('font-size', newFontSize);
	});
	$('div.dialog').dialog('option', 'position', [((full_width -copertura_w) / 2  - dialog_w / 2), full_height/2 - 200]);
}
function zoomOut(){
	$($(this).data("zoomElement")).each(function(){
		var currentFontSize = $(this).css('font-size');
	    var currentFontSizeNum = parseFloat(currentFontSize, 10);
	    var newFontSize = currentFontSizeNum/1.2;
	    $(this).css('font-size', newFontSize);
	});
}

function rangeRandom(from, to)
{
	return Math.round(Math.random()*(to-from))+from;	
}

function showAltroEvento(val)
{
	if(val == "altro")
		$("#tr_altro_evento").show();
	else
		$("#tr_altro_evento").hide();
}

function clickGallery(a_elem)
{
	var gal = $("<div class='copertura' id='element_gallery' />");
	var img = $("<img id='img_element_gallery' src='"+$(a_elem).find("img").attr("src").replace(/__thumb_/g, "")+"' />");
	img.load(function(){
		$(this).fadeIn();
		$("#div_element_gallery").data("img_h", $(this).height()*10).data("img_w", $(this).width()*10);
		__resize();
	});
	$("div.content").append(gal);
	$("div.content").append($("<div id='div_element_gallery' />").append($("<a href='"+$(a_elem).find("img").attr("src").replace(/__thumb_/g, "")+"' rel='gallery' class='cb'>").append(img)));
	doColorBox();
}

function show360(){
	if(!show_360)
	  return;

	$("div.content").append($("<div id='mappa_contatti'><iframe id='if_mappa_contatti' height='1px' width='1px' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' src='"+link_360+"'></iframe></div>"));
	$("#if_mappa_contatti").ready(function(){//
		$("#mappa_contatti, #if_mappa_contatti").height($(window).height()).width(full_width - (copertura_w + contenuto_dx + 20)).fadeIn();
	});

}


function showMap(){
	if(!show_map)
	  return;
	  
	  $("#mappa_contatti").stop().remove();
    $("div.content").append($("<div id='mappa_contatti'><div id='map_canvas' /></div>"));
    $("#mappa_contatti").height($(window).height()).width(full_width - (copertura_w + contenuto_dx + 20)).fadeIn(function(){_mapScriptLoaed();});
	  
	  
	/*
	
	//Importo le librerie di google maps
	$.getScript("http://maps.googleapis.com/maps/api/js?sensor=false&language="+id_lingua+"&region=IT&async=2", function(){
		//Importo la libreria per effettuare le ricerche
		//La funzione _mapScriptLoaed viene richiamata dal parametro callback nella chiamata alle librerie di google maps
		$.getScript("http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false&language="+id_lingua+"&region=IT&async=2&callback=_mapScriptLoaed", function(data, textStatus){});
	});
	*/
	/*
	jsonRequest("getSetting", {"p1":"link_gmaps"}, function(res){
		$("div.content").append($("<div id='mappa_contatti'><iframe id='if_mappa_contatti' height='100%' width='100%' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' src='"+res+"'></iframe></div>"));
		$("#if_mappa_contatti").ready(function(){
			$("#mappa_contatti").height($(window).height()).width(full_width - (copertura_w + contenuto_dx + 20)).fadeIn();
		});
	});
	*/
}

function _mapScriptLoaed()
{
	
	$("#map_search_button").click(function(){fetchDirection()});
	
	latlng = new google.maps.LatLng(icbm[0], icbm[1]); 
	
    var mapOptions = {
      zoom: 17,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
	
	directionsService = new google.maps.DirectionsService();
	
	directionsRenderer = new google.maps.DirectionsRenderer();
	directionsRenderer.setMap(map);
	directionsRenderer.setOptions({
		suppressMarkers: true
	});
    	
      
    // Imposto il marker di STR
	icons = {
		start: new google.maps.MarkerImage(
			// URL
			abs_url + '/graph/map_start.png',
			// (width,height)
			new google.maps.Size( 32, 37 ),
			// The origin point (x,y)
			new google.maps.Point( 0, 0 ),
			// The anchor point (x,y)
			new google.maps.Point( 16, 37 )
		),
		end: new google.maps.MarkerImage(
			// URL
			abs_url + '/graph/map_destination.png',
			// (width,height)
			new google.maps.Size( 32, 37 ),
			// The origin point (x,y)
			new google.maps.Point( 0, 0 ),
			// The anchor point (x,y)
			new google.maps.Point( 16, 37 )
		)
	};
	
    markers = {
    	destination: new google.maps.Marker({
	          position: latlng,
	          map: map,
	          draggable: false,
	          animation: google.maps.Animation.DROP,
	          clickable: true,
	          icon: icons.end
	        }),
        from:null
    };
        
    google.maps.event.addListener(markers.destination, 'click', function() {
	    //infowindow.open(map, markers.destination);
    });
    // ----------------------

    // Fumettino con info su STR
    infowindow = new google.maps.InfoWindow({
      content: $("#marker_content").html(),
      position:latlng
    });
    // --------------------------

    // Imposto l'autocomplete
    var autocomplete = new google.maps.places.Autocomplete(document.getElementById('map_search_from'));
    autocomplete.bindTo('bounds', map);

    google.maps.event.addListener(autocomplete, 'place_changed', function() {
      //infowindow.close();
      fetchDirection(autocomplete.getPlace().geometry.location);
    });
    // ---------
}

function fetchDirection(start_position){
	var from = (start_position ? start_position : $("#map_search_from").val());
	if(markers.from)
		markers.from.setMap(null);
	var request = {
    	origin:from,
    	destination:latlng,
    	travelMode: google.maps.TravelMode.DRIVING
  	};
	directionsService.route(request, function(result, status) {
	    if (status == google.maps.DirectionsStatus.OK) {
			directionsRenderer.setDirections(result);
			console.log(result);
			var leg = result.routes[ 0 ].legs[ 0 ];
			makeMarker( leg.start_location, icons.start);
	    }
  	});
}

function makeMarker( location, icon )
{
	markers.from = new google.maps.Marker({
	          position: location,
	          map: map,
	          draggable: false,
	          animation: google.maps.Animation.DROP,
	          clickable: true,
	          icon: icon
	});
}


function checkForm(form)
{
  if(!check_captcha())
    return myAlert("Controllo antispam non valido!", false);
    
  if($("#privacy").attr("checked") != "checked")
    return myAlert("Accettare la privacy per continuare.", false);
    
  for(var f=0; f<form.length; f++)
  {
    if(form[f].hasAttribute("obbl") && $(form[f]).attr("obbl") == "y" && $(form[f]).val() == "")
      return myAlert("Campi obbligatori non compilati.", false);
  }

  return true;
}
