var ddTelescopeMenu = new Class({
	
	initialize: function(containerId) {

		this.container = $(containerId);
		this.containerId = containerId;

		this.links = $$('#' + this.containerId + ' li');

		this.activeSlides = new Hash();
		for (var c=0; c < this.links.length; c++) {
			this.activeSlides.set('active'+c, false);
			this.activeSlides.set('type'+c, false);
		}
	
		this.links.each(function(item, index) {
			item.addEvent('mouseover', function() {
				if (!this.activeSlides.get('active'+index) || this.activeSlides.get('type'+index)=='deactivate') {
					if (this.activeSlides.get('type'+index)=='deactivate') {
						this.activeSlides.get('active'+index).cancel();
						this.activeSlides.set('active'+index, false);
						this.activeSlides.set('type'+index, false);						
					}
					this.activate(item, index);
				}	
			}.bind(this));
			
			item.addEvent('mouseout', function() {
				if (!this.activeSlides.get('active'+index) || this.activeSlides.get('type'+index)=='activate') {
					if (this.activeSlides.get('type'+index)=='activate') {
						this.activeSlides.get('active'+index).cancel();
						this.activeSlides.set('active'+index, false);
						this.activeSlides.set('type'+index, false);						
					}					
					this.deactivate(item, index);	
				}			
			}.bind(this));
		}.bind(this));
		
	},

	activate: function(item, index){
		
		var size = item.getSize();
		var slideEffect = new Fx.Morph(item.getElement('a'), {
			duration: 100, 
			transition: Fx.Transitions.Sine.easeInOut,
			onComplete: function(){
				this.activeSlides.set('active'+index, false);				
				this.activeSlides.set('type'+index, false);
			}.bind(this)
			});
							
		this.activeSlides.set('active'+index, slideEffect); 
		this.activeSlides.set('type'+index, 'activate'); 
		slideEffect.start({
		    'background-position': ['0 8px', '0 0']
		});				
		
			
	},
	
	deactivate: function(item, index){
				
		var size = item.getSize();
		var slideEffect = new Fx.Morph(item.getElement('a'), {
			duration: 100, 
			transition: Fx.Transitions.Sine.easeInOut,
			onComplete: function(){
				this.activeSlides.set('active'+index, false);
				this.activeSlides.set('type'+index, false);
			}.bind(this)			
			});
		 		 
		this.activeSlides.set('active'+index, slideEffect); 
		this.activeSlides.set('type'+index, 'deactivate'); 
		slideEffect.start({
		    'background-position': ['0 0', '0 8px']
		});	

	}	
	
});

window.addEvent('domready', initTelescopeMenu);
function initTelescopeMenu() {
	var menuMain = new ddTelescopeMenu('menuMain');
}
