function Animation(element)
{
	this.element = element;
	this.onAnim = false;

	var self = this;

	this.easeInOut = function(minValue, maxValue, totalSteps, actualStep, powr)
	{ 
		var delta = maxValue - minValue; 
		var stepp = minValue + (Math.pow(((1 / totalSteps) * actualStep), powr) * delta); 
	
		return Math.ceil(stepp) 
	}

	this.stop = function()
	{
		window.clearInterval(this.element.heightChangeMemInt);
		self.onAnim = false;
	}

	this.growUp = function(startHeight, endHeight, steps, intervals, powr)
	{
		if (this.element.heightChangeMemInt)
			window.clearInterval(this.element.heightChangeMemInt);

		var actStep = 0;
		this.onAnim = true;

	    this.element.heightChangeMemInt = window.setInterval(
			function()
			{
				self.element.currentHeight = self.easeInOut(startHeight, endHeight, steps, actStep, powr);
				self.element.style.height = self.element.currentHeight + "px"; 

				actStep++;

				if (actStep > steps)
				{
					window.clearInterval(self.element.heightChangeMemInt);
					self.onAnim = false;
				}


			} ,intervals);
	}
}
