function Animation ()
{
	this.slideDistance	= null;
	this.slideFrom		= null;
	this.slideTo		= null;
	
	this.percentage 	=  15;
	this.interval   	=  20;
	
	this.collapse		= false;
	
	this.timer;
}

	Animation.prototype.Slide = function (element, options)
	{
		clearTimeout (this.timer);
		
		var object   = document.getElementById(element);
		
		// initialiseren van het object
		
		if (!options.slideDirection)
		{
			// bepalen of het een slide out of slide in is
			
			options.sideDirection = ((options.slideTo - options.slideFrom) > 0) ? 'up' : 'down';
		}
		
		// uitklappen
		
		if (options.sideDirection == 'down')
		{
			this.collapse 		= true;
			var distance 		= ((options.slideTo - options.slideFrom - this.slideDistance) * this.percentage) / 100;
			this.slideDistance 	= this.slideDistance + distance;
			
			document.getElementById('arrowhome').style.display = 'none';
			document.getElementById('sliderlist').style.display = 'block';
			
			if ((parseInt(this.slideDistance) + options.slideFrom) >= options.slideTo)
			{
				object.style.marginRight = parseInt(this.slideDistance) + 'px';
				this.timer = setTimeout (function(){Animation.Slide(element, options)}, this.interval);
			}
				else
				{
					object.style.marginRight = parseInt(options.slideTo) + 'px';
				}
		}
		
		// inklappen
		
		if (options.sideDirection == 'up')
		{
			if (this.collapse)
			{
				this.collapse = false;
				this.timer 	  = setTimeout (function(){Animation.Slide(element, options)}, 100);
			}
			else
			{
				var distance = ((options.slideFrom - options.slideTo + this.slideDistance) * this.percentage) / 100;
				this.slideDistance = this.slideDistance - distance;
			
				document.getElementById('arrowhome').style.display = 'block';
				document.getElementById('sliderlist').style.display = 'none';
				
				if (parseInt(this.slideDistance) <= 0)
				{
//					if (parseInt(this.slideDistance) > - 1)
					
					
					object.style.marginRight = parseInt(this.slideDistance) + 'px';
					this.timer = setTimeout (function(){Animation.Slide(element, options)}, this.interval);
				}
				else
				{
					object.style.marginRight = parseInt(options.slideFrom) + 'px';
				}
			}
		}
	}
	
var Animation = new Animation();
