var sliderxx = Class.create
({
		
		//costruttore
		initialize: function(	str_link, str_class_link, str_class_link2,
							 	delta_x, max_itemx, str_galArea, riposiziona) 
		{     
			this._delta_x = delta_x;     
			this._max_itemx=max_itemx;
			
			this.riposiziona=riposiziona;
			
			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.pfx=0;

			this.less=this._delta_x/2;
			this.lessx=0;
			
			this._addObServer();
		},  
	
		// - listener
		_addObServer: function() 
		{ 		 		
			Event.observe(window, 'load', this._init.bindAsEventListener(this));  
			Event.observe(window, 'resize', this._reset.bindAsEventListener(this));  			
		},		 
		
		
		// - init
		_init: function()
		{
			//this.dimensions = $(this.str_galArea).getDimensions(); 
			//this.max_item=Math.ceil(this.dimensions.width/this.delta_x); 
			this._reset();
		},



		// + avanti
		avanti: function()
		{
			this._itemx++;				
			this._move_slide();
		},	
		
		// + indietro
		indietro: function()
		{
			this._itemx--;
			this._move_slide();			
		},
		
		// + move
		move: function(param)
		{
			this._itemx=param;
			this._move_slide();			
		},



		// - reset x larghezza schermo
		_reset: function()
		{
			this.l=(document.viewport.getWidth()+100-this._delta_x)/2;
			
			if(this.l>0)
			{
				this.lessx=this.less-this.l;
				if(this.riposiziona==0){this.lessx=0;}//controllo se riposiziono
				this.pfx=-(this._itemx*this._delta_x)-this.lessx;
				this._move_slide();
			}
			
		},


		// - move slide
		_move_slide: function()
		{


			this.pfx=-(this._itemx*this._delta_x)-this.lessx;
			new Effect.Move(this.str_galArea, {
											x: this.pfx, y: 0, 
											mode: 'absolute',
											transition: Effect.Transitions.mariano_spring,
											duration: 1.5
											}
							);
			this._ges_menu(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-1)
				{
					var idx2=(this.str_link+'0')
					$(idx2).removeClassName(this.str_class_link)		
					$(idx2).addClassName(this.str_class_link2)
				}
			}

		}		
		

});
