(function($){
	$.fn.autoScroll = function(options){
		
		$.fn.autoScroll.defaults = {
			callback: function(){},
			duration: 'normal',
			easing: 'swing'
		};
		
		var settings = $.extend({}, $.fn.autoScroll.defaults, options),
		$body = $('html,body');
		
		$body.scrollTop(0).scrollLeft(0);
		
		return this.click(function(event){
								   
			var el = this,
			$el = $(el),
			$hash = $(el.hash),
			top = $hash.offset().top,
			left = $hash.offset().left,
			callback = function(){
				settings.callback;
				document.location.hash = $el.attr('href');
			};
			
			$body.animate({
				scrollTop: top,
				scrollLeft: left
			},settings.duration,settings.easing,callback);
			
			event.preventDefault();
			
		});
		
	};
})(jQuery);