$.extend(Site, {

	Menu: {
	
		currentLi: null,
		timeOut: null,
	
		init: function() {
			Site.Menu.align();
			if($('#main_menu ul li.current').length) {
				Site.Menu.currentLi = $('#main_menu ul li.current');
				$('#cube').show();
				$('#cube').css('left', Site.Menu.getPosition(Site.Menu.currentLi)+'px');
				$('#main_menu ul li.firstlevel').bind('mouseover', function(){
					$('#cube').stop();
					try{ window.clearTimeout(Site.Menu.timeOut);}catch(e){};
					$('#cube').animate({ left: Site.Menu.getPosition($(this))+'px' },300);
				});
				$('#main_menu ul').bind('mouseout', function(){
					try{ window.clearTimeout(Site.Menu.timeOut);}catch(e){};
					Site.Menu.timeOut = setTimeout('Site.Menu.backToCurrent()', 800);
				});
			}	
			if (Shin.isIE6()) {
				$('#main_menu ul li').bind('mouseenter', function() { $(this).find('ul').css('display', 'block');});
				$('#main_menu ul li').bind('mouseleave', function() { $(this).find('ul').css('display', 'none');});	
			}
		},
		
		backToCurrent: function() {
			$('#cube').animate({ left: Site.Menu.getPosition(Site.Menu.currentLi)+'px' },300);
		},
		
		getPosition: function(li) {
			var left = $(li).position().left;
			left+= $(li).find('span').position().left;
			left+= $(li).find('span').width() / 2;
			left -= $('#cube').width() / 2;
			return left;
		},
		
		align: function() {
			$('#main_menu ul li.firstlevel').css('padding', '0px');
			var nbItem = $('#main_menu ul li.firstlevel').length;
			var widthTotalLi = 0;
			$('#main_menu ul li.firstlevel').each(function() { widthTotalLi += $(this).width(); });
			var space = ($('#main_menu ul').width()-widthTotalLi)/((nbItem-1)*2);
			$('#main_menu ul li.firstlevel').each(function(index, value) {
				var thisWidth = $(this).width();
				if ((index == 0) || (index == nbItem-1)) { 
					$(this).css('width', (thisWidth+(space))+'px'); 
				} else { 
					$(this).css('width', (thisWidth+(space*2))+'px');
				}
				var left = ($(this).width()-$(this).find('ul').width())/2;
				if (index == 0) { left-=space/2;}
				if (index == nbItem-1) { left+=space/2;}
				$(this).find('ul').css('left', left+'px');
			});
		}
		
	}
});
		
