/*
 * jQuery iOSScroll
 * http://bacae.com/
 * Copyright 2011, Cláudio Marinho 
*/


 
(function($){  

  
    $.fn.extend({   
            
        iosscroll: function(options) {  
		
			var obj = $(this);
			var obj_pos = 0;
			var drag = false;
			var speed_x = 0;
			var last_mouse_x = 0;
			var mouse_x = 0;
						
			var i = 0;
			
			var defaults = 
			{ 
				transition	:	'easeOutExpo'
            }  
			
            var options =  $.extend(defaults, options);
								
			var opt = options; 
			
											
			obj.parent().bind("touchstart", function(evt)
			{
				last_mouse_x = evt.originalEvent.changedTouches[0].pageX;
				mouse_x = evt.originalEvent.changedTouches[0].pageX;
				drag = true;
									
			});
			
			obj.parent().bind("touchmove", function(evt)
			{ 
			
				mouse_x = evt.originalEvent.changedTouches[0].pageX;
				drag = true;
				evt.preventDefault();
							
			});
			
			obj.parent().bind("touchend", function(evt)
			{ 	
				drag = false;	
														
			});
			
			
			obj_scroll = function()
			{
				
				if (drag)
				{
					speed_x = mouse_x - last_mouse_x;
					obj_pos = obj.position().left+speed_x;
					//obj.css({'left' : obj_pos+'px'});
					obj.css({'-webkit-transform' : 'translate3d(' + obj_pos + 'px, 0px, 0px)', '-moz-transform' : 'translate3d(' + Math.round(obj_pos) + 'px, 0px, 0px)', 'transform' : 'translate3d(' + Math.round(obj_pos) + 'px, 0px, 0px)'});
					
				}
				else
				{
					
					obj_pos += speed_x;
					speed_x *= 0.80;
					//obj.css({'left' : obj_pos+'px'});
					//obj.css({'-webkit-transform' : 'translate3d(' + obj_pos + 'px, 0px, 0px)'});
					obj.css({'-webkit-transform' : 'translate3d(' + obj_pos + 'px, 0px, 0px)', '-moz-transform' : 'translate3d(' + Math.round(obj_pos) + 'px, 0px, 0px)', 'transform' : 'translate3d(' + Math.round(obj_pos) + 'px, 0px, 0px)'});
					
					
					if(obj.position().left > 0)
					{
						obj_pos -= (obj.position().left-0)/8;
					}
					
					if(obj.position().left < ($(document).width()-obj.width()))
					{
						obj_pos -= (obj.position().left-($(document).width()-obj.width()))/8;
					}
					
											
				}
				
				last_mouse_x = mouse_x;
				
				
									
			};
			
			setInterval(obj_scroll, 30);
					 
			
        }  
    }); 
	
	
      
})(jQuery);
