/** Animações */
/**
actResize
Redimensiona um objeto
@param | object XHTML | Objeto
@param | string | Eixo (width/height)
@param | int | Valor
*/
function actResize(actResizeObj,actResizeCanvas,actResizeValue){
	var $dom = new Dom();
	var $parse = new Parse();
	var $obj = actResizeObj;
	$dom.setStyle($obj,'overflow','hidden');
	var $canvas = actResizeCanvas;
	var $value = $parse.getInt(actResizeValue);
	var $speed = 0.1;
	var $size = $parse.getInt($dom.getStyle($obj,$canvas));
	var $newSize;
	var $action = $size>$value ? 'close' : 'open';
	var $interval = setInterval(
		function(){
			$size = $parse.getInt($dom.getStyle($obj,$canvas));
			$newSize = $action=='open' ? Math.ceil(($value-$size)*$speed) : Math.floor(($value-$size)*$speed);
			$size+=$newSize;
			if($action=='open'){
				if($size>$value-1){
					$size = $value;
					clearInterval($interval);
				}
			}else{
				if($size<$value+1){
					$size = $value;
					clearInterval($interval);
				}
			}
			$dom.setStyle($obj,$canvas,$size+'px');
		},
		20
	);
}
/**
actShowHide
Esconde/Mostra um determinado objeto com base na altura
@param | string | Id do objeto
*/
function actShowHide(actShowHideId){
	var $dom = new Dom();
	var $parse = new Parse();
	var $obj = $$(actShowHideId);
	var $height = $parse.getInt($dom.getStyle($obj,'height'));
	if($height>0){
		actResize($obj,'height',0);
	}else{
		$dom.setStyle($obj,'height','auto');
		var $newHeight = $obj.scrollHeight;
		$dom.setStyle($obj,'height',0);
		actResize($obj,'height',$newHeight);
	}
}
/**
actShow
Mostra um determinado objeto com base na altura
@param | string | Id do objeto
*/
function actShow(actShowId){
	var $dom = new Dom();
	var $parse = new Parse();
	var $obj = $$(actShowId);
	$dom.setStyle($obj,'height','auto');
	var $height = $obj.scrollHeight;
	$dom.setStyle($obj,'height',0);
	actResize($obj,'height',$height);
}
/**
actHide
Esconde um determinado objeto com base na altura
@param | string | Id do objeto
*/
function actHide(actHideId){
	var $obj = $$(actHideId);
	actResize($obj,'height',0);
}

