function doWidthChangeMem(elem,startWidth,endWidth,steps,intervals,powr) {
//Width changer with Memory by www.hesido.com
    if (elem.widthChangeMemInt)
	window.clearInterval(elem.widthChangeMemInt);
    var actStep = 0;
    elem.widthChangeMemInt = window.setInterval(
	function() {
	  elem.currentWidth = easeInOut(startWidth,endWidth,steps,actStep,powr);
	  elem.style.width = elem.currentWidth + "px";
	  actStep++;
	  if (actStep > steps) window.clearInterval(elem.widthChangeMemInt);
	}
	,intervals)
}

function doHeightChangeMem(elem,startHeight,endHeight,steps,intervals,powr) {
//Width changer with Memory by www.hesido.com
    if (elem.heightChangeMemInt)
	window.clearInterval(elem.heightChangeMemInt);
    var actStep = 0;
    elem.heightChangeMemInt = window.setInterval(
	function() {
	  elem.currentHeight = easeInOut(startHeight,endHeight,steps,actStep,powr);
	  elem.style.height = elem.currentHeight + "px";
	  actStep++;
	  if (actStep > steps) window.clearInterval(elem.heightChangeMemInt);
	}
	,intervals)
}



function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) {
	//Generic Animation Step Value Generator By www.hesido.com
	var delta = maxValue - minValue;
	var stepp = minValue+(Math.pow(((1 / totalSteps) * actualStep), powr) * delta);
	return Math.ceil(stepp)
}




function animResize(elem,wh,start,end) {
	// element id , w or h, start param, end param

	if(wh=='h'){

		if (!document.getElementById(elem).currentHeight) document.getElementById(elem).currentHeight = start; //if no mem is set, set it first;

		doHeightChangeMem(document.getElementById(elem),document.getElementById(elem).currentHeight,end,20,20,0.333);

		if (!document.getElementById('embed'+elem).currentHeight) document.getElementById('embed'+elem).currentHeight = start; //if no mem is set, set it first;

		doHeightChangeMem(document.getElementById('embed'+elem),document.getElementById('embed'+elem).currentHeight,end,20,20,0.333);


	} else if(wh=='w'){

		if (!document.getElementById(elem).currentWidth) document.getElementById(elem).currentWidth = start; //if no mem is set, set it first;
		doWidthChangeMem(document.getElementById(elem),document.getElementById(elem).currentWidth,end,20,20,0.333);

		if (!document.getElementById('embed'+elem).currentWidth) document.getElementById('embed'+elem).currentWidth = start; //if no mem is set, set it first;
		doWidthChangeMem(document.getElementById('embed'+elem),document.getElementById('embed'+elem).currentWidth,end,20,20,0.333);


	}

}