function widthChange(elementname) { 
    if (!elementname.currentWidth && !elementname.currentHeight) elementname.currentWidth = 200; elementname.currentHeight = 240; 
    doWidthChangeMem(elementname,elementname.currentWidth,477,elementname.currentHeight,500,20,10,0.5); 
    } 
function widthRestore(elementname) { 
    if (!elementname.currentWidth && !elementname.currentHeight) return; 
    doWidthChangeMem(elementname,elementname.currentWidth,200,elementname.currentHeight,240,20,10,0.5); 
    }
function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) { 
    var delta = maxValue - minValue; 
    var stepp = minValue+(Math.pow(((1 / totalSteps) * actualStep), powr) * delta); 
    return Math.ceil(stepp) 
    }    
function doWidthChangeMem(elem,startWidth,endWidth,startHeight,endHeight,steps,intervals,powr) { 
    if (elem.widthChangeMemInt)
			window.clearInterval(elem.widthChangeMemInt);
    var actStep = 0;
    elem.widthChangeMemInt = window.setInterval(
	function() { 
	  elem.currentWidth = easeInOut(startWidth,endWidth,steps,actStep,powr);
	  elem.currentHeight = easeInOut(startHeight,endHeight,steps,actStep,powr);
	  elem.style.width = elem.currentWidth + "px"; 
	  elem.style.height = elem.currentHeight + "px";
	  actStep++;
	  if (actStep > steps) window.clearInterval(elem.widthChangeMemInt);
	} 
	,intervals)
}