var flickStart = function(e) {
	if (e.targetTouches.length != 1)
		return false;
	e = e.targetTouches[0];
	view.x = e.clientX;
}

var flickMove = function(e) {
	e.preventDefault();
	if (e.targetTouches.length != 1 || !flickEnabled)
		return false;
	$('.marquee').remove();
	e = e.targetTouches[0];
	var deltaX = e.clientX - view.x;
	if (deltaX >= 0)
		return false;
	pages[current].css('left',(deltaX) + 'px');
	pages[(current + 1) % pages.length].css('left',(width + deltaX) + 'px');
}

var flickEnd = function(e) {
	e.preventDefault();
	if (!flickEnabled) 
		return false;
	$('.marquee').remove();
	disableFlick();
	if (parseInt(pages[(current + 1) % pages.length].css('left')) <= width - width/5) {
		var dur = parseInt(pages[current].css('left')) - -width;
		dur = dur *2;
		pages[current].css('-webkit-transition-duration', dur + 'ms');
		pages[(current + 1) % pages.length].css('-webkit-transition-duration', dur + 'ms');
		pages[current].css('left',-width + 'px');
		pages[(current + 1) % pages.length].css('left','0px');

		var lmbd = function() {
			pages[current].css('-webkit-transition-duration', '0s');
			pages[(current + 1) % pages.length].css('-webkit-transition-duration', '0s');
			//pages[current].remove().appendTo('#pages');
			pages[current].remove();
			current = (current + 1) % pages.length;
			$('#view').append(pages[(current + 1) % pages.length]);
			pages[(current + 1) % pages.length].css('left',width + 'px');
			calls[current](enableFlick);
		}
		window.setTimeout(lmbd,dur+10);

	} else {
		var dur = -parseInt(pages[current].css('left'));
		dur = dur *2;
		pages[current].css('-webkit-transition-duration', dur + 'ms');
		pages[(current + 1) % pages.length].css('-webkit-transition-duration', dur + 'ms');
		pages[current].css('left','0px');
		pages[(current + 1) % pages.length].css('left', width + 'px');

		var lmbd = function() {
			pages[current].css('-webkit-transition-duration', '0s');
			pages[(current + 1) % pages.length].css('-webkit-transition-duration', '0s');
			enableFlick();
		}
		window.setTimeout(lmbd,dur+10);
	}
}

function enableFlick() {
	$('#view').append('<div class="marquee">Flick to continue...</div>');
	flickEnabled = true;
}
function disableFlick() {
	flickEnabled = false;
}

