var CPageslide = {
  
	load: function() 
	{   
		this.items = $$('.pageslideafbeelding');
		//this.obj = obj;
		//alert(this.items.length);
		this.pe = false;		
		if(this.items.length==0) return false;
		for(var i=0; i<this.items.length; i++)
			this.set(this.items[i]);

	},
	autoslide: function()
	{
		if(this.pe)
			this.pe.stop();
		this.pe = new PeriodicalExecuter(this.autonext,3);			
	},
	
	autonext: function()
	{
		this.items = $$('.pageslideafbeelding');
		//this.obj = obj;
		//alert(this.items.length);
		if(this.items.length==0) return false;
		for(var i=0; i<this.items.length; i++)
		{
			var obj = this.items[i];
			var afbeeldingen = obj.select('div.afbeelding');
			if(afbeeldingen.length==0) continue;
			var next = obj.select('a.next')[0];
			//next.obj = obj;
			next.simulate('click');
		}
	},
	
	set: function(obj)
	{
		var afbeeldingen = obj.select('div.afbeelding');
		var next = obj.select('a.next')[0];
		var prev = obj.select('a.prev')[0];		
		if(afbeeldingen.length==0) return false;
		var dim = afbeeldingen[0].getDimensions();
		var pos = afbeeldingen[0].positionedOffset();		
		afbeeldingen[0].setStyle({left: 0+'px'});
		for(var i=1; i<afbeeldingen.length; i++)
		{
			afbeeldingen[i].setStyle({left: -dim.width+'px'});
			afbeeldingen[i].show();
			

		}
		//afbeeldingen[0].show();
		next.hide();
		prev.hide();		
		if(afbeeldingen.length>1)
		{		


			//next.obj = obj;
			//prev.obj = obj;
			next.observe('click',this.next.bind(this));
			prev.observe('click',this.prev.bind(this));			
			next.show();
			prev.show();	
//			obj.pe = new PeriodicalExecuter(this.autonext,10);

			this.autoslide();			
			//obj.writeAttribute('running',false);
		}
	},
	next: function(event)
	{

		var element = Event.findElement(event, 'a').ancestors()[0];
			
			var afbeeldingen = element.select('div.afbeelding');
			var current = null;
			var next = null;
			for(var i=0; i<afbeeldingen.length; i++)
			{
				//alert(afbeeldingen[i].getStyle('left'));
				if(afbeeldingen[i].positionedOffset().left==0)
				{
					//alert(i+ ' ' +afbeeldingen[i].getStyle('left'));
					current = i;
					next = i+1;				
					if(next>=afbeeldingen.length)
						next = 0;		
				}
			}
			if(current==null || next==null) return;		
			this.moveleft(afbeeldingen[current],afbeeldingen[next]);
	},
	

	
	prev: function(event)
	{

			var element = Event.findElement(event, 'a').ancestors()[0];
			var afbeeldingen = element.select('div.afbeelding');
			var current = null;
			var prev = null;		
			for(var i=0; i<afbeeldingen.length; i++)
			{
				//alert(afbeeldingen[i].getStyle('left'));
				if(afbeeldingen[i].positionedOffset().left==0)
				{
					current = i;
					prev = i-1;				
					if(prev<0)
						prev = afbeeldingen.length-1;
														
				}
			}
	
			if(current==null || prev==null) return;
			this.moveright(afbeeldingen[current],afbeeldingen[prev]);

	},
	
	moveright: function(current,obj)
	{
		this.pe.stop();		
		var dim = $(obj).getDimensions();
		/*var pos = $(obj).positionedOffset();		
		$('log').update(
			'pos : ' + pos.left + ' ' + pos.top + '<br>' +
			'dim : ' + dim.width + ' ' + dim.height + '<br>'
			);*/
		$(obj).setStyle({left: -dim.width+'px'});
		//$(obj).show();
new Effect.Parallel([
		
		new Effect.Move(current, {  sync: true,x: dim.width, mode: 'absolute', transition: Effect.Transitions.linear}),
		new Effect.Move(obj, {  sync: true,x: 0, mode: 'absolute', transition: Effect.Transitions.linear })

		],
		{afterFinish: this.autoslide.bind(this), queue: 'end' }
);					
		
	},
	
	moveleft: function(current,obj)
	{
		this.pe.stop();
		var dim = $(obj).getDimensions();
		/*var pos = $(obj).positionedOffset();		
		$('log').update(
			'pos : ' + pos.left + ' ' + pos.top + '<br>' +
			'dim : ' + dim.width + ' ' + dim.height + '<br>'
			);*/
		$(obj).setStyle({left: dim.width+'px'});
		//$(obj).show();
new Effect.Parallel([
		
		new Effect.Move(current, {  sync: true,x: -dim.width, mode: 'absolute', transition: Effect.Transitions.linear}),
		new Effect.Move(obj, {  sync: true,x: 0, mode: 'absolute', transition: Effect.Transitions.linear })

		],
		{afterFinish: this.autoslide.bind(this), queue: 'end' }
);					
		
	}	
};

//var oCarouselpageafbeelding = new CCarouselpageafbeelding();
//oCarouselpageafbeelding.set('carouselpageafbeelding');
