// JavaScript Document
var Lavalamp = new Class({
initialize: function(menu, options) {
			this.setOptions(this.getOptions(), options);
	
			
			this.menu = menu
			this.current = this.menu.getElement('li.current');
 
			this.menu.getElements('li').each(function(item){
				item.addEvent('mouseenter', function(){ this.moveBg(item); this.deleteAttrTitle(item);}.bind(this));
				item.addEvent('mouseleave', function(){ this.moveBg(this.current); }.bind(this));
				//item.addEvent('click', function(event){ this.clickItem(event, item); }.bind(this));
			}.bind(this));
			
			this.back = new Element('li').addClass('background').adopt(new Element('div').addClass('left')).injectInside(this.menu);
			this.back.fx = new Fx(this.options);
			
			if(this.current) this.setCurrent(this.current);
},
 
 
 
setCurrent: function(el, effect){
			this.back.setStyles({left: (el.offsetLeft)+'px', width: (el.offsetWidth)+'px'});
			(effect) ? this.back.effect('opacity').set(0).start(1) : this.back.setOpacity(1);
			this.current = el;
},
 
 
 
getOptions: function(){
			return {
			transition: Fx.Transitions.sineInOut,
			duration: 2000, wait: false,
			onClick: Class.empty
			};
},
 
 
 

 
 
 
moveBg: function(element) {
	var left  = true;
	var width = false;
	this.back.setStyle('display','block');
	this.back.set('morph', {duration: 700, transition: Fx.Transitions.Back.easeOut});
	if(element.offsetWidth){
		left = element.offsetLeft;
		width = element.offsetWidth;
	}else{
		left = element.offsetLeft;
		width = 60;	
		this.back.setStyle('display','none');
	}
	
	this.back.morph({'left':left,
				  	'width':width})
	this.back.fx.start('left', left)
},



deleteAttrTitle: function(item){
	
	item.getElement('a').removeAttribute('title')
}
});
 
Lavalamp.implement(new Options);
