// JavaScript Document
	var sliderx = Class.create
	({
		//costruttore
		initialize: function(	delta_x, max_itemx,delay,ritardo,
								str_galArea, str_link, str_class_link, str_class_link2
							) 
		{     
		   	this.delta_x = delta_x;     
			this.max_itemx = max_itemx;   
			this.delay = delay;
			this._ritardo = ritardo;			

			this.str_galArea = str_galArea;
			this.str_link = str_link;
			this.str_class_link = str_class_link;
			this.str_class_link2 = str_class_link2;
			
			this._itemx=0;
			this._timer;
			this._timer2=0
			this.ar_position=new Array()
			
			
			this._addObServer();
		},  
		
		
		//listener
		_addObServer: function() 
		{ 		 		
			Event.observe(window, 'load', this._init.bindAsEventListener(this));  
		},		 

		
		//init
		_init: function ()
		{
		
			for(var i=0;i<this.max_itemx;i++)
			{
				var val=i*(this.delta_x);
				this.ar_position.push(val);
			}

			this._timer2=new PeriodicalExecuter(this._lancio_ritardato.bindAsEventListener(this), this._ritardo);
	
		},

		//-  lancio ritardato		
		_lancio_ritardato: function()
		{
			this._timer2.stop();
			this._timer=new PeriodicalExecuter(this._manager_slide.bindAsEventListener(this), this.delay);
			this._reset_slide();		
		},
		
		//- manager
		_manager_slide: function ()
		{
			if(this._itemx<this.max_itemx)
			{
				this.move_slide(this._itemx);
			}	
			else
			{
				this._reset_slide();
			}
		},

		// + move slide
		move_slide: function(param)
		{

				this._timer.stop()
				//this._timer=new PeriodicalExecuter(this._manager_slide, this.delay);
				this._timer=new PeriodicalExecuter(this._manager_slide.bindAsEventListener(this), this.delay);				
	
				
				this._itemx=param;		
				this._ges_menu(this._itemx);
							
				new Effect.Move(this.str_galArea, {
												x: this.ar_position[this._itemx], y: 0, 
												mode: 'absolute',
												duration: 1.8,
												transition: Effect.Transitions.spring
												}
								);
			this._itemx++;			
		},
		
		
		//- reset slide
		_reset_slide: function()
		{
			this._itemx=0;
			
			/*
			new Effect.Move(this.str_galArea, {
												x: this.ar_position[this._itemx], y: 0, 
												mode: 'absolute',
												transition: Effect.Transitions.full
												}
							);
			this._itemx++;					
			*/

			this.move_slide(this._itemx);
	
		},
		
		//- gestione menu
		_ges_menu: function(param)
		{

			for(var i=0; i< this.max_itemx ; i++)
			{
				var idx=(this.str_link+i)
				if(i!=param)
				{
					$(idx).removeClassName(this.str_class_link2)		
					$(idx).addClassName(this.str_class_link)		
				}
				else
				{
					$(idx).removeClassName(this.str_class_link)		
					$(idx).addClassName(this.str_class_link2)		
				}
				
				if(param==this.max_itemx)
				{
					var idx2=(this.str_link+'0')
					$(idx2).removeClassName(this.str_class_link)		
					$(idx2).addClassName(this.str_class_link2)
				}
			}

		}
		
				
	});





