

var Slider = {

	
	init : function() {
	
		
		// inizializzo lo slider
		
		if ( $$('.slider').length > 0 ) {
		
			Slider.sliderObj = $$('.slider');
			Slider.sliderView = $$('.slider .mask .view')[0];
			Slider.sliderElements = $$('.slider .mask .view .element');
			Slider.thumbsObj = $$('.slider .thumbs');
			Slider.thumbsView = $$('.slider .thumbs .mask .view');
			Slider.thumbsElements = $$('.slider .thumbs .mask .view .thumb');
			Slider.paginazioneObj = $$('.slider .thumbs .paginazione')[0];
			
			Slider.sliderElementWidth = Slider.sliderElements[0].getStyle('width').toInt() + Slider.sliderElements[0].getStyle('margin-right').toInt();
			Slider.thumbsElementWidth = Slider.thumbsElements[0].getStyle('width').toInt() + Slider.thumbsElements[0].getStyle('margin-right').toInt();
			
			Slider.sliderPage = 0;
			Slider.sliderPages = Slider.sliderElements.length;
			Slider.thumbsPage = 0;
			Slider.thumbsPages = Math.floor(Slider.sliderElements.length / 5) + ( Slider.sliderElements.length % 5 > 0 ? 1 : 0 );
			
			
			
			
			// dimensione delle view
			
			Slider.sliderView.setStyle('width', Slider.sliderPages * Slider.sliderElementWidth + 'px');
			Slider.thumbsView.setStyle('width', Slider.sliderPages * Slider.thumbsElementWidth + 'px');
			
			
			
			
			// aggiungo la paginazione per le thumbs
			
			if (Slider.thumbsPages > 1) {
				
				for ( var src = 0 ; src < Slider.thumbsPages ; src ++ ) {
					
					Slider.paginazioneObj.innerHTML += '<a href="javascript:void(0);" rel="'+src+'">'+src+'</a>';
				
				}
			
				var paginazioneWidth = (Slider.paginazioneObj.getElements('a')[0].getStyle('width').toInt() + 
										Slider.paginazioneObj.getElements('a')[0].getStyle('margin-left').toInt() + 
										Slider.paginazioneObj.getElements('a')[0].getStyle('margin-right').toInt()) * 
										Slider.thumbsPages;
				
				Slider.paginazioneObj.setStyle('width',paginazioneWidth);
				
			}
			
			
			
			
			// aggiungo gli eventi
			
			for ( var src = 0 ; src < Slider.thumbsElements.length ; src ++ ) {
				
				Slider.thumbsElements[src].getElement('a').rel = src;
				Slider.thumbsElements[src].getElement('a').href = "javascript:void(0);";
				Slider.thumbsElements[src].getElement('a').addEvent('click',Slider.thumbClicked);
			
			}
			
			if (Slider.thumbsPages > 1) {
			
				for ( var src = 0 ; src < Slider.paginazioneObj.getElements('a').length ; src ++ ) {
				
					Slider.paginazioneObj.getElements('a')[src].addEvent('click',Slider.thumbsPageClicked);
					
				}
				
			}
			
			
			// vado alla prima pagina delle thumbs
			Slider.viewThumbsPage(0);
		
		}
		
	
	},
	
	
	
	/**
	* metodi 
	* - navigazione tra le slide
	* - navigazione tra le thumbs
	*/
	
	viewPage : function( id ) {
	
		var xTo = - Slider.sliderElementWidth * id;
		
		Slider.sliderView.tween('left',xTo);
	
	},
	
	viewThumbsPage : function( id ) {
		
		if (Slider.idThumbsSelected) 
			
			Slider.paginazioneObj.getElements('a')[Slider.idThumbsSelected].removeClass("selected");
		
		else
		
			Slider.paginazioneObj.getElements('a')[0].removeClass("selected");
			
		
		Slider.idThumbsSelected = id;
	
		var xTo = - ( Slider.thumbsObj.getElement('.mask')[0].getStyle('width').toInt() + 15 ) * id;
		
		Slider.thumbsView.tween('left',xTo);
		
		Slider.paginazioneObj.getElements('a')[id].addClass("selected");
		
	},
	
	
	
	/**
	* eventi notificati 
	* dalle thumbs
	*/
	
	thumbClicked : function( event ) {
	
		Slider.viewPage( event.target.getParent().rel );
	
	},
	
	thumbsPageClicked : function( event ) {
	
		Slider.viewThumbsPage( event.target.rel );
	
	}
	

}