Event.onReady(function()
{
	Require.module(['show', 'lightshow'], function()
	{
		LightShow.init();
	});
	
	// EFFETTI MENU
	
	$('#left_menu, #right_menu').each(function(menu)
	{
		if(menu.hasClass('hili'))
		{
			$('a', menu).each(function(a)
			{
				a.css('backgroundColor', menuHiliFrom).addEvent('mouseover', function()
				{
					a.morph({
						styles: {
							backgroundColor: [ACTUAL, menuHiliTo]
						},
						time: 0.5,
						stop: true
					});
				}).addEvent('mouseout', function()
				{
					a.morph({
						styles: {
							backgroundColor: [ACTUAL, menuHiliFrom]
						},
						time: 0.3,
						stop: true
					});
				});
			});
		}
		else if(menu.hasClass('bcolor'))
		{
			$('a', menu).each(function(a)
			{
				a.css('borderColor', menuBcolorFrom).addEvent('mouseover', function()
				{
					a.morph({
						styles: {
							borderColor: [ACTUAL, menuBcolorTo]
						},
						time: 0.3,
						stop: true
					});
				}).addEvent('mouseout', function()
				{
					a.morph({
						styles: {
							borderColor: [ACTUAL, menuBcolorFrom]
						},
						time: 0.3,
						stop: true
					});
				});
			});
		}
		else if(menu.hasClass('bwidth'))
		{
			$('a', menu).each(function(a)
			{
				a.addEvent('mouseover', function()
				{
					a.morph({
						styles: {
							borderLeftWidth: ['px', ACTUAL, menuBwidthMax]
						},
						time: 0.3,
						stop: true,
						effect: EE.outCubic
					});
				}).addEvent('mouseout', function()
				{
					a.morph({
						styles: {
							borderLeftWidth: ['px', ACTUAL, menuBwidthMin]
						},
						time: 0.3,
						stop: true,
						effect: EE.outCubic
					});
				});
			});
		}
	});
	
	
	// Categorie Menu
	$('div.pages-category').each(function(div)
	{
		var head = $('h4', div)[0], ul  = $('ul', div)[0];
			
		if (head) 
		{
			ul.blindInit(true);
			
			head.prepend(['span']);
			/*
				div.addEvent('mouseenter', function()
				{
					head.addClass('hover');
					
					ul.blindDown({
						stop: true,
						time: 0.5
					});
					
					div.addClass('open');
					
				}).addEvent('mouseleave', function()
				{
					head.removeClass('hover');
					
					ul.blindUp({
						stop: true,
						time: 0.5
					});
					
					div.removeClass('open');
				});
			*/
			
			if(div.hasClass('hmenu'))
			{
				div.addEvent('mouseenter', function()
				{
					head.addClass('hover');
					
					ul.blindDown({
						stop: true,
						time: 0.5
					});
					
					div.addClass('open');
					
				}).addEvent('mouseleave', function()
				{
					head.removeClass('hover');
					
					ul.blindUp({
						stop: true,
						time: 0.5
					});
					
					div.removeClass('open');
				});
			}
			else
			{
				head.addEvent('click', function()
				{
					if (ul.blindState() < 0.5) 
					{
						ul.blindDown({
							stop: true,
							time: 0.5
						});
						
						div.addClass('open');
					}
					else
					{
						ul.blindUp({
							stop: true,
							time: 0.5
						});
						
						div.removeClass('open');
					}
				}).addEvent('mouseover', function()
				{
					this.addClass('hover');
				}).addEvent('mouseout', function()
				{
					this.removeClass('hover');
				});
			}
			
			div.addClass('blind');
		}
	});
	
	
	// TOOLS
	var tools = $('.tools');
	
	if (tools.length) 
	{
		Require.module('tooltips', function()
		{
			tools.each(function(tool)
			{
				if (Agent.engine == 'trident' && Agent.versione < 7) 
				{
					tool.addEvent('mousenter', function()
					{
						this.addClass('hover');
					}).addEvent('mouseleave', function()
					{
						this.removeClass('hover');
					});
				}
				
				$('a', tool).each(function(a)
				{
					new Tooltip({
						target: a,
						content: a.getText()
					});
				});
			});
		});
		
		$('a.tool-delete').each(function(a)
		{
			a.addEvent('click', function(event)
			{
				var message;
				
				switch(this.rel)
				{
					case 'news':
						message = 'Sei sicuro di voler eliminare questa news ?';
					break;
					case 'pages': 
						message = 'Sei sicuro di voler eliminare questa pagina ?';
					break;
					case 'galleries':
						message = 'Sei sicuro di voler eliminare questa galleria e tutte le sue immagini ?';
					break;
					case 'showcase':
						message = 'Sei sicuro di voler eliminare questo prodotto ?';
					break;
					case 'showcase-category':
						message = 'Sei sicuro di voler eliminare questa categoria di prodotti ?\nI prodotti verrano compariranno nella categoria "Altro".';
					break;
					case 'links':
						message = 'Sei sicuro di voler eliminare questo link?';
					break;
					case 'videos':
						message = 'Sei sicuro di voler eliminare questo video?';
					break;
					default:
						message = 'Sei sicuro di voler eliminare questa risorsa ?';
					break;
				}
				
				if (!confirm(message)) 
				{
					return event.stop();
				}
			});
		});
	}
	
	if (I('root').hasClass('blind')) 
	{
		// Blind dei widgets
		$('div.widget-wrapper').each(function(div)
		{
			var head = $('h5', div.parentNode)[0];
			
			if (head) 
			{
				div.blindInit();
				
				head.prepend(['span']);
				
				head.addEvent('click', function()
				{
					if (div.blindState() < 0.5) 
					{
						div.blindDown({
							stop: true,
							time: 0.5
						});
						
						head.addClass('open');
					}
					else
					{
						div.blindUp({
							stop: true,
							time: 0.5
						});
						
						head.removeClass('open');
					}
				}).addClass('blind open');
			}
		});
	}
	
	// Video
	
	
	if('video_details')
	{
		var video = $('#video_details a.flv')[0];
		
		if(video)
		{
			video = video.href;
			
			Require.module('show', function()
			{
				$('#video_details .video')[0].insertObject({
					url: video
				});
			});
		}
	}
	
	$('div.widget.video').each(function(div)
	{
		var video = $('a.flv', div)[0];
		
		if(video)
		{
			Require.module('show', function()
			{
				video.parent().insertObject({
					url: video.href,
					width: div.sizes()[0]
				});
			});
		}
	});
	
});


Event.onLoad(function()
{
	// Visuals
	var visualCnt = I('visual_images'), visuals = $('img', visualCnt), visualsLength = visuals.length, actVisual = 0;
	
	if (visualsLength > 1) 
	{
		if (visualCnt.hasClass('transitions')) 
		{
			Require.module('images-transitions', function()
			{
				var visualSize = visualCnt.sizes();
				
				var trans = new ImageTransitions(
				{
					width: visualSize[0],
					height: visualSize[1],
					target: 'visual_images',
					auto: true
				});
			});
		}
		else
		{
			for (var i = 1; i < visualsLength; i++) 
			{
				visuals[i].css('opacity', 0);
			}
			
			function changeVisual()
			{
				var next = actVisual + 1;
				
				if (next >= visualsLength) 
				{
					next = 0;
				}
				
				visuals[actVisual].morph({
					styles: {
						opacity: [1, 0]
					},
					time: 1
				});
				
				visuals[next].morph({
					styles: {
						opacity: [0, 1]
					},
					time: 1
				});
				
				actVisual = next;
				
			}
			
			setInterval(changeVisual, 7000);
		}
	}
});

