var ns_touchmove = new Class({
	
	element: {},
	touchstart: {x: 0, y: 0},
	scrollstart: {x: 0, y: 0},
			
	initialize: function(in_element){
		
		this.element = $(in_element);

		this.setup();
	},
	
	setup: function(){
		
		this.element.addEvent('touchstart', (function(e){
			
    		var pos = this.element.getOffsets();
    		var scroll = this.element.getScroll();
    		
    		var x = e.page.x - pos.x;
		 	var y = e.page.y - pos.y;
		 	
			this.touchstart = {x: x, y: y};
			this.scrollstart = {x: scroll.x, y: scroll.y};
    	}).bind(this));
    	
    	this.element.addEvent('touchmove', (function(e){
    		
		 	e.preventDefault();
		 	
 			var size = this.element.getSize();
			var pos = this.element.getOffsets();
			
		 	var x = Math.round((this.touchstart.x - (e.page.x - pos.x)) * 0.5);
		 	var y = Math.round((this.touchstart.y - (e.page.y - pos.y)));
		 	
		 	var scrollx = this.scrollstart.x + x;
		 	var scrolly = this.scrollstart.y + y;
		 	
		 	this.element.scrollTo(scrollx, scrolly);
		 }).bind(this));
		
	}
	
});
