$.fn.animateByOrder = function(params, duration, easing, callback){
	var i = -1;
	var arr = this;
	if($.isFunction(easing)) {
		callback = easing;
		easing = null;
	}
	(function(){
		if(arr[++i])
			$(arr[i]).animate(params, duration, easing, arguments.callee)
		else
			if(callback)
				callback();
	})();
}

var defaultDelay = 200;
var blockMargin = -750;
var openMenuTimeout, openBlockTimeout;
var toPost = new Array();

$(document).ready( function() {
	
	var isIE6 = ($.browser.msie && parseInt($.browser.version.split('.')[0]) <= 6);
	
	// menu
	$('#menu > ul > li').bind( 'mouseenter', function() {
		if (!isIE6) $(this).addClass('overactive');
		if ($('div', this).length > 0) openMenu(this);
	}).bind( 'mouseleave', function() {
		if (!isIE6) $(this).removeClass('overactive');
		cancelOpenMenu();
	});
	
	// activities
	//var activities = new Array();
	$('#activities li').click( function() {
		var clicked = $(this);
		clicked.toggleClass('selected');
		var attr_id_split = $(this).attr('id').split('_');
		var parent = attr_id_split[1];
		var id = attr_id_split[2];
                
		// selezionare o deselezionare un padre fa la stessa cosa sui figli
		if (parent == 0) {
			$('#activities li').each( function() {
				var son_id_split = $(this).attr('id').split('_');
				if (son_id_split[1] == id) {
					if (clicked.hasClass('selected')) {
						$(this).addClass('selected');
					} else {
						$(this).removeClass('selected');
					}
				}
			});
		}

		toPost = new Array();
		$('#activities li').each( function() {
			if ($(this).hasClass('selected')) {
				toPost.push($(this).attr('id').split('_')[2]);
			}
		});
		
		hideItems( function() {
			$('#content').load('../home/ajax.php', {'cat': toPost.join(','), 'pag': 0},
				function() {
					showItems();
				}
			);
		});
	});

	
	$('.block_left').live('mouseover', function() {
		openBlock(this);
	}).live('mouseout', function() {
		cancelOpenBlock();
	});
	
	showItems();
	
});

function paginate(pag) {
	hideItems( function() {
		$('#content').load('../home/ajax.php', {'cat': toPost.join(','), 'pag': pag},
			function() {
				showItems();
			}
		);
	});
}

function hideItems(callback) {
	$('.block_container').animateByOrder( { marginLeft: blockMargin }, 'fast', callback );
}

function showItems(callback) {
	$('.block_container').animateByOrder( { marginLeft: 0 }, 'fast', callback );
}

function openMenu(jObj) {
	openMenuTimeout = setTimeout( function() {
		var selId = $('div', jObj).attr('id');
		$('#menu div:not(#'+selId+')').slideUp();
		$('div', jObj).slideDown();
	}, defaultDelay);
}

function cancelOpenMenu() {
	clearTimeout(openMenuTimeout);
}

function openBlock(jObj) {
	openBlockTimeout = setTimeout( function() {
		var selId = $(jObj).parent().parent().attr('id');
		$('.block:not(#'+selId+') .block_bottom').slideUp();
		$('#'+selId+' .block_bottom').slideDown();
	}, defaultDelay);
}

function cancelOpenBlock() {
	clearTimeout(openBlockTimeout);
}