	var scrolled_page = 0;
	var scroll_direction = 0;
	var scroll_last = 0;
	var scroll_status = 1;
	var scroll_start = 0;
	var scroll_delay = 300;
	var margine_min = -130;
	var margine_max = 260;
	var mouse_x = 0;
	var mouse_y = 0;
	var slider_status = 1;

	
	resize_block_loading();
	$(window).load(function()
	{
		resize_block_loading();
		resize_objects();
		magnetronium();
		show_menu_slider(scrolled_page);
		colorize();
		hide_block_loading();
		pulsar();
		show_all_didas();
		
	});

	$(document).mousemove(function(e)
	{
		mouse_x = e.pageX;
		mouse_y = e.pageY;
	});
	
	$(document).ready(function()
	{
		resize_block_loading();
		colorize();
		bind_objects();
	});
	
	$(window).bind('resize', function()
	{
		resize_objects();
		magnetronium();
		colorize();
		
		if ($(window).width() < 960) $("body").css('overflow-x','scroll');
		else 						   $("body").css('overflow-x','hidden');
		
	});
	
	$(window).bind('scroll', function()
	{
		scrolling_functions();
	});
	
	function show_all_didas()
	{
		//show_didas(0, 0);
		
		var h = $(window).height() - 75;
		
		var containers = $('.block_slideshow');
		containers.each( function ()
		{
			var pg = $(this).attr('id').replace('block_slideshow_', '');
			show_didas(0, pg);
			//var cur_dida = $('#block_didascalia_'+pg);
			
			//var top = ( h *  pg );
			
			//cur_dida.css('top', top+'px');
			//alert(top);
		});
		
		
	}

	
	
	function bind_exit(current_box)
	{
		$(document).unbind('keydown');
		$(document).bind('keydown', function(e)
		{
			if (e.keyCode == 27)
			{
				if ( current_box == 'chiusura_eventi' )
				{
					$('.block_eventi_background').fadeOut();
					$('.block_eventi').fadeOut();
					$('#mail_box').fadeOut();
				}
				if ( current_box == 'chiusura_mailbox' )
				{
					$('#mail_box').fadeOut();
					bind_exit('chiusura_eventi');
				}
				if ( current_box == 'chiusura_info' )
				{
					$('.block_info').fadeOut();
				}
				return true;
			}
		});
		
	}
	
	function mail_send()
	{
		var form = $('#mail_box').find('form');
		var loading = $('#mail_box').find('#block_mail_loading');
		
		form.hide();
		loading.show();
		
		timmy_submit('mail_send', 'mail_box');
	}
	

	
	function scrolling_functions()
	{
		resize_block_logo();
		resize_block_data();
		magnetronium();
		colorize();
		destabilizator();
	}
	
	function destabilizator()
	{
		
		//controlla in ogni momento lo stato del menu
		
		//calcolo la pagina corrente
		var scroll_now = $(window).scrollTop();
		var height = $(window).height()-75;
		
		if ( scroll_now > 0 ) { pagina = Math.round( scroll_now / height); } else { pagina = 0; }
		
		var margine = ( height * pagina ) - scroll_now;
		
		if ( scrolled_page != pagina ) reset_slideshow();//resetta lo slideshow della pagina corrente
		
		scrolled_page = pagina;
		show_menu_slider(pagina);
				
		/*
		$('#debug').html(	
							'scrolltop: '+$(window).scrollTop()+'<br>'+
							'pagina: '+pagina+'<br>'+
							'margine_min: '+margine_min+'<br>'+
							'margine_max: '+margine_max+'<br>'+
							'margine: '+margine+'<br>'
							
							);
		*/
	}
	
	function reset_slideshow()
	{
		slideshow('auto', 0);
	}
	
	function bind_objects()
	{
		//$('.link_pagina').unbind('click', link_pagina);
		//$('.link_pagina').bind('click', link_pagina);
		$('.sub_span').unbind('click', link_pagina);
		$('.sub_span').bind('click', link_pagina);
		
		
		$('.link_slide').unbind('click', link_slide);
		$('.link_slide').bind('click', link_slide);
		
		
		$('.slider_prev').unbind('click', slider_prev);
		$('.slider_prev').bind('click', slider_prev);
		
		$('.slider_next').unbind('click', slider_next);
		$('.slider_next').bind('click', slider_next);
		
		$('.block_data').unbind('click', link_data);
		$('.block_data').bind('click', link_data);
		

		
		

		//$('.slides').unbind('click', function () { complex_slider_next(this); } );
		//$('.slides').bind('click',  function () { complex_slider_next(this); } );


		$('#block_eventi_up').unbind('click', link_eventi_up);
		$('#block_eventi_up').bind('click', link_eventi_up);
		$('#block_eventi_down').unbind('click', link_eventi_down);
		$('#block_eventi_down').bind('click', link_eventi_down);
		
		$('#block_eventi_exit').unbind('click', link_eventi_exit);
		$('#block_eventi_exit').bind('click', link_eventi_exit);
		
		bind_exit();
		
	}
	
	function mailbox_show(id, tipo)
	{
		var mbox = $('#mail_box');
		var win = $(window).height();
		var newtop = (mouse_y - (mbox.height() / 2 ));
		var max = (  win - mbox.height()  - 10 );
		if ( newtop > max ) newtop = max;
		if ( newtop < 10 ) newtop = 10;
		
		mbox.css('top', newtop+'px');
		mbox.load('/ajax/mailsend/'+id+'/'+tipo, function () { mbox.fadeIn(); } );
		
		bind_exit('chiusura_mailbox');
	}
	
	function mailbox_show2(id, tipo)
	{
		var mbox = $('#mail_box');
		var win = $(window).height();
		var newtop = (mouse_y - (mbox.height() / 2 ));
		var max = (  win - mbox.height()  - 10 );
		if ( newtop > max ) newtop = max;
		if ( newtop < 10 ) newtop = 10;
		
		mbox.css('top', newtop+'px');
		mbox.load('/ajax/mailsend/'+id+'/'+tipo+'/2', function () { mbox.fadeIn(); } );
		
		bind_exit('chiusura_mailbox');
	}
	
	function complex_slider_next(oggetto)
	{
		
		block1 = $(oggetto).parent();
		
		imgpage = block1.attr('id').replace('block_slideshow_','') - 0;
		
		if ( scrolled_page != imgpage ) return;

		slider_next();

	}
	
	function link_eventi_exit()
	{
		$('.block_eventi_background').fadeOut();
		$('.block_eventi').fadeOut();
		$('#mail_box').fadeOut();
	}
	
	function test_pulsars()
	{
		box = $('.block_eventi_container');
		var cur_top = box.css('margin-top').replace('px', '');
		var win_h = $(window).height();
		var box_h = box.height();
		var max_top = win_h - box_h;
		
		var up = $('#block_eventi_up');
		var down = $('#block_eventi_down');
		
		
		//gestire i tasti di up e down
		
		//all'inizio sono tutti e due spenti
		down.hide();
		up.hide();
		
		//se il box è piu grande della pagina, bisogna verificare quali usare
		if ( box_h > win_h )
		{
			if ( cur_top < 0 ) up.show();
			if ( cur_top > max_top ) down.show();

		
			//se cur_top è minore di 0 dobbiamo attivare il tasto up per tornare a 0
			//if ( cur_top > 0 ) up.show();
			
			//se cur_top è maggiore di max_top dobbiamo attivare il tasto down
			//if ( cur_top < max_top ) up.show();
		}
		if ( box_h < win_h )
		{
			if ( cur_top < 0 ) up.show();
		}
		
		
		$('.block_eventi_background').css('top', 0).height( $(window).height() );

	}
	
	function link_eventi_up()
	{
		//per scrollare gli eventi verso l'alto devo aumentare il margin-top portandolo sopra lo 0
		//per capire quando non scrollare piu devo verificare che cur_top non sia già a 0
		//quindi se il margin-top è uguale a 0 si ferma
		
		//alert('eventi_up');
		
		var box = $('.block_eventi_container');
		var win_h = $(window).height();
		var cur_top = box.css('margin-top').replace('px', '');
		var nex_top = cur_top - 0 + (win_h/3);
		//piccola correzione a nex_top
		if ( nex_top > 0 ) nex_top = 0;
		
		if ( cur_top < 0 )
		{
			box.animate({"margin-top": nex_top+"px"}, "slow", function() { test_pulsars(); } );
		}
		
		/*
		$('#debug').html(	
							'win_h: '+win_h+'<br>'+
							'box_h: '+box_h+'<br>'+
							'max_h: '+max_h+'<br>'+
							'nex_top: '+nex_top+'<br>'
							);
		*/				
		/*
		alert('eventi_up');
		
		
		box = $('.block_eventi_container');
		
		var oldmtop = box.css('margin-top').replace('px', '');
		var pag = $(window).height();
		var tot = (box.height() - (box.height()*2))+ pag;
		var max = tot - pag;
		
		var mtop = oldmtop -0 + pag;
		
		if ( mtop > 0  ) mtop = 0;
		
		box.animate({"margin-top": mtop+"px"}, "slow", function() { test_pulsars(); } );

		
		$('#debug').html(	
							'oldmtop: '+oldmtop+'<br>'+
							'max: '+max+'<br>'+
							'pag: '+pag+'<br>'+
							'tot: '+tot+'<br>'+
							'mtop: '+mtop+'<br>'+
							'diff: '+(tot-mtop)+'<br>'
							
							);
							*/
	}
	
	function link_eventi_down()
	{
		//per scrollare gli eventi verso il basso devo diminuire il margin-top portandolo sotto lo 0
		//per capire quando non scrollare piu devo fare win_h - box_h
		//quindi se il margin-top è uguale o inferiore a win_h - box_h, si ferma
		
		//alert('eventi_down');
		
		var box = $('.block_eventi_container');
		var win_h = $(window).height();
		var box_h = box.height();
		var max_top = win_h - box_h;
		var cur_top = box.css('margin-top').replace('px', '');
		var nex_top = cur_top - (win_h/3);
		
		
		if ( cur_top > max_top )
		{
			box.animate({"margin-top": nex_top+"px"}, "slow", function() { test_pulsars(); } );
		}
		/*
		$('#debug').html(	
							'win_h: '+win_h+'<br>'+
							'box_h: '+box_h+'<br>'+
							'max_h: '+max_h+'<br>'+
							'nex_top: '+nex_top+'<br>'
							);
							*/
		/*
		
		var oldmtop = box.css('margin-top').replace('px', '');
		var pag = $(window).height();
		var tot = (box.height() - (box.height()*2))+ pag;
		var max = tot - pag;
		
		var mtop = oldmtop - pag;
		
		if ( mtop < tot  ) mtop = tot;
		
		box.animate({"margin-top": mtop+"px"}, "slow", function() { test_pulsars(); } );

		
		$('#debug').html(	
							'oldmtop: '+oldmtop+'<br>'+
							'max: '+max+'<br>'+
							'pag: '+pag+'<br>'+
							'tot: '+tot+'<br>'+
							'mtop: '+mtop+'<br>'+
							'diff: '+(tot-mtop)+'<br>'
							
							);
		*/
	}
	
	
	function link_data()
	{
		//alert('click');
		//$('.block_container').toggleClass('fixed');
		$('.block_eventi_background').height( $(document).height() );
		
		$('.block_eventi_background').fadeIn();
		$('.block_eventi').fadeIn();
		
		bind_exit('chiusura_eventi');
		
		test_pulsars();
		
		//$(".block_eventi").scrollable().Mousewheel();
		
		//$(window).unbind('scroll');
		//$(window).bind('scroll',function () { scrolling_info(); } );
	}
	
	function scrolling_info()
	{
		return false;
	}
	
	function pulsar( status , modo )
	{
		var max = 255;
		var min = 30;
		if ( !status ) status = min;
		if ( !modo ) modo = 'piu';
		
		if ( modo == 'piu' ) status = status + 5;
		if ( modo == 'meno' ) status = status -5;
		
		var nextcommand = "pulsar("+status+", '"+modo+"');";
		if ( status > max ) var nextcommand = "pulsar("+max+", 'meno');";
		if ( status < min ) var nextcommand = "pulsar("+min+", 'piu');";
		if ( status == min ) var nextcommand = "pulsar("+min+", 'piu');";
		
		var fadecommand = "$('.block_data').css('color', 'rgb("+status+","+status+","+status+")');"

		
		t = setTimeout(fadecommand+nextcommand, 50);

	}
	function colorize()
	{
		/*
		 * modifica in tempo reale il colore del menu:
		 * #calcolare la pagina corrente in base alla posizione dello scrolltop
		 * caricare i colori della pagina corrente e successiva
		 * calcolare il colore corrente in base allo scrolltop
		 */
		 
		 var h = $(window).height();
		 var p = h -75;
		 var dh = $(document).height()-h;
		 var totscroll = $(window).scrollTop();
		 var curr_page = Math.floor(totscroll/p);
		 var next_page = curr_page+1;
		 var scroll = totscroll - ( p * curr_page );
		// var perc_scroll = (scroll / p) * 100;
		 
		 var r1 =  Math.ceil($('#block_main_'+curr_page).attr('cr'));
		 var g1 =  Math.ceil($('#block_main_'+curr_page).attr('cg'));
		 var b1 =  Math.ceil($('#block_main_'+curr_page).attr('cb'));
		 
		 var r2 =  Math.ceil($('#block_main_'+next_page).attr('cr'));
		 var g2 =  Math.ceil($('#block_main_'+next_page).attr('cg'));
		 var b2 =  Math.ceil($('#block_main_'+next_page).attr('cb'));
		 
		var r3 =  Math.ceil(r1+(((r2 - r1) / p) * scroll));
		var g3 =  Math.ceil(g1+(((g2 - g1) / p) * scroll));
		var b3 =  Math.ceil(b1+(((b2 - b1) / p) * scroll));
		
		$('.block_menu').css('background-color', 'rgb('+r3+','+g3+','+b3+')');
		
		/*
		 $('#debug').html( 
							'Page: '+(curr_page+1)+'<br>'+
							'Doc height: '+dh+'<br>'+
							'Win scroll: '+totscroll+'<br>'+
							'Rel scroll: '+scroll+'<br>'+
							'This rgb: '+r1+','+g1+','+b1+'<br>'+
							'Next rgb: '+r2+','+g2+','+b2+'<br>'+
							'true rgb: '+r3+','+g3+','+b3+'<br>'+
							'Curr rgb: '+$('#block_main_'+curr_page).css('background-color')+'<br>'+
							''
							);
							*
		 /*
		 var pages = $('#info').attr('pages') - 1;
		 
		 $('.block_main').each ( function ()
		 {
			 
		 });
		 
		 var r1 = $('#block_main_'+scrolled_page).attr('cr');
		 var g1 = $('#block_main_'+scrolled_page).attr('cg');
		 var b1 = $('#block_main_'+scrolled_page).attr('cb');
		 
		 var r2 = $('#block_main_'+(scrolled_page+1)).attr('cr');
		 var g2 = $('#block_main_'+(scrolled_page+1)).attr('cg');
		 var b2 = $('#block_main_'+(scrolled_page+1)).attr('cb');
		 
		 var h = $(window).height()-75;
		 var scrollpos = $(window).scrollTop();// - ( h * scrolled_page );
		 //if ( scrollpos > h ) scrollpos = h;
		 
		 $('#debug').html( 
							'This rgb: '+r1+','+g1+','+b1+'<br>'+
							'Next rgb: '+r2+','+g2+','+b2+'<br>'+
							'Scrollpos: '+scrollpos+'<br>'+
							'Scrolltot: '+($(window).scrollTop()+$(window).height())+'<br>'+
							'Page h: '+h+'<br>'+
							'Win h: '+$(window).height()+'<br>'+
							'Doc h: '+$(document).height()
							);
		*/
	}
	

	
	function hide_block_loading()
	{
		var block = $('.block_loading');
		block.fadeOut();
	}
	
	function resize_block_loading()
	{
		var block = $('.block_loading');
		var loader = block.find('.block_loading_img');
		
		var ltop = ($(window).height()-loader.height())/2;
		var lleft = ($(window).width()-loader.width())/2;
		
		block.width( $(window).width() ).height( $(window).height() );
		loader.css('top', ltop).css('left', lleft).show();
		
	}
	
	function show_menu_slider(pagina)
	{
		if ( slider_status == 0 ) return;
		//carica il menu di navigazione appropriato per la pagina corrente
		if ( !pagina ) var pagina = scrolled_page;
		var block = $('#block_background_'+pagina);
		var slider_info = $('.slider_info');
		var images = block.find('.slides');
		var image = block.find('.slide_selected');
		var curimage = image.attr('number');
		var info = curimage+'/'+(images.length-1);
		
		$('.link_box_menu').each ( function () { $(this).html(''); } );
		var menulinks = $('#link_box_menu_'+pagina);//$('.block_menu_slides');
		var mainlinks = $('#block_links_'+pagina);
		menulinks.html(mainlinks.html());
		//alert(menulinks.html());
		//if ( menulinks.html().trim() == '' ) menulinks.html('<ul></ul>');
		

		
		slider_info.html( info );
		
		//aggiungo la navigazione
		menulinks.prepend('<li class="link_navigator">'+$('.block_menu_slider').html()+'</li>');
		
		var linkslides = menulinks.find('.link_slide');
		linkslides.each( function () 
		{
			span = $(linkslides).find('.sub_span');
			$(this).removeClass('selected');
			span.removeClass('span_selected');
			if ( $(this).attr('slide') == curimage-1 )
			{
				$(this).addClass('selected');
				span.addClass('span_selected');
				//alert($(this).html());
			}
		});
		
		bind_objects();
		
		
		//pagecolor = $('#block_main_'+pagina).attr('menu_color');
		//$('.block_menu').css('background', pagecolor);
		//$('.block_menu').animate({ background: pagecolor});
		
		/*
		$('.link_slide').removeClass('selected');
		$('.link_slide').each( function () 
		{
			if ( $(this).attr('slide') == curimage-1 )
			{$(this).addClass('selected'); alert($(this).attr('class')); }
		});
		*/
		
		
		$('.link_pagina').removeClass('selected');
		
		
		$('.sub_span').removeClass('span_selected');
		$('.link_pagina').each( function () 
		{
			span = $(this).find('.sub_span');
			if ( $(this).attr('pagina') == pagina )
			{
				$(this).addClass('selected');
				span.addClass('span_selected');
			}
		});

		
		
		
	}

	function slideshow_new(direzione, select_slide)
	{
		var slider = $('#block_slideshow_'+scrolled_page);
		var image = slider.find('.slide_selected');
		var images = slider.find('img');
		var totslide = images.length;
		var curslide = image.attr('position');
		var w = $(window).width();
		
		if ( direzione == 'auto' && select_slide >= 0 && select_slide < totslide )
		{
			var select_slide = Math.ceil(select_slide);
			//determino la direzione:
			if ( curslide > select_slide )
			{ var direzione = 'prev'; }
			else
			{ var direzione = 'next'; }
			var newslide = select_slide;
		}
		else if ( direzione == 'next' && curslide <  (Math.ceil(totslide)-2) )
		{
			var newslide =  Math.ceil(curslide) + 1;
		}
		else if ( direzione == 'next' && curslide ==  (Math.ceil(totslide)-2) )
		{
			return;
		}
		else if ( direzione == 'prev' && curslide > 0 )
		{
			var newslide =  Math.ceil(curslide) - 1;
		}
		else if ( direzione == 'prev' && curslide == 0 )
		{
			return;
		}
		var left = w * newslide;
		
		var newimage = slider.find('.position_'+newslide);


		slider.animate({"margin-left": "-"+left+"px"}, "slow", function() { } );
		image.removeClass('slide_selected');
		newimage.addClass('slide_selected');
		textshow(newslide);
		show_menu_slider();
	}

	function slideshow(direzione, select_slide)
	{
		var slider = $('#block_slideshow_'+scrolled_page);
		var image = slider.find('.slide_selected');
		var images = slider.find('img');
		var totslide = images.length;
		var curslide = image.attr('position');
		var w = $(window).width();
		if ( w < 960 ) w = 960;
		
		if ( direzione == 'auto' && select_slide >= 0 && select_slide < totslide )
		{
			var select_slide = Math.ceil(select_slide);
			//determino la direzione:
			if ( curslide > select_slide )
			{ var direzione = 'prev'; }
			else
			{ var direzione = 'next'; }
			var newslide = select_slide;
		}
		else if ( direzione == 'next' && curslide <  (Math.ceil(totslide)-1) )
		{
			var newslide =  Math.ceil(curslide) + 1;
		}
		else if ( direzione == 'next' && curslide ==  (Math.ceil(totslide)-1) )
		{
			var newslide =  1;
			slider.css('margin-left', "0px");
		}
		else if ( direzione == 'prev' && curslide > 0 )
		{
			var newslide =  Math.ceil(curslide) - 1;
		}
		else if ( direzione == 'prev' && curslide == 0 )
		{
			var curslide = totslide -1;
			var newslide =  Math.ceil(curslide) - 1;
			var maxleft = (w * totslide)-w;
			slider.css('margin-left', '-'+maxleft+"px");
			//$('#debug').html('resetto '+newslide+' '+maxleft );
		}
		var left = w * newslide;
		
		var newimage = slider.find('.position_'+newslide);

		if ($.browser.msie && $.browser.version == "7.0")
		$('#block_main_'+scrolled_page).animate({"margin-left": "+" + (250+left) + "px"}, "slow");
		
		slider.animate({"margin-left": "-"+left+"px"}, "slow", function() { } );
		

		
		image.removeClass('slide_selected');
		newimage.addClass('slide_selected');
		textshow(newslide);
		show_menu_slider();
		
		var trans = $('#transition_'+(scrolled_page-1));
		if ( newslide == 0 || newslide == ( totslide-1) )
		{ trans.show(); }
		else
		{ trans.hide(); }
		
		show_didas(newslide);
	}
	
	function show_didas(slide, pg)
	{
		if ( !pg ) var pg = scrolled_page;
		$('#debug').html('attivo la didascalia '+slide+' a pag '+pg );
		
		
		var block_dida = $('#block_didascalia_'+pg);
		var cur_dida = $('#dida_'+pg+'_'+slide);
		
		var color = cur_dida.attr('color');
		
		
		
		block_dida.css('color', color).html( cur_dida.html() ).show();

		
		
		$('#debug').html('id: '+cur_dida.attr('id') );
		
		
		/*
		return;
		
		if ( !pg ) var pg = scrolled_page;
		
		var container = $('#block_slideshow_'+pg);
		
		var didas = container.find('.dida');
		
		didas.each( function () 
		{
			var dida = $(this);
			var didaslide = dida.attr('number');
			if ( didaslide == slide )
			{
				dida.show();
			}else{
				dida.hide();
			}
		});
		*/
	}
	
	function textshow(slide)
	{
		var main = $('#block_main_'+scrolled_page);
		var testi = main.find('p');
		if ( slide == testi.length ) slide = 0;
		var testo = main.find('.testi_'+slide);
		
		testi.each( function ()
		{
			$(this).hide();
		});
		testo.show();
		
		
		subsshow(slide);

		
	}
	
	function subsshow(slide)
	{
		var fsl = slide;
		var main = $('#block_allegati_'+scrolled_page);
		var allegati = main.find('.subs');
		if ( slide == allegati.length ) slide = 0;
		var allegato = main.find('.sub_'+slide);
		
		allegati.each( function ()
		{
			$(this).hide();
		});
		allegato.show();
		//$('#debug').html('.sub_'+slide );
	
	}
	
	function link_slide()
	{
		slideshow('auto', $(this).attr('slide'));
		//$('.link_slide').removeClass('selected');
		//$(this).addClass('selected');
		//alert($(this).attr('class'));
	}
	
	function link_pagina()
	{
		slider_status = 0;
		var oggetto = $(this).parent();
		scrolled_page = oggetto.attr('pagina');
		$.scrollTo( $('#block_background_'+scrolled_page), 500, function ()
		{  
			slider_status = 1;

			show_menu_slider(scrolled_page);
			$('.link_pagina').removeClass('selected');
			oggetto.addClass('selected');
			colorize();
			
			$('.sub_span').removeClass('span_selected');
			span = $(this);
			span.addClass('span_selected');
		} );

	}
	
	function slider_next()
	{
		slideshow('next');
	}
	
	function slider_prev()
	{
		slideshow('prev');
	}
	

	

	
	function load_galleries(oggetto)
	{
		$('.block_background').each( function ()
		{
			//var loaded = $(this).find('.block_background_image');
			load_gallery(this);
		});
	}	
	
	function load_gallery(oggetto)
	{
		var next = $(oggetto).find('.not_loaded:first');
		//alert( jQuery.isObject(copy)  );
		if ( next.attr('image') > 0)
		{
			next.attr('src', '/content/'+next.attr('image')).removeClass('not_loaded').addClass('block_background_image');
			load_gallery(oggetto);
		}
	}
	
	function magnetronium(chiamata)
	{
		//return; 
		/*
		Quando si raggiunge una posizione calamitata
		bisogna verificare che l'utente non stia continuando a scollare
		quindi si deve settare una variabile start_scroll su on
		e si deve segnare a che punto dello scroll è venuta l'azione e che pagina si sta cercando di calamitare.
		poi si deve eseguire dinuovo lo script menu_magneto con un ritardo di 500 millisecondi
		questo vedrà che l'opzione start_scroll è partita e verificherà se nel frattempo lo scroll è cambiato
		se lo scroll è cambiato avvia dinuovo lo script dopo 500 millisecondi
		se invece non è cambiato avvia le procedure per allineare il menu.
		*/
		
		//segno lo scroll corrente
		var scroll_now = $(window).scrollTop();
		var my_date = new Date();
		var magneto = 0;
		var pagina_now = 0;
		var margine = 0;
		var height = $(window).height()-75;
		var scroll_points = 0;

		var moltiplicatore = 3;
		var velocita = 0;
		if ( !chiamata ) chiamata = 0;
		
		//carico la direzione
		if ( scroll_now > scroll_last ) 	scroll_direction = 'down';
		if ( scroll_now == scroll_last ) 	scroll_direction = 'none';
		if ( scroll_now < scroll_last ) 	scroll_direction = 'up';
		
		if ( scroll_start == 0 && chiamata == 0)
		{
			//avvio il controllo dello scroll che mi permette di capire quando uno scroll è finito
			scroll_start = 1;
			scroll_last = scroll_now;
			t = setTimeout('magnetronium(1)', scroll_delay);
		}
		
		if ( scroll_start == 1 && chiamata == 1)
		{
			if ( scroll_last == scroll_now )
			{
				scroll_last = scroll_now;
				scroll_start = 0;
				magneto = 1;
				
			}else{
				scroll_last = scroll_now;
				t = setTimeout('magnetronium(1)', scroll_delay);
			}
		}
		
		
		if ( magneto == 1 )
		{

		
			//carico l'oggetto da scrollare
			if ( scroll_now > 0 ) { pagina = Math.round( scroll_now / height); } else { pagina = 0; }
			
			
			//verifico se il margine rientra nel range
			var margine = ( height * pagina ) - scroll_now;
			if ( margine < margine_max && margine > margine_min && margine != 0 )
			{
				scroll_points++;
			}
			
			//calcola velocità di allineamento
			if ( margine < 0 )
			{ velocita = -margine * moltiplicatore; }
			else
			{ velocita = margine * moltiplicatore; }
			
			/*
			var dbg='';
			dbg=dbg+'Pagina corr.: '+pagina+'<br>';
			dbg=dbg+'Pagina last.: '+scrolled_page+'<br>';
			dbg=dbg+'Margine: '+margine+'<br>';
			dbg=dbg+'direzione: '+scroll_direction+'<br>';
			dbg=dbg+'Velocita: '+velocita+'<br>';
			dbg=dbg+'Last scroll: '+my_date.getTime()+'<br>';
			dbg=dbg+'Scroll points: '+scroll_points;
			$('#main_menu_text').html(dbg);
			*/
		}
		
		
		//se si hanno abbastanza scroll_points si attiva lo scroll automatico
		if ( scroll_points == 1 )
		{

			
			///scrolled_page = pagina;
			show_menu_slider(pagina);
			$.scrollTo( $('#block_background_'+pagina), velocita );

			
		}
		
		if (  scroll_now == 0 )
		{
			//scrolled_page = 0;
			show_menu_slider(0);
			$.scrollTo( $('#block_background_'+0), velocita );
		}

	}
	
	function resize_objects()
	{
		
		resize_block_loading();
		
		$('.block_background').each( function ()
		{
			resize_block_background(this);
			
			resize_block_slideshow(this);
			
			resize_block_slideshow_images(this);
			
			resize_block_main(this);
			
			
		});
		
		test_pulsars();
		
		resize_block_eventi();
		
		resize_block_info();
		
		resize_block_transition();
		
		resize_block_dummy();
		
		resize_block_menu();
		
		resize_block_logo();
		
		resize_block_data();
		

		
		resize_block_didas();
		
		
	}
	

	function resize_block_info()
	{
		var win = $(window);
		//var boxx = $('.block_info_x');
		//var boxtop = $('.block_info_p_top');
		//var boxbot = $('.block_info_p_bot');
		//var btop = win.height() - boxbot.height();
		//var bbot = win.height() - boxtop.height() - boxbot.height();
		//var xtop = win.height() - boxtop.height() - boxbot.height() - boxx.height();
		var image = $('.block_info_image');
		imgsize = new Image();
		imgsize.src = '/img/b_foto info.jpg';
		
		
		var img_p = imgsize.width / imgsize.height;
		var win_p = win.width() / win.height();
		
		
		if ( img_p > win_p )//se l'immagine è orizzontale
		{
			image.width('').height('').height(win.height());
			
		}
		else//se l'immagine è verticale
		{
			image.width('').height('').width(win.width());
		}
		
		//image.css('margin-top', '10px').css('margin-left', '10px');
		
		
		//boxbot.width( win.width() );
		//boxbot.css( 'top' , btop+'px');
		
		//boxtop.width( win.width() );
		//boxtop.css( 'top' , bbot+'px');
		
		//boxx.css('top', xtop+'px');
		

	}
	
	
	
	function resize_block_slideshow(oggetto)
	{
		var slider = $(oggetto).find('.block_slideshow');
		var images = slider.find('img');
		
		var w = ($(window).width()) * images.length;
		var h = ($(window).height()-75);
		
		
		slider.width(w).height(h);
		
	}
			
	function resize_block_slideshow_images(oggetto)
	{
		var slider = $(oggetto).find('.block_slideshow');
		var images = slider.find('img');
		
		var w = ($(window).width());
		if ( w < 960 ) w = 960;
		
		images.each( function (index)
		{
			var image = $(this);
			image.width(w);
		});
		
	}	

	function resize_block_didas(oggetto)
	{
		var didas = $('.block_didascalia');
		
		didas.each ( function ()
		{
			var dida = $(this);
			var dida_page = dida.attr('id').replace('block_didascalia_', '')-0+1;
			var h = ($(window).height()-75);
			var newtop = (h * dida_page) - dida.height() - 500;
			//alert(newtop);
			dida.css('top', newtop+'px');
		});
		

		//alert(newtop);
		/*
		return;
		var didas = $('.dida');
		var w = $(window).width();
		var h = $(window).height();
		var mtop = 10;
		
		$('#debug').html('');
		
		didas.each( function (index)
		{
			var dida = $(this);
			var num = dida.attr('number');
			//dida.width( w-60 );
			var mleft = (w * num)-w+140;
			dida.css('margin-top', mtop+'px').css('margin-left', mleft+'px');//.hide();
			$('#debug').html($('#debug').html()+'<br>dida: '+dida.css('margin-top')+'x'+dida.css('margin-left') );
		});
		
		*/
		
	}
			
	function resize_block_data()
	{
		
		
		
		
		var data = $('.block_data');
		//var scrolltop = $(window).scrollTop()/($('.block_background').length*($(window).height()-75));
		
		var w = 33;
		var h = 33;
		var left = 217;
		//var max = $(document).height()-$(window).height();
		//var top = ( $(window).height() - 200 - h - scrolltop);
		
		var h1 = $(window).height() - 200 - h;
		var h2 = $(document).height();
		var bord = document.body.scrollHeight;
		var subperc = $(window).height()/$(document).height();
		var scroll = $(window).scrollTop()+(subperc*$(window).scrollTop());
		//var plus = $(window).height();
		var perc = Math.ceil(scroll / h2 * 100);
		var top = Math.ceil(h1-(h1/100*perc));
		
		var dh = $(document).height()-$(window).height()-$(window).scrollTop();
		
		if ( dh == 0 ) top = 0;
		data.width(w).height(h).css('left', left).css('top',top);
		
		
		$('#block_eventi_exit').width( data.width() ).height( data.height() ).css('top', top ).css('left', left);
		/* //soluzione animata
		if ( dh == 0 )
		{ data.width(w).height(h).css('left', left).animate({ top : '0px' }); }
		else
		{ data.width(w).height(h).css('left', left).css('top',top); }
		*/
		
		
	}
	
	function resize_block_logo()
	{
		var logo = $('.block_logo');
		
		
		var w = 217;
		var h = 33;
		var sc = $(window).scrollTop()*1.3;
		var lh = ( $(window).height() - 200 - h );
		var ph = $(window).height()-75-200-(h);
		var perc = lh / (ph)

		var top = (lh +  ( perc * (ph-sc) ))-lh;
		if ( top < 0 ) top = 0;
		
		logo.width(w).height(h).css('top',top);
		
		//logo.html(perc * (ph-sc));
	}
	
	function resize_block_menu()
	{
		var menu = $('.block_menu');
		
		//var top = $(window).scrollTop()+ ( $(window).height() - 220 );
		var top = ( $(window).height() - 200 );
		
		menu.width(250).height(200).css('top', top);
		
		//console.log( 'menu: '+menu.height() );
		
		//menu.hide();
	}
	
	
	function resize_block_dummy()
	{
		var dummy = $('.block_dummy');
		dummy.width($(window).width()).height(75);
		
		image = dummy.find('img');
		text1 =  dummy.find('.first_text');
		text2 =  dummy.find('.first_text');
		
		
		image.css('margin-left', 250).width('').height('').height(75);//.width( ($(window).width()-250) );
		
		text1.css('margin-left', 90 );//.css('top',( dummy.offset().top ) ).width( ($(window).width()-250)-10 );
	}
	
	

	
	
	function resize_block_main(oggetto)
	{
		var block = $(oggetto);
		var main = block.find('.block_main');
		
		var w = block.width() - 250;
		var h = 200;
		var top = block.height() - h;
		var left = 250;
		
		main.width(w).height(h).css('margin-top', top).css('margin-left',left);
		
		//console.log( 'main: '+main.height() );
	}
	
	function resize_block_transition(oggetto)
	{
		var block = $(oggetto);
		
		var trans = $('.block_transition');
		
		trans.each( function ()
		{
			var tran = $(this);
			var volte = tran.attr('p') - 1 + 2;
			
			var top = (($(window).height()-75)*volte)-150;
			
			tran.css('top', top+'px');
		});
		
		
	}
	
	function resize_block_eventi()
	{
		$('.block_eventi_background').css('top', 0).height( $(document).height() );
		$('#block_eventi_down').css('top', ($(window).height()-30)+'px');
		if ( $('.block_eventi_container').height() < $(window).height() )
		{
			
			//$('.block_eventi_container').height( $(window).height() );
			//test_pulsars();
		}
		//alert( $('.block_eventi_container').height()+ ' = '+$(window).height() );
	}
	function resize_block_background(oggetto)
	{
		var block = $(oggetto);
		
		
		var w = $(window).width();
		if ( w < 960 ) w = 960;
		var h = $(window).height()-75;
		block.width( w ).height( h);
		

		//seleziona lo slide corrente e imposta il margin-left del background
		var slider = block.find('.block_slideshow');
		var image = slider.find('.slide_selected');
		

		
		var ratio = image.height() / image.width();
		
		image.height(w*ratio);
	
		
		var curslide = image.attr('position');
		//var w = $(window).width();
		var left = w * curslide;
		slider.css('margin-left', '-'+left+'px');
	}

