

var Menu = {
	
	init: function() {
		options = arguments[0] || {} ;
		
		for( key in options ) {
			this[key] = options[key];	
		}
		
		this.start = $(this.id).getElement('a.selected');
		this.fx = new Fx.Tween( $(Menu.id), { 
			'duration': 'short', 
			'link': 'cancel',
			'transition' : Fx.Transitions.Cubic.easeInOut
		});
		
		var selector = "#" + this.id + " a";
		$$(selector).each( function(item, index) {
			item.addEvents({ 
				"mouseenter" : function() {
					Menu.goto(item, true);
				},
				"mouseleave" : function() {
					Menu.goto(Menu.start, true);
				}
			});
		});
		
		if (this.start) {
			this.goto(this.start);
		}
	},
	
	goto: function() {
		var el = arguments[0];
		if(!el) { return; }
		var fx = arguments[1] || false ;
		var pos = el.getPosition();
		var win = $(Menu.id).getPosition();
		
		var p = el.getParent("li");
		var w = p.getStyle("width").toInt();
		var x = ( pos["x"] - win["x"] ) + ( w /2 ) - 50;
		var y = ( pos["y"] - win["y"] );		
		var to = x + "px " + y + "px";
		
		if( fx ) Menu.fx.start( "backgroundPosition", to );
		else $(Menu.id).setStyle( "backgroundPosition", to );
	}
};


