$(document).ready(function(){
	
	vmenu_init();
	
	tmenu_init();
	
	$('.jqLightbox').prettyPhoto();
	
	$('.container').bluePrint();

});




/**
 * Gestione del menu verticale.
 */
function vmenu_init() {
	
	$('.vmenu ul li ul').hide().addClass('vmenu_close');
	
	// Open active tree.
	$('.vmenu a.selected').parents('li').find('ul').each(function(){ vmenu_open_sub($(this)); });
	
	// Append handler link.
	$('.vmenu li').each(function(){
		
		if ( $(this).find('>ul').length == 0 ) 	return;
		if ( $(this).find('>a').length == 0 ) 	return;
		
		$(this).find('>a').addClass('vmenu_handle').after(' <a href="#" class="vmenu_link">&raquo;<span></span></a>');
		
	});
	
	// Attach opening/closure behavior
	$('.vmenu a.vmenu_handle').click(vmenu_handle);
	$('.vmenu a.vmenu_link').click(vmenu_link);
	
	
}

function vmenu_handle() {
	
	$(this).parents('.vmenu').find('ul li ul').filter(':visible').each(function(){ vmenu_close_sub($(this)); });
	
	var sub = $(this).parent().find('>ul');
	if ( sub.length == 0 ) return;

	
	if ( sub.is(':visible') ) {
		vmenu_close_sub(sub);
	} else {
		vmenu_open_sub(sub);
	}
	
	return false;

}

function vmenu_link() {
	
	var url = $(this).parent().find('.vmenu_handle').attr('href');
	
	document.location.href = url;

}

function vmenu_open_sub( sub ) {
	
	sub.parent().addClass('vmenu_open');
	sub.parent().removeClass('vmenu_close');
	
	sub.slideDown();
	
}

function vmenu_close_sub( sub ) {
	
	sub.parent().addClass('vmenu_close');
	sub.parent().removeClass('vmenu_open');
	
	sub.slideUp();
	
}







/**
 * Gestione del menu orizzontale.
 */
var tmenu_is_open = false;
function tmenu_init() {
	
	if ( $('.tmenu').length == 0 ) return;
	
	
	
	// Set defaults.
	$('.tmenu li a').bind('mouseover',function(){
		
		var brd = $(this).parent().parent();
		brd.find('ul').filter(':visible').hide().prev()
			.removeClass('active')
			.removeClass('tmenu-first-active')
			.removeClass('tmenu-second-active')
			.removeClass('tmenu-third-active');
		
		var sub = $(this).parent().find('>ul');
		if ( sub.length == 0 ) return;
		
		$(this).addClass('active');
		$('a.tmenu-first').filter('.active').addClass('tmenu-first-active');
		
		sub.slideDown('fast');
	});
	
	
	// Opening and closing menus.
	$('.tmenu').hover(
		function() { tmenu_is_open = true; },
		function() {
			tmenu_is_open = false;
			setTimeout( 'tmenu_hide()', 500 );
		}
	);
	
	// Track active stack.
	$('.tmenu a.selected').parents('li').find('>a').addClass('selected');
	
	// Impostazioni di classe sui vari livelli di menu.
	$('.tmenu>ul').addClass('tmenu-first');
	$('.tmenu .tmenu-first>li>ul').addClass('tmenu-second');
	$('.tmenu .tmenu-second>li>ul').addClass('tmenu-third');
	
	$('.tmenu-first>li>a').addClass('tmenu-first');
	$('.tmenu-second>li>a').addClass('tmenu-second');
	$('.tmenu-third>li>a').addClass('tmenu-third');
	
	$('a.tmenu-first').filter('.selected').addClass('tmenu-first-selected');
	$('a.tmenu-second').filter('.selected').addClass('tmenu-second-selected');
	$('a.tmenu-third').filter('.selected').addClass('tmenu-third-selected');
	
}

function tmenu_hide() {
	if ( tmenu_is_open == true ) return;
	$('.tmenu ul').find('ul').filter(':visible').fadeOut(function(){
		$('.tmenu .active')
			.removeClass('active')
			.removeClass('tmenu-first-active')
			.removeClass('tmenu-second-active')
			.removeClass('tmenu-third-active');
	});
	
}

