dAnimScroll           = function(){};
dAnimScroll.ScrollTo  = function(x, y, settings){
	var div = '';
	
	if(!settings && dAnimScroll.defaultSettings)
		settings = dAnimScroll.defaultSettings;
	else if(!settings)
		settings = {};
	
	if(!settings.delay) settings.delay = 1000;
	if(!settings.ease)  settings.ease  = 'easeInOut';
	
	dAnimScroll.defaultSettings = settings;
	
	settings._original = dAnimScroll._GetPos(div);
	settings._target   = {x: x, y: y};
	dAnim.CreateAnimation('Scroll', div, settings);
}
dAnimScroll._GetPos   = function(div){
	return { x: document.body.scrollLeft, y: document.body.scrollTop };
}
dAnimScroll._Frame    = function(set, obj, act, _pc, isFirst, isLast){
	if(act.trigger == 'Scroll'){
		var calcEase = dAnim._CalcEase(set.ease, _pc/100);
		var nx = parseInt(set._original.x+(set._target.x-set._original.x)*calcEase);
		var ny = parseInt(set._original.y+(set._target.y-set._original.y)*calcEase);
		
		var ax = document.body.scrollLeft;
		var ay = document.body.scrollTop;
		
		if(set._lastPos && (set._lastPos.x != ax || set._lastPos.y != ay)){
			act.time_elapsed = act.timestamp_start + set.delay;
			set._dead = true;
		}
		else if(!set._dead){
			set._lastPos = {x: nx, y: ny};
			window.scroll(nx, ny);
		}
	}
}

// Cadastra o módulo acima no dAnim
dAnim.AddModule('Scroll', dAnimScroll._Frame);

