/* MenuManager 1.0 - 2011.04.18
/*
/* Created by Luca Pillonel
/* copyright www.oxima.ch
--------------------------------------*/

var MenuManager = new Class({
	
	initialize : function(){
		this.bigger();
		this.follower();
	},
	
	bigger : function(){
		//target
		this.target = $('bigger');
	
		//new elements
		$$('#menu li a').each(function(el){
			var big = new Element('span', {
				html : el.get('html'),
				rel : el.get('html')
			}).inject(this.target).setStyle('opacity', 0);
			
			if(el.getParent().hasClass('s')) {
				this.master = big;
				big.fade(1);
			}
			
			el.addEvents({
				mouseenter : function(){
					if(this.master)
						this.master.fade(0);
					
					if(this.active)
						this.active.fade(0);
					
					this.active = this.target.getElement('span[rel="'+ el.get('html') +'"]').fade(1);
					
				}.bind(this),
				mouseleave : function(){
					this.active.fade(0);
					if(this.master)
						this.master.fade(1);
				}.bind(this)
			});
		}, this);
	},
	
	follower : function(){
		if(!$('slider')) return;
	
		//Get menu width
		var mWidth = $('menu').getWidth();
		var sWidth = $('slider').getWidth();
		var offset = 1341;
		var target = 0;
		var curPos = 0;
		
		var superSlide = function(){
			var direction = Math.round(target - (target - curPos) / 1.1);
			curPos = direction;
			$('slider').setStyle('left', direction);
		};
		
		var interval = superSlide.periodical(20);
		
		$('menu').addEvents({
			mousemove : function(e){
				e.preventDefault();
				curPos = $('slider').getStyle('left').toInt();
				target = (e.client.x - this.getPosition().x) * ((offset - sWidth + 960) / mWidth) - offset;
			},
			mouseleave : function(e){
				target = 0;
			}
		});
	}
});
