
////////////////////////////////////////////////////////////////////////////////
// LOADING SHORTCUTS

function getCurrentPost() {
	var current = null;

	Loader.posts.getElements('.post').each(function(post) {
		if (post.getPosition(Loader.wrapper).y >= 0)
			if (current == null) current = post;
	});

	return current;
}


// NAVIGATION FOR IPHONE
//**********************************************************//

var dX, dY;
var deltaX, deltaY;
var touchX, touchY;
var scrollX, scrollY;


function scrolliPhone() {
	window.scrollTo(0, 1);
}

function truncate(_value)
{
  if (_value<0) return Math.ceil(_value);
  else return Math.floor(_value);
}

function smoothEndScroll() {
	var damping = 0.9;

	dX = truncate(dX * damping);
	dY = truncate(dY * damping);

	if (!dX && !dY) return;
	
	deltaX += dX;
	deltaY += dY;

	$('wrapper').scrollTo(scrollX-deltaX, scrollY-deltaY);

	setTimeout(smoothEndScroll, 1);
}

window.addEvent('load', function() {
		$('wrapper').addEvent('touchstart', function(event) {
		deltaX = dX = 0;
		deltaY = dY = 0;

		touchX = event.touches[0].pageX;
		touchY = event.touches[0].pageY;

		scrollX = $('wrapper').getScroll().x;
		scrollY = $('wrapper').getScroll().y;
//		event.stop();
	});

	$('wrapper').addEvent('touchmove', function(event) {
		tempX = event.touches[0].pageX - touchX;
		tempY = event.touches[0].pageY - touchY;
		
		dX = tempX - deltaX;
		dY = tempY - deltaY;
		
		deltaX = tempX;
		deltaY = tempY;
		
		$('wrapper').scrollTo(scrollX-deltaX, scrollY-deltaY);
		event.stop();
	});

	$('wrapper').addEvent('touchend', function(event) {
		if (deltaX || deltaY) event.stop();

		smoothEndScroll();
	});
});
