/* Written By Stuart Kelly - 30/03/2011 */
/*         Released Under WTFPL         */

(function($){
	$.fn.skellyScroll = function(settings){
		var config = {
			'url': '',
			'currentPage': 0,
			'totalResults': 100,
			'resultsPerPage': 25,
			'loadingImage': '/images/loading.jpg',
			'windowOffset': 200
		};
		
		if (settings) {$.extend(config, settings);}

		var loading = false;
		var totalPages = Math.ceil(config.totalResults / config.resultsPerPage) - 1;
		var $window = $(window);
		var newUrl;
		
		
		this.after("<div id='jqpageflow-block'><img src='" + config.loadingImage + "' /><span id='jqpageflow-text'> Loading...</span></div>");
		
		$window.scroll(function(){
			if($window.height() + $window.scrollTop() + config.windowOffset >= $(document).height()){
				if (loading === false && config.currentPage !== totalPages){
					loading = true;
					var nextPage = config.currentPage + 1;
					$('#jqpageflow-block').show();
					newUrl = config.url + '&p=' + nextPage + '&orderby=' + $('.orderBy option:selected').val();
					$.ajax({
						type: 'GET',
						url: newUrl,
						success: function(result){
							config.currentPage ++;
							loading = false;
							$('#jqpageflow-block').hide();
						}
					});
				}
			}
		});
	};
})(jQuery);
